ETH Price: $2,547.77 (-17.83%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Revoke Role196604872024-04-15 11:03:35293 days ago1713179015IN
Eesee: Access Manager
0 ETH0.0003514514.50545833
Revoke Role196604742024-04-15 11:00:59293 days ago1713178859IN
Eesee: Access Manager
0 ETH0.0003587613.4809346
Revoke Role196604722024-04-15 11:00:35293 days ago1713178835IN
Eesee: Access Manager
0 ETH0.0003674513.81349518
Grant Role196238922024-04-10 7:58:35298 days ago1712735915IN
Eesee: Access Manager
0 ETH0.0007503115.47552278
Grant Role196236892024-04-10 7:17:47298 days ago1712733467IN
Eesee: Access Manager
0 ETH0.0006973714.38724305
Grant Role196202972024-04-09 19:54:35299 days ago1712692475IN
Eesee: Access Manager
0 ETH0.0010084320.79928207
Grant Role194531762024-03-17 7:47:23322 days ago1710661643IN
Eesee: Access Manager
0 ETH0.0011754124.43696038

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
217621852025-02-02 23:44:117 hrs ago1738539851
0xAf753cc7...267f78e1a
0 ETH
217621852025-02-02 23:44:117 hrs ago1738539851
0xAf753cc7...267f78e1a
0 ETH
217615082025-02-02 21:28:119 hrs ago1738531691
0xAf753cc7...267f78e1a
0 ETH
217615082025-02-02 21:28:119 hrs ago1738531691
0xAf753cc7...267f78e1a
0 ETH
217593572025-02-02 14:14:5917 hrs ago1738505699
0xAf753cc7...267f78e1a
0 ETH
217593572025-02-02 14:14:5917 hrs ago1738505699
0xAf753cc7...267f78e1a
0 ETH
217590532025-02-02 13:13:4718 hrs ago1738502027
0xAf753cc7...267f78e1a
0 ETH
217590532025-02-02 13:13:4718 hrs ago1738502027
0xAf753cc7...267f78e1a
0 ETH
217590152025-02-02 13:06:1118 hrs ago1738501571
0xAf753cc7...267f78e1a
0 ETH
217590152025-02-02 13:06:1118 hrs ago1738501571
0xAf753cc7...267f78e1a
0 ETH
217585232025-02-02 11:27:2319 hrs ago1738495643
0xAf753cc7...267f78e1a
0 ETH
217585232025-02-02 11:27:2319 hrs ago1738495643
0xAf753cc7...267f78e1a
0 ETH
217581772025-02-02 10:17:4720 hrs ago1738491467
0xAf753cc7...267f78e1a
0 ETH
217581772025-02-02 10:17:4720 hrs ago1738491467
0xAf753cc7...267f78e1a
0 ETH
217580192025-02-02 9:45:4721 hrs ago1738489547
0xAf753cc7...267f78e1a
0 ETH
217580192025-02-02 9:45:4721 hrs ago1738489547
0xAf753cc7...267f78e1a
0 ETH
217569502025-02-02 6:09:3525 hrs ago1738476575
0xAf753cc7...267f78e1a
0 ETH
217569502025-02-02 6:09:3525 hrs ago1738476575
0xAf753cc7...267f78e1a
0 ETH
217569462025-02-02 6:08:4725 hrs ago1738476527
0xAf753cc7...267f78e1a
0 ETH
217569462025-02-02 6:08:4725 hrs ago1738476527
0xAf753cc7...267f78e1a
0 ETH
217532382025-02-01 17:43:3537 hrs ago1738431815
0xAf753cc7...267f78e1a
0 ETH
217532382025-02-01 17:43:3537 hrs ago1738431815
0xAf753cc7...267f78e1a
0 ETH
217532342025-02-01 17:42:4737 hrs ago1738431767
0xAf753cc7...267f78e1a
0 ETH
217532342025-02-01 17:42:4737 hrs ago1738431767
0xAf753cc7...267f78e1a
0 ETH
217522112025-02-01 14:16:5940 hrs ago1738419419
0xAf753cc7...267f78e1a
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EeseeAccessManager

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 100000000 runs

Other Settings:
shanghai EvmVersion
File 1 of 2 : EeseeAccessManager.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.21;

import "../interfaces/IEeseeAccessManager.sol";

contract EeseeAccessManager is IEeseeAccessManager {
    bytes32 public constant ADMIN_ROLE = 0x00;
    mapping(bytes32 => mapping(address => bool)) private _roles;

    /**
     * @dev Modifier that checks that an account has {ADMIN_ROLE}.
     */
    modifier onlyAdmin() {
        if(!hasRole(ADMIN_ROLE, msg.sender)) revert CallerNotAdmin();
        _;
    }

    constructor() {
        _grantRole(ADMIN_ROLE, msg.sender);
    }

    // ============ External Write Functions ============

    /**
     * @dev Grants {role} to {account}. If {account} had not been already granted {role}, emits a {RoleGranted} event.
     * @param role - Role to grant.
     * @param account - Account to grant role to.

     * Note: This function can only be called by the ADMIN_ROLE.
     */
    function grantRole(bytes32 role, address account) external onlyAdmin {
        _grantRole(role, account);
    }

    /**
     * @dev Revokes {role} from {account}. If {account} had been granted {role}, emits a {RoleRevoked} event.
     * @param role - Role to revoke.
     * @param account - Account to revoke role from.

     * Note: This function can only be called by the ADMIN_ROLE.
     */
    function revokeRole(bytes32 role, address account) external onlyAdmin {
        if (hasRole(role, account)) {
            _roles[role][account] = false;
            emit RoleRevoked(role, account);
        }
    }

    // ============ Public View Functions ============

    /**
     * @dev Retrurns if {account} has {role}.
     * @param role - Role to check.
     * @param account - Account to check.

     * @return true if {account} has been granted {role}.
     */
    function hasRole(bytes32 role, address account) public view returns (bool) {
        return _roles[role][account];
    }

    // ============ Internal Write Functions ============

    function _grantRole(bytes32 role, address account) internal {
        if (!hasRole(role, account)) {
            _roles[role][account] = true;
            emit RoleGranted(role, account);
        }
    }
}

File 2 of 2 : IEeseeAccessManager.sol
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.21;

interface IEeseeAccessManager {
    event RoleGranted(bytes32 indexed role, address indexed account);
    event RoleRevoked(bytes32 indexed role, address indexed account);

    error CallerNotAdmin();

    function hasRole(bytes32 role, address account) external view returns (bool);
    function ADMIN_ROLE() external view returns (bytes32);

    function grantRole(bytes32 role, address account) external;
    function revokeRole(bytes32 role, address account) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 100000000
  },
  "evmVersion": "shanghai",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CallerNotAdmin","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b5061001a5f3361001f565b61009f565b5f828152602081815260408083206001600160a01b038516845290915290205460ff1661009b575f828152602081815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35b5050565b6103a7806100ac5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80632f2ff15d1461004e57806375b238fc1461006357806391d148541461007d578063d547741f146100d0575b5f80fd5b61006161005c36600461032b565b6100e3565b005b61006a5f81565b6040519081526020015b60405180910390f35b6100c061008b36600461032b565b5f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6040519015158152602001610074565b6100616100de36600461032b565b610158565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1661014a576040517f06d919f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101548282610274565b5050565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff166101bf576040517f06d919f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610154575f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610154575f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b5f806040838503121561033c575f80fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610366575f80fd5b80915050925092905056fea2646970667358221220921580c324719edbab07bb63aa1f29c9a7ef24d8a0308fff6e279afbdaddbc0164736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061004a575f3560e01c80632f2ff15d1461004e57806375b238fc1461006357806391d148541461007d578063d547741f146100d0575b5f80fd5b61006161005c36600461032b565b6100e3565b005b61006a5f81565b6040519081526020015b60405180910390f35b6100c061008b36600461032b565b5f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6040519015158152602001610074565b6100616100de36600461032b565b610158565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1661014a576040517f06d919f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101548282610274565b5050565b335f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff166101bf576040517f06d919f200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610154575f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610154575f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b5f806040838503121561033c575f80fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610366575f80fd5b80915050925092905056fea2646970667358221220921580c324719edbab07bb63aa1f29c9a7ef24d8a0308fff6e279afbdaddbc0164736f6c63430008150033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.