ETH Price: $2,549.33 (+3.53%)

Contract

0x0B78C64bCE6d6d4447e58b09E53F3621f44A2a48
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...157051062022-10-08 18:16:35713 days ago1665252995IN
0x0B78C64b...1f44A2a48
0 ETH0.0022274282.42096298
Batch Set Docs140014252022-01-14 4:11:52980 days ago1642133512IN
0x0B78C64b...1f44A2a48
0 ETH0.1392502129.62454836
0x60806040140010582022-01-14 2:58:49980 days ago1642129129IN
 Create: MoonCatReference
0 ETH0.19340442157.32493557

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MoonCatReference

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2022-01-14
*/

// SPDX-License-Identifier: AGPL-3.0

pragma solidity 0.8.1;

interface IReverseResolver {
    function claim(address owner) external returns (bytes32);
}

interface IERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
}

interface IERC721 {
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
}

/**
 * @title MoonCatsOnChain
 * @notice On Chain Reference for Offical MoonCat Projects
 * @dev Maintains a mapping of contract addresses to documentation/description strings
 */
contract MoonCatReference {

    /* Original MoonCat Rescue Contract */

    address constant public MoonCatRescue = 0x60cd862c9C687A9dE49aecdC3A99b74A4fc54aB6;

    /* Documentation */

    address[] internal ContractAddresses;

    struct Doc {
        string name;
        string description;
        string details;
    }

    mapping (address => Doc) internal Docs;

    /**
     * @dev How many Contracts does this Reference contract have documentation for?
     */
    function totalContracts () public view returns (uint256) {
        return ContractAddresses.length;
    }

    /**
     * @dev Iterate through the addresses this Reference contract has documentation for.
     */
    function contractAddressByIndex (uint256 index) public view returns (address) {
        require(index < ContractAddresses.length, "Index Out of Range");
        return ContractAddresses[index];
    }

    /**
     * @dev For a specific address, get the details this Reference contract has for it.
     */
    function doc (address _contractAddress) public view returns (string memory name, string memory description, string memory details) {
        Doc storage data = Docs[_contractAddress];
        return (data.name, data.description, data.details);
    }

    /**
     * @dev Iterate through the addresses this Reference contract has documentation for, returning the details stored for that contract.
     */
    function doc (uint256 index) public view returns (string memory name, string memory description, string memory details, address contractAddress) {
        require(index < ContractAddresses.length, "Index Out of Range");
        contractAddress = ContractAddresses[index];
        (name, description, details) = doc(contractAddress);
    }

    /**
     * @dev Get documentation about this contract.
     */
    function doc () public view returns (string memory name, string memory description, string memory details) {
        return doc(address(this));
    }

    address payable public owner;

    modifier onlyOwner () {
        require(msg.sender == owner, "Only Owner");
        _;
    }

    /**
     * @dev Update the stored details about a specific Contract.
     */
    function setDoc (address contractAddress, string memory name, string memory description, string memory details) public onlyOwner {
        require(bytes(name).length > 0, "Name cannot be blank");
        Doc storage data = Docs[contractAddress];
        if (bytes(data.name).length == 0) {
            ContractAddresses.push(contractAddress);
        }
        data.name = name;
        data.description = description;
        data.details = details;
    }

    /**
     * @dev Update the name and description about a specific Contract.
     */
    function setDoc (address contractAddress, string memory name, string memory description) public {
        setDoc(contractAddress, name, description, "");
    }

    /**
     * @dev Update the details about a specific Contract.
     */
    function updateDetails (address contractAddress, string memory details) public onlyOwner {
        Doc storage data = Docs[contractAddress];
        require(bytes(data.name).length == 0, "Doc not found");
        data.details = details;
    }

    /**
     * @dev Update the details for multiple Contracts at once.
     */
    function batchSetDocs (address[] calldata contractAddresses, Doc[] calldata docs) public onlyOwner {
        for ( uint256 i = 0; i < docs.length; i++) {
            Doc memory data = docs[i];
            setDoc(contractAddresses[i], data.name, data.description, data.details);
        }
    }

    /**
     * @dev Allow current `owner` to transfer ownership to another address
     */
    function transferOwnership (address payable newOwner) public onlyOwner {
        owner = newOwner;
    }

    /**
     * @dev Rescue ERC20 assets sent directly to this contract.
     */
    function withdrawForeignERC20 (address tokenContract) public onlyOwner {
        IERC20 token = IERC20(tokenContract);
        token.transfer(owner, token.balanceOf(address(this)));
    }

    /**
     * @dev Rescue ERC721 assets sent directly to this contract.
     */
    function withdrawForeignERC721 (address tokenContract, uint256 tokenId) public onlyOwner {
        IERC721(tokenContract).safeTransferFrom(address(this), owner, tokenId);
    }


    constructor () {
        owner = payable(msg.sender);

        // https://docs.ens.domains/contract-api-reference/reverseregistrar#claim-address
        IReverseResolver(0x084b1c3C81545d370f3634392De611CaaBFf8148).claim(msg.sender);

        setDoc(0x60cd862c9C687A9dE49aecdC3A99b74A4fc54aB6, "MoonCatRescue", "Original 2017 MoonCatRescue user-discoverable blockchain collectible.", "");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"MoonCatRescue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"contractAddresses","type":"address[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"details","type":"string"}],"internalType":"struct MoonCatReference.Doc[]","name":"docs","type":"tuple[]"}],"name":"batchSetDocs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"contractAddressByIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contractAddress","type":"address"}],"name":"doc","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"details","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"doc","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"details","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"doc","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"details","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"string","name":"details","type":"string"}],"name":"setDoc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"description","type":"string"}],"name":"setDoc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalContracts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"details","type":"string"}],"name":"updateDetails","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"}],"name":"withdrawForeignERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"withdrawForeignERC721","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600280546001600160a01b03191633908117909155604051630f41a04d60e11b815273084b1c3c81545d370f3634392de611caabff814891631e83409a916200005f919060040162000308565b602060405180830381600087803b1580156200007a57600080fd5b505af11580156200008f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b59190620002ef565b50620001247360cd862c9c687a9de49aecdc3a99b74a4fc54ab66040518060400160405280600d81526020016c4d6f6f6e43617452657363756560981b815250604051806080016040528060458152602001620014a0604591396040805160208101909152600081526200012a565b620003b4565b6002546001600160a01b03163314620001605760405162461bcd60e51b8152600401620001579062000353565b60405180910390fd5b6000835111620001845760405162461bcd60e51b815260040162000157906200031c565b6001600160a01b038416600090815260016020526040902080548190620001ab9062000377565b15159050620001fd57600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0387161790555b835162000211908290602087019062000249565b50825162000229906001830190602086019062000249565b50815162000241906002830190602085019062000249565b505050505050565b828054620002579062000377565b90600052602060002090601f0160209004810192826200027b5760008555620002c6565b82601f106200029657805160ff1916838001178555620002c6565b82800160010185558215620002c6579182015b82811115620002c6578251825591602001919060010190620002a9565b50620002d4929150620002d8565b5090565b5b80821115620002d45760008155600101620002d9565b60006020828403121562000301578081fd5b5051919050565b6001600160a01b0391909116815260200190565b60208082526014908201527f4e616d652063616e6e6f7420626520626c616e6b000000000000000000000000604082015260600190565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b6002810460018216806200038c57607f821691505b60208210811415620003ae57634e487b7160e01b600052602260045260246000fd5b50919050565b6110dc80620003c46000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063bdc8cf0411610066578063bdc8cf04146101d0578063cf8f16bf146101e3578063d31d7b0a146101f6578063f2fde38b146101fe576100ea565b80638da5cb5b14610193578063a09037a9146101a8578063a8e03767146101bd576100ea565b80635c471995116100c85780635c471995146101425780637a0a3ac514610155578063851e618f1461015d5780638b3ff6bf14610180576100ea565b80630ce06b68146100ef57806331709d6414610104578063413e142f1461012f575b600080fd5b6101026100fd366004610c72565b610211565b005b610117610112366004610af7565b6102ae565b60405161012693929190610df2565b60405180910390f35b61010261013d366004610bdb565b61049a565b610102610150366004610af7565b610599565b6101176106c5565b61017061016b366004610d26565b6106de565b6040516101269493929190610e35565b61010261018e366004610b1a565b610758565b61019b6107e1565b6040516101269190610da1565b6101b06107f0565b6040516101269190610f2d565b61019b6101cb366004610d26565b6107f6565b6101026101de366004610c9d565b610854565b6101026101f1366004610b68565b61092b565b61019b610946565b61010261020c366004610af7565b61095e565b6002546001600160a01b031633146102445760405162461bcd60e51b815260040161023b90610f09565b60405180910390fd5b600254604051632142170760e11b81526001600160a01b03808516926342842e0e9261027892309216908690600401610dce565b600060405180830381600087803b15801561029257600080fd5b505af11580156102a6573d6000803e3d6000fd5b505050505050565b6060806060600060016000866001600160a01b03166001600160a01b0316815260200190815260200160002090508060000181600101826002018280546102f490611016565b80601f016020809104026020016040519081016040528092919081815260200182805461032090611016565b801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050925081805461038090611016565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611016565b80156103f95780601f106103ce576101008083540402835291602001916103f9565b820191906000526020600020905b8154815290600101906020018083116103dc57829003601f168201915b5050505050915080805461040c90611016565b80601f016020809104026020016040519081016040528092919081815260200182805461043890611016565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b50505050509050935093509350509193909250565b6002546001600160a01b031633146104c45760405162461bcd60e51b815260040161023b90610f09565b60008351116104e55760405162461bcd60e51b815260040161023b90610edb565b6001600160a01b03841660009081526001602052604090208054819061050a90611016565b1515905061055b57600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0387161790555b835161056d90829060208701906109aa565b50825161058390600183019060208601906109aa565b5081516102a690600283019060208501906109aa565b6002546001600160a01b031633146105c35760405162461bcd60e51b815260040161023b90610f09565b6002546040516370a0823160e01b815282916001600160a01b038084169263a9059cbb929091169083906370a0823190610601903090600401610da1565b60206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190610d3e565b6040518363ffffffff1660e01b815260040161066e929190610db5565b602060405180830381600087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190610d06565b505050565b60608060606106d3306102ae565b925092509250909192565b60608060606000808054905085106107085760405162461bcd60e51b815260040161023b90610eaf565b6000858154811061072957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169050610749816102ae565b91979096509094509092509050565b6002546001600160a01b031633146107825760405162461bcd60e51b815260040161023b90610f09565b6001600160a01b0382166000908152600160205260409020805481906107a790611016565b1590506107c65760405162461bcd60e51b815260040161023b90610e88565b81516107db90600283019060208501906109aa565b50505050565b6002546001600160a01b031681565b60005490565b6000805482106108185760405162461bcd60e51b815260040161023b90610eaf565b6000828154811061083957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461087e5760405162461bcd60e51b815260040161023b90610f09565b60005b818110156109245760008383838181106108ab57634e487b7160e01b600052603260045260246000fd5b90506020028101906108bd9190610f36565b6108c690610f86565b90506109118686848181106108eb57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906109009190610af7565b82516020840151604085015161049a565b508061091c81611051565b915050610881565b5050505050565b6106c08383836040518060200160405280600081525061049a565b7360cd862c9c687a9de49aecdc3a99b74a4fc54ab681565b6002546001600160a01b031633146109885760405162461bcd60e51b815260040161023b90610f09565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b8280546109b690611016565b90600052602060002090601f0160209004810192826109d85760008555610a1e565b82601f106109f157805160ff1916838001178555610a1e565b82800160010185558215610a1e579182015b82811115610a1e578251825591602001919060010190610a03565b50610a2a929150610a2e565b5090565b5b80821115610a2a5760008155600101610a2f565b60008083601f840112610a54578081fd5b50813567ffffffffffffffff811115610a6b578182fd5b6020830191508360208083028501011115610a8557600080fd5b9250929050565b600082601f830112610a9c578081fd5b813567ffffffffffffffff811115610ab657610ab6611078565b610ac9601f8201601f1916602001610f55565b818152846020838601011115610add578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215610b08578081fd5b8135610b138161108e565b9392505050565b60008060408385031215610b2c578081fd5b8235610b378161108e565b9150602083013567ffffffffffffffff811115610b52578182fd5b610b5e85828601610a8c565b9150509250929050565b600080600060608486031215610b7c578081fd5b8335610b878161108e565b9250602084013567ffffffffffffffff80821115610ba3578283fd5b610baf87838801610a8c565b93506040860135915080821115610bc4578283fd5b50610bd186828701610a8c565b9150509250925092565b60008060008060808587031215610bf0578081fd5b8435610bfb8161108e565b9350602085013567ffffffffffffffff80821115610c17578283fd5b610c2388838901610a8c565b94506040870135915080821115610c38578283fd5b610c4488838901610a8c565b93506060870135915080821115610c59578283fd5b50610c6687828801610a8c565b91505092959194509250565b60008060408385031215610c84578182fd5b8235610c8f8161108e565b946020939093013593505050565b60008060008060408587031215610cb2578384fd5b843567ffffffffffffffff80821115610cc9578586fd5b610cd588838901610a43565b90965094506020870135915080821115610ced578384fd5b50610cfa87828801610a43565b95989497509550505050565b600060208284031215610d17578081fd5b81518015158114610b13578182fd5b600060208284031215610d37578081fd5b5035919050565b600060208284031215610d4f578081fd5b5051919050565b60008151808452815b81811015610d7b57602081850181015186830182015201610d5f565b81811115610d8c5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060608252610e056060830186610d56565b8281036020840152610e178186610d56565b90508281036040840152610e2b8185610d56565b9695505050505050565b600060808252610e486080830187610d56565b8281036020840152610e5a8187610d56565b90508281036040840152610e6e8186610d56565b91505060018060a01b038316606083015295945050505050565b6020808252600d908201526c111bd8c81b9bdd08199bdd5b99609a1b604082015260600190565b602080825260129082015271496e646578204f7574206f662052616e676560701b604082015260600190565b6020808252601490820152734e616d652063616e6e6f7420626520626c616e6b60601b604082015260600190565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b90815260200190565b60008235605e19833603018112610f4b578182fd5b9190910192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f7e57610f7e611078565b604052919050565b600060608236031215610f97578081fd5b610fa16060610f55565b823567ffffffffffffffff80821115610fb8578384fd5b610fc436838701610a8c565b83526020850135915080821115610fd9578384fd5b610fe536838701610a8c565b60208401526040850135915080821115610ffd578384fd5b5061100a36828601610a8c565b60408301525092915050565b60028104600182168061102a57607f821691505b6020821081141561104b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561107157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146110a357600080fd5b5056fea2646970667358221220dde2343aefd31c7dd2dc36630e1780f827372b0f3d7a1b46641813472a47a8d964736f6c634300080100334f726967696e616c2032303137204d6f6f6e43617452657363756520757365722d646973636f76657261626c6520626c6f636b636861696e20636f6c6c65637469626c652e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063bdc8cf0411610066578063bdc8cf04146101d0578063cf8f16bf146101e3578063d31d7b0a146101f6578063f2fde38b146101fe576100ea565b80638da5cb5b14610193578063a09037a9146101a8578063a8e03767146101bd576100ea565b80635c471995116100c85780635c471995146101425780637a0a3ac514610155578063851e618f1461015d5780638b3ff6bf14610180576100ea565b80630ce06b68146100ef57806331709d6414610104578063413e142f1461012f575b600080fd5b6101026100fd366004610c72565b610211565b005b610117610112366004610af7565b6102ae565b60405161012693929190610df2565b60405180910390f35b61010261013d366004610bdb565b61049a565b610102610150366004610af7565b610599565b6101176106c5565b61017061016b366004610d26565b6106de565b6040516101269493929190610e35565b61010261018e366004610b1a565b610758565b61019b6107e1565b6040516101269190610da1565b6101b06107f0565b6040516101269190610f2d565b61019b6101cb366004610d26565b6107f6565b6101026101de366004610c9d565b610854565b6101026101f1366004610b68565b61092b565b61019b610946565b61010261020c366004610af7565b61095e565b6002546001600160a01b031633146102445760405162461bcd60e51b815260040161023b90610f09565b60405180910390fd5b600254604051632142170760e11b81526001600160a01b03808516926342842e0e9261027892309216908690600401610dce565b600060405180830381600087803b15801561029257600080fd5b505af11580156102a6573d6000803e3d6000fd5b505050505050565b6060806060600060016000866001600160a01b03166001600160a01b0316815260200190815260200160002090508060000181600101826002018280546102f490611016565b80601f016020809104026020016040519081016040528092919081815260200182805461032090611016565b801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050925081805461038090611016565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611016565b80156103f95780601f106103ce576101008083540402835291602001916103f9565b820191906000526020600020905b8154815290600101906020018083116103dc57829003601f168201915b5050505050915080805461040c90611016565b80601f016020809104026020016040519081016040528092919081815260200182805461043890611016565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b50505050509050935093509350509193909250565b6002546001600160a01b031633146104c45760405162461bcd60e51b815260040161023b90610f09565b60008351116104e55760405162461bcd60e51b815260040161023b90610edb565b6001600160a01b03841660009081526001602052604090208054819061050a90611016565b1515905061055b57600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0387161790555b835161056d90829060208701906109aa565b50825161058390600183019060208601906109aa565b5081516102a690600283019060208501906109aa565b6002546001600160a01b031633146105c35760405162461bcd60e51b815260040161023b90610f09565b6002546040516370a0823160e01b815282916001600160a01b038084169263a9059cbb929091169083906370a0823190610601903090600401610da1565b60206040518083038186803b15801561061957600080fd5b505afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190610d3e565b6040518363ffffffff1660e01b815260040161066e929190610db5565b602060405180830381600087803b15801561068857600080fd5b505af115801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190610d06565b505050565b60608060606106d3306102ae565b925092509250909192565b60608060606000808054905085106107085760405162461bcd60e51b815260040161023b90610eaf565b6000858154811061072957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169050610749816102ae565b91979096509094509092509050565b6002546001600160a01b031633146107825760405162461bcd60e51b815260040161023b90610f09565b6001600160a01b0382166000908152600160205260409020805481906107a790611016565b1590506107c65760405162461bcd60e51b815260040161023b90610e88565b81516107db90600283019060208501906109aa565b50505050565b6002546001600160a01b031681565b60005490565b6000805482106108185760405162461bcd60e51b815260040161023b90610eaf565b6000828154811061083957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b6002546001600160a01b0316331461087e5760405162461bcd60e51b815260040161023b90610f09565b60005b818110156109245760008383838181106108ab57634e487b7160e01b600052603260045260246000fd5b90506020028101906108bd9190610f36565b6108c690610f86565b90506109118686848181106108eb57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906109009190610af7565b82516020840151604085015161049a565b508061091c81611051565b915050610881565b5050505050565b6106c08383836040518060200160405280600081525061049a565b7360cd862c9c687a9de49aecdc3a99b74a4fc54ab681565b6002546001600160a01b031633146109885760405162461bcd60e51b815260040161023b90610f09565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b8280546109b690611016565b90600052602060002090601f0160209004810192826109d85760008555610a1e565b82601f106109f157805160ff1916838001178555610a1e565b82800160010185558215610a1e579182015b82811115610a1e578251825591602001919060010190610a03565b50610a2a929150610a2e565b5090565b5b80821115610a2a5760008155600101610a2f565b60008083601f840112610a54578081fd5b50813567ffffffffffffffff811115610a6b578182fd5b6020830191508360208083028501011115610a8557600080fd5b9250929050565b600082601f830112610a9c578081fd5b813567ffffffffffffffff811115610ab657610ab6611078565b610ac9601f8201601f1916602001610f55565b818152846020838601011115610add578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215610b08578081fd5b8135610b138161108e565b9392505050565b60008060408385031215610b2c578081fd5b8235610b378161108e565b9150602083013567ffffffffffffffff811115610b52578182fd5b610b5e85828601610a8c565b9150509250929050565b600080600060608486031215610b7c578081fd5b8335610b878161108e565b9250602084013567ffffffffffffffff80821115610ba3578283fd5b610baf87838801610a8c565b93506040860135915080821115610bc4578283fd5b50610bd186828701610a8c565b9150509250925092565b60008060008060808587031215610bf0578081fd5b8435610bfb8161108e565b9350602085013567ffffffffffffffff80821115610c17578283fd5b610c2388838901610a8c565b94506040870135915080821115610c38578283fd5b610c4488838901610a8c565b93506060870135915080821115610c59578283fd5b50610c6687828801610a8c565b91505092959194509250565b60008060408385031215610c84578182fd5b8235610c8f8161108e565b946020939093013593505050565b60008060008060408587031215610cb2578384fd5b843567ffffffffffffffff80821115610cc9578586fd5b610cd588838901610a43565b90965094506020870135915080821115610ced578384fd5b50610cfa87828801610a43565b95989497509550505050565b600060208284031215610d17578081fd5b81518015158114610b13578182fd5b600060208284031215610d37578081fd5b5035919050565b600060208284031215610d4f578081fd5b5051919050565b60008151808452815b81811015610d7b57602081850181015186830182015201610d5f565b81811115610d8c5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060608252610e056060830186610d56565b8281036020840152610e178186610d56565b90508281036040840152610e2b8185610d56565b9695505050505050565b600060808252610e486080830187610d56565b8281036020840152610e5a8187610d56565b90508281036040840152610e6e8186610d56565b91505060018060a01b038316606083015295945050505050565b6020808252600d908201526c111bd8c81b9bdd08199bdd5b99609a1b604082015260600190565b602080825260129082015271496e646578204f7574206f662052616e676560701b604082015260600190565b6020808252601490820152734e616d652063616e6e6f7420626520626c616e6b60601b604082015260600190565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b90815260200190565b60008235605e19833603018112610f4b578182fd5b9190910192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610f7e57610f7e611078565b604052919050565b600060608236031215610f97578081fd5b610fa16060610f55565b823567ffffffffffffffff80821115610fb8578384fd5b610fc436838701610a8c565b83526020850135915080821115610fd9578384fd5b610fe536838701610a8c565b60208401526040850135915080821115610ffd578384fd5b5061100a36828601610a8c565b60408301525092915050565b60028104600182168061102a57607f821691505b6020821081141561104b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561107157634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146110a357600080fd5b5056fea2646970667358221220dde2343aefd31c7dd2dc36630e1780f827372b0f3d7a1b46641813472a47a8d964736f6c63430008010033

Deployed Bytecode Sourcemap

641:4871:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4921:178;;;;;;:::i;:::-;;:::i;:::-;;1678:252;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;2897:465;;;;;;:::i;:::-;;:::i;4639:190::-;;;;;;:::i;:::-;;:::i;2514:151::-;;;:::i;2094:342::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;3706:246::-;;;;;;:::i;:::-;;:::i;2673:28::-;;;:::i;:::-;;;;;;;:::i;1138:107::-;;;:::i;:::-;;;;;;;:::i;1361:202::-;;;;;;:::i;:::-;;:::i;4042:298::-;;;;;;:::i;:::-;;:::i;3460:161::-;;;;;;:::i;:::-;;:::i;722:82::-;;;:::i;4442:106::-;;;;;;:::i;:::-;;:::i;4921:178::-;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;;;;;;;;;5076:5:::1;::::0;5021:70:::1;::::0;-1:-1:-1;;;5021:70:0;;-1:-1:-1;;;;;5021:39:0;;::::1;::::0;::::1;::::0;:70:::1;::::0;5069:4:::1;::::0;5076:5:::1;::::0;5083:7;;5021:70:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4921:178:::0;;:::o;1678:252::-;1739:18;1759:25;1786:21;1820:16;1839:4;:22;1844:16;-1:-1:-1;;;;;1839:22:0;-1:-1:-1;;;;;1839:22:0;;;;;;;;;;;;1820:41;;1880:4;:9;;1891:4;:16;;1909:4;:12;;1872:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1678:252;;;;;:::o;2897:465::-;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;3066:1:::1;3051:4;3045:18;:22;3037:55;;;;-1:-1:-1::0;;;3037:55:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3122:21:0;::::1;3103:16;3122:21:::0;;;:4:::1;:21;::::0;;;;3158:23;;3122:21;;3158:23:::1;::::0;::::1;:::i;:::-;:28:::0;3154:100:::1;::::0;-1:-1:-1;3154:100:0::1;;3203:17;:39:::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;3203:39:0::1;-1:-1:-1::0;;;;;3203:39:0;::::1;;::::0;;3154:100:::1;3264:16:::0;;::::1;::::0;:4;;:16:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;3291:30:0;;::::1;::::0;:16:::1;::::0;::::1;::::0;:30:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;3332:22:0;;::::1;::::0;:12:::1;::::0;::::1;::::0;:22:::1;::::0;::::1;::::0;::::1;:::i;4639:190::-:0;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;4783:5:::1;::::0;4790:30:::1;::::0;-1:-1:-1;;;4790:30:0;;4743:13;;-1:-1:-1;;;;;4768:14:0;;::::1;::::0;::::1;::::0;4783:5;;::::1;::::0;4768:14;;4790:15:::1;::::0;:30:::1;::::0;4814:4:::1;::::0;4790:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4768:53;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2796:1;4639:190:::0;:::o;2514:151::-;2551:18;2571:25;2598:21;2639:18;2651:4;2639:3;:18::i;:::-;2632:25;;;;;;2514:151;;;:::o;2094:342::-;2144:18;2164:25;2191:21;2214:23;2266:17;:24;;;;2258:5;:32;2250:63;;;;-1:-1:-1;;;2250:63:0;;;;;;;:::i;:::-;2342:17;2360:5;2342:24;;;;;;-1:-1:-1;;;2342:24:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2342:24:0;;-1:-1:-1;2408:20:0;2342:24;2408:3;:20::i;:::-;2377:51;;;;-1:-1:-1;2377:51:0;;-1:-1:-1;2094:342:0;;-1:-1:-1;2094:342:0;-1:-1:-1;2094:342:0:o;3706:246::-;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3825:21:0;::::1;3806:16;3825:21:::0;;;:4:::1;:21;::::0;;;;3865:23;;3825:21;;3865:23:::1;::::0;::::1;:::i;:::-;:28:::0;;-1:-1:-1;3857:54:0::1;;;;-1:-1:-1::0;;;3857:54:0::1;;;;;;;:::i;:::-;3922:22:::0;;::::1;::::0;:12:::1;::::0;::::1;::::0;:22:::1;::::0;::::1;::::0;::::1;:::i;:::-;;2796:1;3706:246:::0;;:::o;2673:28::-;;;-1:-1:-1;;;;;2673:28:0;;:::o;1138:107::-;1186:7;1213:24;1138:107;:::o;1361:202::-;1430:7;1466:24;;1458:32;;1450:63;;;;-1:-1:-1;;;1450:63:0;;;;;;;:::i;:::-;1531:17;1549:5;1531:24;;;;;;-1:-1:-1;;;1531:24:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1531:24:0;;1361:202;-1:-1:-1;;1361:202:0:o;4042:298::-;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;4158:9:::1;4152:181;4173:15:::0;;::::1;4152:181;;;4210:15;4228:4;;4233:1;4228:7;;;;;-1:-1:-1::0;;;4228:7:0::1;;;;;;;;;;;;;;;;;;;;:::i;:::-;4210:25;;;:::i;:::-;;;4250:71;4257:17;;4275:1;4257:20;;;;;-1:-1:-1::0;;;4257:20:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4279:9:::0;;4290:16:::1;::::0;::::1;::::0;4308:12:::1;::::0;::::1;::::0;4250:6:::1;:71::i;:::-;-1:-1:-1::0;4190:3:0;::::1;::::0;::::1;:::i;:::-;;;;4152:181;;;;4042:298:::0;;;;:::o;3460:161::-;3567:46;3574:15;3591:4;3597:11;3567:46;;;;;;;;;;;;:6;:46::i;722:82::-;762:42;722:82;:::o;4442:106::-;2765:5;;-1:-1:-1;;;;;2765:5:0;2751:10;:19;2743:42;;;;-1:-1:-1;;;2743:42:0;;;;;;;:::i;:::-;4524:5:::1;:16:::0;;-1:-1:-1;;;;;;4524:16:0::1;-1:-1:-1::0;;;;;4524:16:0;;;::::1;::::0;;;::::1;::::0;;4442:106::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:400:1;;;147:3;140:4;132:6;128:17;124:27;114:2;;170:6;162;155:22;114:2;-1:-1:-1;198:20:1;;241:18;230:30;;227:2;;;280:8;270;263:26;227:2;324:4;316:6;312:17;300:29;;387:3;380:4;372;364:6;360:17;352:6;348:30;344:41;341:50;338:2;;;404:1;401;394:12;338:2;104:310;;;;;:::o;419:553::-;;517:3;510:4;502:6;498:17;494:27;484:2;;539:5;532;525:20;484:2;579:6;566:20;605:18;601:2;598:26;595:2;;;627:18;;:::i;:::-;671:55;714:2;695:13;;-1:-1:-1;;691:27:1;720:4;687:38;671:55;:::i;:::-;751:2;742:7;735:19;797:3;790:4;785:2;777:6;773:15;769:26;766:35;763:2;;;818:5;811;804:20;763:2;887;880:4;872:6;868:17;861:4;852:7;848:18;835:55;910:16;;;928:4;906:27;899:42;;;;914:7;474:498;-1:-1:-1;;474:498:1:o;977:259::-;;1089:2;1077:9;1068:7;1064:23;1060:32;1057:2;;;1110:6;1102;1095:22;1057:2;1154:9;1141:23;1173:33;1200:5;1173:33;:::i;:::-;1225:5;1047:189;-1:-1:-1;;;1047:189:1:o;1513:481::-;;;1652:2;1640:9;1631:7;1627:23;1623:32;1620:2;;;1673:6;1665;1658:22;1620:2;1717:9;1704:23;1736:33;1763:5;1736:33;:::i;:::-;1788:5;-1:-1:-1;1844:2:1;1829:18;;1816:32;1871:18;1860:30;;1857:2;;;1908:6;1900;1893:22;1857:2;1936:52;1980:7;1971:6;1960:9;1956:22;1936:52;:::i;:::-;1926:62;;;1610:384;;;;;:::o;1999:714::-;;;;2165:2;2153:9;2144:7;2140:23;2136:32;2133:2;;;2186:6;2178;2171:22;2133:2;2230:9;2217:23;2249:33;2276:5;2249:33;:::i;:::-;2301:5;-1:-1:-1;2357:2:1;2342:18;;2329:32;2380:18;2410:14;;;2407:2;;;2442:6;2434;2427:22;2407:2;2470:52;2514:7;2505:6;2494:9;2490:22;2470:52;:::i;:::-;2460:62;;2575:2;2564:9;2560:18;2547:32;2531:48;;2604:2;2594:8;2591:16;2588:2;;;2625:6;2617;2610:22;2588:2;;2653:54;2699:7;2688:8;2677:9;2673:24;2653:54;:::i;:::-;2643:64;;;2123:590;;;;;:::o;2718:927::-;;;;;2911:3;2899:9;2890:7;2886:23;2882:33;2879:2;;;2933:6;2925;2918:22;2879:2;2977:9;2964:23;2996:33;3023:5;2996:33;:::i;:::-;3048:5;-1:-1:-1;3104:2:1;3089:18;;3076:32;3127:18;3157:14;;;3154:2;;;3189:6;3181;3174:22;3154:2;3217:52;3261:7;3252:6;3241:9;3237:22;3217:52;:::i;:::-;3207:62;;3322:2;3311:9;3307:18;3294:32;3278:48;;3351:2;3341:8;3338:16;3335:2;;;3372:6;3364;3357:22;3335:2;3400:54;3446:7;3435:8;3424:9;3420:24;3400:54;:::i;:::-;3390:64;;3507:2;3496:9;3492:18;3479:32;3463:48;;3536:2;3526:8;3523:16;3520:2;;;3557:6;3549;3542:22;3520:2;;3585:54;3631:7;3620:8;3609:9;3605:24;3585:54;:::i;:::-;3575:64;;;2869:776;;;;;;;:::o;3650:327::-;;;3779:2;3767:9;3758:7;3754:23;3750:32;3747:2;;;3800:6;3792;3785:22;3747:2;3844:9;3831:23;3863:33;3890:5;3863:33;:::i;:::-;3915:5;3967:2;3952:18;;;;3939:32;;-1:-1:-1;;;3737:240:1:o;3982:836::-;;;;;4202:2;4190:9;4181:7;4177:23;4173:32;4170:2;;;4223:6;4215;4208:22;4170:2;4268:9;4255:23;4297:18;4338:2;4330:6;4327:14;4324:2;;;4359:6;4351;4344:22;4324:2;4403:76;4471:7;4462:6;4451:9;4447:22;4403:76;:::i;:::-;4498:8;;-1:-1:-1;4377:102:1;-1:-1:-1;4586:2:1;4571:18;;4558:32;;-1:-1:-1;4602:16:1;;;4599:2;;;4636:6;4628;4621:22;4599:2;;4680:78;4750:7;4739:8;4728:9;4724:24;4680:78;:::i;:::-;4160:658;;;;-1:-1:-1;4777:8:1;-1:-1:-1;;;;4160:658:1:o;4823:297::-;;4943:2;4931:9;4922:7;4918:23;4914:32;4911:2;;;4964:6;4956;4949:22;4911:2;5001:9;4995:16;5054:5;5047:13;5040:21;5033:5;5030:32;5020:2;;5081:6;5073;5066:22;5125:190;;5237:2;5225:9;5216:7;5212:23;5208:32;5205:2;;;5258:6;5250;5243:22;5205:2;-1:-1:-1;5286:23:1;;5195:120;-1:-1:-1;5195:120:1:o;5320:194::-;;5443:2;5431:9;5422:7;5418:23;5414:32;5411:2;;;5464:6;5456;5449:22;5411:2;-1:-1:-1;5492:16:1;;5401:113;-1:-1:-1;5401:113:1:o;5519:478::-;;5601:5;5595:12;5628:6;5623:3;5616:19;5653:3;5665:162;5679:6;5676:1;5673:13;5665:162;;;5741:4;5797:13;;;5793:22;;5787:29;5769:11;;;5765:20;;5758:59;5694:12;5665:162;;;5845:6;5842:1;5839:13;5836:2;;;5911:3;5904:4;5895:6;5890:3;5886:16;5882:27;5875:40;5836:2;-1:-1:-1;5979:2:1;5958:15;-1:-1:-1;;5954:29:1;5945:39;;;;5986:4;5941:50;;5571:426;-1:-1:-1;;5571:426:1:o;6002:203::-;-1:-1:-1;;;;;6166:32:1;;;;6148:51;;6136:2;6121:18;;6103:102::o;6434:282::-;-1:-1:-1;;;;;6634:32:1;;;;6616:51;;6698:2;6683:18;;6676:34;6604:2;6589:18;;6571:145::o;6721:383::-;-1:-1:-1;;;;;6987:15:1;;;6969:34;;7039:15;;;;7034:2;7019:18;;7012:43;7086:2;7071:18;;7064:34;;;;6919:2;6904:18;;6886:218::o;7109:552::-;;7354:2;7343:9;7336:21;7380:47;7423:2;7412:9;7408:18;7400:6;7380:47;:::i;:::-;7475:9;7467:6;7463:22;7458:2;7447:9;7443:18;7436:50;7509:35;7537:6;7529;7509:35;:::i;:::-;7495:49;;7592:9;7584:6;7580:22;7575:2;7564:9;7560:18;7553:50;7620:35;7648:6;7640;7620:35;:::i;:::-;7612:43;7326:335;-1:-1:-1;;;;;;7326:335:1:o;7666:651::-;;7939:3;7928:9;7921:22;7966:48;8009:3;7998:9;7994:19;7986:6;7966:48;:::i;:::-;8062:9;8054:6;8050:22;8045:2;8034:9;8030:18;8023:50;8096:35;8124:6;8116;8096:35;:::i;:::-;8082:49;;8179:9;8171:6;8167:22;8162:2;8151:9;8147:18;8140:50;8207:35;8235:6;8227;8207:35;:::i;:::-;8199:43;;;8307:1;8303;8298:3;8294:11;8290:19;8282:6;8278:32;8273:2;8262:9;8258:18;8251:60;7911:406;;;;;;;:::o;8322:337::-;8524:2;8506:21;;;8563:2;8543:18;;;8536:30;-1:-1:-1;;;8597:2:1;8582:18;;8575:43;8650:2;8635:18;;8496:163::o;8664:342::-;8866:2;8848:21;;;8905:2;8885:18;;;8878:30;-1:-1:-1;;;8939:2:1;8924:18;;8917:48;8997:2;8982:18;;8838:168::o;9011:344::-;9213:2;9195:21;;;9252:2;9232:18;;;9225:30;-1:-1:-1;;;9286:2:1;9271:18;;9264:50;9346:2;9331:18;;9185:170::o;9360:334::-;9562:2;9544:21;;;9601:2;9581:18;;;9574:30;-1:-1:-1;;;9635:2:1;9620:18;;9613:40;9685:2;9670:18;;9534:160::o;9699:177::-;9845:25;;;9833:2;9818:18;;9800:76::o;9881:324::-;;10026:11;10013:25;10120:2;10116:7;10105:8;10089:14;10085:29;10081:43;10061:18;10057:68;10047:2;;10142:4;10136;10129:18;10047:2;10166:33;;;;;9977:228;-1:-1:-1;;9977:228:1:o;10210:275::-;10281:2;10275:9;10346:2;10327:13;;-1:-1:-1;;10323:27:1;10311:40;;10381:18;10366:34;;10402:22;;;10363:62;10360:2;;;10428:18;;:::i;:::-;10464:2;10457:22;10255:230;;-1:-1:-1;10255:230:1:o;10490:898::-;;10639:4;10631:5;10615:14;10611:26;10607:37;10604:2;;;10665:9;10654;10647:28;10604:2;10701:21;10717:4;10701:21;:::i;:::-;10758:5;10745:19;10783:18;10824:2;10816:6;10813:14;10810:2;;;10848:9;10837;10830:28;10810:2;10885:55;10925:14;10916:6;10909:5;10905:18;10885:55;:::i;:::-;10876:7;10869:72;10990:2;10983:5;10979:14;10966:28;10950:44;;11019:2;11009:8;11006:16;11003:2;;;11043:9;11032;11025:28;11003:2;11089:57;11131:14;11120:8;11113:5;11109:20;11089:57;:::i;:::-;11084:2;11075:7;11071:16;11064:83;11196:2;11189:5;11185:14;11172:28;11156:44;;11225:2;11215:8;11212:16;11209:2;;;11249:9;11238;11231:28;11209:2;;11295:57;11337:14;11326:8;11319:5;11315:20;11295:57;:::i;:::-;11290:2;11277:16;;11270:83;-1:-1:-1;11281:7:1;10594:794;-1:-1:-1;;10594:794:1:o;11393:380::-;11478:1;11468:12;;11525:1;11515:12;;;11536:2;;11590:4;11582:6;11578:17;11568:27;;11536:2;11643;11635:6;11632:14;11612:18;11609:38;11606:2;;;11689:10;11684:3;11680:20;11677:1;11670:31;11724:4;11721:1;11714:15;11752:4;11749:1;11742:15;11606:2;;11448:325;;;:::o;11778:236::-;;-1:-1:-1;;11838:17:1;;11835:2;;;-1:-1:-1;;;11878:33:1;;11934:4;11931:1;11924:15;11964:4;11885:3;11952:17;11835:2;-1:-1:-1;12006:1:1;11995:13;;11825:189::o;12019:127::-;12080:10;12075:3;12071:20;12068:1;12061:31;12111:4;12108:1;12101:15;12135:4;12132:1;12125:15;12151:133;-1:-1:-1;;;;;12228:31:1;;12218:42;;12208:2;;12274:1;12271;12264:12;12208:2;12198:86;:::o

Swarm Source

ipfs://dde2343aefd31c7dd2dc36630e1780f827372b0f3d7a1b46641813472a47a8d9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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