ETH Price: $3,263.53 (+1.22%)

Contract

0x55c5E0Ae7320b1b51c394D1064bCd2AD1B1FBA18
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unstake207426942024-09-13 15:49:47119 days ago1726242587IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.000608418.37337046
Batch Stake191154902024-01-29 23:35:47346 days ago1706571347IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0015849614.03042565
Unstake191154512024-01-29 23:27:47346 days ago1706570867IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0008091314.56297593
Stake191035452024-01-28 7:27:23348 days ago1706426843IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0011636115.09007204
Unstake190927132024-01-26 18:58:35350 days ago1706295515IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0014347415.98400959
Unstake190926872024-01-26 18:53:23350 days ago1706295203IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0015522417.29306138
Unstake190544912024-01-21 9:58:35355 days ago1705831115IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.001074511.97069518
Batch Unstake190536172024-01-21 7:02:35355 days ago1705820555IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.000512539.05942837
Batch Unstake190534212024-01-21 6:23:23355 days ago1705818203IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.001788499.12148089
Batch Unstake190524992024-01-21 3:17:59355 days ago1705807079IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0009820610.43917537
Stake190524002024-01-21 2:57:59355 days ago1705805879IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0008181211.31402992
Batch Unstake190522202024-01-21 2:21:35355 days ago1705803695IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0028675111.14572932
Unstake190476472024-01-20 11:01:59356 days ago1705748519IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0010654114.66276964
Unstake190381092024-01-19 3:05:47357 days ago1705633547IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0031266834.83343777
Stake190369012024-01-18 23:02:59357 days ago1705618979IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0017233322.34870866
Unstake190368972024-01-18 23:02:11357 days ago1705618931IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0016816423.1437109
Unstake190368972024-01-18 23:02:11357 days ago1705618931IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.002077423.1437109
Unstake190282842024-01-17 18:07:59359 days ago1705514879IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0032473844.69222891
Stake190270372024-01-17 13:54:47359 days ago1705499687IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0022423131.00929451
Stake190235162024-01-17 2:06:11359 days ago1705457171IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0023788232.89708693
Batch Stake190234242024-01-17 1:47:35359 days ago1705456055IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0075384739.19347294
Batch Unstake188779882023-12-27 15:48:35380 days ago1703692115IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0039249553.27388159
Batch Unstake185610762023-11-13 6:03:11424 days ago1699855391IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.003625521.87003356
Batch Unstake185066882023-11-05 15:26:47432 days ago1699198007IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.0019002520.9336392
Batch Unstake184107482023-10-23 4:58:11445 days ago1698037091IN
0x55c5E0Ae...D1B1FBA18
0 ETH0.000618098.38951441
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
207426942024-09-13 15:49:47119 days ago1726242587
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154902024-01-29 23:35:47346 days ago1706571347
0x55c5E0Ae...D1B1FBA18
0 ETH
191154512024-01-29 23:27:47346 days ago1706570867
0x55c5E0Ae...D1B1FBA18
0 ETH
191035452024-01-28 7:27:23348 days ago1706426843
0x55c5E0Ae...D1B1FBA18
0 ETH
191035452024-01-28 7:27:23348 days ago1706426843
0x55c5E0Ae...D1B1FBA18
0 ETH
191035452024-01-28 7:27:23348 days ago1706426843
0x55c5E0Ae...D1B1FBA18
0 ETH
190927132024-01-26 18:58:35350 days ago1706295515
0x55c5E0Ae...D1B1FBA18
0 ETH
190926872024-01-26 18:53:23350 days ago1706295203
0x55c5E0Ae...D1B1FBA18
0 ETH
190544912024-01-21 9:58:35355 days ago1705831115
0x55c5E0Ae...D1B1FBA18
0 ETH
190536172024-01-21 7:02:35355 days ago1705820555
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190534212024-01-21 6:23:23355 days ago1705818203
0x55c5E0Ae...D1B1FBA18
0 ETH
190524992024-01-21 3:17:59355 days ago1705807079
0x55c5E0Ae...D1B1FBA18
0 ETH
190524992024-01-21 3:17:59355 days ago1705807079
0x55c5E0Ae...D1B1FBA18
0 ETH
190524002024-01-21 2:57:59355 days ago1705805879
0x55c5E0Ae...D1B1FBA18
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherPOAPStaking

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface ERC721 {
    function ownerOf(uint256) external view returns (address);

    function safeTransferFrom(
        address,
        address,
        uint256
    ) external;
}

contract EtherPOAPStaking {
    //EtherPOAP contract address
    ERC721 constant EtherPOAP = ERC721(0x98C7FA114b2FE921Ba97f628e9dCb72890491721);
    struct StakeInfo {
        uint48 startTime;
        uint48 stakeTime;
        address staker;
    }
    //tokenId to accumulated staked time
    mapping(uint256 => uint256) public totalStakedTime;
    //tokenId to token stake information
    mapping(uint256 => StakeInfo) _stakeInfoMap;

    event StakeNFT(
        address indexed staker,
        uint256 indexed tokenId,
        uint256 stakeTime
    );

    event UnstakeNFT(
        address indexed staker,
        uint256 indexed tokenId,
        uint256 startTime,
        uint256 presetDuration
    );

    function stake(uint256 tokenId, uint48 _stakeTime) public {
        require(
            msg.sender == EtherPOAP.ownerOf(tokenId),
            "you are not the owner of this NFT"
        );
        _stakeInfoMap[tokenId].startTime = uint48(block.timestamp);
        _stakeInfoMap[tokenId].stakeTime = _stakeTime;
        _stakeInfoMap[tokenId].staker = msg.sender;
        EtherPOAP.safeTransferFrom(msg.sender, address(this), tokenId);
        emit StakeNFT(msg.sender, tokenId, _stakeTime);
    }

    function unstake(uint256 tokenId) public {
        require(
            _stakeInfoMap[tokenId].staker == msg.sender && unlockTime(tokenId) <= block.timestamp,
            "wrong tokenId or still in locked time"
        );
        emit UnstakeNFT(
            msg.sender,
            tokenId,
            _stakeInfoMap[tokenId].startTime,
            _stakeInfoMap[tokenId].stakeTime
        );
        totalStakedTime[tokenId] += block.timestamp - _stakeInfoMap[tokenId].startTime;
        delete _stakeInfoMap[tokenId];
        EtherPOAP.safeTransferFrom(address(this), msg.sender, tokenId);
    }

    function batchStake(uint256[] memory tokenIds, uint48 _stakeTime) public {
        for (uint256 i = 0; i < tokenIds.length; i++) {
            stake(tokenIds[i], _stakeTime);
        }
    }

    function batchUnstake(uint256[] memory tokenIds) public {
        require(tokenIds.length > 0, "Empty tokenIds input");
        for (uint256 i = 0; i < tokenIds.length; i++) {
            unstake(tokenIds[i]);
        }
    }

    function unlockTime(uint256 tokenId) public view returns (uint256) {
        return
            uint256(_stakeInfoMap[tokenId].startTime + _stakeInfoMap[tokenId].stakeTime);
    }

    function stakeInfoMap(uint256 tokenId) public view returns (uint48 startTime, uint48 stakeTime, address staker) {
        return (
            _stakeInfoMap[tokenId].startTime,
            _stakeInfoMap[tokenId].stakeTime,
            _stakeInfoMap[tokenId].staker
        );
    }

    function stakedTokens(address user) public view returns (string memory) {
        string memory res;
        for (uint256 i = 0; i < 10000; i++) {
            if (_stakeInfoMap[i].staker == user) {
                if (bytes(res).length == 0) {
                    res = _uint2str(i);
                } else {
                    res = string(abi.encodePacked(res, ", ", _uint2str(i)));
                }
            }
        }
        return res;
    }

    function _uint2str(uint256 _i) internal pure returns (string memory) {
        if (_i == 0) {
            return "0";
        }
        uint256 j = _i;
        uint256 len;
        while (j != 0) {
            len++;
            j /= 10;
        }
        bytes memory bStr = new bytes(len);
        uint256 k = len;
        while (_i != 0) {
            k = k - 1;
            uint8 temp = (48 + uint8(_i - (_i / 10) * 10));
            bytes1 b1 = bytes1(temp);
            bStr[k] = b1;
            _i /= 10;
        }
        return string(bStr);
    }

    function onERC721Received(
        address,
        address,
        uint256,
        bytes memory
    ) public pure returns (bytes4) {
        return this.onERC721Received.selector;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakeTime","type":"uint256"}],"name":"StakeNFT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"presetDuration","type":"uint256"}],"name":"UnstakeNFT","type":"event"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint48","name":"_stakeTime","type":"uint48"}],"name":"batchStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"batchUnstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint48","name":"_stakeTime","type":"uint48"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"stakeInfoMap","outputs":[{"internalType":"uint48","name":"startTime","type":"uint48"},{"internalType":"uint48","name":"stakeTime","type":"uint48"},{"internalType":"address","name":"staker","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"stakedTokens","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"totalStakedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"unlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50610d24806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a5b39cfb11610066578063a5b39cfb1461011d578063a7566b751461013d578063d2acd13d146101b1578063df495cb2146101c4578063fa897ed7146101e457600080fd5b8063150b7a02146100985780631797c84c146100d45780632e17de78146100f55780639e971b681461010a575b600080fd5b6100b66100a636600461095e565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e76100e2366004610aad565b6101f7565b6040519081526020016100cb565b610108610103366004610aad565b61022f565b005b610108610118366004610a5f565b6103ee565b61013061012b36600461091d565b610434565b6040516100cb9190610b26565b61018361014b366004610aad565b60009081526001602052604090205465ffffffffffff80821692600160301b830490911691600160601b90046001600160a01b031690565b6040805165ffffffffffff94851681529390921660208401526001600160a01b0316908201526060016100cb565b6101086101bf366004610a22565b6104c9565b6100e76101d2366004610aad565b60006020819052908152604090205481565b6101086101f2366004610ac6565b610555565b6000818152600160205260408120546102219065ffffffffffff600160301b820481169116610ba2565b65ffffffffffff1692915050565b600081815260016020526040902054600160601b90046001600160a01b031633148015610264575042610261826101f7565b11155b6102c35760405162461bcd60e51b815260206004820152602560248201527f77726f6e6720746f6b656e4964206f72207374696c6c20696e206c6f636b65646044820152642074696d6560d81b60648201526084015b60405180910390fd5b60008181526001602090815260409182902054825165ffffffffffff8083168252600160301b90920490911691810191909152829133917f976f016c6e573b64f7c00331dd2343c2d5296b359ecf3aa9462903e825fecff1910160405180910390a36000818152600160205260409020546103469065ffffffffffff1642610c32565b60008281526020819052604081208054909190610364908490610b8a565b90915550506000818152600160205260408082209190915551632142170760e11b8152306004820152336024820152604481018290527398c7fa114b2fe921ba97f628e9dcb72890491721906342842e0e90606401600060405180830381600087803b1580156103d357600080fd5b505af11580156103e7573d6000803e3d6000fd5b5050505050565b60005b825181101561042f5761041d83828151811061040f5761040f610caa565b602002602001015183610555565b8061042781610c79565b9150506103f1565b505050565b60608060005b6127108110156104c2576000818152600160205260409020546001600160a01b03858116600160601b9092041614156104b05781516104835761047c81610753565b91506104b0565b8161048d82610753565b60405160200161049e929190610ae9565b60405160208183030381529060405291505b806104ba81610c79565b91505061043a565b5092915050565b60008151116105115760405162461bcd60e51b8152602060048201526014602482015273115b5c1d1e481d1bdad95b92591cc81a5b9c1d5d60621b60448201526064016102ba565b60005b81518110156105515761053f82828151811061053257610532610caa565b602002602001015161022f565b8061054981610c79565b915050610514565b5050565b6040516331a9108f60e11b8152600481018390527398c7fa114b2fe921ba97f628e9dcb7289049172190636352211e9060240160206040518083038186803b1580156105a057600080fd5b505afa1580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d89190610941565b6001600160a01b0316336001600160a01b0316146106425760405162461bcd60e51b815260206004820152602160248201527f796f7520617265206e6f7420746865206f776e6572206f662074686973204e466044820152601560fa1b60648201526084016102ba565b6000828152600160205260409081902080544265ffffffffffff9081166bffffffffffffffffffffffff1990921691909117600160301b91851691909102176bffffffffffffffffffffffff1633600160601b8102919091179091559051632142170760e11b81526004810191909152306024820152604481018390527398c7fa114b2fe921ba97f628e9dcb72890491721906342842e0e90606401600060405180830381600087803b1580156106f857600080fd5b505af115801561070c573d6000803e3d6000fd5b505060405165ffffffffffff841681528492503391507f655a5eba8ac6488bcc4f80e2e56f6fb68a551fbd8872f3758e366aa23b2c60f89060200160405180910390a35050565b6060816107775750506040805180820190915260018152600360fc1b602082015290565b8160005b81156107a1578061078b81610c79565b915061079a9050600a83610bf1565b915061077b565b60008167ffffffffffffffff8111156107bc576107bc610cc0565b6040519080825280601f01601f1916602001820160405280156107e6576020820181803683370190505b509050815b8515610873576107fc600182610c32565b9050600061080b600a88610bf1565b61081690600a610c13565b6108209088610c32565b61082b906030610bcc565b905060008160f81b90508084848151811061084857610848610caa565b60200101906001600160f81b031916908160001a90535061086a600a89610bf1565b975050506107eb565b50949350505050565b600082601f83011261088d57600080fd5b8135602067ffffffffffffffff8211156108a9576108a9610cc0565b8160051b6108b8828201610b59565b8381528281019086840183880185018910156108d357600080fd5b600093505b858410156108f65780358352600193909301929184019184016108d8565b50979650505050505050565b803565ffffffffffff8116811461091857600080fd5b919050565b60006020828403121561092f57600080fd5b813561093a81610cd6565b9392505050565b60006020828403121561095357600080fd5b815161093a81610cd6565b6000806000806080858703121561097457600080fd5b843561097f81610cd6565b935060208581013561099081610cd6565b935060408601359250606086013567ffffffffffffffff808211156109b457600080fd5b818801915088601f8301126109c857600080fd5b8135818111156109da576109da610cc0565b6109ec601f8201601f19168501610b59565b91508082528984828501011115610a0257600080fd5b808484018584013760008482840101525080935050505092959194509250565b600060208284031215610a3457600080fd5b813567ffffffffffffffff811115610a4b57600080fd5b610a578482850161087c565b949350505050565b60008060408385031215610a7257600080fd5b823567ffffffffffffffff811115610a8957600080fd5b610a958582860161087c565b925050610aa460208401610902565b90509250929050565b600060208284031215610abf57600080fd5b5035919050565b60008060408385031215610ad957600080fd5b82359150610aa460208401610902565b60008351610afb818460208801610c49565b61016160f51b9083019081528351610b1a816002840160208801610c49565b01600201949350505050565b6020815260008251806020840152610b45816040850160208701610c49565b601f01601f19169190910160400192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610b8257610b82610cc0565b604052919050565b60008219821115610b9d57610b9d610c94565b500190565b600065ffffffffffff808316818516808303821115610bc357610bc3610c94565b01949350505050565b600060ff821660ff84168060ff03821115610be957610be9610c94565b019392505050565b600082610c0e57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610c2d57610c2d610c94565b500290565b600082821015610c4457610c44610c94565b500390565b60005b83811015610c64578181015183820152602001610c4c565b83811115610c73576000848401525b50505050565b6000600019821415610c8d57610c8d610c94565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ceb57600080fd5b5056fea2646970667358221220c8f5b61c54cd5cdc25e46b370d5d7277023244dcc5cb22f3f157ad5c4e0ea31164736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063a5b39cfb11610066578063a5b39cfb1461011d578063a7566b751461013d578063d2acd13d146101b1578063df495cb2146101c4578063fa897ed7146101e457600080fd5b8063150b7a02146100985780631797c84c146100d45780632e17de78146100f55780639e971b681461010a575b600080fd5b6100b66100a636600461095e565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020015b60405180910390f35b6100e76100e2366004610aad565b6101f7565b6040519081526020016100cb565b610108610103366004610aad565b61022f565b005b610108610118366004610a5f565b6103ee565b61013061012b36600461091d565b610434565b6040516100cb9190610b26565b61018361014b366004610aad565b60009081526001602052604090205465ffffffffffff80821692600160301b830490911691600160601b90046001600160a01b031690565b6040805165ffffffffffff94851681529390921660208401526001600160a01b0316908201526060016100cb565b6101086101bf366004610a22565b6104c9565b6100e76101d2366004610aad565b60006020819052908152604090205481565b6101086101f2366004610ac6565b610555565b6000818152600160205260408120546102219065ffffffffffff600160301b820481169116610ba2565b65ffffffffffff1692915050565b600081815260016020526040902054600160601b90046001600160a01b031633148015610264575042610261826101f7565b11155b6102c35760405162461bcd60e51b815260206004820152602560248201527f77726f6e6720746f6b656e4964206f72207374696c6c20696e206c6f636b65646044820152642074696d6560d81b60648201526084015b60405180910390fd5b60008181526001602090815260409182902054825165ffffffffffff8083168252600160301b90920490911691810191909152829133917f976f016c6e573b64f7c00331dd2343c2d5296b359ecf3aa9462903e825fecff1910160405180910390a36000818152600160205260409020546103469065ffffffffffff1642610c32565b60008281526020819052604081208054909190610364908490610b8a565b90915550506000818152600160205260408082209190915551632142170760e11b8152306004820152336024820152604481018290527398c7fa114b2fe921ba97f628e9dcb72890491721906342842e0e90606401600060405180830381600087803b1580156103d357600080fd5b505af11580156103e7573d6000803e3d6000fd5b5050505050565b60005b825181101561042f5761041d83828151811061040f5761040f610caa565b602002602001015183610555565b8061042781610c79565b9150506103f1565b505050565b60608060005b6127108110156104c2576000818152600160205260409020546001600160a01b03858116600160601b9092041614156104b05781516104835761047c81610753565b91506104b0565b8161048d82610753565b60405160200161049e929190610ae9565b60405160208183030381529060405291505b806104ba81610c79565b91505061043a565b5092915050565b60008151116105115760405162461bcd60e51b8152602060048201526014602482015273115b5c1d1e481d1bdad95b92591cc81a5b9c1d5d60621b60448201526064016102ba565b60005b81518110156105515761053f82828151811061053257610532610caa565b602002602001015161022f565b8061054981610c79565b915050610514565b5050565b6040516331a9108f60e11b8152600481018390527398c7fa114b2fe921ba97f628e9dcb7289049172190636352211e9060240160206040518083038186803b1580156105a057600080fd5b505afa1580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d89190610941565b6001600160a01b0316336001600160a01b0316146106425760405162461bcd60e51b815260206004820152602160248201527f796f7520617265206e6f7420746865206f776e6572206f662074686973204e466044820152601560fa1b60648201526084016102ba565b6000828152600160205260409081902080544265ffffffffffff9081166bffffffffffffffffffffffff1990921691909117600160301b91851691909102176bffffffffffffffffffffffff1633600160601b8102919091179091559051632142170760e11b81526004810191909152306024820152604481018390527398c7fa114b2fe921ba97f628e9dcb72890491721906342842e0e90606401600060405180830381600087803b1580156106f857600080fd5b505af115801561070c573d6000803e3d6000fd5b505060405165ffffffffffff841681528492503391507f655a5eba8ac6488bcc4f80e2e56f6fb68a551fbd8872f3758e366aa23b2c60f89060200160405180910390a35050565b6060816107775750506040805180820190915260018152600360fc1b602082015290565b8160005b81156107a1578061078b81610c79565b915061079a9050600a83610bf1565b915061077b565b60008167ffffffffffffffff8111156107bc576107bc610cc0565b6040519080825280601f01601f1916602001820160405280156107e6576020820181803683370190505b509050815b8515610873576107fc600182610c32565b9050600061080b600a88610bf1565b61081690600a610c13565b6108209088610c32565b61082b906030610bcc565b905060008160f81b90508084848151811061084857610848610caa565b60200101906001600160f81b031916908160001a90535061086a600a89610bf1565b975050506107eb565b50949350505050565b600082601f83011261088d57600080fd5b8135602067ffffffffffffffff8211156108a9576108a9610cc0565b8160051b6108b8828201610b59565b8381528281019086840183880185018910156108d357600080fd5b600093505b858410156108f65780358352600193909301929184019184016108d8565b50979650505050505050565b803565ffffffffffff8116811461091857600080fd5b919050565b60006020828403121561092f57600080fd5b813561093a81610cd6565b9392505050565b60006020828403121561095357600080fd5b815161093a81610cd6565b6000806000806080858703121561097457600080fd5b843561097f81610cd6565b935060208581013561099081610cd6565b935060408601359250606086013567ffffffffffffffff808211156109b457600080fd5b818801915088601f8301126109c857600080fd5b8135818111156109da576109da610cc0565b6109ec601f8201601f19168501610b59565b91508082528984828501011115610a0257600080fd5b808484018584013760008482840101525080935050505092959194509250565b600060208284031215610a3457600080fd5b813567ffffffffffffffff811115610a4b57600080fd5b610a578482850161087c565b949350505050565b60008060408385031215610a7257600080fd5b823567ffffffffffffffff811115610a8957600080fd5b610a958582860161087c565b925050610aa460208401610902565b90509250929050565b600060208284031215610abf57600080fd5b5035919050565b60008060408385031215610ad957600080fd5b82359150610aa460208401610902565b60008351610afb818460208801610c49565b61016160f51b9083019081528351610b1a816002840160208801610c49565b01600201949350505050565b6020815260008251806020840152610b45816040850160208701610c49565b601f01601f19169190910160400192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610b8257610b82610cc0565b604052919050565b60008219821115610b9d57610b9d610c94565b500190565b600065ffffffffffff808316818516808303821115610bc357610bc3610c94565b01949350505050565b600060ff821660ff84168060ff03821115610be957610be9610c94565b019392505050565b600082610c0e57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610c2d57610c2d610c94565b500290565b600082821015610c4457610c44610c94565b500390565b60005b83811015610c64578181015183820152602001610c4c565b83811115610c73576000848401525b50505050565b6000600019821415610c8d57610c8d610c94565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610ceb57600080fd5b5056fea2646970667358221220c8f5b61c54cd5cdc25e46b370d5d7277023244dcc5cb22f3f157ad5c4e0ea31164736f6c63430008070033

Deployed Bytecode Sourcemap

253:4056:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4111:195;;;;;;:::i;:::-;-1:-1:-1;;;4111:195:0;;;;;;;;;;-1:-1:-1;;;;;;4917:33:1;;;4899:52;;4887:2;4872:18;4111:195:0;;;;;;;;2569:182;;;;;;:::i;:::-;;:::i;:::-;;;6653:25:1;;;6641:2;6626:18;2569:182:0;6507:177:1;1509:612:0;;;;;;:::i;:::-;;:::i;:::-;;2129:194;;;;;;:::i;:::-;;:::i;3054:465::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2759:287::-;;;;;;:::i;:::-;2819:16;2904:22;;;:13;:22;;;;;:32;;;;;;-1:-1:-1;;;2951:32:0;;;;;;-1:-1:-1;;;2998:29:0;;-1:-1:-1;;;;;2998:29:0;;2759:287;;;;;7401:14:1;7442:15;;;7424:34;;7494:15;;;;7489:2;7474:18;;7467:43;-1:-1:-1;;;;;7546:32:1;7526:18;;;7519:60;7379:2;7364:18;2759:287:0;7193:392:1;2331:230:0;;;;;;:::i;:::-;;:::i;557:50::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;993:508;;;;;;:::i;:::-;;:::i;2569:182::-;2627:7;2710:22;;;:13;:22;;;;;:32;2675:67;;2710:32;-1:-1:-1;;;2710:32:0;;;;;2675;:67;:::i;:::-;2667:76;;;2569:182;-1:-1:-1;;2569:182:0:o;1509:612::-;1583:22;;;;:13;:22;;;;;:29;-1:-1:-1;;;1583:29:0;;-1:-1:-1;;;;;1583:29:0;1616:10;1583:43;:85;;;;;1653:15;1630:19;1641:7;1630:10;:19::i;:::-;:38;;1583:85;1561:172;;;;-1:-1:-1;;;1561:172:0;;5901:2:1;1561:172:0;;;5883:21:1;5940:2;5920:18;;;5913:30;5979:34;5959:18;;;5952:62;-1:-1:-1;;;6030:18:1;;;6023:35;6075:19;;1561:172:0;;;;;;;;;1821:22;;;;:13;:22;;;;;;;;;:32;1749:162;;1821:32;;;;7096:34:1;;-1:-1:-1;;;1868:32:0;;;;;;7146:18:1;;;7139:43;;;;1821:22:0;;1774:10;;1749:162;;7036:18:1;1749:162:0;;;;;;;1968:22;;;;:13;:22;;;;;:32;1950:50;;1968:32;;1950:15;:50;:::i;:::-;1922:15;:24;;;;;;;;;;:78;;:24;;:15;:78;;;;;:::i;:::-;;;;-1:-1:-1;;2018:22:0;;;;:13;:22;;;;;;2011:29;;;;2051:62;-1:-1:-1;;;2051:62:0;;2086:4;2051:62;;;4615:34:1;2093:10:0;4665:18:1;;;4658:43;4717:18;;;4710:34;;;355:42:0;;2051:26;;4550:18:1;;2051:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1509:612;:::o;2129:194::-;2218:9;2213:103;2237:8;:15;2233:1;:19;2213:103;;;2274:30;2280:8;2289:1;2280:11;;;;;;;;:::i;:::-;;;;;;;2293:10;2274:5;:30::i;:::-;2254:3;;;;:::i;:::-;;;;2213:103;;;;2129:194;;:::o;3054:465::-;3111:13;3137:17;3170:9;3165:326;3189:5;3185:1;:9;3165:326;;;3220:16;;;;:13;:16;;;;;:23;-1:-1:-1;;;;;3220:31:0;;;-1:-1:-1;;;3220:23:0;;;;:31;3216:264;;;3276:17;;3272:193;;3329:12;3339:1;3329:9;:12::i;:::-;3323:18;;3272:193;;;3420:3;3431:12;3441:1;3431:9;:12::i;:::-;3403:41;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3390:55;;3272:193;3196:3;;;;:::i;:::-;;;;3165:326;;;-1:-1:-1;3508:3:0;3054:465;-1:-1:-1;;3054:465:0:o;2331:230::-;2424:1;2406:8;:15;:19;2398:52;;;;-1:-1:-1;;;2398:52:0;;5552:2:1;2398:52:0;;;5534:21:1;5591:2;5571:18;;;5564:30;-1:-1:-1;;;5610:18:1;;;5603:50;5670:18;;2398:52:0;5350:344:1;2398:52:0;2466:9;2461:93;2485:8;:15;2481:1;:19;2461:93;;;2522:20;2530:8;2539:1;2530:11;;;;;;;;:::i;:::-;;;;;;;2522:7;:20::i;:::-;2502:3;;;;:::i;:::-;;;;2461:93;;;;2331:230;:::o;993:508::-;1098:26;;-1:-1:-1;;;1098:26:0;;;;;6653:25:1;;;355:42:0;;1098:17;;6626:18:1;;1098:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1084:40:0;:10;-1:-1:-1;;;;;1084:40:0;;1062:123;;;;-1:-1:-1;;;1062:123:0;;6307:2:1;1062:123:0;;;6289:21:1;6346:2;6326:18;;;6319:30;6385:34;6365:18;;;6358:62;-1:-1:-1;;;6436:18:1;;;6429:31;6477:19;;1062:123:0;6105:397:1;1062:123:0;1196:22;;;;:13;:22;;;;;;;:58;;1238:15;1196:58;;;;-1:-1:-1;;1265:45:0;;;;;;;-1:-1:-1;;;1265:45:0;;;;;;;;1321:42;;1353:10;-1:-1:-1;;;1321:42:0;;;;;;;;;1374:62;;-1:-1:-1;;;1374:62:0;;;;;4615:34:1;;;;1421:4:0;4665:18:1;;;4658:43;4717:18;;;4710:34;;;355:42:0;;1374:26;;4550:18:1;;1374:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1452:41:0;;6864:14:1;6852:27;;6834:46;;1473:7:0;;-1:-1:-1;1461:10:0;;-1:-1:-1;1452:41:0;;6822:2:1;6807:18;1452:41:0;;;;;;;993:508;;:::o;3527:576::-;3581:13;3611:7;3607:50;;-1:-1:-1;;3635:10:0;;;;;;;;;;;;-1:-1:-1;;;3635:10:0;;;;;3527:576::o;3607:50::-;3679:2;3667:9;3714:69;3721:6;;3714:69;;3744:5;;;;:::i;:::-;;-1:-1:-1;3764:7:0;;-1:-1:-1;3769:2:0;3764:7;;:::i;:::-;;;3714:69;;;3793:17;3823:3;3813:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3813:14:0;-1:-1:-1;3793:34:0;-1:-1:-1;3850:3:0;3864:202;3871:7;;3864:202;;3899:5;3903:1;3899;:5;:::i;:::-;3895:9;-1:-1:-1;3919:10:0;3950:7;3955:2;3950;:7;:::i;:::-;3949:14;;3961:2;3949:14;:::i;:::-;3944:19;;:2;:19;:::i;:::-;3933:31;;:2;:31;:::i;:::-;3919:46;;3980:9;3999:4;3992:12;;3980:24;;4029:2;4019:4;4024:1;4019:7;;;;;;;;:::i;:::-;;;;:12;-1:-1:-1;;;;;4019:12:0;;;;;;;;-1:-1:-1;4046:8:0;4052:2;4046:8;;:::i;:::-;;;3880:186;;3864:202;;;-1:-1:-1;4090:4:0;3527:576;-1:-1:-1;;;;3527:576:0:o;14:723:1:-;68:5;121:3;114:4;106:6;102:17;98:27;88:55;;139:1;136;129:12;88:55;175:6;162:20;201:4;224:18;220:2;217:26;214:52;;;246:18;;:::i;:::-;292:2;289:1;285:10;315:28;339:2;335;331:11;315:28;:::i;:::-;377:15;;;408:12;;;;440:15;;;474;;;470:24;;467:33;-1:-1:-1;464:53:1;;;513:1;510;503:12;464:53;535:1;526:10;;545:163;559:2;556:1;553:9;545:163;;;616:17;;604:30;;577:1;570:9;;;;;654:12;;;;686;;545:163;;;-1:-1:-1;726:5:1;14:723;-1:-1:-1;;;;;;;14:723:1:o;742:167::-;809:20;;869:14;858:26;;848:37;;838:65;;899:1;896;889:12;838:65;742:167;;;:::o;914:247::-;973:6;1026:2;1014:9;1005:7;1001:23;997:32;994:52;;;1042:1;1039;1032:12;994:52;1081:9;1068:23;1100:31;1125:5;1100:31;:::i;:::-;1150:5;914:247;-1:-1:-1;;;914:247:1:o;1166:251::-;1236:6;1289:2;1277:9;1268:7;1264:23;1260:32;1257:52;;;1305:1;1302;1295:12;1257:52;1337:9;1331:16;1356:31;1381:5;1356:31;:::i;1422:1108::-;1517:6;1525;1533;1541;1594:3;1582:9;1573:7;1569:23;1565:33;1562:53;;;1611:1;1608;1601:12;1562:53;1650:9;1637:23;1669:31;1694:5;1669:31;:::i;:::-;1719:5;-1:-1:-1;1743:2:1;1782:18;;;1769:32;1810:33;1769:32;1810:33;:::i;:::-;1862:7;-1:-1:-1;1916:2:1;1901:18;;1888:32;;-1:-1:-1;1971:2:1;1956:18;;1943:32;1994:18;2024:14;;;2021:34;;;2051:1;2048;2041:12;2021:34;2089:6;2078:9;2074:22;2064:32;;2134:7;2127:4;2123:2;2119:13;2115:27;2105:55;;2156:1;2153;2146:12;2105:55;2192:2;2179:16;2214:2;2210;2207:10;2204:36;;;2220:18;;:::i;:::-;2262:53;2305:2;2286:13;;-1:-1:-1;;2282:27:1;2278:36;;2262:53;:::i;:::-;2249:66;;2338:2;2331:5;2324:17;2378:7;2373:2;2368;2364;2360:11;2356:20;2353:33;2350:53;;;2399:1;2396;2389:12;2350:53;2454:2;2449;2445;2441:11;2436:2;2429:5;2425:14;2412:45;2498:1;2493:2;2488;2481:5;2477:14;2473:23;2466:34;;2519:5;2509:15;;;;;1422:1108;;;;;;;:::o;2535:348::-;2619:6;2672:2;2660:9;2651:7;2647:23;2643:32;2640:52;;;2688:1;2685;2678:12;2640:52;2728:9;2715:23;2761:18;2753:6;2750:30;2747:50;;;2793:1;2790;2783:12;2747:50;2816:61;2869:7;2860:6;2849:9;2845:22;2816:61;:::i;:::-;2806:71;2535:348;-1:-1:-1;;;;2535:348:1:o;2888:420::-;2980:6;2988;3041:2;3029:9;3020:7;3016:23;3012:32;3009:52;;;3057:1;3054;3047:12;3009:52;3097:9;3084:23;3130:18;3122:6;3119:30;3116:50;;;3162:1;3159;3152:12;3116:50;3185:61;3238:7;3229:6;3218:9;3214:22;3185:61;:::i;:::-;3175:71;;;3265:37;3298:2;3287:9;3283:18;3265:37;:::i;:::-;3255:47;;2888:420;;;;;:::o;3313:180::-;3372:6;3425:2;3413:9;3404:7;3400:23;3396:32;3393:52;;;3441:1;3438;3431:12;3393:52;-1:-1:-1;3464:23:1;;3313:180;-1:-1:-1;3313:180:1:o;3498:252::-;3565:6;3573;3626:2;3614:9;3605:7;3601:23;3597:32;3594:52;;;3642:1;3639;3632:12;3594:52;3678:9;3665:23;3655:33;;3707:37;3740:2;3729:9;3725:18;3707:37;:::i;3755:615::-;4035:3;4073:6;4067:13;4089:53;4135:6;4130:3;4123:4;4115:6;4111:17;4089:53;:::i;:::-;-1:-1:-1;;;4164:16:1;;;4189:19;;;4233:13;;4255:65;4233:13;4307:1;4296:13;;4289:4;4277:17;;4255:65;:::i;:::-;4340:20;4362:1;4336:28;;3755:615;-1:-1:-1;;;;3755:615:1:o;4962:383::-;5111:2;5100:9;5093:21;5074:4;5143:6;5137:13;5186:6;5181:2;5170:9;5166:18;5159:34;5202:66;5261:6;5256:2;5245:9;5241:18;5236:2;5228:6;5224:15;5202:66;:::i;:::-;5329:2;5308:15;-1:-1:-1;;5304:29:1;5289:45;;;;5336:2;5285:54;;4962:383;-1:-1:-1;;4962:383:1:o;7590:275::-;7661:2;7655:9;7726:2;7707:13;;-1:-1:-1;;7703:27:1;7691:40;;7761:18;7746:34;;7782:22;;;7743:62;7740:88;;;7808:18;;:::i;:::-;7844:2;7837:22;7590:275;;-1:-1:-1;7590:275:1:o;7870:128::-;7910:3;7941:1;7937:6;7934:1;7931:13;7928:39;;;7947:18;;:::i;:::-;-1:-1:-1;7983:9:1;;7870:128::o;8003:232::-;8042:3;8070:14;8111:2;8108:1;8104:10;8141:2;8138:1;8134:10;8172:3;8168:2;8164:12;8159:3;8156:21;8153:47;;;8180:18;;:::i;:::-;8216:13;;8003:232;-1:-1:-1;;;;8003:232:1:o;8240:204::-;8278:3;8314:4;8311:1;8307:12;8346:4;8343:1;8339:12;8381:3;8375:4;8371:14;8366:3;8363:23;8360:49;;;8389:18;;:::i;:::-;8425:13;;8240:204;-1:-1:-1;;;8240:204:1:o;8449:217::-;8489:1;8515;8505:132;;8559:10;8554:3;8550:20;8547:1;8540:31;8594:4;8591:1;8584:15;8622:4;8619:1;8612:15;8505:132;-1:-1:-1;8651:9:1;;8449:217::o;8671:168::-;8711:7;8777:1;8773;8769:6;8765:14;8762:1;8759:21;8754:1;8747:9;8740:17;8736:45;8733:71;;;8784:18;;:::i;:::-;-1:-1:-1;8824:9:1;;8671:168::o;8844:125::-;8884:4;8912:1;8909;8906:8;8903:34;;;8917:18;;:::i;:::-;-1:-1:-1;8954:9:1;;8844:125::o;8974:258::-;9046:1;9056:113;9070:6;9067:1;9064:13;9056:113;;;9146:11;;;9140:18;9127:11;;;9120:39;9092:2;9085:10;9056:113;;;9187:6;9184:1;9181:13;9178:48;;;9222:1;9213:6;9208:3;9204:16;9197:27;9178:48;;8974:258;;;:::o;9237:135::-;9276:3;-1:-1:-1;;9297:17:1;;9294:43;;;9317:18;;:::i;:::-;-1:-1:-1;9364:1:1;9353:13;;9237:135::o;9377:127::-;9438:10;9433:3;9429:20;9426:1;9419:31;9469:4;9466:1;9459:15;9493:4;9490:1;9483:15;9509:127;9570:10;9565:3;9561:20;9558:1;9551:31;9601:4;9598:1;9591:15;9625:4;9622:1;9615:15;9641:127;9702:10;9697:3;9693:20;9690:1;9683:31;9733:4;9730:1;9723:15;9757:4;9754:1;9747:15;9773:131;-1:-1:-1;;;;;9848:31:1;;9838:42;;9828:70;;9894:1;9891;9884:12;9828:70;9773:131;:::o

Swarm Source

ipfs://c8f5b61c54cd5cdc25e46b370d5d7277023244dcc5cb22f3f157ad5c4e0ea311

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.