ETH Price: $3,270.04 (-4.27%)
Gas: 11 Gwei

Contract

0x3Ffe568Bc93aB78Deb2De4B6Cd449F56cE16EE00
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Lock202072122024-06-30 21:32:232 days ago1719783143IN
0x3Ffe568B...6cE16EE00
0 ETH0.000652264.47082151
Lock202023362024-06-30 5:13:233 days ago1719724403IN
0x3Ffe568B...6cE16EE00
0 ETH0.001402823.29891621
Unlock201959012024-06-29 7:37:594 days ago1719646679IN
0x3Ffe568B...6cE16EE00
0 ETH0.000272122.46098144
Lock201897252024-06-28 10:55:475 days ago1719572147IN
0x3Ffe568B...6cE16EE00
0 ETH0.001743524.80392726
Lock201850852024-06-27 19:22:356 days ago1719516155IN
0x3Ffe568B...6cE16EE00
0 ETH0.001244398.52943414
Lock201650672024-06-25 0:18:118 days ago1719274691IN
0x3Ffe568B...6cE16EE00
0 ETH0.000566173.88070937
Unlock201460692024-06-22 8:31:3511 days ago1719045095IN
0x3Ffe568B...6cE16EE00
0 ETH0.000263152.37934269
Unlock201082462024-06-17 1:31:2316 days ago1718587883IN
0x3Ffe568B...6cE16EE00
0 ETH0.00428433.08176021
Unlock200997772024-06-15 21:08:3518 days ago1718485715IN
0x3Ffe568B...6cE16EE00
0 ETH0.000765172.96214025
Lock200382002024-06-07 6:36:4726 days ago1717742207IN
0x3Ffe568B...6cE16EE00
0 ETH0.0019083213.07824572
Lock200213642024-06-04 22:12:1128 days ago1717539131IN
0x3Ffe568B...6cE16EE00
0 ETH0.001362299.33617199
Lock200200912024-06-04 17:56:3529 days ago1717523795IN
0x3Ffe568B...6cE16EE00
0 ETH0.0042797615.8908329
Lock199627212024-05-27 17:33:1137 days ago1716831191IN
0x3Ffe568B...6cE16EE00
0 ETH0.0072720220.03654832
Unlock199492832024-05-25 20:29:2339 days ago1716668963IN
0x3Ffe568B...6cE16EE00
0 ETH0.000514964.65616218
Lock199463382024-05-25 10:36:4739 days ago1716633407IN
0x3Ffe568B...6cE16EE00
0 ETH0.00179094.21227877
Unlock199462292024-05-25 10:14:5939 days ago1716632099IN
0x3Ffe568B...6cE16EE00
0 ETH0.000947914.05584164
Lock199418782024-05-24 19:38:4740 days ago1716579527IN
0x3Ffe568B...6cE16EE00
0 ETH0.001706647.12624774
Unlock199248202024-05-22 10:26:5942 days ago1716373619IN
0x3Ffe568B...6cE16EE00
0 ETH0.000721867.34527094
Lock199040772024-05-19 12:47:3545 days ago1716122855IN
0x3Ffe568B...6cE16EE00
0 ETH0.000403563.02082914
Unlock199023682024-05-19 7:02:5945 days ago1716102179IN
0x3Ffe568B...6cE16EE00
0 ETH0.000329752.98219362
Lock199019792024-05-19 5:44:2345 days ago1716097463IN
0x3Ffe568B...6cE16EE00
0 ETH0.002018973.29303956
Unlock199012212024-05-19 3:11:5945 days ago1716088319IN
0x3Ffe568B...6cE16EE00
0 ETH0.00030812.78636822
Lock198917482024-05-17 19:23:2347 days ago1715973803IN
0x3Ffe568B...6cE16EE00
0 ETH0.000552443.78606122
Lock198844842024-05-16 19:00:2348 days ago1715886023IN
0x3Ffe568B...6cE16EE00
0 ETH0.001680465.06820468
Lock198812202024-05-16 8:03:3548 days ago1715846615IN
0x3Ffe568B...6cE16EE00
0 ETH0.001405625.86930649
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElderGateway

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-07-26
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.9;

interface INFT {
    function transferFrom(
        address _from,
        address _to,
        uint256 _tokenId
    ) external;
}

contract ElderGateway {

    /**
    * @dev Details of locked NFT
    * @param user owner of tokenId
    * @param blockNo block.number when locked
    */
    struct Details {
        address user;
        uint256 blockNo;
    }

    /**
    * @dev mapping holds below values:
    * collectionAddress => tokenId => Details  
    */
    mapping(address => mapping(uint256 => Details)) public lockedData;

    /** 
    * @dev Emits event after nft is successfully locked
    * @param user address which locked nfts (owner of tokens)
    * @param nft collection address
    * @param tokenIds list of tokenIds from `nft` collection
    */
    event Locked(address indexed user, address indexed nft, uint256[] tokenIds);

    /** 
    * @dev Emits event after nft is successfully unlocked
    * @param user address which unlocked nfts (owner of tokens)
    * @param nft collection address
    * @param tokenIds list of tokenIds from `nft` collection
    */
    event Unlocked(address indexed user, address indexed nft, uint256[] tokenIds);

    /**
    * @dev Locks multiple tokenIds from multiple collections.
    * @param nfts list of collection addresses.
    * @param tokenIds list of tokenIds from collections. First dimension index has to match `nfts` index.
    */
    function lock(address[] calldata nfts, uint256[][] calldata tokenIds) external {
        require(nfts.length == tokenIds.length, "NFTs addresses & tokenIds length mismatch.");

        uint256 nftsLength = nfts.length;
        uint256 tokenIdsLength;
        for (uint8 i = 0; i < nftsLength; i++) {
            tokenIdsLength = tokenIds[i].length;
            if (tokenIdsLength > 0) {
                emit Locked(msg.sender, nfts[i], tokenIds[i]);
                for (uint8 j = 0; j < tokenIdsLength; j++) {
                    lockedData[nfts[i]][tokenIds[i][j]].user = msg.sender;
                    lockedData[nfts[i]][tokenIds[i][j]].blockNo = block.number;
                    INFT(nfts[i]).transferFrom(msg.sender, address(this), tokenIds[i][j]);
                }
            }
        }
    }

    /**
    * @dev Unlocks multiple tokenIds from multiple collections.
    * @param nfts list of collection addresses.
    * @param tokenIds list of tokenIds from collections. First dimension index has to match `nfts` index.
    */
    function unlock(address[] calldata nfts, uint256[][] calldata tokenIds) external {
        require(nfts.length == tokenIds.length, "NFTs addresses & tokenIds length mismatch.");

        uint256 nftsLength = nfts.length;
        uint256 tokenIdsLength;
        for (uint8 i = 0; i < nftsLength; i++) {
            tokenIdsLength = tokenIds[i].length;
            if (tokenIdsLength > 0) {
                emit Unlocked(msg.sender, nfts[i], tokenIds[i]);
                for (uint8 j = 0; j < tokenIdsLength; j++) {
                    require(msg.sender == lockedData[nfts[i]][tokenIds[i][j]].user, "Token does not belong to user.");
                    require(block.number > lockedData[nfts[i]][tokenIds[i][j]].blockNo, "Unlock too fast.");

                    delete lockedData[nfts[i]][tokenIds[i][j]];
                    INFT(nfts[i]).transferFrom(address(this), msg.sender, tokenIds[i][j]);
                }
            }
        }
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"nft","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"nft","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"Unlocked","type":"event"},{"inputs":[{"internalType":"address[]","name":"nfts","type":"address[]"},{"internalType":"uint256[][]","name":"tokenIds","type":"uint256[][]"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"lockedData","outputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"blockNo","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"nfts","type":"address[]"},{"internalType":"uint256[][]","name":"tokenIds","type":"uint256[][]"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506110ed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063378aa1c414610046578063805af4bf146100625780638ce9b5e514610093575b600080fd5b610060600480360381019061005b9190610b90565b6100af565b005b61007c60048036038101906100779190610ca5565b610651565b60405161008a929190610d03565b60405180910390f35b6100ad60048036038101906100a89190610b90565b6106a2565b005b8181905084849050146100f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ee90610daf565b60405180910390fd5b6000848490509050600080600090505b828160ff1610156106485784848260ff1681811061012857610127610dcf565b5b905060200281019061013a9190610e0d565b9050915060008211156106355786868260ff1681811061015d5761015c610dcf565b5b90506020020160208101906101729190610e70565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8b013481a55a771c875448b57d127c841d2b9f48913629cce585bc93ce16280987878560ff168181106101d6576101d5610dcf565b5b90506020028101906101e89190610e0d565b6040516101f6929190610f1e565b60405180910390a360005b828160ff1610156106335760008089898560ff1681811061022557610224610dcf565b5b905060200201602081019061023a9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff1681811061028c5761028b610dcf565b5b905060200281019061029e9190610e0d565b8460ff168181106102b2576102b1610dcf565b5b90506020020135815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034f90610f8e565b60405180910390fd5b60008089898560ff1681811061037157610370610dcf565b5b90506020020160208101906103869190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff168181106103d8576103d7610dcf565b5b90506020028101906103ea9190610e0d565b8460ff168181106103fe576103fd610dcf565b5b905060200201358152602001908152602001600020600101544311610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044f90610ffa565b60405180910390fd5b60008089898560ff1681811061047157610470610dcf565b5b90506020020160208101906104869190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff168181106104d8576104d7610dcf565b5b90506020028101906104ea9190610e0d565b8460ff168181106104fe576104fd610dcf565b5b905060200201358152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055505087878360ff1681811061055b5761055a610dcf565b5b90506020020160208101906105709190610e70565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd303389898760ff168181106105a3576105a2610dcf565b5b90506020028101906105b59190610e0d565b8660ff168181106105c9576105c8610dcf565b5b905060200201356040518463ffffffff1660e01b81526004016105ee9392919061101a565b600060405180830381600087803b15801561060857600080fd5b505af115801561061c573d6000803e3d6000fd5b50505050808061062b9061108d565b915050610201565b505b80806106409061108d565b915050610107565b50505050505050565b6000602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b8181905084849050146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e190610daf565b60405180910390fd5b6000848490509050600080600090505b828160ff161015610ac25784848260ff1681811061071b5761071a610dcf565b5b905060200281019061072d9190610e0d565b905091506000821115610aaf5786868260ff168181106107505761074f610dcf565b5b90506020020160208101906107659190610e70565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc1999105dc4ba8e2ccf69e416c5f97a04264a141efb320b52800530150b9dcd887878560ff168181106107c9576107c8610dcf565b5b90506020028101906107db9190610e0d565b6040516107e9929190610f1e565b60405180910390a360005b828160ff161015610aad57336000808a8a8660ff1681811061081957610818610dcf565b5b905060200201602081019061082e9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888660ff168181106108805761087f610dcf565b5b90506020028101906108929190610e0d565b8560ff168181106108a6576108a5610dcf565b5b90506020020135815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550436000808a8a8660ff1681811061091657610915610dcf565b5b905060200201602081019061092b9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888660ff1681811061097d5761097c610dcf565b5b905060200281019061098f9190610e0d565b8560ff168181106109a3576109a2610dcf565b5b9050602002013581526020019081526020016000206001018190555087878360ff168181106109d5576109d4610dcf565b5b90506020020160208101906109ea9190610e70565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd333089898760ff16818110610a1d57610a1c610dcf565b5b9050602002810190610a2f9190610e0d565b8660ff16818110610a4357610a42610dcf565b5b905060200201356040518463ffffffff1660e01b8152600401610a689392919061101a565b600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050508080610aa59061108d565b9150506107f4565b505b8080610aba9061108d565b9150506106fa565b50505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610afa57610af9610ad5565b5b8235905067ffffffffffffffff811115610b1757610b16610ada565b5b602083019150836020820283011115610b3357610b32610adf565b5b9250929050565b60008083601f840112610b5057610b4f610ad5565b5b8235905067ffffffffffffffff811115610b6d57610b6c610ada565b5b602083019150836020820283011115610b8957610b88610adf565b5b9250929050565b60008060008060408587031215610baa57610ba9610acb565b5b600085013567ffffffffffffffff811115610bc857610bc7610ad0565b5b610bd487828801610ae4565b9450945050602085013567ffffffffffffffff811115610bf757610bf6610ad0565b5b610c0387828801610b3a565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3c82610c11565b9050919050565b610c4c81610c31565b8114610c5757600080fd5b50565b600081359050610c6981610c43565b92915050565b6000819050919050565b610c8281610c6f565b8114610c8d57600080fd5b50565b600081359050610c9f81610c79565b92915050565b60008060408385031215610cbc57610cbb610acb565b5b6000610cca85828601610c5a565b9250506020610cdb85828601610c90565b9150509250929050565b610cee81610c31565b82525050565b610cfd81610c6f565b82525050565b6000604082019050610d186000830185610ce5565b610d256020830184610cf4565b9392505050565b600082825260208201905092915050565b7f4e46547320616464726573736573202620746f6b656e496473206c656e67746860008201527f206d69736d617463682e00000000000000000000000000000000000000000000602082015250565b6000610d99602a83610d2c565b9150610da482610d3d565b604082019050919050565b60006020820190508181036000830152610dc881610d8c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610e2a57610e29610dfe565b5b80840192508235915067ffffffffffffffff821115610e4c57610e4b610e03565b5b602083019250602082023603831315610e6857610e67610e08565b5b509250929050565b600060208284031215610e8657610e85610acb565b5b6000610e9484828501610c5a565b91505092915050565b600082825260208201905092915050565b600080fd5b82818337600083830152505050565b6000610ece8385610e9d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115610f0157610f00610eae565b5b602083029250610f12838584610eb3565b82840190509392505050565b60006020820190508181036000830152610f39818486610ec2565b90509392505050565b7f546f6b656e20646f6573206e6f742062656c6f6e6720746f20757365722e0000600082015250565b6000610f78601e83610d2c565b9150610f8382610f42565b602082019050919050565b60006020820190508181036000830152610fa781610f6b565b9050919050565b7f556e6c6f636b20746f6f20666173742e00000000000000000000000000000000600082015250565b6000610fe4601083610d2c565b9150610fef82610fae565b602082019050919050565b6000602082019050818103600083015261101381610fd7565b9050919050565b600060608201905061102f6000830186610ce5565b61103c6020830185610ce5565b6110496040830184610cf4565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff82169050919050565b600061109882611080565b915060ff8214156110ac576110ab611051565b5b60018201905091905056fea26469706673582212200cbb59cbc7015cabf041c7f7eed0a517219c5b7309f7da027db709234588779064736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063378aa1c414610046578063805af4bf146100625780638ce9b5e514610093575b600080fd5b610060600480360381019061005b9190610b90565b6100af565b005b61007c60048036038101906100779190610ca5565b610651565b60405161008a929190610d03565b60405180910390f35b6100ad60048036038101906100a89190610b90565b6106a2565b005b8181905084849050146100f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ee90610daf565b60405180910390fd5b6000848490509050600080600090505b828160ff1610156106485784848260ff1681811061012857610127610dcf565b5b905060200281019061013a9190610e0d565b9050915060008211156106355786868260ff1681811061015d5761015c610dcf565b5b90506020020160208101906101729190610e70565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8b013481a55a771c875448b57d127c841d2b9f48913629cce585bc93ce16280987878560ff168181106101d6576101d5610dcf565b5b90506020028101906101e89190610e0d565b6040516101f6929190610f1e565b60405180910390a360005b828160ff1610156106335760008089898560ff1681811061022557610224610dcf565b5b905060200201602081019061023a9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff1681811061028c5761028b610dcf565b5b905060200281019061029e9190610e0d565b8460ff168181106102b2576102b1610dcf565b5b90506020020135815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034f90610f8e565b60405180910390fd5b60008089898560ff1681811061037157610370610dcf565b5b90506020020160208101906103869190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff168181106103d8576103d7610dcf565b5b90506020028101906103ea9190610e0d565b8460ff168181106103fe576103fd610dcf565b5b905060200201358152602001908152602001600020600101544311610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044f90610ffa565b60405180910390fd5b60008089898560ff1681811061047157610470610dcf565b5b90506020020160208101906104869190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087878560ff168181106104d8576104d7610dcf565b5b90506020028101906104ea9190610e0d565b8460ff168181106104fe576104fd610dcf565b5b905060200201358152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055505087878360ff1681811061055b5761055a610dcf565b5b90506020020160208101906105709190610e70565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd303389898760ff168181106105a3576105a2610dcf565b5b90506020028101906105b59190610e0d565b8660ff168181106105c9576105c8610dcf565b5b905060200201356040518463ffffffff1660e01b81526004016105ee9392919061101a565b600060405180830381600087803b15801561060857600080fd5b505af115801561061c573d6000803e3d6000fd5b50505050808061062b9061108d565b915050610201565b505b80806106409061108d565b915050610107565b50505050505050565b6000602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b8181905084849050146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e190610daf565b60405180910390fd5b6000848490509050600080600090505b828160ff161015610ac25784848260ff1681811061071b5761071a610dcf565b5b905060200281019061072d9190610e0d565b905091506000821115610aaf5786868260ff168181106107505761074f610dcf565b5b90506020020160208101906107659190610e70565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc1999105dc4ba8e2ccf69e416c5f97a04264a141efb320b52800530150b9dcd887878560ff168181106107c9576107c8610dcf565b5b90506020028101906107db9190610e0d565b6040516107e9929190610f1e565b60405180910390a360005b828160ff161015610aad57336000808a8a8660ff1681811061081957610818610dcf565b5b905060200201602081019061082e9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888660ff168181106108805761087f610dcf565b5b90506020028101906108929190610e0d565b8560ff168181106108a6576108a5610dcf565b5b90506020020135815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550436000808a8a8660ff1681811061091657610915610dcf565b5b905060200201602081019061092b9190610e70565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888660ff1681811061097d5761097c610dcf565b5b905060200281019061098f9190610e0d565b8560ff168181106109a3576109a2610dcf565b5b9050602002013581526020019081526020016000206001018190555087878360ff168181106109d5576109d4610dcf565b5b90506020020160208101906109ea9190610e70565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd333089898760ff16818110610a1d57610a1c610dcf565b5b9050602002810190610a2f9190610e0d565b8660ff16818110610a4357610a42610dcf565b5b905060200201356040518463ffffffff1660e01b8152600401610a689392919061101a565b600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050508080610aa59061108d565b9150506107f4565b505b8080610aba9061108d565b9150506106fa565b50505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610afa57610af9610ad5565b5b8235905067ffffffffffffffff811115610b1757610b16610ada565b5b602083019150836020820283011115610b3357610b32610adf565b5b9250929050565b60008083601f840112610b5057610b4f610ad5565b5b8235905067ffffffffffffffff811115610b6d57610b6c610ada565b5b602083019150836020820283011115610b8957610b88610adf565b5b9250929050565b60008060008060408587031215610baa57610ba9610acb565b5b600085013567ffffffffffffffff811115610bc857610bc7610ad0565b5b610bd487828801610ae4565b9450945050602085013567ffffffffffffffff811115610bf757610bf6610ad0565b5b610c0387828801610b3a565b925092505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c3c82610c11565b9050919050565b610c4c81610c31565b8114610c5757600080fd5b50565b600081359050610c6981610c43565b92915050565b6000819050919050565b610c8281610c6f565b8114610c8d57600080fd5b50565b600081359050610c9f81610c79565b92915050565b60008060408385031215610cbc57610cbb610acb565b5b6000610cca85828601610c5a565b9250506020610cdb85828601610c90565b9150509250929050565b610cee81610c31565b82525050565b610cfd81610c6f565b82525050565b6000604082019050610d186000830185610ce5565b610d256020830184610cf4565b9392505050565b600082825260208201905092915050565b7f4e46547320616464726573736573202620746f6b656e496473206c656e67746860008201527f206d69736d617463682e00000000000000000000000000000000000000000000602082015250565b6000610d99602a83610d2c565b9150610da482610d3d565b604082019050919050565b60006020820190508181036000830152610dc881610d8c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610e2a57610e29610dfe565b5b80840192508235915067ffffffffffffffff821115610e4c57610e4b610e03565b5b602083019250602082023603831315610e6857610e67610e08565b5b509250929050565b600060208284031215610e8657610e85610acb565b5b6000610e9484828501610c5a565b91505092915050565b600082825260208201905092915050565b600080fd5b82818337600083830152505050565b6000610ece8385610e9d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115610f0157610f00610eae565b5b602083029250610f12838584610eb3565b82840190509392505050565b60006020820190508181036000830152610f39818486610ec2565b90509392505050565b7f546f6b656e20646f6573206e6f742062656c6f6e6720746f20757365722e0000600082015250565b6000610f78601e83610d2c565b9150610f8382610f42565b602082019050919050565b60006020820190508181036000830152610fa781610f6b565b9050919050565b7f556e6c6f636b20746f6f20666173742e00000000000000000000000000000000600082015250565b6000610fe4601083610d2c565b9150610fef82610fae565b602082019050919050565b6000602082019050818103600083015261101381610fd7565b9050919050565b600060608201905061102f6000830186610ce5565b61103c6020830185610ce5565b6110496040830184610cf4565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff82169050919050565b600061109882611080565b915060ff8214156110ac576110ab611051565b5b60018201905091905056fea26469706673582212200cbb59cbc7015cabf041c7f7eed0a517219c5b7309f7da027db709234588779064736f6c63430008090033

Deployed Bytecode Sourcemap

201:3344:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2576:964;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;552:65;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1510:820;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2576:964;2691:8;;:15;;2676:4;;:11;;:30;2668:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;2766:18;2787:4;;:11;;2766:32;;2809:22;2847:7;2857:1;2847:11;;2842:691;2864:10;2860:1;:14;;;2842:691;;;2913:8;;2922:1;2913:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:18;;2896:35;;2967:1;2950:14;:18;2946:576;;;3015:4;;3020:1;3015:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2994:42;;3003:10;2994:42;;;3024:8;;3033:1;3024:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2994:42;;;;;;;:::i;:::-;;;;;;;;3060:7;3055:452;3077:14;3073:1;:18;;;3055:452;;;3143:10;:19;3154:4;;3159:1;3154:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3143:19;;;;;;;;;;;;;;;:35;3163:8;;3172:1;3163:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3175:1;3163:14;;;;;;;;;:::i;:::-;;;;;;;;3143:35;;;;;;;;;;;:40;;;;;;;;;;;;3129:54;;:10;:54;;;3121:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3264:10;:19;3275:4;;3280:1;3275:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3264:19;;;;;;;;;;;;;;;:35;3284:8;;3293:1;3284:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3296:1;3284:14;;;;;;;;;:::i;:::-;;;;;;;;3264:35;;;;;;;;;;;:43;;;3249:12;:58;3241:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;3360:10;:19;3371:4;;3376:1;3371:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3360:19;;;;;;;;;;;;;;;:35;3380:8;;3389:1;3380:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3392:1;3380:14;;;;;;;;;:::i;:::-;;;;;;;;3360:35;;;;;;;;;;;;3353:42;;;;;;;;;;;;;;;;;;;;;;;3423:4;;3428:1;3423:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3418:26;;;3453:4;3460:10;3472:8;;3481:1;3472:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;3484:1;3472:14;;;;;;;;;:::i;:::-;;;;;;;;3418:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3093:3;;;;;:::i;:::-;;;;3055:452;;;;2946:576;2876:3;;;;;:::i;:::-;;;;2842:691;;;;2657:883;;2576:964;;;;:::o;552:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1510:820::-;1623:8;;:15;;1608:4;;:11;;:30;1600:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;1698:18;1719:4;;:11;;1698:32;;1741:22;1779:7;1789:1;1779:11;;1774:549;1796:10;1792:1;:14;;;1774:549;;;1845:8;;1854:1;1845:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;:18;;1828:35;;1899:1;1882:14;:18;1878:434;;;1945:4;;1950:1;1945:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;1926:40;;1933:10;1926:40;;;1954:8;;1963:1;1954:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;1926:40;;;;;;;:::i;:::-;;;;;;;;1990:7;1985:312;2007:14;2003:1;:18;;;1985:312;;;2094:10;2051;:19;2062:4;;2067:1;2062:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2051:19;;;;;;;;;;;;;;;:35;2071:8;;2080:1;2071:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2083:1;2071:14;;;;;;;;;:::i;:::-;;;;;;;;2051:35;;;;;;;;;;;:40;;;:53;;;;;;;;;;;;;;;;;;2173:12;2127:10;:19;2138:4;;2143:1;2138:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2127:19;;;;;;;;;;;;;;;:35;2147:8;;2156:1;2147:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2159:1;2147:14;;;;;;;;;:::i;:::-;;;;;;;;2127:35;;;;;;;;;;;:43;;:58;;;;2213:4;;2218:1;2213:7;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;2208:26;;;2235:10;2255:4;2262:8;;2271:1;2262:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;2274:1;2262:14;;;;;;;;;:::i;:::-;;;;;;;;2208:69;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:3;;;;;:::i;:::-;;;;1985:312;;;;1878:434;1808:3;;;;;:::i;:::-;;;;1774:549;;;;1589:741;;1510:820;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;720:568;793:8;803:6;853:3;846:4;838:6;834:17;830:27;820:122;;861:79;;:::i;:::-;820:122;974:6;961:20;951:30;;1004:18;996:6;993:30;990:117;;;1026:79;;:::i;:::-;990:117;1140:4;1132:6;1128:17;1116:29;;1194:3;1186:4;1178:6;1174:17;1164:8;1160:32;1157:41;1154:128;;;1201:79;;:::i;:::-;1154:128;720:568;;;;;:::o;1313:595::-;1413:8;1423:6;1473:3;1466:4;1458:6;1454:17;1450:27;1440:122;;1481:79;;:::i;:::-;1440:122;1594:6;1581:20;1571:30;;1624:18;1616:6;1613:30;1610:117;;;1646:79;;:::i;:::-;1610:117;1760:4;1752:6;1748:17;1736:29;;1814:3;1806:4;1798:6;1794:17;1784:8;1780:32;1777:41;1774:128;;;1821:79;;:::i;:::-;1774:128;1313:595;;;;;:::o;1914:988::-;2063:6;2071;2079;2087;2136:2;2124:9;2115:7;2111:23;2107:32;2104:119;;;2142:79;;:::i;:::-;2104:119;2290:1;2279:9;2275:17;2262:31;2320:18;2312:6;2309:30;2306:117;;;2342:79;;:::i;:::-;2306:117;2455:80;2527:7;2518:6;2507:9;2503:22;2455:80;:::i;:::-;2437:98;;;;2233:312;2612:2;2601:9;2597:18;2584:32;2643:18;2635:6;2632:30;2629:117;;;2665:79;;:::i;:::-;2629:117;2778:107;2877:7;2868:6;2857:9;2853:22;2778:107;:::i;:::-;2760:125;;;;2555:340;1914:988;;;;;;;:::o;2908:126::-;2945:7;2985:42;2978:5;2974:54;2963:65;;2908:126;;;:::o;3040:96::-;3077:7;3106:24;3124:5;3106:24;:::i;:::-;3095:35;;3040:96;;;:::o;3142:122::-;3215:24;3233:5;3215:24;:::i;:::-;3208:5;3205:35;3195:63;;3254:1;3251;3244:12;3195:63;3142:122;:::o;3270:139::-;3316:5;3354:6;3341:20;3332:29;;3370:33;3397:5;3370:33;:::i;:::-;3270:139;;;;:::o;3415:77::-;3452:7;3481:5;3470:16;;3415:77;;;:::o;3498:122::-;3571:24;3589:5;3571:24;:::i;:::-;3564:5;3561:35;3551:63;;3610:1;3607;3600:12;3551:63;3498:122;:::o;3626:139::-;3672:5;3710:6;3697:20;3688:29;;3726:33;3753:5;3726:33;:::i;:::-;3626:139;;;;:::o;3771:474::-;3839:6;3847;3896:2;3884:9;3875:7;3871:23;3867:32;3864:119;;;3902:79;;:::i;:::-;3864:119;4022:1;4047:53;4092:7;4083:6;4072:9;4068:22;4047:53;:::i;:::-;4037:63;;3993:117;4149:2;4175:53;4220:7;4211:6;4200:9;4196:22;4175:53;:::i;:::-;4165:63;;4120:118;3771:474;;;;;:::o;4251:118::-;4338:24;4356:5;4338:24;:::i;:::-;4333:3;4326:37;4251:118;;:::o;4375:::-;4462:24;4480:5;4462:24;:::i;:::-;4457:3;4450:37;4375:118;;:::o;4499:332::-;4620:4;4658:2;4647:9;4643:18;4635:26;;4671:71;4739:1;4728:9;4724:17;4715:6;4671:71;:::i;:::-;4752:72;4820:2;4809:9;4805:18;4796:6;4752:72;:::i;:::-;4499:332;;;;;:::o;4837:169::-;4921:11;4955:6;4950:3;4943:19;4995:4;4990:3;4986:14;4971:29;;4837:169;;;;:::o;5012:229::-;5152:34;5148:1;5140:6;5136:14;5129:58;5221:12;5216:2;5208:6;5204:15;5197:37;5012:229;:::o;5247:366::-;5389:3;5410:67;5474:2;5469:3;5410:67;:::i;:::-;5403:74;;5486:93;5575:3;5486:93;:::i;:::-;5604:2;5599:3;5595:12;5588:19;;5247:366;;;:::o;5619:419::-;5785:4;5823:2;5812:9;5808:18;5800:26;;5872:9;5866:4;5862:20;5858:1;5847:9;5843:17;5836:47;5900:131;6026:4;5900:131;:::i;:::-;5892:139;;5619:419;;;:::o;6044:180::-;6092:77;6089:1;6082:88;6189:4;6186:1;6179:15;6213:4;6210:1;6203:15;6230:117;6339:1;6336;6329:12;6353:117;6462:1;6459;6452:12;6476:117;6585:1;6582;6575:12;6599:740;6692:4;6698:6;6754:11;6741:25;6854:1;6848:4;6844:12;6833:8;6817:14;6813:29;6809:48;6789:18;6785:73;6775:168;;6862:79;;:::i;:::-;6775:168;6974:18;6964:8;6960:33;6952:41;;7026:4;7013:18;7003:28;;7054:18;7046:6;7043:30;7040:117;;;7076:79;;:::i;:::-;7040:117;7184:2;7178:4;7174:13;7166:21;;7241:4;7233:6;7229:17;7213:14;7209:38;7203:4;7199:49;7196:136;;;7251:79;;:::i;:::-;7196:136;6705:634;6599:740;;;;;:::o;7345:329::-;7404:6;7453:2;7441:9;7432:7;7428:23;7424:32;7421:119;;;7459:79;;:::i;:::-;7421:119;7579:1;7604:53;7649:7;7640:6;7629:9;7625:22;7604:53;:::i;:::-;7594:63;;7550:117;7345:329;;;;:::o;7680:184::-;7779:11;7813:6;7808:3;7801:19;7853:4;7848:3;7844:14;7829:29;;7680:184;;;;:::o;7870:117::-;7979:1;7976;7969:12;7993:154;8077:6;8072:3;8067;8054:30;8139:1;8130:6;8125:3;8121:16;8114:27;7993:154;;;:::o;8183:537::-;8311:3;8332:86;8411:6;8406:3;8332:86;:::i;:::-;8325:93;;8442:66;8434:6;8431:78;8428:165;;;8512:79;;:::i;:::-;8428:165;8624:4;8616:6;8612:17;8602:27;;8639:43;8675:6;8670:3;8663:5;8639:43;:::i;:::-;8707:6;8702:3;8698:16;8691:23;;8183:537;;;;;:::o;8726:393::-;8879:4;8917:2;8906:9;8902:18;8894:26;;8966:9;8960:4;8956:20;8952:1;8941:9;8937:17;8930:47;8994:118;9107:4;9098:6;9090;8994:118;:::i;:::-;8986:126;;8726:393;;;;;:::o;9125:180::-;9265:32;9261:1;9253:6;9249:14;9242:56;9125:180;:::o;9311:366::-;9453:3;9474:67;9538:2;9533:3;9474:67;:::i;:::-;9467:74;;9550:93;9639:3;9550:93;:::i;:::-;9668:2;9663:3;9659:12;9652:19;;9311:366;;;:::o;9683:419::-;9849:4;9887:2;9876:9;9872:18;9864:26;;9936:9;9930:4;9926:20;9922:1;9911:9;9907:17;9900:47;9964:131;10090:4;9964:131;:::i;:::-;9956:139;;9683:419;;;:::o;10108:166::-;10248:18;10244:1;10236:6;10232:14;10225:42;10108:166;:::o;10280:366::-;10422:3;10443:67;10507:2;10502:3;10443:67;:::i;:::-;10436:74;;10519:93;10608:3;10519:93;:::i;:::-;10637:2;10632:3;10628:12;10621:19;;10280:366;;;:::o;10652:419::-;10818:4;10856:2;10845:9;10841:18;10833:26;;10905:9;10899:4;10895:20;10891:1;10880:9;10876:17;10869:47;10933:131;11059:4;10933:131;:::i;:::-;10925:139;;10652:419;;;:::o;11077:442::-;11226:4;11264:2;11253:9;11249:18;11241:26;;11277:71;11345:1;11334:9;11330:17;11321:6;11277:71;:::i;:::-;11358:72;11426:2;11415:9;11411:18;11402:6;11358:72;:::i;:::-;11440;11508:2;11497:9;11493:18;11484:6;11440:72;:::i;:::-;11077:442;;;;;;:::o;11525:180::-;11573:77;11570:1;11563:88;11670:4;11667:1;11660:15;11694:4;11691:1;11684:15;11711:86;11746:7;11786:4;11779:5;11775:16;11764:27;;11711:86;;;:::o;11803:167::-;11840:3;11863:22;11879:5;11863:22;:::i;:::-;11854:31;;11907:4;11900:5;11897:15;11894:41;;;11915:18;;:::i;:::-;11894:41;11962:1;11955:5;11951:13;11944:20;;11803:167;;;:::o

Swarm Source

ipfs://0cbb59cbc7015cabf041c7f7eed0a517219c5b7309f7da027db7092345887790

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.