ETH Price: $3,394.60 (+4.27%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x9f713BAD...0bf752956
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
dotApeRegistry

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-06-08
*/

// File: dotApe/implementations/addressesImplementation.sol


pragma solidity ^0.8.7;

interface IApeAddreses {
    function owner() external view returns (address);
    function getDotApeAddress(string memory _label) external view returns (address);
}

pragma solidity ^0.8.7;

abstract contract apeAddressesImpl {
    address dotApeAddresses;

    constructor(address addresses_) {
        dotApeAddresses = addresses_;
    }

    function setAddressesImpl(address addresses_) public onlyOwner {
        dotApeAddresses = addresses_;
    }

    function owner() public view returns (address) {
        return IApeAddreses(dotApeAddresses).owner();
    }

    function getDotApeAddress(string memory _label) public view returns (address) {
        return IApeAddreses(dotApeAddresses).getDotApeAddress(_label);
    }

    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    modifier onlyRegistrar() {
        require(msg.sender == getDotApeAddress("registrar"), "Ownable: caller is not the registrar");
        _;
    }

    modifier onlyErc721() {
        require(msg.sender == getDotApeAddress("erc721"), "Ownable: caller is not erc721");
        _;
    }

    modifier onlyTeam() {
        require(msg.sender == getDotApeAddress("team"), "Ownable: caller is not team");
        _;
    }

}
// File: @openzeppelin/contracts/utils/Counters.sol


// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)

pragma solidity ^0.8.0;

/**
 * @title Counters
 * @author Matt Condon (@shrugs)
 * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number
 * of elements in a mapping, issuing ERC721 ids, or counting request ids.
 *
 * Include with `using Counters for Counters.Counter;`
 */
library Counters {
    struct Counter {
        // This variable should never be directly accessed by users of the library: interactions must be restricted to
        // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add
        // this feature: see https://github.com/ethereum/solidity/issues/4637
        uint256 _value; // default: 0
    }

    function current(Counter storage counter) internal view returns (uint256) {
        return counter._value;
    }

    function increment(Counter storage counter) internal {
        unchecked {
            counter._value += 1;
        }
    }

    function decrement(Counter storage counter) internal {
        uint256 value = counter._value;
        require(value > 0, "Counter: decrement overflow");
        unchecked {
            counter._value = value - 1;
        }
    }

    function reset(Counter storage counter) internal {
        counter._value = 0;
    }
}

// File: dotApe/registry.sol


pragma solidity ^0.8.7;



contract dotApeRegistry is apeAddressesImpl {
    using Counters for Counters.Counter;

    constructor(address _address) apeAddressesImpl(_address) {}

    mapping(bytes32 => uint256) private hashToTokenId;
    mapping(uint256 => string) private tokenIdToName;
    mapping(uint256 => uint256) private tokenIdToExpiration;
    mapping(uint256 => address) private tokenIdToOwners;
    mapping(address => uint256) private primaryNames;
    mapping(uint256 => mapping(string => string)) private txtRecords;
    Counters.Counter private tokenIdCounter;

    function setRecord(bytes32 _hash, uint256 _tokenId, string memory _name, uint256 expiration_) public onlyRegistrar {
        hashToTokenId[_hash] = _tokenId;
        tokenIdToName[_tokenId] = _name;
        tokenIdToExpiration[_tokenId] = expiration_;
    }

    function addOwner(address address_) public onlyErc721 {
        tokenIdToOwners[nextTokenId()] = address_;
        tokenIdCounter.increment();
    }

    function changeOwner(address address_, uint256 tokenId_) public onlyErc721 {
        tokenIdToOwners[tokenId_] = address_;
    }

    function changeExpiration(uint256 tokenId, uint256 expiration_) public onlyRegistrar {
        tokenIdToExpiration[tokenId] = expiration_;
    }

    function getTokenId(bytes32 _hash) public view returns (uint256) {
        return hashToTokenId[_hash];
    }

    function getName(uint256 _tokenId) public view returns (string memory) {
        return tokenIdToName[_tokenId];        
    }

    function currentSupply() public view returns (uint256) {
        return tokenIdCounter.current();
    }

    function nextTokenId() public view returns (uint256) {
        return tokenIdCounter.current() + 1;
    }

    function getOwner(uint256 tokenId) public view returns (address) {
        if(tokenIdToExpiration[tokenId] < block.timestamp && tokenId <= currentSupply() && tokenId != 0) { 
            return getDotApeAddress("expiredVault");
        } else {
            return tokenIdToOwners[tokenId];
        }
    }

    function getExpiration(uint256 tokenId) public view returns (uint256) {
        return tokenIdToExpiration[tokenId];
    }

    function setPrimaryName(address address_, uint256 tokenId) public onlyRegistrar {
        require(getOwner(tokenId) == address_, "Primaty Name: Not owned by address");
        primaryNames[address_] = tokenId;
    }

    function getPrimaryNameTokenId(address address_) public view returns (uint256) {
        uint256 tokenId = primaryNames[address_];
        if(getOwner(tokenId) == address_) {
            return tokenId;
        } else {
            return 0;
        }
    }

    function getPrimaryName(address address_) public view returns (string memory) {
        uint256 tokenId = getPrimaryNameTokenId(address_);
        return string(abi.encodePacked(getName(tokenId), ".ape"));
    }

    function setTxtRecord(uint256 tokenId, string memory label, string memory record) public onlyRegistrar {
        txtRecords[tokenId][label] = record;
    }
    
    function getTxtRecord(uint256 tokenId, string memory label) public view returns (string memory) {
        return txtRecords[tokenId][label];
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"expiration_","type":"uint256"}],"name":"changeExpiration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_label","type":"string"}],"name":"getDotApeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getExpiration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"getPrimaryName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"getPrimaryNameTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"name":"getTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"label","type":"string"}],"name":"getTxtRecord","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addresses_","type":"address"}],"name":"setAddressesImpl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"setPrimaryName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint256","name":"expiration_","type":"uint256"}],"name":"setRecord","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"label","type":"string"},{"internalType":"string","name":"record","type":"string"}],"name":"setTxtRecord","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063c72de7d811610071578063c72de7d8146102f1578063c9cb65e114610321578063e67427f614610351578063e92aafc314610381578063f76c563b1461039d57610116565b80638da5cb5b146102575780638fd4345b14610275578063a05b775f14610291578063c41a360a146102c157610116565b80636b8ff574116100e95780636b8ff5741461019f5780637065cb48146101cf57806375794a3c146101eb578063771282f614610209578063833118681461022757610116565b80631886b3eb1461011b57806336796122146101375780634c16a74e1461015357806356df3db114610183575b600080fd5b61013560048036038101906101309190611311565b6103b9565b005b610151600480360381019061014c919061114f565b6104ad565b005b61016d600480360381019061016891906110f5565b610616565b60405161017a9190611567565b60405180910390f35b61019d6004803603810190610198919061114f565b610655565b005b6101b960048036038101906101b49190611288565b610756565b6040516101c69190611567565b60405180910390f35b6101e960048036038101906101e491906110f5565b6107fb565b005b6101f361090c565b6040516102009190611609565b60405180910390f35b610211610929565b60405161021e9190611609565b60405180910390f35b610241600480360381019061023c919061123f565b61093a565b60405161024e919061154c565b60405180910390f35b61025f6109ed565b60405161026c919061154c565b60405180910390f35b61028f600480360381019061028a91906110f5565b610a93565b005b6102ab60048036038101906102a69190611288565b610b4b565b6040516102b89190611609565b60405180910390f35b6102db60048036038101906102d69190611288565b610b68565b6040516102e8919061154c565b60405180910390f35b61030b600480360381019061030691906112b5565b610c26565b6040516103189190611567565b60405180910390f35b61033b6004803603810190610336919061118f565b610ce8565b6040516103489190611609565b60405180910390f35b61036b600480360381019061036691906110f5565b610d05565b6040516103789190611609565b60405180910390f35b61039b600480360381019061039691906111bc565b610d9a565b005b6103b760048036038101906103b2919061139c565b610ea3565b005b6103f76040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b906115e9565b60405180910390fd5b8060066000858152602001908152602001600020836040516104869190611513565b908152602001604051809103902090805190602001906104a7929190610f8e565b50505050565b6104eb6040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054f906115e9565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1661057882610b68565b73ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c5906115a9565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6060600061062383610d05565b905061062e81610756565b60405160200161063e919061152a565b604051602081830303815290604052915050919050565b6106936040518060400160405280600681526020017f657263373231000000000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790611589565b60405180910390fd5b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60606002600083815260200190815260200160002080546107769061177f565b80601f01602080910402602001604051908101604052809291908181526020018280546107a29061177f565b80156107ef5780601f106107c4576101008083540402835291602001916107ef565b820191906000526020600020905b8154815290600101906020018083116107d257829003601f168201915b50505050509050919050565b6108396040518060400160405280600681526020017f657263373231000000000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089d90611589565b60405180910390fd5b80600460006108b361090c565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109096007610f6a565b50565b6000600161091a6007610f80565b61092491906116a1565b905090565b60006109356007610f80565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166383311868836040518263ffffffff1660e01b81526004016109969190611567565b60206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190611122565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190611122565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610ab26109ed565b73ffffffffffffffffffffffffffffffffffffffff1614610b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aff906115c9565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060036000838152602001908152602001600020549050919050565b6000426003600084815260200190815260200160002054108015610b935750610b8f610929565b8211155b8015610ba0575060008214155b15610bea57610be36040518060400160405280600c81526020017f657870697265645661756c74000000000000000000000000000000000000000081525061093a565b9050610c21565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60606006600084815260200190815260200160002082604051610c499190611513565b90815260200160405180910390208054610c629061177f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8e9061177f565b8015610cdb5780601f10610cb057610100808354040283529160200191610cdb565b820191906000526020600020905b815481529060010190602001808311610cbe57829003601f168201915b5050505050905092915050565b600060016000838152602001908152602001600020549050919050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508273ffffffffffffffffffffffffffffffffffffffff16610d6a82610b68565b73ffffffffffffffffffffffffffffffffffffffff161415610d8f5780915050610d95565b60009150505b919050565b610dd86040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3c906115e9565b60405180910390fd5b82600160008681526020019081526020016000208190555081600260008581526020019081526020016000209080519060200190610e84929190610f8e565b5080600360008581526020019081526020016000208190555050505050565b610ee16040518060400160405280600981526020017f726567697374726172000000000000000000000000000000000000000000000081525061093a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f45906115e9565b60405180910390fd5b8060036000848152602001908152602001600020819055505050565b6001816000016000828254019250508190555050565b600081600001549050919050565b828054610f9a9061177f565b90600052602060002090601f016020900481019282610fbc5760008555611003565b82601f10610fd557805160ff1916838001178555611003565b82800160010185558215611003579182015b82811115611002578251825591602001919060010190610fe7565b5b5090506110109190611014565b5090565b5b8082111561102d576000816000905550600101611015565b5090565b600061104461103f84611649565b611624565b9050828152602081018484840111156110605761105f611874565b5b61106b84828561173d565b509392505050565b600081359050611082816119ad565b92915050565b600081519050611097816119ad565b92915050565b6000813590506110ac816119c4565b92915050565b600082601f8301126110c7576110c661186f565b5b81356110d7848260208601611031565b91505092915050565b6000813590506110ef816119db565b92915050565b60006020828403121561110b5761110a61187e565b5b600061111984828501611073565b91505092915050565b6000602082840312156111385761113761187e565b5b600061114684828501611088565b91505092915050565b600080604083850312156111665761116561187e565b5b600061117485828601611073565b9250506020611185858286016110e0565b9150509250929050565b6000602082840312156111a5576111a461187e565b5b60006111b38482850161109d565b91505092915050565b600080600080608085870312156111d6576111d561187e565b5b60006111e48782880161109d565b94505060206111f5878288016110e0565b935050604085013567ffffffffffffffff81111561121657611215611879565b5b611222878288016110b2565b9250506060611233878288016110e0565b91505092959194509250565b6000602082840312156112555761125461187e565b5b600082013567ffffffffffffffff81111561127357611272611879565b5b61127f848285016110b2565b91505092915050565b60006020828403121561129e5761129d61187e565b5b60006112ac848285016110e0565b91505092915050565b600080604083850312156112cc576112cb61187e565b5b60006112da858286016110e0565b925050602083013567ffffffffffffffff8111156112fb576112fa611879565b5b611307858286016110b2565b9150509250929050565b60008060006060848603121561132a5761132961187e565b5b6000611338868287016110e0565b935050602084013567ffffffffffffffff81111561135957611358611879565b5b611365868287016110b2565b925050604084013567ffffffffffffffff81111561138657611385611879565b5b611392868287016110b2565b9150509250925092565b600080604083850312156113b3576113b261187e565b5b60006113c1858286016110e0565b92505060206113d2858286016110e0565b9150509250929050565b6113e5816116f7565b82525050565b60006113f68261167a565b6114008185611685565b935061141081856020860161174c565b61141981611883565b840191505092915050565b600061142f8261167a565b6114398185611696565b935061144981856020860161174c565b80840191505092915050565b6000611462600483611696565b915061146d82611894565b600482019050919050565b6000611485601d83611685565b9150611490826118bd565b602082019050919050565b60006114a8602283611685565b91506114b3826118e6565b604082019050919050565b60006114cb602083611685565b91506114d682611935565b602082019050919050565b60006114ee602483611685565b91506114f98261195e565b604082019050919050565b61150d81611733565b82525050565b600061151f8284611424565b915081905092915050565b60006115368284611424565b915061154182611455565b915081905092915050565b600060208201905061156160008301846113dc565b92915050565b6000602082019050818103600083015261158181846113eb565b905092915050565b600060208201905081810360008301526115a281611478565b9050919050565b600060208201905081810360008301526115c28161149b565b9050919050565b600060208201905081810360008301526115e2816114be565b9050919050565b60006020820190508181036000830152611602816114e1565b9050919050565b600060208201905061161e6000830184611504565b92915050565b600061162e61163f565b905061163a82826117b1565b919050565b6000604051905090565b600067ffffffffffffffff82111561166457611663611840565b5b61166d82611883565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006116ac82611733565b91506116b783611733565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116ec576116eb6117e2565b5b828201905092915050565b600061170282611713565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561176a57808201518184015260208101905061174f565b83811115611779576000848401525b50505050565b6000600282049050600182168061179757607f821691505b602082108114156117ab576117aa611811565b5b50919050565b6117ba82611883565b810181811067ffffffffffffffff821117156117d9576117d8611840565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f2e61706500000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420657263373231000000600082015250565b7f5072696d617479204e616d653a204e6f74206f776e656420627920616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f742074686520726567697360008201527f7472617200000000000000000000000000000000000000000000000000000000602082015250565b6119b6816116f7565b81146119c157600080fd5b50565b6119cd81611709565b81146119d857600080fd5b50565b6119e481611733565b81146119ef57600080fd5b5056fea264697066735822122001c695f56949414e7529e7902b7db323fdd870ae0799bd5e7944ad94828e8bfc64736f6c63430008070033

Deployed Bytecode Sourcemap

2945:3261:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5886:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5166:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5664:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3940:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4351:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3781:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4600:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4487:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;688:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;570:110;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;452;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5034:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4715:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6055:148;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4232:111;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5392:264;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3512:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4078:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5886:157;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;6029:6:::1;6000:10;:19;6011:7;6000:19;;;;;;;;;;;6020:5;6000:26;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;;;;;;;;;:::i;:::-;;5886:157:::0;;;:::o;5166:218::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;5286:8:::1;5265:29;;:17;5274:7;5265:8;:17::i;:::-;:29;;;5257:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;5369:7;5344:12;:22;5357:8;5344:22;;;;;;;;;;;;;;;:32;;;;5166:218:::0;;:::o;5664:214::-;5727:13;5753:15;5771:31;5793:8;5771:21;:31::i;:::-;5753:49;;5844:16;5852:7;5844;:16::i;:::-;5827:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;5813:57;;;5664:214;;;:::o;3940:130::-;1191:26;;;;;;;;;;;;;;;;;;:16;:26::i;:::-;1177:40;;:10;:40;;;1169:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;4054:8:::1;4026:15;:25;4042:8;4026:25;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;3940:130:::0;;:::o;4351:128::-;4407:13;4440;:23;4454:8;4440:23;;;;;;;;;;;4433:30;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4351:128;;;:::o;3781:151::-;1191:26;;;;;;;;;;;;;;;;;;:16;:26::i;:::-;1177:40;;:10;:40;;;1169:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;3879:8:::1;3846:15;:30;3862:13;:11;:13::i;:::-;3846:30;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;3898:26;:14;:24;:26::i;:::-;3781:151:::0;:::o;4600:107::-;4644:7;4698:1;4671:24;:14;:22;:24::i;:::-;:28;;;;:::i;:::-;4664:35;;4600:107;:::o;4487:105::-;4533:7;4560:24;:14;:22;:24::i;:::-;4553:31;;4487:105;:::o;688:158::-;757:7;797:15;;;;;;;;;;;784:46;;;831:6;784:54;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;777:61;;688:158;;;:::o;570:110::-;608:7;648:15;;;;;;;;;;;635:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;628:44;;570:110;:::o;452:::-;905:10;894:21;;:7;:5;:7::i;:::-;:21;;;886:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;544:10:::1;526:15;::::0;:28:::1;;;;;;;;;;;;;;;;;;452:110:::0;:::o;5034:124::-;5095:7;5122:19;:28;5142:7;5122:28;;;;;;;;;;;;5115:35;;5034:124;;;:::o;4715:311::-;4771:7;4825:15;4794:19;:28;4814:7;4794:28;;;;;;;;;;;;:46;:76;;;;;4855:15;:13;:15::i;:::-;4844:7;:26;;4794:76;:92;;;;;4885:1;4874:7;:12;;4794:92;4791:228;;;4911:32;;;;;;;;;;;;;;;;;;:16;:32::i;:::-;4904:39;;;;4791:228;4983:15;:24;4999:7;4983:24;;;;;;;;;;;;;;;;;;;;;4976:31;;4715:311;;;;:::o;6055:148::-;6136:13;6169:10;:19;6180:7;6169:19;;;;;;;;;;;6189:5;6169:26;;;;;;:::i;:::-;;;;;;;;;;;;;6162:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6055:148;;;;:::o;4232:111::-;4288:7;4315:13;:20;4329:5;4315:20;;;;;;;;;;;;4308:27;;4232:111;;;:::o;5392:264::-;5462:7;5482:15;5500:12;:22;5513:8;5500:22;;;;;;;;;;;;;;;;5482:40;;5557:8;5536:29;;:17;5545:7;5536:8;:17::i;:::-;:29;;;5533:116;;;5589:7;5582:14;;;;;5533:116;5636:1;5629:8;;;5392:264;;;;:::o;3512:261::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;3661:8:::1;3638:13;:20;3652:5;3638:20;;;;;;;;;;;:31;;;;3706:5;3680:13;:23;3694:8;3680:23;;;;;;;;;;;:31;;;;;;;;;;;;:::i;:::-;;3754:11;3722:19;:29;3742:8;3722:29;;;;;;;;;;;:43;;;;3512:261:::0;;;;:::o;4078:146::-;1038:29;;;;;;;;;;;;;;;;;;:16;:29::i;:::-;1024:43;;:10;:43;;;1016:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;4205:11:::1;4174:19;:28;4194:7;4174:28;;;;;;;;;;;:42;;;;4078:146:::0;;:::o;2409:127::-;2516:1;2498:7;:14;;;:19;;;;;;;;;;;2409:127;:::o;2287:114::-;2352:7;2379;:14;;;2372:21;;2287:114;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;425:139::-;471:5;509:6;496:20;487:29;;525:33;552:5;525:33;:::i;:::-;425:139;;;;:::o;570:143::-;627:5;658:6;652:13;643:22;;674:33;701:5;674:33;:::i;:::-;570:143;;;;:::o;719:139::-;765:5;803:6;790:20;781:29;;819:33;846:5;819:33;:::i;:::-;719:139;;;;:::o;878:340::-;934:5;983:3;976:4;968:6;964:17;960:27;950:122;;991:79;;:::i;:::-;950:122;1108:6;1095:20;1133:79;1208:3;1200:6;1193:4;1185:6;1181:17;1133:79;:::i;:::-;1124:88;;940:278;878:340;;;;:::o;1224:139::-;1270:5;1308:6;1295:20;1286:29;;1324:33;1351:5;1324:33;:::i;:::-;1224:139;;;;:::o;1369:329::-;1428:6;1477:2;1465:9;1456:7;1452:23;1448:32;1445:119;;;1483:79;;:::i;:::-;1445:119;1603:1;1628:53;1673:7;1664:6;1653:9;1649:22;1628:53;:::i;:::-;1618:63;;1574:117;1369:329;;;;:::o;1704:351::-;1774:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:119;;;1829:79;;:::i;:::-;1791:119;1949:1;1974:64;2030:7;2021:6;2010:9;2006:22;1974:64;:::i;:::-;1964:74;;1920:128;1704:351;;;;:::o;2061:474::-;2129:6;2137;2186:2;2174:9;2165:7;2161:23;2157:32;2154:119;;;2192:79;;:::i;:::-;2154:119;2312:1;2337:53;2382:7;2373:6;2362:9;2358:22;2337:53;:::i;:::-;2327:63;;2283:117;2439:2;2465:53;2510:7;2501:6;2490:9;2486:22;2465:53;:::i;:::-;2455:63;;2410:118;2061:474;;;;;:::o;2541:329::-;2600:6;2649:2;2637:9;2628:7;2624:23;2620:32;2617:119;;;2655:79;;:::i;:::-;2617:119;2775:1;2800:53;2845:7;2836:6;2825:9;2821:22;2800:53;:::i;:::-;2790:63;;2746:117;2541:329;;;;:::o;2876:945::-;2972:6;2980;2988;2996;3045:3;3033:9;3024:7;3020:23;3016:33;3013:120;;;3052:79;;:::i;:::-;3013:120;3172:1;3197:53;3242:7;3233:6;3222:9;3218:22;3197:53;:::i;:::-;3187:63;;3143:117;3299:2;3325:53;3370:7;3361:6;3350:9;3346:22;3325:53;:::i;:::-;3315:63;;3270:118;3455:2;3444:9;3440:18;3427:32;3486:18;3478:6;3475:30;3472:117;;;3508:79;;:::i;:::-;3472:117;3613:63;3668:7;3659:6;3648:9;3644:22;3613:63;:::i;:::-;3603:73;;3398:288;3725:2;3751:53;3796:7;3787:6;3776:9;3772:22;3751:53;:::i;:::-;3741:63;;3696:118;2876:945;;;;;;;:::o;3827:509::-;3896:6;3945:2;3933:9;3924:7;3920:23;3916:32;3913:119;;;3951:79;;:::i;:::-;3913:119;4099:1;4088:9;4084:17;4071:31;4129:18;4121:6;4118:30;4115:117;;;4151:79;;:::i;:::-;4115:117;4256:63;4311:7;4302:6;4291:9;4287:22;4256:63;:::i;:::-;4246:73;;4042:287;3827:509;;;;:::o;4342:329::-;4401:6;4450:2;4438:9;4429:7;4425:23;4421:32;4418:119;;;4456:79;;:::i;:::-;4418:119;4576:1;4601:53;4646:7;4637:6;4626:9;4622:22;4601:53;:::i;:::-;4591:63;;4547:117;4342:329;;;;:::o;4677:654::-;4755:6;4763;4812:2;4800:9;4791:7;4787:23;4783:32;4780:119;;;4818:79;;:::i;:::-;4780:119;4938:1;4963:53;5008:7;4999:6;4988:9;4984:22;4963:53;:::i;:::-;4953:63;;4909:117;5093:2;5082:9;5078:18;5065:32;5124:18;5116:6;5113:30;5110:117;;;5146:79;;:::i;:::-;5110:117;5251:63;5306:7;5297:6;5286:9;5282:22;5251:63;:::i;:::-;5241:73;;5036:288;4677:654;;;;;:::o;5337:979::-;5434:6;5442;5450;5499:2;5487:9;5478:7;5474:23;5470:32;5467:119;;;5505:79;;:::i;:::-;5467:119;5625:1;5650:53;5695:7;5686:6;5675:9;5671:22;5650:53;:::i;:::-;5640:63;;5596:117;5780:2;5769:9;5765:18;5752:32;5811:18;5803:6;5800:30;5797:117;;;5833:79;;:::i;:::-;5797:117;5938:63;5993:7;5984:6;5973:9;5969:22;5938:63;:::i;:::-;5928:73;;5723:288;6078:2;6067:9;6063:18;6050:32;6109:18;6101:6;6098:30;6095:117;;;6131:79;;:::i;:::-;6095:117;6236:63;6291:7;6282:6;6271:9;6267:22;6236:63;:::i;:::-;6226:73;;6021:288;5337:979;;;;;:::o;6322:474::-;6390:6;6398;6447:2;6435:9;6426:7;6422:23;6418:32;6415:119;;;6453:79;;:::i;:::-;6415:119;6573:1;6598:53;6643:7;6634:6;6623:9;6619:22;6598:53;:::i;:::-;6588:63;;6544:117;6700:2;6726:53;6771:7;6762:6;6751:9;6747:22;6726:53;:::i;:::-;6716:63;;6671:118;6322:474;;;;;:::o;6802:118::-;6889:24;6907:5;6889:24;:::i;:::-;6884:3;6877:37;6802:118;;:::o;6926:364::-;7014:3;7042:39;7075:5;7042:39;:::i;:::-;7097:71;7161:6;7156:3;7097:71;:::i;:::-;7090:78;;7177:52;7222:6;7217:3;7210:4;7203:5;7199:16;7177:52;:::i;:::-;7254:29;7276:6;7254:29;:::i;:::-;7249:3;7245:39;7238:46;;7018:272;6926:364;;;;:::o;7296:377::-;7402:3;7430:39;7463:5;7430:39;:::i;:::-;7485:89;7567:6;7562:3;7485:89;:::i;:::-;7478:96;;7583:52;7628:6;7623:3;7616:4;7609:5;7605:16;7583:52;:::i;:::-;7660:6;7655:3;7651:16;7644:23;;7406:267;7296:377;;;;:::o;7679:400::-;7839:3;7860:84;7942:1;7937:3;7860:84;:::i;:::-;7853:91;;7953:93;8042:3;7953:93;:::i;:::-;8071:1;8066:3;8062:11;8055:18;;7679:400;;;:::o;8085:366::-;8227:3;8248:67;8312:2;8307:3;8248:67;:::i;:::-;8241:74;;8324:93;8413:3;8324:93;:::i;:::-;8442:2;8437:3;8433:12;8426:19;;8085:366;;;:::o;8457:::-;8599:3;8620:67;8684:2;8679:3;8620:67;:::i;:::-;8613:74;;8696:93;8785:3;8696:93;:::i;:::-;8814:2;8809:3;8805:12;8798:19;;8457:366;;;:::o;8829:::-;8971:3;8992:67;9056:2;9051:3;8992:67;:::i;:::-;8985:74;;9068:93;9157:3;9068:93;:::i;:::-;9186:2;9181:3;9177:12;9170:19;;8829:366;;;:::o;9201:::-;9343:3;9364:67;9428:2;9423:3;9364:67;:::i;:::-;9357:74;;9440:93;9529:3;9440:93;:::i;:::-;9558:2;9553:3;9549:12;9542:19;;9201:366;;;:::o;9573:118::-;9660:24;9678:5;9660:24;:::i;:::-;9655:3;9648:37;9573:118;;:::o;9697:275::-;9829:3;9851:95;9942:3;9933:6;9851:95;:::i;:::-;9844:102;;9963:3;9956:10;;9697:275;;;;:::o;9978:541::-;10211:3;10233:95;10324:3;10315:6;10233:95;:::i;:::-;10226:102;;10345:148;10489:3;10345:148;:::i;:::-;10338:155;;10510:3;10503:10;;9978:541;;;;:::o;10525:222::-;10618:4;10656:2;10645:9;10641:18;10633:26;;10669:71;10737:1;10726:9;10722:17;10713:6;10669:71;:::i;:::-;10525:222;;;;:::o;10753:313::-;10866:4;10904:2;10893:9;10889:18;10881:26;;10953:9;10947:4;10943:20;10939:1;10928:9;10924:17;10917:47;10981:78;11054:4;11045:6;10981:78;:::i;:::-;10973:86;;10753:313;;;;:::o;11072:419::-;11238:4;11276:2;11265:9;11261:18;11253:26;;11325:9;11319:4;11315:20;11311:1;11300:9;11296:17;11289:47;11353:131;11479:4;11353:131;:::i;:::-;11345:139;;11072:419;;;:::o;11497:::-;11663:4;11701:2;11690:9;11686:18;11678:26;;11750:9;11744:4;11740:20;11736:1;11725:9;11721:17;11714:47;11778:131;11904:4;11778:131;:::i;:::-;11770:139;;11497:419;;;:::o;11922:::-;12088:4;12126:2;12115:9;12111:18;12103:26;;12175:9;12169:4;12165:20;12161:1;12150:9;12146:17;12139:47;12203:131;12329:4;12203:131;:::i;:::-;12195:139;;11922:419;;;:::o;12347:::-;12513:4;12551:2;12540:9;12536:18;12528:26;;12600:9;12594:4;12590:20;12586:1;12575:9;12571:17;12564:47;12628:131;12754:4;12628:131;:::i;:::-;12620:139;;12347:419;;;:::o;12772:222::-;12865:4;12903:2;12892:9;12888:18;12880:26;;12916:71;12984:1;12973:9;12969:17;12960:6;12916:71;:::i;:::-;12772:222;;;;:::o;13000:129::-;13034:6;13061:20;;:::i;:::-;13051:30;;13090:33;13118:4;13110:6;13090:33;:::i;:::-;13000:129;;;:::o;13135:75::-;13168:6;13201:2;13195:9;13185:19;;13135:75;:::o;13216:308::-;13278:4;13368:18;13360:6;13357:30;13354:56;;;13390:18;;:::i;:::-;13354:56;13428:29;13450:6;13428:29;:::i;:::-;13420:37;;13512:4;13506;13502:15;13494:23;;13216:308;;;:::o;13530:99::-;13582:6;13616:5;13610:12;13600:22;;13530:99;;;:::o;13635:169::-;13719:11;13753:6;13748:3;13741:19;13793:4;13788:3;13784:14;13769:29;;13635:169;;;;:::o;13810:148::-;13912:11;13949:3;13934:18;;13810:148;;;;:::o;13964:305::-;14004:3;14023:20;14041:1;14023:20;:::i;:::-;14018:25;;14057:20;14075:1;14057:20;:::i;:::-;14052:25;;14211:1;14143:66;14139:74;14136:1;14133:81;14130:107;;;14217:18;;:::i;:::-;14130:107;14261:1;14258;14254:9;14247:16;;13964:305;;;;:::o;14275:96::-;14312:7;14341:24;14359:5;14341:24;:::i;:::-;14330:35;;14275:96;;;:::o;14377:77::-;14414:7;14443:5;14432:16;;14377:77;;;:::o;14460:126::-;14497:7;14537:42;14530:5;14526:54;14515:65;;14460:126;;;:::o;14592:77::-;14629:7;14658:5;14647:16;;14592:77;;;:::o;14675:154::-;14759:6;14754:3;14749;14736:30;14821:1;14812:6;14807:3;14803:16;14796:27;14675:154;;;:::o;14835:307::-;14903:1;14913:113;14927:6;14924:1;14921:13;14913:113;;;15012:1;15007:3;15003:11;14997:18;14993:1;14988:3;14984:11;14977:39;14949:2;14946:1;14942:10;14937:15;;14913:113;;;15044:6;15041:1;15038:13;15035:101;;;15124:1;15115:6;15110:3;15106:16;15099:27;15035:101;14884:258;14835:307;;;:::o;15148:320::-;15192:6;15229:1;15223:4;15219:12;15209:22;;15276:1;15270:4;15266:12;15297:18;15287:81;;15353:4;15345:6;15341:17;15331:27;;15287:81;15415:2;15407:6;15404:14;15384:18;15381:38;15378:84;;;15434:18;;:::i;:::-;15378:84;15199:269;15148:320;;;:::o;15474:281::-;15557:27;15579:4;15557:27;:::i;:::-;15549:6;15545:40;15687:6;15675:10;15672:22;15651:18;15639:10;15636:34;15633:62;15630:88;;;15698:18;;:::i;:::-;15630:88;15738:10;15734:2;15727:22;15517:238;15474:281;;:::o;15761:180::-;15809:77;15806:1;15799:88;15906:4;15903:1;15896:15;15930:4;15927:1;15920:15;15947:180;15995:77;15992:1;15985:88;16092:4;16089:1;16082:15;16116:4;16113:1;16106:15;16133:180;16181:77;16178:1;16171:88;16278:4;16275:1;16268:15;16302:4;16299:1;16292:15;16319:117;16428:1;16425;16418:12;16442:117;16551:1;16548;16541:12;16565:117;16674:1;16671;16664:12;16688:117;16797:1;16794;16787:12;16811:102;16852:6;16903:2;16899:7;16894:2;16887:5;16883:14;16879:28;16869:38;;16811:102;;;:::o;16919:154::-;17059:6;17055:1;17047:6;17043:14;17036:30;16919:154;:::o;17079:179::-;17219:31;17215:1;17207:6;17203:14;17196:55;17079:179;:::o;17264:221::-;17404:34;17400:1;17392:6;17388:14;17381:58;17473:4;17468:2;17460:6;17456:15;17449:29;17264:221;:::o;17491:182::-;17631:34;17627:1;17619:6;17615:14;17608:58;17491:182;:::o;17679:223::-;17819:34;17815:1;17807:6;17803:14;17796:58;17888:6;17883:2;17875:6;17871:15;17864:31;17679:223;:::o;17908:122::-;17981:24;17999:5;17981:24;:::i;:::-;17974:5;17971:35;17961:63;;18020:1;18017;18010:12;17961:63;17908:122;:::o;18036:::-;18109:24;18127:5;18109:24;:::i;:::-;18102:5;18099:35;18089:63;;18148:1;18145;18138:12;18089:63;18036:122;:::o;18164:::-;18237:24;18255:5;18237:24;:::i;:::-;18230:5;18227:35;18217:63;;18276:1;18273;18266:12;18217:63;18164:122;:::o

Swarm Source

ipfs://01c695f56949414e7529e7902b7db323fdd870ae0799bd5e7944ad94828e8bfc

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

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.