S Price: $0.492889 (+0.23%)

Contract

0x8b39590a49569dD5489E4186b8DD43069d4Ef0cC

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenInfo

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license
File 1 of 1 : TokenInfo.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

// https://github.com/ensdomains/reverse-records/blob/master/contracts/ReverseRecords.sol
interface IReverseRecords {
    function getNames(
        address[] calldata addresses
    ) external view returns (string[] memory ensNames);
}

struct Info {
    string symbol;
    string name;
    uint256 decimals;
    bool noContract;
    bool nft;
    string ensName;
}

/**
 * @notice Used to get token information for many addresses in a single call.
 * If an address is not a contract or a token, the batch will not fail.
 * @author Nick Addison
 */
contract TokenInfo {
    /// @notice caps the gas used when attempting to get the token symbol, name and decimals
    uint256 CALL_GAS_LIMIT = 50000;

    /// @notice The address of the Ethereum Name Service's ReverseRecords contract
    /// @dev Only available on Mainnet and Goerli.
    address public immutable ReverseRecords;

    /// @param _reverseRecords The address of the Ethereum Name Service's ReverseRecords contract
    constructor(address _reverseRecords) {
        ReverseRecords = _reverseRecords;
    }

    /// @notice Gets contract and token information for a list of address.
    /// Getting the token name, symbol, decimals and NFT interface checks are wrapped
    /// in a try catch to prevent the batch from reverting if one of the addresses is not a token.
    function getInfoBatch(
        address[] calldata tokens
    ) external view returns (Info[] memory infos) {
        string[] memory ensNames = address(ReverseRecords) != address(0)
            ? IReverseRecords(ReverseRecords).getNames(tokens)
            : new string[](tokens.length);

        infos = new Info[](tokens.length);
        for (uint8 i = 0; i < tokens.length; i++) {
            infos[i] = this.getInfo(tokens[i]);
            infos[i].ensName = ensNames[i];
        }
    }

    /// @notice Gets contract and token information for a an address.
    /// Getting the token name, symbol, decimals and NFT interface checks are wrapped
    /// in a try catch to prevent the call from reverting if the address is not a token.
    function getInfo(address token) external view returns (Info memory info) {
        // Does code exists for the token?
        uint32 size;
        assembly {
            size := extcodesize(token)
        }
        if (size == 0) {
            info.noContract = true;
            return info;
        }

        // Try and get symbol as string
        try this._getStringProperty(token, "symbol()") returns (
            string memory _symbol
        ) {
            info.symbol = _symbol;
        } catch {
            // Try and get symbol as bytes32
            try this._getBytes32Property(token, "symbol()") returns (
                string memory _symbol
            ) {
                info.symbol = _symbol;
            } catch {}
        }

        // Try and get name as string
        try this._getStringProperty(token, "name()") returns (
            string memory _name
        ) {
            info.name = _name;
        } catch {
            // Try and get name as bytes32
            try this._getBytes32Property(token, "name()") returns (
                string memory _name
            ) {
                info.name = _name;
            } catch {}
        }

        // Try and get the decimals
        try this.getDecimals(token) returns (uint256 _decimals) {
            info.decimals = _decimals;
        } catch {}

        // Try and see if the contract is a NFT
        try this.isNFT(token) returns (bool _nft) {
            info.nft = _nft;
        } catch {}
    }

    function _getStringProperty(
        address token,
        string memory property
    ) public view returns (string memory value) {
        (bool success, bytes memory returndata) = token.staticcall{
            gas: CALL_GAS_LIMIT
        }(abi.encodeWithSignature(property));
        if (success) {
            value = abi.decode(returndata, (string));
        }
    }

    function _getBytes32Property(
        address token,
        string memory property
    ) public view returns (string memory value) {
        (bool success, bytes memory returndata) = token.staticcall{
            gas: CALL_GAS_LIMIT
        }(abi.encodeWithSignature(property));
        if (success) {
            bytes32 nameBytes32 = abi.decode(returndata, (bytes32));
            value = bytes32ToString(nameBytes32);
        }
    }

    function bytes32ToString(
        bytes32 _bytes32
    ) internal pure returns (string memory) {
        uint8 i = 0;
        while (i < 32 && _bytes32[i] != 0) {
            i++;
        }
        bytes memory bytesArray = new bytes(i);
        for (i = 0; i < 32 && _bytes32[i] != 0; i++) {
            bytesArray[i] = _bytes32[i];
        }
        return string(bytesArray);
    }

    /// @return decimals of the token contract.
    /// @dev will revert if the token is not a contract or does not have decimals.
    function getDecimals(
        address token
    ) external view returns (uint256 decimals) {
        (bool success, bytes memory returndata) = token.staticcall{
            gas: CALL_GAS_LIMIT
        }(abi.encodeWithSignature("decimals()"));
        if (success) {
            decimals = abi.decode(returndata, (uint256));
        }
    }

    /// @notice is an address a contract or externally owned account?
    /// @dev this will not revert if the address is an externally owned account (EOA).
    function isContract(address account) external view returns (bool) {
        uint32 size;
        assembly {
            size := extcodesize(account)
        }

        return size > 0;
    }

    /// @notice is an address a NFT?
    /// @dev will revert if the token is not a contract or does have the `supportsInterface` function.
    function isNFT(address account) external view returns (bool) {
        return
            supportInterface(account, 0x80ac58cd) || // ERC721
            supportInterface(account, 0x5b5e139f) || // ERC721Metadata
            supportInterface(account, 0x780e9d63) || // ERC721Enumerable
            supportInterface(account, 0x9a20483d); // CryptoKitties
    }

    function supportInterface(
        address account,
        bytes4 interfaceId
    ) public view returns (bool supported) {
        (bool success, bytes memory returndata) = account.staticcall{
            gas: CALL_GAS_LIMIT
        }(abi.encodeWithSignature("supportsInterface(bytes4)", interfaceId));
        if (success) {
            supported = abi.decode(returndata, (bool));
        }
    }

    /// @notice Gets the primary Ethereum Name Service name for an address.
    /// @return ensName address 0 will be returned if ENS is not available on the chain
    /// or the address does not have a name.
    function getEnsName(
        address account
    ) external view returns (string memory ensName) {
        if (address(ReverseRecords) != address(0)) {
            address[] memory addresses = new address[](1);
            addresses[0] = account;
            string[] memory ensNames = IReverseRecords(ReverseRecords).getNames(
                addresses
            );
            ensName = ensNames[0];
        }
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_reverseRecords","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReverseRecords","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"property","type":"string"}],"name":"_getBytes32Property","outputs":[{"internalType":"string","name":"value","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"property","type":"string"}],"name":"_getStringProperty","outputs":[{"internalType":"string","name":"value","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getDecimals","outputs":[{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getEnsName","outputs":[{"internalType":"string","name":"ensName","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getInfo","outputs":[{"components":[{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"bool","name":"noContract","type":"bool"},{"internalType":"bool","name":"nft","type":"bool"},{"internalType":"string","name":"ensName","type":"string"}],"internalType":"struct Info","name":"info","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"getInfoBatch","outputs":[{"components":[{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"bool","name":"noContract","type":"bool"},{"internalType":"bool","name":"nft","type":"bool"},{"internalType":"string","name":"ensName","type":"string"}],"internalType":"struct Info[]","name":"infos","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isContract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isNFT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportInterface","outputs":[{"internalType":"bool","name":"supported","type":"bool"}],"stateMutability":"view","type":"function"}]

60a060405261c35060005534801561001657600080fd5b5060405161158538038061158583398101604081905261003591610046565b6001600160a01b0316608052610076565b60006020828403121561005857600080fd5b81516001600160a01b038116811461006f57600080fd5b9392505050565b6080516114d96100ac6000396000818160a8015281816102ae015281816103420152818161056b01526105f601526114d96000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063b31b85c911610066578063b31b85c914610164578063cd550a6714610177578063cf54aaa01461018a578063df413875146101ab578063ffdd5cf1146101be57600080fd5b8063018a4d75146100a357806316279055146100e757806348a02711146101115780635b232e55146101245780635f5a0bb614610144575b600080fd5b6100ca7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101016100f5366004610d84565b3b63ffffffff16151590565b60405190151581526020016100de565b61010161011f366004610d9f565b6101de565b610137610132366004610de3565b6102a8565b6040516100de9190610f12565b610157610152366004610d84565b610567565b6040516100de9190610f77565b610101610172366004610d84565b610697565b61015761018536600461101f565b6106f5565b61019d610198366004610d84565b6107bd565b6040519081526020016100de565b6101576101b936600461101f565b61086e565b6101d16101cc366004610d84565b61094d565b6040516100de91906110af565b600080546040516001600160e01b031984166024820152829182916001600160a01b038716919060440160408051601f198184030181529181526020820180516001600160e01b03166301ffc9a760e01b1790525161023d91906110c2565b6000604051808303818686fa925050503d8060008114610279576040519150601f19603f3d011682016040523d82523d6000602084013e61027e565b606091505b509150915081156102a0578080602001905181019061029d91906110ee565b92505b505092915050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661032b57826001600160401b038111156102f2576102f2610f8a565b60405190808252806020026020018201604052801561032557816020015b60608152602001906001900390816103105790505b506103be565b6040516332fe2d9b60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbf8b66c906103799087908790600401611109565b600060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103be91908101906111a1565b9050826001600160401b038111156103d8576103d8610f8a565b60405190808252806020026020018201604052801561044657816020015b6104336040518060c00160405280606081526020016060815260200160008152602001600015158152602001600015158152602001606081525090565b8152602001906001900390816103f65790505b50915060005b60ff81168411156102a0573063ffdd5cf1868660ff851681811061047257610472611270565b90506020020160208101906104879190610d84565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104f39190810190611286565b838260ff168151811061050857610508611270565b6020026020010181905250818160ff168151811061052857610528611270565b6020026020010151838260ff168151811061054557610545611270565b602002602001015160a00181905250808061055f90611377565b91505061044c565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615610692576040805160018082528183019092526000916020808301908036833701905050905082816000815181106105ce576105ce611270565b6001600160a01b0392831660209182029290920101526040516332fe2d9b60e21b81526000917f0000000000000000000000000000000000000000000000000000000000000000169063cbf8b66c9061062b9085906004016113a4565b600060405180830381865afa158015610648573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067091908101906111a1565b90508060008151811061068557610685611270565b6020026020010151925050505b919050565b60006106aa826380ac58cd60e01b6101de565b806106c157506106c182635b5e139f60e01b6101de565b806106d857506106d88263780e9d6360e01b6101de565b806106ef57506106ef82639a20483d60e01b6101de565b92915050565b60008054604080516004815260248101918290526060939283926001600160a01b03881692906107269088906110c2565b60408051918290039091206020830180516001600160e01b03166001600160e01b03199092169190911790525161075d91906110c2565b6000604051808303818686fa925050503d8060008114610799576040519150601f19603f3d011682016040523d82523d6000602084013e61079e565b606091505b509150915081156102a0578080602001905181019061029d91906113f0565b6000805460408051600481526024810182526020810180516001600160e01b031663313ce56760e01b1790529051839283926001600160a01b0387169261080491906110c2565b6000604051808303818686fa925050503d8060008114610840576040519150601f19603f3d011682016040523d82523d6000602084013e610845565b606091505b5091509150811561086757808060200190518101906108649190611424565b92505b5050919050565b60008054604080516004815260248101918290526060939283926001600160a01b038816929061089f9088906110c2565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319909216919091179052516108d691906110c2565b6000604051808303818686fa925050503d8060008114610912576040519150601f19603f3d011682016040523d82523d6000602084013e610917565b606091505b509150915081156102a0576000818060200190518101906109389190611424565b905061094381610c37565b9695505050505050565b61098a6040518060c00160405280606081526020016060815260200160008152602001600015158152602001600015158152602001606081525090565b813b63ffffffff81166000036109a7575060016060820152919050565b60405163cd550a6760e01b8152309063cd550a67906109ca90869060040161143d565b600060405180830381865afa925050508015610a0857506040513d6000823e601f3d908101601f19168201604052610a0591908101906113f0565b60015b610a7a5760405163df41387560e01b8152309063df41387590610a2f90869060040161143d565b600060405180830381865afa925050508015610a6d57506040513d6000823e601f3d908101601f19168201604052610a6a91908101906113f0565b60015b15610a755782525b610a7d565b82525b60405163cd550a6760e01b8152309063cd550a6790610aa0908690600401611471565b600060405180830381865afa925050508015610ade57506040513d6000823e601f3d908101601f19168201604052610adb91908101906113f0565b60015b610b535760405163df41387560e01b8152309063df41387590610b05908690600401611471565b600060405180830381865afa925050508015610b4357506040513d6000823e601f3d908101601f19168201604052610b4091908101906113f0565b60015b15610b4e5760208301525b610b59565b60208301525b60405163067aa55560e51b81526001600160a01b0384166004820152309063cf54aaa090602401602060405180830381865afa925050508015610bb9575060408051601f3d908101601f19168201909252610bb691810190611424565b60015b15610bc45760408301525b60405163b31b85c960e01b81526001600160a01b0384166004820152309063b31b85c990602401602060405180830381865afa925050508015610c24575060408051601f3d908101601f19168201909252610c21918101906110ee565b60015b15610c3157151560808301525b50919050565b606060005b60208160ff16108015610c705750828160ff1660208110610c5f57610c5f611270565b1a60f81b6001600160f81b03191615155b15610c875780610c7f81611377565b915050610c3c565b60008160ff166001600160401b03811115610ca457610ca4610f8a565b6040519080825280601f01601f191660200182016040528015610cce576020820181803683370190505b509050600091505b60208260ff16108015610d0a5750838260ff1660208110610cf957610cf9611270565b1a60f81b6001600160f81b03191615155b15610d6657838260ff1660208110610d2457610d24611270565b1a60f81b818360ff1681518110610d3d57610d3d611270565b60200101906001600160f81b031916908160001a90535081610d5e81611377565b925050610cd6565b9392505050565b80356001600160a01b038116811461069257600080fd5b600060208284031215610d9657600080fd5b610d6682610d6d565b60008060408385031215610db257600080fd5b610dbb83610d6d565b915060208301356001600160e01b031981168114610dd857600080fd5b809150509250929050565b60008060208385031215610df657600080fd5b82356001600160401b03811115610e0c57600080fd5b8301601f81018513610e1d57600080fd5b80356001600160401b03811115610e3357600080fd5b8560208260051b8401011115610e4857600080fd5b6020919091019590945092505050565b60005b83811015610e73578181015183820152602001610e5b565b50506000910152565b60008151808452610e94816020860160208601610e58565b601f01601f19169290920160200192915050565b6000815160c08452610ebd60c0850182610e7c565b905060208301518482036020860152610ed68282610e7c565b9150506040830151604085015260608301511515606085015260808301511515608085015260a083015184820360a086015261029d8282610e7c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610f6b57603f19878603018452610f56858351610ea8565b94506020938401939190910190600101610f3a565b50929695505050505050565b602081526000610d666020830184610e7c565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610fc257610fc2610f8a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610ff057610ff0610f8a565b604052919050565b60006001600160401b0382111561101157611011610f8a565b50601f01601f191660200190565b6000806040838503121561103257600080fd5b61103b83610d6d565b915060208301356001600160401b0381111561105657600080fd5b8301601f8101851361106757600080fd5b803561107a61107582610ff8565b610fc8565b81815286602083850101111561108f57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000610d666020830184610ea8565b600082516110d4818460208701610e58565b9190910192915050565b8051801515811461069257600080fd5b60006020828403121561110057600080fd5b610d66826110de565b6020808252810182905260008360408301825b8581101561114a576001600160a01b0361113584610d6d565b1682526020928301929091019060010161111c565b5095945050505050565b600082601f83011261116557600080fd5b815161117361107582610ff8565b81815284602083860101111561118857600080fd5b611199826020830160208701610e58565b949350505050565b6000602082840312156111b357600080fd5b81516001600160401b038111156111c957600080fd5b8201601f810184136111da57600080fd5b80516001600160401b038111156111f3576111f3610f8a565b8060051b61120360208201610fc8565b9182526020818401810192908101908784111561121f57600080fd5b6020850192505b838310156112655782516001600160401b0381111561124457600080fd5b61125389602083890101611154565b83525060209283019290910190611226565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561129857600080fd5b81516001600160401b038111156112ae57600080fd5b820160c081850312156112c057600080fd5b6112c8610fa0565b81516001600160401b038111156112de57600080fd5b6112ea86828501611154565b82525060208201516001600160401b0381111561130657600080fd5b61131286828501611154565b6020830152506040828101519082015261132e606083016110de565b606082015261133f608083016110de565b608082015260a08201516001600160401b0381111561135d57600080fd5b61136986828501611154565b60a083015250949350505050565b600060ff821660ff810361139b57634e487b7160e01b600052601160045260246000fd5b60010192915050565b602080825282518282018190526000918401906040840190835b818110156113e55783516001600160a01b03168352602093840193909201916001016113be565b509095945050505050565b60006020828403121561140257600080fd5b81516001600160401b0381111561141857600080fd5b61119984828501611154565b60006020828403121561143657600080fd5b5051919050565b6001600160a01b039190911681526040602082018190526008908201526773796d626f6c282960c01b606082015260800190565b6001600160a01b03919091168152604060208201819052600690820152656e616d65282960d01b60608201526080019056fea2646970667358221220e7d659507a57d53644af58cea023b2e108dbcf2ca1e22ee6a85dbbabbb6a6d6b64736f6c634300081c00330000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063b31b85c911610066578063b31b85c914610164578063cd550a6714610177578063cf54aaa01461018a578063df413875146101ab578063ffdd5cf1146101be57600080fd5b8063018a4d75146100a357806316279055146100e757806348a02711146101115780635b232e55146101245780635f5a0bb614610144575b600080fd5b6100ca7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101016100f5366004610d84565b3b63ffffffff16151590565b60405190151581526020016100de565b61010161011f366004610d9f565b6101de565b610137610132366004610de3565b6102a8565b6040516100de9190610f12565b610157610152366004610d84565b610567565b6040516100de9190610f77565b610101610172366004610d84565b610697565b61015761018536600461101f565b6106f5565b61019d610198366004610d84565b6107bd565b6040519081526020016100de565b6101576101b936600461101f565b61086e565b6101d16101cc366004610d84565b61094d565b6040516100de91906110af565b600080546040516001600160e01b031984166024820152829182916001600160a01b038716919060440160408051601f198184030181529181526020820180516001600160e01b03166301ffc9a760e01b1790525161023d91906110c2565b6000604051808303818686fa925050503d8060008114610279576040519150601f19603f3d011682016040523d82523d6000602084013e61027e565b606091505b509150915081156102a0578080602001905181019061029d91906110ee565b92505b505092915050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661032b57826001600160401b038111156102f2576102f2610f8a565b60405190808252806020026020018201604052801561032557816020015b60608152602001906001900390816103105790505b506103be565b6040516332fe2d9b60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063cbf8b66c906103799087908790600401611109565b600060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103be91908101906111a1565b9050826001600160401b038111156103d8576103d8610f8a565b60405190808252806020026020018201604052801561044657816020015b6104336040518060c00160405280606081526020016060815260200160008152602001600015158152602001600015158152602001606081525090565b8152602001906001900390816103f65790505b50915060005b60ff81168411156102a0573063ffdd5cf1868660ff851681811061047257610472611270565b90506020020160208101906104879190610d84565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104f39190810190611286565b838260ff168151811061050857610508611270565b6020026020010181905250818160ff168151811061052857610528611270565b6020026020010151838260ff168151811061054557610545611270565b602002602001015160a00181905250808061055f90611377565b91505061044c565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615610692576040805160018082528183019092526000916020808301908036833701905050905082816000815181106105ce576105ce611270565b6001600160a01b0392831660209182029290920101526040516332fe2d9b60e21b81526000917f0000000000000000000000000000000000000000000000000000000000000000169063cbf8b66c9061062b9085906004016113a4565b600060405180830381865afa158015610648573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067091908101906111a1565b90508060008151811061068557610685611270565b6020026020010151925050505b919050565b60006106aa826380ac58cd60e01b6101de565b806106c157506106c182635b5e139f60e01b6101de565b806106d857506106d88263780e9d6360e01b6101de565b806106ef57506106ef82639a20483d60e01b6101de565b92915050565b60008054604080516004815260248101918290526060939283926001600160a01b03881692906107269088906110c2565b60408051918290039091206020830180516001600160e01b03166001600160e01b03199092169190911790525161075d91906110c2565b6000604051808303818686fa925050503d8060008114610799576040519150601f19603f3d011682016040523d82523d6000602084013e61079e565b606091505b509150915081156102a0578080602001905181019061029d91906113f0565b6000805460408051600481526024810182526020810180516001600160e01b031663313ce56760e01b1790529051839283926001600160a01b0387169261080491906110c2565b6000604051808303818686fa925050503d8060008114610840576040519150601f19603f3d011682016040523d82523d6000602084013e610845565b606091505b5091509150811561086757808060200190518101906108649190611424565b92505b5050919050565b60008054604080516004815260248101918290526060939283926001600160a01b038816929061089f9088906110c2565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319909216919091179052516108d691906110c2565b6000604051808303818686fa925050503d8060008114610912576040519150601f19603f3d011682016040523d82523d6000602084013e610917565b606091505b509150915081156102a0576000818060200190518101906109389190611424565b905061094381610c37565b9695505050505050565b61098a6040518060c00160405280606081526020016060815260200160008152602001600015158152602001600015158152602001606081525090565b813b63ffffffff81166000036109a7575060016060820152919050565b60405163cd550a6760e01b8152309063cd550a67906109ca90869060040161143d565b600060405180830381865afa925050508015610a0857506040513d6000823e601f3d908101601f19168201604052610a0591908101906113f0565b60015b610a7a5760405163df41387560e01b8152309063df41387590610a2f90869060040161143d565b600060405180830381865afa925050508015610a6d57506040513d6000823e601f3d908101601f19168201604052610a6a91908101906113f0565b60015b15610a755782525b610a7d565b82525b60405163cd550a6760e01b8152309063cd550a6790610aa0908690600401611471565b600060405180830381865afa925050508015610ade57506040513d6000823e601f3d908101601f19168201604052610adb91908101906113f0565b60015b610b535760405163df41387560e01b8152309063df41387590610b05908690600401611471565b600060405180830381865afa925050508015610b4357506040513d6000823e601f3d908101601f19168201604052610b4091908101906113f0565b60015b15610b4e5760208301525b610b59565b60208301525b60405163067aa55560e51b81526001600160a01b0384166004820152309063cf54aaa090602401602060405180830381865afa925050508015610bb9575060408051601f3d908101601f19168201909252610bb691810190611424565b60015b15610bc45760408301525b60405163b31b85c960e01b81526001600160a01b0384166004820152309063b31b85c990602401602060405180830381865afa925050508015610c24575060408051601f3d908101601f19168201909252610c21918101906110ee565b60015b15610c3157151560808301525b50919050565b606060005b60208160ff16108015610c705750828160ff1660208110610c5f57610c5f611270565b1a60f81b6001600160f81b03191615155b15610c875780610c7f81611377565b915050610c3c565b60008160ff166001600160401b03811115610ca457610ca4610f8a565b6040519080825280601f01601f191660200182016040528015610cce576020820181803683370190505b509050600091505b60208260ff16108015610d0a5750838260ff1660208110610cf957610cf9611270565b1a60f81b6001600160f81b03191615155b15610d6657838260ff1660208110610d2457610d24611270565b1a60f81b818360ff1681518110610d3d57610d3d611270565b60200101906001600160f81b031916908160001a90535081610d5e81611377565b925050610cd6565b9392505050565b80356001600160a01b038116811461069257600080fd5b600060208284031215610d9657600080fd5b610d6682610d6d565b60008060408385031215610db257600080fd5b610dbb83610d6d565b915060208301356001600160e01b031981168114610dd857600080fd5b809150509250929050565b60008060208385031215610df657600080fd5b82356001600160401b03811115610e0c57600080fd5b8301601f81018513610e1d57600080fd5b80356001600160401b03811115610e3357600080fd5b8560208260051b8401011115610e4857600080fd5b6020919091019590945092505050565b60005b83811015610e73578181015183820152602001610e5b565b50506000910152565b60008151808452610e94816020860160208601610e58565b601f01601f19169290920160200192915050565b6000815160c08452610ebd60c0850182610e7c565b905060208301518482036020860152610ed68282610e7c565b9150506040830151604085015260608301511515606085015260808301511515608085015260a083015184820360a086015261029d8282610e7c565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610f6b57603f19878603018452610f56858351610ea8565b94506020938401939190910190600101610f3a565b50929695505050505050565b602081526000610d666020830184610e7c565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b0381118282101715610fc257610fc2610f8a565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610ff057610ff0610f8a565b604052919050565b60006001600160401b0382111561101157611011610f8a565b50601f01601f191660200190565b6000806040838503121561103257600080fd5b61103b83610d6d565b915060208301356001600160401b0381111561105657600080fd5b8301601f8101851361106757600080fd5b803561107a61107582610ff8565b610fc8565b81815286602083850101111561108f57600080fd5b816020840160208301376000602083830101528093505050509250929050565b602081526000610d666020830184610ea8565b600082516110d4818460208701610e58565b9190910192915050565b8051801515811461069257600080fd5b60006020828403121561110057600080fd5b610d66826110de565b6020808252810182905260008360408301825b8581101561114a576001600160a01b0361113584610d6d565b1682526020928301929091019060010161111c565b5095945050505050565b600082601f83011261116557600080fd5b815161117361107582610ff8565b81815284602083860101111561118857600080fd5b611199826020830160208701610e58565b949350505050565b6000602082840312156111b357600080fd5b81516001600160401b038111156111c957600080fd5b8201601f810184136111da57600080fd5b80516001600160401b038111156111f3576111f3610f8a565b8060051b61120360208201610fc8565b9182526020818401810192908101908784111561121f57600080fd5b6020850192505b838310156112655782516001600160401b0381111561124457600080fd5b61125389602083890101611154565b83525060209283019290910190611226565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561129857600080fd5b81516001600160401b038111156112ae57600080fd5b820160c081850312156112c057600080fd5b6112c8610fa0565b81516001600160401b038111156112de57600080fd5b6112ea86828501611154565b82525060208201516001600160401b0381111561130657600080fd5b61131286828501611154565b6020830152506040828101519082015261132e606083016110de565b606082015261133f608083016110de565b608082015260a08201516001600160401b0381111561135d57600080fd5b61136986828501611154565b60a083015250949350505050565b600060ff821660ff810361139b57634e487b7160e01b600052601160045260246000fd5b60010192915050565b602080825282518282018190526000918401906040840190835b818110156113e55783516001600160a01b03168352602093840193909201916001016113be565b509095945050505050565b60006020828403121561140257600080fd5b81516001600160401b0381111561141857600080fd5b61119984828501611154565b60006020828403121561143657600080fd5b5051919050565b6001600160a01b039190911681526040602082018190526008908201526773796d626f6c282960c01b606082015260800190565b6001600160a01b03919091168152604060208201819052600690820152656e616d65282960d01b60608201526080019056fea2646970667358221220e7d659507a57d53644af58cea023b2e108dbcf2ca1e22ee6a85dbbabbb6a6d6b64736f6c634300081c0033

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

0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _reverseRecords (address): 0x0000000000000000000000000000000000000000

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


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

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.