Sonic Blaze Testnet

Contract

0x9460DfaAD34Bc55ee564A6851c58DFC390D7d4ac

Overview

S Balance

Sonic Blaze LogoSonic Blaze LogoSonic Blaze Logo0 S

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Admin164098202025-01-29 13:26:5747 hrs ago1738157217IN
0x9460DfaA...390D7d4ac
0 S0.000052631.1
Add Admin164098032025-01-29 13:26:5047 hrs ago1738157210IN
0x9460DfaA...390D7d4ac
0 S0.000052611.1
Sync Contract Co...159702882025-01-27 18:21:373 days ago1738002097IN
0x9460DfaA...390D7d4ac
0 S0.000066351.1
Sync Contract Co...159702632025-01-27 18:21:293 days ago1738002089IN
0x9460DfaA...390D7d4ac
0 S0.000104211.1
Sync Contract Co...159702352025-01-27 18:21:203 days ago1738002080IN
0x9460DfaA...390D7d4ac
0 S0.000123011.1
Sync Contract Co...159702062025-01-27 18:21:113 days ago1738002071IN
0x9460DfaA...390D7d4ac
0 S0.000123061.1
Set Contract Add...159701762025-01-27 18:21:023 days ago1738002062IN
0x9460DfaA...390D7d4ac
0 S0.000083121.1
Set Contract Add...159701612025-01-27 18:20:583 days ago1738002058IN
0x9460DfaA...390D7d4ac
0 S0.000083081.1
Set Contract Add...159701492025-01-27 18:20:533 days ago1738002053IN
0x9460DfaA...390D7d4ac
0 S0.000083081.1
Set Contract Add...159701342025-01-27 18:20:493 days ago1738002049IN
0x9460DfaA...390D7d4ac
0 S0.000083031.1
Set Contract Add...159701192025-01-27 18:20:453 days ago1738002045IN
0x9460DfaA...390D7d4ac
0 S0.000083171.1
Set Contract Add...159701062025-01-27 18:20:403 days ago1738002040IN
0x9460DfaA...390D7d4ac
0 S0.000083051.1
Set Contract Add...159700902025-01-27 18:20:363 days ago1738002036IN
0x9460DfaA...390D7d4ac
0 S0.000083081.1
Set Contract Add...159700752025-01-27 18:20:323 days ago1738002032IN
0x9460DfaA...390D7d4ac
0 S0.000101851.1

Latest 14 internal transactions

Parent Transaction Hash Block From To
159702882025-01-27 18:21:373 days ago1738002097
0x9460DfaA...390D7d4ac
0 S
159702882025-01-27 18:21:373 days ago1738002097
0x9460DfaA...390D7d4ac
0 S
159702632025-01-27 18:21:293 days ago1738002089
0x9460DfaA...390D7d4ac
0 S
159702632025-01-27 18:21:293 days ago1738002089
0x9460DfaA...390D7d4ac
0 S
159702632025-01-27 18:21:293 days ago1738002089
0x9460DfaA...390D7d4ac
0 S
159702632025-01-27 18:21:293 days ago1738002089
0x9460DfaA...390D7d4ac
0 S
159702352025-01-27 18:21:203 days ago1738002080
0x9460DfaA...390D7d4ac
0 S
159702352025-01-27 18:21:203 days ago1738002080
0x9460DfaA...390D7d4ac
0 S
159702352025-01-27 18:21:203 days ago1738002080
0x9460DfaA...390D7d4ac
0 S
159702352025-01-27 18:21:203 days ago1738002080
0x9460DfaA...390D7d4ac
0 S
159702062025-01-27 18:21:113 days ago1738002071
0x9460DfaA...390D7d4ac
0 S
159702062025-01-27 18:21:113 days ago1738002071
0x9460DfaA...390D7d4ac
0 S
159702062025-01-27 18:21:113 days ago1738002071
0x9460DfaA...390D7d4ac
0 S
159702062025-01-27 18:21:113 days ago1738002071
0x9460DfaA...390D7d4ac
0 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PepemonConfig

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 4 : PepemonConfig.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./AdminRole.sol";
import "../iface/IConfigurable.sol";

/**
 * @notice This contract stores the addresses of all and any other contracts used by Pepemon
 * @dev This contract must be added as an Admin on contracts before "syncContractConfig" can be called.
 */
contract PepemonConfig is AdminRole {
    struct ContractDisplayData {
        address contractAddress;
        string contractName;
    }

    string[] private contactsNames;
    mapping(string => address) public contractAddresses;

    /**
     * @dev Actual implementation for both setContractAddress and batchSetContractAddress, making a call to
     * a common 'internal' function uses less gas than calling a 'public' one
     */
    function setContractAddressInternal(string calldata contractName, address contractAddress, bool callSync) internal {
        require(contractAddress != address(0));

        // If its the first time adding the contract, store its name in the array
        if (contractAddresses[contractName] == address(0)) {
            contactsNames.push(contractName);
        }
        contractAddresses[contractName] = contractAddress;
        if (callSync) {
            IConfigurable(contractAddress).syncConfig();
        }
    }

    /**
     * @notice Adds or updates contracts addresses associated by contract names
     * @param contractName Name of the contract that will be stored
     * @param contractAddress Address of the contract that will be stored
     * @param callSync When true, the function "syncConfig" of the contract being stored will be invoked
     */
    function setContractAddress(
        string calldata contractName,
        address contractAddress,
        bool callSync
    ) external onlyAdmin {
        setContractAddressInternal(contractName, contractAddress, callSync);
    }

    /**
     * @notice Batch version of `setContractAddress`
     * @param contractNameList Names of the contracts that will be stored
     * @param contractAddressesList Addresses of the contracts that will be stored
     * @param callSyncList When true, the function "syncConfig" of the contracts being stored will be invoked
     */
    function batchSetContractAddress(
        string[] calldata contractNameList,
        address[] calldata contractAddressesList,
        bool[] calldata callSyncList
    ) external onlyAdmin {
        uint256 len = contractNameList.length;
        require(len == contractAddressesList.length && len == callSyncList.length, "Mismatching batch length");
        for (uint256 i = 0; i < len; ++i) {
            setContractAddressInternal(contractNameList[i], contractAddressesList[i], callSyncList[i]);
        }
    }

    /**
     * @dev Tries to call "syncConfig" from the address of the contract in `contractName`, this might fail if
     * the target contract does not have this contract (PepemonConfig) added as an Admin, or if `contractName` is not
     * associated with any contract
     */
    function syncContractConfig(string calldata contractName) external onlyAdmin {
        require(contractAddresses[contractName] != address(0));
        IConfigurable(contractAddresses[contractName]).syncConfig();
    }

    /**
     * @dev Batch version of syncContractConfig
     */
    function batchSyncContractConfig(string[] calldata contractNames) external onlyAdmin {
        uint256 len = contractNames.length;
        for (uint256 i = 0; i < len; ++i) {
            require(contractAddresses[contractNames[i]] != address(0));
            IConfigurable(contractAddresses[contractNames[i]]).syncConfig();
        }
    }

    /**
     * @dev Displays contracts names and addresses.
     */
    function getContracts() external view returns (ContractDisplayData[] memory data) {
        uint256 len = contactsNames.length;

        data = new ContractDisplayData[](len);

        for (uint256 i = 0; i < len; ++i) {
            string memory contractName = contactsNames[i];
            data[i].contractName = contractName;
            data[i].contractAddress = contractAddresses[contractName];
        }
        return data;
    }
}

File 2 of 4 : IConfigurable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IConfigurable {
    function syncConfig() external;
}

File 3 of 4 : AdminRole.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./Roles.sol";

contract AdminRole {
  using Roles for Roles.Role;

  event AdminAdded(address indexed account);
  event AdminRemoved(address indexed account);

  Roles.Role private admins;

  constructor() {
    _addAdmin(msg.sender);
  }

  modifier onlyAdmin() {
    require(isAdmin(msg.sender));
    _;
  }

  function isAdmin(address account) public view returns (bool) {
    return admins.has(account);
  }

  function addAdmin(address account) public onlyAdmin {
    _addAdmin(account);
  }

  function renounceAdmin() public {
    _removeAdmin(msg.sender);
  }

  function _addAdmin(address account) internal {
    admins.add(account);
    emit AdminAdded(account);
  }

  function _removeAdmin(address account) internal {
    admins.remove(account);
    emit AdminRemoved(account);
  }
}

File 4 of 4 : Roles.sol
// SPDX-License-Identifier: MIT


pragma solidity ^0.8.0;

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
  struct Role {
    mapping (address => bool) bearer;
  }

  /**
   * @dev give an account access to this role
   */
  function add(Role storage role, address account) internal {
    require(account != address(0));
    require(!has(role, account));

    role.bearer[account] = true;
  }

  /**
   * @dev remove an account's access to this role
   */
  function remove(Role storage role, address account) internal {
    require(account != address(0));
    require(has(role, account));

    role.bearer[account] = false;
  }

  /**
   * @dev check if an account has this role
   * @return bool
   */
  function has(Role storage role, address account)
    internal
    view
    returns (bool)
  {
    require(account != address(0));
    return role.bearer[account];
  }
}

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

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AdminRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"contractNameList","type":"string[]"},{"internalType":"address[]","name":"contractAddressesList","type":"address[]"},{"internalType":"bool[]","name":"callSyncList","type":"bool[]"}],"name":"batchSetContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string[]","name":"contractNames","type":"string[]"}],"name":"batchSyncContractConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"contractAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContracts","outputs":[{"components":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"contractName","type":"string"}],"internalType":"struct PepemonConfig.ContractDisplayData[]","name":"data","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bool","name":"callSync","type":"bool"}],"name":"setContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"contractName","type":"string"}],"name":"syncContractConfig","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061001a3361001f565b6100ef565b61003781600061006e60201b61069a1790919060201c565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6001600160a01b03811661008157600080fd5b61008b82826100ba565b1561009557600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166100cf57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610ec2806100fe6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a2ac369c11610066578063a2ac369c146100f0578063c3a2a93a14610103578063def5033f14610118578063ee67cc2a1461012b578063f42567f71461017757600080fd5b806324d7806c1461009857806370480275146100c05780638bad0c0a146100d55780638e6aa4bc146100dd575b600080fd5b6100ab6100a6366004610a5e565b61018a565b60405190151581526020015b60405180910390f35b6100d36100ce366004610a5e565b61019c565b005b6100d36101ba565b6100d36100eb366004610ac2565b6101c5565b6100d36100fe366004610b77565b6102d5565b61010b6103a5565b6040516100b79190610cef565b6100d3610126366004610a80565b610552565b61015f610139366004610c12565b80516020818301810180516002825292820191909301209152546001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100d3610185366004610bad565b61067c565b600061019681836106e6565b92915050565b6101a53361018a565b6101ae57600080fd5b6101b78161071b565b50565b6101c33361075d565b565b6101ce3361018a565b6101d757600080fd5b8483811480156101e657508082145b6102365760405162461bcd60e51b815260206004820152601860248201527f4d69736d61746368696e67206261746368206c656e6774680000000000000000604482015260640160405180910390fd5b60005b818110156102cb576102bb88888381811061025657610256610e60565b90506020028101906102689190610d89565b88888581811061027a5761027a610e60565b905060200201602081019061028f9190610a5e565b8787868181106102a1576102a1610e60565b90506020020160208101906102b69190610b5c565b61079f565b6102c481610e37565b9050610239565b5050505050505050565b6102de3361018a565b6102e757600080fd5b60006001600160a01b031660028383604051610304929190610cc3565b908152604051908190036020019020546001600160a01b0316141561032857600080fd5b6002828260405161033a929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050505050565b6001546060908067ffffffffffffffff8111156103c4576103c4610e76565b60405190808252806020026020018201604052801561040a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103e25790505b50915060005b8181101561054d5760006001828154811061042d5761042d610e60565b90600052602060002001805461044290610dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610dfc565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b50505050509050808483815181106104d5576104d5610e60565b6020026020010151602001819052506002816040516104f49190610cd3565b9081526040519081900360200190205484516001600160a01b039091169085908490811061052457610524610e60565b60209081029190910101516001600160a01b0390911690525061054681610e37565b9050610410565b505090565b61055b3361018a565b61056457600080fd5b8060005b81811015610676576000600285858481811061058657610586610e60565b90506020028101906105989190610d89565b6040516105a6929190610cc3565b908152604051908190036020019020546001600160a01b031614156105ca57600080fd5b60028484838181106105de576105de610e60565b90506020028101906105f09190610d89565b6040516105fe929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b505050508061066f90610e37565b9050610568565b50505050565b6106853361018a565b61068e57600080fd5b6106768484848461079f565b6001600160a01b0381166106ad57600080fd5b6106b782826106e6565b156106c157600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166106fb57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61072660008261069a565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6107686000826108c3565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b6001600160a01b0382166107b257600080fd5b60006001600160a01b0316600285856040516107cf929190610cc3565b908152604051908190036020019020546001600160a01b0316141561082c5760018054808201825560009190915261082a907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601858561090b565b505b816002858560405161083f929190610cc3565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055801561067657816001600160a01b031663839fcd526040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108af57600080fd5b505af11580156102cb573d6000803e3d6000fd5b6001600160a01b0381166108d657600080fd5b6108e082826106e6565b6108e957600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b82805461091790610dfc565b90600052602060002090601f016020900481019282610939576000855561097f565b82601f106109525782800160ff1982351617855561097f565b8280016001018555821561097f579182015b8281111561097f578235825591602001919060010190610964565b5061098b92915061098f565b5090565b5b8082111561098b5760008155600101610990565b80356001600160a01b03811681146109bb57600080fd5b919050565b60008083601f8401126109d257600080fd5b50813567ffffffffffffffff8111156109ea57600080fd5b6020830191508360208260051b8501011115610a0557600080fd5b9250929050565b803580151581146109bb57600080fd5b60008083601f840112610a2e57600080fd5b50813567ffffffffffffffff811115610a4657600080fd5b602083019150836020828501011115610a0557600080fd5b600060208284031215610a7057600080fd5b610a79826109a4565b9392505050565b60008060208385031215610a9357600080fd5b823567ffffffffffffffff811115610aaa57600080fd5b610ab6858286016109c0565b90969095509350505050565b60008060008060008060608789031215610adb57600080fd5b863567ffffffffffffffff80821115610af357600080fd5b610aff8a838b016109c0565b90985096506020890135915080821115610b1857600080fd5b610b248a838b016109c0565b90965094506040890135915080821115610b3d57600080fd5b50610b4a89828a016109c0565b979a9699509497509295939492505050565b600060208284031215610b6e57600080fd5b610a7982610a0c565b60008060208385031215610b8a57600080fd5b823567ffffffffffffffff811115610ba157600080fd5b610ab685828601610a1c565b60008060008060608587031215610bc357600080fd5b843567ffffffffffffffff811115610bda57600080fd5b610be687828801610a1c565b9095509350610bf99050602086016109a4565b9150610c0760408601610a0c565b905092959194509250565b600060208284031215610c2457600080fd5b813567ffffffffffffffff80821115610c3c57600080fd5b818401915084601f830112610c5057600080fd5b813581811115610c6257610c62610e76565b604051601f8201601f19908116603f01168101908382118183101715610c8a57610c8a610e76565b81604052828152876020848701011115610ca357600080fd5b826020860160208301376000928101602001929092525095945050505050565b8183823760009101908152919050565b60008251610ce5818460208701610dd0565b9190910192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610d7b57888303603f19018552815180516001600160a01b0316845287015187840187905280518785018190526060610d5882828801858d01610dd0565b96890196601f91909101601f191694909401909301925090860190600101610d16565b509098975050505050505050565b6000808335601e19843603018112610da057600080fd5b83018035915067ffffffffffffffff821115610dbb57600080fd5b602001915036819003821315610a0557600080fd5b60005b83811015610deb578181015183820152602001610dd3565b838111156106765750506000910152565b600181811c90821680610e1057607f821691505b60208210811415610e3157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610e5957634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f431f2b47202a0e269569c088557d7d115a170c2f0c86662c72f3c11b1bfa13b64736f6c63430008060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a2ac369c11610066578063a2ac369c146100f0578063c3a2a93a14610103578063def5033f14610118578063ee67cc2a1461012b578063f42567f71461017757600080fd5b806324d7806c1461009857806370480275146100c05780638bad0c0a146100d55780638e6aa4bc146100dd575b600080fd5b6100ab6100a6366004610a5e565b61018a565b60405190151581526020015b60405180910390f35b6100d36100ce366004610a5e565b61019c565b005b6100d36101ba565b6100d36100eb366004610ac2565b6101c5565b6100d36100fe366004610b77565b6102d5565b61010b6103a5565b6040516100b79190610cef565b6100d3610126366004610a80565b610552565b61015f610139366004610c12565b80516020818301810180516002825292820191909301209152546001600160a01b031681565b6040516001600160a01b0390911681526020016100b7565b6100d3610185366004610bad565b61067c565b600061019681836106e6565b92915050565b6101a53361018a565b6101ae57600080fd5b6101b78161071b565b50565b6101c33361075d565b565b6101ce3361018a565b6101d757600080fd5b8483811480156101e657508082145b6102365760405162461bcd60e51b815260206004820152601860248201527f4d69736d61746368696e67206261746368206c656e6774680000000000000000604482015260640160405180910390fd5b60005b818110156102cb576102bb88888381811061025657610256610e60565b90506020028101906102689190610d89565b88888581811061027a5761027a610e60565b905060200201602081019061028f9190610a5e565b8787868181106102a1576102a1610e60565b90506020020160208101906102b69190610b5c565b61079f565b6102c481610e37565b9050610239565b5050505050505050565b6102de3361018a565b6102e757600080fd5b60006001600160a01b031660028383604051610304929190610cc3565b908152604051908190036020019020546001600160a01b0316141561032857600080fd5b6002828260405161033a929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050505050565b6001546060908067ffffffffffffffff8111156103c4576103c4610e76565b60405190808252806020026020018201604052801561040a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103e25790505b50915060005b8181101561054d5760006001828154811061042d5761042d610e60565b90600052602060002001805461044290610dfc565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90610dfc565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b50505050509050808483815181106104d5576104d5610e60565b6020026020010151602001819052506002816040516104f49190610cd3565b9081526040519081900360200190205484516001600160a01b039091169085908490811061052457610524610e60565b60209081029190910101516001600160a01b0390911690525061054681610e37565b9050610410565b505090565b61055b3361018a565b61056457600080fd5b8060005b81811015610676576000600285858481811061058657610586610e60565b90506020028101906105989190610d89565b6040516105a6929190610cc3565b908152604051908190036020019020546001600160a01b031614156105ca57600080fd5b60028484838181106105de576105de610e60565b90506020028101906105f09190610d89565b6040516105fe929190610cc3565b90815260408051918290036020018220546341cfe6a960e11b835290516001600160a01b039091169163839fcd5291600480830192600092919082900301818387803b15801561064d57600080fd5b505af1158015610661573d6000803e3d6000fd5b505050508061066f90610e37565b9050610568565b50505050565b6106853361018a565b61068e57600080fd5b6106768484848461079f565b6001600160a01b0381166106ad57600080fd5b6106b782826106e6565b156106c157600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b0382166106fb57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61072660008261069a565b6040516001600160a01b038216907f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33990600090a250565b6107686000826108c3565b6040516001600160a01b038216907fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f90600090a250565b6001600160a01b0382166107b257600080fd5b60006001600160a01b0316600285856040516107cf929190610cc3565b908152604051908190036020019020546001600160a01b0316141561082c5760018054808201825560009190915261082a907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601858561090b565b505b816002858560405161083f929190610cc3565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b0319909216919091179055801561067657816001600160a01b031663839fcd526040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108af57600080fd5b505af11580156102cb573d6000803e3d6000fd5b6001600160a01b0381166108d657600080fd5b6108e082826106e6565b6108e957600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b82805461091790610dfc565b90600052602060002090601f016020900481019282610939576000855561097f565b82601f106109525782800160ff1982351617855561097f565b8280016001018555821561097f579182015b8281111561097f578235825591602001919060010190610964565b5061098b92915061098f565b5090565b5b8082111561098b5760008155600101610990565b80356001600160a01b03811681146109bb57600080fd5b919050565b60008083601f8401126109d257600080fd5b50813567ffffffffffffffff8111156109ea57600080fd5b6020830191508360208260051b8501011115610a0557600080fd5b9250929050565b803580151581146109bb57600080fd5b60008083601f840112610a2e57600080fd5b50813567ffffffffffffffff811115610a4657600080fd5b602083019150836020828501011115610a0557600080fd5b600060208284031215610a7057600080fd5b610a79826109a4565b9392505050565b60008060208385031215610a9357600080fd5b823567ffffffffffffffff811115610aaa57600080fd5b610ab6858286016109c0565b90969095509350505050565b60008060008060008060608789031215610adb57600080fd5b863567ffffffffffffffff80821115610af357600080fd5b610aff8a838b016109c0565b90985096506020890135915080821115610b1857600080fd5b610b248a838b016109c0565b90965094506040890135915080821115610b3d57600080fd5b50610b4a89828a016109c0565b979a9699509497509295939492505050565b600060208284031215610b6e57600080fd5b610a7982610a0c565b60008060208385031215610b8a57600080fd5b823567ffffffffffffffff811115610ba157600080fd5b610ab685828601610a1c565b60008060008060608587031215610bc357600080fd5b843567ffffffffffffffff811115610bda57600080fd5b610be687828801610a1c565b9095509350610bf99050602086016109a4565b9150610c0760408601610a0c565b905092959194509250565b600060208284031215610c2457600080fd5b813567ffffffffffffffff80821115610c3c57600080fd5b818401915084601f830112610c5057600080fd5b813581811115610c6257610c62610e76565b604051601f8201601f19908116603f01168101908382118183101715610c8a57610c8a610e76565b81604052828152876020848701011115610ca357600080fd5b826020860160208301376000928101602001929092525095945050505050565b8183823760009101908152919050565b60008251610ce5818460208701610dd0565b9190910192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610d7b57888303603f19018552815180516001600160a01b0316845287015187840187905280518785018190526060610d5882828801858d01610dd0565b96890196601f91909101601f191694909401909301925090860190600101610d16565b509098975050505050505050565b6000808335601e19843603018112610da057600080fd5b83018035915067ffffffffffffffff821115610dbb57600080fd5b602001915036819003821315610a0557600080fd5b60005b83811015610deb578181015183820152602001610dd3565b838111156106765750506000910152565b600181811c90821680610e1057607f821691505b60208210811415610e3157634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610e5957634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f431f2b47202a0e269569c088557d7d115a170c2f0c86662c72f3c11b1bfa13b64736f6c63430008060033

Block Transaction 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
[ Download: CSV Export  ]
[ 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.