ETH Price: $2,527.07 (+0.40%)

Contract

0x85831b53AFb86889c20aF38e654d871D8b0B7eC3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Contract159351132022-11-09 21:22:11660 days ago1668028931IN
0x85831b53...D8b0B7eC3
0 ETH0.0066948157.01503794
Add Contract159350722022-11-09 21:13:47660 days ago1668028427IN
0x85831b53...D8b0B7eC3
0 ETH0.0102721798.72817335
Update Contract150000242022-06-21 2:33:35802 days ago1655778815IN
0x85831b53...D8b0B7eC3
0 ETH0.0007232116.96166948
Update Contract149999842022-06-21 2:24:28802 days ago1655778268IN
0x85831b53...D8b0B7eC3
0 ETH0.0005103812.81919794
Update Contract149999472022-06-21 2:15:47802 days ago1655777747IN
0x85831b53...D8b0B7eC3
0 ETH0.0007040616.52201722
Update Contract149999192022-06-21 2:07:08802 days ago1655777228IN
0x85831b53...D8b0B7eC3
0 ETH0.0007201116.88915816
Update Contract149799302022-06-17 15:32:09805 days ago1655479929IN
0x85831b53...D8b0B7eC3
0 ETH0.0032065575.20411433
Update Contract149799112022-06-17 15:27:03805 days ago1655479623IN
0x85831b53...D8b0B7eC3
0 ETH0.00447435104.9383075
Update Contract149798912022-06-17 15:20:59805 days ago1655479259IN
0x85831b53...D8b0B7eC3
0 ETH0.0029575774.26233456
Update Contract149798822022-06-17 15:18:42805 days ago1655479122IN
0x85831b53...D8b0B7eC3
0 ETH0.0031265673.32810385
Update Contract149798602022-06-17 15:13:25805 days ago1655478805IN
0x85831b53...D8b0B7eC3
0 ETH0.0041542897.45885295
Update Contract149798402022-06-17 15:08:49805 days ago1655478529IN
0x85831b53...D8b0B7eC3
0 ETH0.00671549157.500142
Update Contract149797892022-06-17 14:57:10805 days ago1655477830IN
0x85831b53...D8b0B7eC3
0 ETH0.0022408652.55559994
Update Contract149797822022-06-17 14:54:57805 days ago1655477697IN
0x85831b53...D8b0B7eC3
0 ETH0.0022177352.02784514
Update Contract149618042022-06-14 12:46:45808 days ago1655210805IN
0x85831b53...D8b0B7eC3
0 ETH0.0019522345.78628481
Add Contract149582762022-06-13 21:51:36809 days ago1655157096IN
0x85831b53...D8b0B7eC3
0 ETH0.0032928231.64810912
Update Contract149582692022-06-13 21:49:49809 days ago1655156989IN
0x85831b53...D8b0B7eC3
0 ETH0.0014081835.34769364
Update Contract149582582022-06-13 21:47:29809 days ago1655156849IN
0x85831b53...D8b0B7eC3
0 ETH0.0016484838.66226652
Add Contract149572762022-06-13 17:48:06809 days ago1655142486IN
0x85831b53...D8b0B7eC3
0 ETH0.0082165578.97115462
Add Contract149572362022-06-13 17:37:38809 days ago1655141858IN
0x85831b53...D8b0B7eC3
0 ETH0.0051917349.89892683
Add Contract149325792022-06-09 12:26:47813 days ago1654777607IN
0x85831b53...D8b0B7eC3
0 ETH0.0052719150.66954136
Add Contract147920702022-05-17 10:43:05836 days ago1652784185IN
0x85831b53...D8b0B7eC3
0 ETH0.0100923697
Update Contract145274972022-04-05 18:14:38878 days ago1649182478IN
0x85831b53...D8b0B7eC3
0 ETH0.003515282.4662849
Update Contract145274702022-04-05 18:07:52878 days ago1649182072IN
0x85831b53...D8b0B7eC3
0 ETH0.0031522579.15079106
Update Contract145241632022-04-05 5:55:13878 days ago1649138113IN
0x85831b53...D8b0B7eC3
0 ETH0.0023855155.9482123
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ContractRegistry

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 3 : ContractRegistry.sol
// SPDX-License-Identifier: GPL-3.0
// Docgen-SOLC: 0.8.0

pragma solidity ^0.8.0;

import "../interfaces/IACLRegistry.sol";
import "../interfaces/IContractRegistry.sol";

/**
 * @dev This Contract holds reference to all our contracts. Every contract A that needs to interact with another contract B calls this contract
 * to ask for the address of B.
 * This allows us to update addresses in one central point and reduces constructing and management overhead.
 */
contract ContractRegistry is IContractRegistry {
  struct Contract {
    address contractAddress;
    bytes32 version;
  }

  /* ========== STATE VARIABLES ========== */

  IACLRegistry public aclRegistry;

  mapping(bytes32 => Contract) public contracts;
  bytes32[] public contractNames;

  /* ========== EVENTS ========== */

  event ContractAdded(bytes32 _name, address _address, bytes32 _version);
  event ContractUpdated(bytes32 _name, address _address, bytes32 _version);
  event ContractDeleted(bytes32 _name);

  /* ========== CONSTRUCTOR ========== */

  constructor(IACLRegistry _aclRegistry) {
    aclRegistry = _aclRegistry;
    contracts[keccak256("ACLRegistry")] = Contract({contractAddress: address(_aclRegistry), version: keccak256("1")});
    contractNames.push(keccak256("ACLRegistry"));
  }

  /* ========== VIEW FUNCTIONS ========== */

  function getContractNames() external view returns (bytes32[] memory) {
    return contractNames;
  }

  function getContract(bytes32 _name) external view override returns (address) {
    return contracts[_name].contractAddress;
  }

  /* ========== MUTATIVE FUNCTIONS ========== */

  function addContract(
    bytes32 _name,
    address _address,
    bytes32 _version
  ) external {
    aclRegistry.requireRole(keccak256("DAO"), msg.sender);
    require(contracts[_name].contractAddress == address(0), "contract already exists");
    contracts[_name] = Contract({contractAddress: _address, version: _version});
    contractNames.push(_name);
    emit ContractAdded(_name, _address, _version);
  }

  function updateContract(
    bytes32 _name,
    address _newAddress,
    bytes32 _version
  ) external {
    aclRegistry.requireRole(keccak256("DAO"), msg.sender);
    require(contracts[_name].contractAddress != address(0), "contract doesnt exist");
    contracts[_name] = Contract({contractAddress: _newAddress, version: _version});
    emit ContractUpdated(_name, _newAddress, _version);
  }

  function deleteContract(bytes32 _name, uint256 _contractIndex) external {
    aclRegistry.requireRole(keccak256("DAO"), msg.sender);
    require(contracts[_name].contractAddress != address(0), "contract doesnt exist");
    require(contractNames[_contractIndex] == _name, "this is not the contract you are looking for");
    delete contracts[_name];
    delete contractNames[_contractIndex];
    emit ContractDeleted(_name);
  }
}

File 2 of 3 : IACLRegistry.sol
// SPDX-License-Identifier: GPL-3.0
// Docgen-SOLC: 0.8.0

pragma solidity ^0.8.0;

/**
 * @dev External interface of AccessControl declared to support ERC165 detection.
 */
interface IACLRegistry {
  /**
   * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`
   *
   * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite
   * {RoleAdminChanged} not being emitted signaling this.
   *
   * _Available since v3.1._
   */
  event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);

  /**
   * @dev Emitted when `account` is granted `role`.
   *
   * `sender` is the account that originated the contract call, an admin role
   * bearer except when using {AccessControl-_setupRole}.
   */
  event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);

  /**
   * @dev Emitted when `account` is revoked `role`.
   *
   * `sender` is the account that originated the contract call:
   *   - if using `revokeRole`, it is the admin role bearer
   *   - if using `renounceRole`, it is the role bearer (i.e. `account`)
   */
  event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);

  /**
   * @dev Returns `true` if `account` has been granted `role`.
   */
  function hasRole(bytes32 role, address account) external view returns (bool);

  /**
   * @dev Returns `true` if `account` has been granted `permission`.
   */
  function hasPermission(bytes32 permission, address account) external view returns (bool);

  /**
   * @dev Returns the admin role that controls `role`. See {grantRole} and
   * {revokeRole}.
   *
   * To change a role's admin, use {AccessControl-_setRoleAdmin}.
   */
  function getRoleAdmin(bytes32 role) external view returns (bytes32);

  /**
   * @dev Grants `role` to `account`.
   *
   * If `account` had not been already granted `role`, emits a {RoleGranted}
   * event.
   *
   * Requirements:
   *
   * - the caller must have ``role``'s admin role.
   */
  function grantRole(bytes32 role, address account) external;

  /**
   * @dev Revokes `role` from `account`.
   *
   * If `account` had been granted `role`, emits a {RoleRevoked} event.
   *
   * Requirements:
   *
   * - the caller must have ``role``'s admin role.
   */
  function revokeRole(bytes32 role, address account) external;

  /**
   * @dev Revokes `role` from the calling account.
   *
   * Roles are often managed via {grantRole} and {revokeRole}: this function's
   * purpose is to provide a mechanism for accounts to lose their privileges
   * if they are compromised (such as when a trusted device is misplaced).
   *
   * If the calling account had been granted `role`, emits a {RoleRevoked}
   * event.
   *
   * Requirements:
   *
   * - the caller must be `account`.
   */
  function renounceRole(bytes32 role, address account) external;

  function setRoleAdmin(bytes32 role, bytes32 adminRole) external;

  function grantPermission(bytes32 permission, address account) external;

  function revokePermission(bytes32 permission) external;

  function requireApprovedContractOrEOA(address account) external view;

  function requireRole(bytes32 role, address account) external view;

  function requirePermission(bytes32 permission, address account) external view;

  function isRoleAdmin(bytes32 role, address account) external view;
}

File 3 of 3 : IContractRegistry.sol
// SPDX-License-Identifier: GPL-3.0
// Docgen-SOLC: 0.8.0

pragma solidity ^0.8.0;

/**
 * @dev External interface of ContractRegistry.
 */
interface IContractRegistry {
  function getContract(bytes32 _name) external view returns (address);
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 1000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IACLRegistry","name":"_aclRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_version","type":"bytes32"}],"name":"ContractAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_name","type":"bytes32"}],"name":"ContractDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_version","type":"bytes32"}],"name":"ContractUpdated","type":"event"},{"inputs":[],"name":"aclRegistry","outputs":[{"internalType":"contract IACLRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"address","name":"_address","type":"address"},{"internalType":"bytes32","name":"_version","type":"bytes32"}],"name":"addContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"contractNames","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"contracts","outputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes32","name":"version","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"uint256","name":"_contractIndex","type":"uint256"}],"name":"deleteContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}],"name":"getContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractNames","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"address","name":"_newAddress","type":"address"},{"internalType":"bytes32","name":"_version","type":"bytes32"}],"name":"updateContract","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610a19380380610a1983398101604081905261002f91610138565b600080546001600160a01b039283166001600160a01b031991821681178355604080518082019091529081527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660208083019182527f15fa0125f52e5705da1148bfcf00974823c4381bee4314203ede255f9477b73e80865260019182905292517f7361e8ccf7a27163a98e050d746a5c73d23616ea599eb9af9e4a86e96a9dfc0880549190971694169390931790945592517f7361e8ccf7a27163a98e050d746a5c73d23616ea599eb9af9e4a86e96a9dfc09556002805491820181559091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0155610166565b600060208284031215610149578081fd5b81516001600160a01b038116811461015f578182fd5b9392505050565b6108a4806101756000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063d5a161091161005b578063d5a16109146100f5578063e16c7d9814610108578063ec56a3731461011b578063fe3c458e1461013c57610088565b806334d40a8f1461008d57806337df1e9d146100a25780633ca6bb92146100c05780639160380e146100e0575b600080fd5b6100a061009b366004610690565b61014f565b005b6100aa6102a4565b6040516100b79190610720565b60405180910390f35b6100d36100ce366004610678565b6102fc565b6040516100b79190610764565b6100e861031d565b6040516100b791906106f3565b6100a06101033660046106d2565b61032c565b6100e8610116366004610678565b6104c7565b61012e610129366004610678565b6104e2565b6040516100b7929190610707565b6100a061014a366004610690565b610507565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c5906101a1907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b1580156101b957600080fd5b505afa1580156101cd573d6000803e3d6000fd5b5050506000848152600160205260409020546001600160a01b0316151590506102115760405162461bcd60e51b8152600401610208906107da565b60405180910390fd5b6040805180820182526001600160a01b038481168252602080830185815260008881526001928390528590209351845473ffffffffffffffffffffffffffffffffffffffff191693169290921783559051910155517fb69768dcac5758cdbac4aa0c3113c765359474832ce059d53f5e799e0922db6f9061029790859085908590610784565b60405180910390a1505050565b606060028054806020026020016040519081016040528092919081815260200182805480156102f257602002820191906000526020600020905b8154815260200190600101908083116102de575b5050505050905090565b6002818154811061030c57600080fd5b600091825260209091200154905081565b6000546001600160a01b031681565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c59061037e907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b15801561039657600080fd5b505afa1580156103aa573d6000803e3d6000fd5b5050506000838152600160205260409020546001600160a01b0316151590506103e55760405162461bcd60e51b8152600401610208906107da565b816002828154811061040757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541461042f5760405162461bcd60e51b815260040161020890610811565b60008281526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff191681550155600280548290811061047e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001600090557ffcb9b89d9fdad6183290641024092e3a078212303eda7df8d64648902cd7600b826040516104bb9190610764565b60405180910390a15050565b6000908152600160205260409020546001600160a01b031690565b600160208190526000918252604090912080549101546001600160a01b039091169082565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c590610559907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b15801561057157600080fd5b505afa158015610585573d6000803e3d6000fd5b5050506000848152600160205260409020546001600160a01b03161590506105bf5760405162461bcd60e51b8152600401610208906107a3565b6040805180820182526001600160a01b038481168252602080830185815260008881526001928390528581209451855473ffffffffffffffffffffffffffffffffffffffff19169416939093178455519281019290925560028054928301815590527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01849055517f41f0868602f01af184ca25746dd5d2fff355679ad1861385cf8bd3f6d3da8a579061029790859085908590610784565b600060208284031215610689578081fd5b5035919050565b6000806000606084860312156106a4578182fd5b8335925060208401356001600160a01b03811681146106c1578283fd5b929592945050506040919091013590565b600080604083850312156106e4578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156107585783518352928401929184019160010161073c565b50909695505050505050565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03919091166020830152604082015260600190565b60208082526017908201527f636f6e747261637420616c726561647920657869737473000000000000000000604082015260600190565b60208082526015908201527f636f6e747261637420646f65736e742065786973740000000000000000000000604082015260600190565b6020808252602c908201527f74686973206973206e6f742074686520636f6e747261637420796f752061726560408201527f206c6f6f6b696e6720666f72000000000000000000000000000000000000000060608201526080019056fea26469706673582212207a46c9c56f0eeb6008131185a5ecd8868d6322dabe875534530d46cd42418efc64736f6c634300080000330000000000000000000000008a41aaa4b467ea545dddc5759ce3d35984f093f4

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063d5a161091161005b578063d5a16109146100f5578063e16c7d9814610108578063ec56a3731461011b578063fe3c458e1461013c57610088565b806334d40a8f1461008d57806337df1e9d146100a25780633ca6bb92146100c05780639160380e146100e0575b600080fd5b6100a061009b366004610690565b61014f565b005b6100aa6102a4565b6040516100b79190610720565b60405180910390f35b6100d36100ce366004610678565b6102fc565b6040516100b79190610764565b6100e861031d565b6040516100b791906106f3565b6100a06101033660046106d2565b61032c565b6100e8610116366004610678565b6104c7565b61012e610129366004610678565b6104e2565b6040516100b7929190610707565b6100a061014a366004610690565b610507565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c5906101a1907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b1580156101b957600080fd5b505afa1580156101cd573d6000803e3d6000fd5b5050506000848152600160205260409020546001600160a01b0316151590506102115760405162461bcd60e51b8152600401610208906107da565b60405180910390fd5b6040805180820182526001600160a01b038481168252602080830185815260008881526001928390528590209351845473ffffffffffffffffffffffffffffffffffffffff191693169290921783559051910155517fb69768dcac5758cdbac4aa0c3113c765359474832ce059d53f5e799e0922db6f9061029790859085908590610784565b60405180910390a1505050565b606060028054806020026020016040519081016040528092919081815260200182805480156102f257602002820191906000526020600020905b8154815260200190600101908083116102de575b5050505050905090565b6002818154811061030c57600080fd5b600091825260209091200154905081565b6000546001600160a01b031681565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c59061037e907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b15801561039657600080fd5b505afa1580156103aa573d6000803e3d6000fd5b5050506000838152600160205260409020546001600160a01b0316151590506103e55760405162461bcd60e51b8152600401610208906107da565b816002828154811061040757634e487b7160e01b600052603260045260246000fd5b90600052602060002001541461042f5760405162461bcd60e51b815260040161020890610811565b60008281526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff191681550155600280548290811061047e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001600090557ffcb9b89d9fdad6183290641024092e3a078212303eda7df8d64648902cd7600b826040516104bb9190610764565b60405180910390a15050565b6000908152600160205260409020546001600160a01b031690565b600160208190526000918252604090912080549101546001600160a01b039091169082565b60005460405163d09a20c560e01b81526001600160a01b039091169063d09a20c590610559907fd0a4ad96d49edb1c33461cebc6fb2609190f32c904e3c3f5877edb4488dee91e90339060040161076d565b60006040518083038186803b15801561057157600080fd5b505afa158015610585573d6000803e3d6000fd5b5050506000848152600160205260409020546001600160a01b03161590506105bf5760405162461bcd60e51b8152600401610208906107a3565b6040805180820182526001600160a01b038481168252602080830185815260008881526001928390528581209451855473ffffffffffffffffffffffffffffffffffffffff19169416939093178455519281019290925560028054928301815590527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01849055517f41f0868602f01af184ca25746dd5d2fff355679ad1861385cf8bd3f6d3da8a579061029790859085908590610784565b600060208284031215610689578081fd5b5035919050565b6000806000606084860312156106a4578182fd5b8335925060208401356001600160a01b03811681146106c1578283fd5b929592945050506040919091013590565b600080604083850312156106e4578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156107585783518352928401929184019160010161073c565b50909695505050505050565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03919091166020830152604082015260600190565b60208082526017908201527f636f6e747261637420616c726561647920657869737473000000000000000000604082015260600190565b60208082526015908201527f636f6e747261637420646f65736e742065786973740000000000000000000000604082015260600190565b6020808252602c908201527f74686973206973206e6f742074686520636f6e747261637420796f752061726560408201527f206c6f6f6b696e6720666f72000000000000000000000000000000000000000060608201526080019056fea26469706673582212207a46c9c56f0eeb6008131185a5ecd8868d6322dabe875534530d46cd42418efc64736f6c63430008000033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000008a41aaa4b467ea545dddc5759ce3d35984f093f4

-----Decoded View---------------
Arg [0] : _aclRegistry (address): 0x8A41aAa4B467ea545DDDc5759cE3D35984F093f4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008a41aaa4b467ea545dddc5759ce3d35984f093f4


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.