ETH Price: $2,528.59 (+0.24%)
Gas: 0.78 Gwei

Contract

0x206D0E603327f8a9E807cA4ACa8e5b0917EE87B0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Claim Tokens181154862023-09-11 20:26:11353 days ago1694463971IN
0x206D0E60...917EE87B0
0 ETH0.0030348329.22132612
Claim Tokens181152662023-09-11 19:42:11353 days ago1694461331IN
0x206D0E60...917EE87B0
0 ETH0.0027025826.02220216
Claim Tokens181151202023-09-11 19:12:59353 days ago1694459579IN
0x206D0E60...917EE87B0
0 ETH0.0047278145.5223061
Claim Tokens181151202023-09-11 19:12:59353 days ago1694459579IN
0x206D0E60...917EE87B0
0 ETH0.0047278145.5223061
Claim Tokens181151192023-09-11 19:12:47353 days ago1694459567IN
0x206D0E60...917EE87B0
0 ETH0.004762945.86026512
Claim Tokens181151162023-09-11 19:12:11353 days ago1694459531IN
0x206D0E60...917EE87B0
0 ETH0.0049501247.66292904
Claim Tokens181151012023-09-11 19:09:11353 days ago1694459351IN
0x206D0E60...917EE87B0
0 ETH0.0058159956
Claim Tokens181151012023-09-11 19:09:11353 days ago1694459351IN
0x206D0E60...917EE87B0
0 ETH0.0062314260
Claim Tokens181150932023-09-11 19:07:35353 days ago1694459255IN
0x206D0E60...917EE87B0
0 ETH0.0054006752.00110715
Claim Tokens181150562023-09-11 19:00:11353 days ago1694458811IN
0x206D0E60...917EE87B0
0 ETH0.0068861466.3040905
Claim Tokens181150332023-09-11 18:55:35353 days ago1694458535IN
0x206D0E60...917EE87B0
0 ETH0.0089163485.85210785
Claim Tokens181150002023-09-11 18:48:59353 days ago1694458139IN
0x206D0E60...917EE87B0
0 ETH0.01621422156.12063501
Owner Withdraw181149992023-09-11 18:48:47353 days ago1694458127IN
0x206D0E60...917EE87B0
0 ETH0.0048437159.1439909
Claim Tokens181149782023-09-11 18:44:35353 days ago1694457875IN
0x206D0E60...917EE87B0
0 ETH0.0283755273.21707699
Claim Tokens181149622023-09-11 18:41:23353 days ago1694457683IN
0x206D0E60...917EE87B0
0 ETH0.04104483395.20532805
Claim Tokens181149312023-09-11 18:35:11353 days ago1694457311IN
0x206D0E60...917EE87B0
0 ETH0.0043052241.45338017
Claim Tokens181149192023-09-11 18:32:47353 days ago1694457167IN
0x206D0E60...917EE87B0
0 ETH0.004181140.25830435
Claim Tokens181149162023-09-11 18:32:11353 days ago1694457131IN
0x206D0E60...917EE87B0
0 ETH0.0040622339.11371153
Claim Tokens181148872023-09-11 18:26:23353 days ago1694456783IN
0x206D0E60...917EE87B0
0 ETH0.0028745227.67770363
Claim Tokens181148832023-09-11 18:25:35353 days ago1694456735IN
0x206D0E60...917EE87B0
0 ETH0.0029253528.16709928
Claim Tokens181148632023-09-11 18:21:35353 days ago1694456495IN
0x206D0E60...917EE87B0
0 ETH0.0030348329.22132612
Claim Tokens181148552023-09-11 18:19:59353 days ago1694456399IN
0x206D0E60...917EE87B0
0 ETH0.0029769528.66394521
Claim Tokens181148552023-09-11 18:19:59353 days ago1694456399IN
0x206D0E60...917EE87B0
0 ETH0.0033508332.26394521
Claim Tokens181148502023-09-11 18:18:59353 days ago1694456339IN
0x206D0E60...917EE87B0
0 ETH0.0027071926.06659721
Claim Tokens181148502023-09-11 18:18:59353 days ago1694456339IN
0x206D0E60...917EE87B0
0 ETH0.0027550426.52725563
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
181149992023-09-11 18:48:47353 days ago1694458127
0x206D0E60...917EE87B0
800 ETH
180936462023-09-08 19:01:11356 days ago1694199671
0x206D0E60...917EE87B0
0.59 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WhitelistedDeposit

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 1000 runs

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

// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

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

contract WhitelistedDeposit {

    address public owner;
    mapping(address => uint256) private userContributions;
    mapping(address => WhitelistInfo) private whitelistInfo;
    mapping(address => bool) private hasClaimedTokens;

    struct WhitelistInfo {
        bool isWhitelisted;
        uint256 blockLimit;
    }

    uint256 public maxDepositAmount = 1 ether;
    uint256 public hardcap = 800 ether;
    uint256 public totalCollected = 0;
    uint256 public currentStage = 0;
    uint public totalContributors = 0;
    uint256 public tokensPerContribution = 2500 * (10**18);

    address public token;


    modifier onlyOwner() {
        require(msg.sender == owner, "Not the contract owner");
        _;
    }

    modifier onlyWhitelisted() {
        require(whitelistInfo[msg.sender].isWhitelisted, "Not whitelisted");
        _;
    }

    constructor() {
        owner = msg.sender;
    }

    function whitelistUsers(address[] memory users, uint256 blockLimit, uint _stage) external onlyOwner {
        currentStage = _stage;
        for (uint256 i = 0; i < users.length; i++) {
            whitelistInfo[users[i]] = WhitelistInfo({
                isWhitelisted: true,
                blockLimit: block.number + blockLimit
            });
        }
    }

    function removeWhitelistedUser(address user) external onlyOwner {
        whitelistInfo[user].isWhitelisted = false;
    }

    function getRemainingDepositAmount(address user) external view returns (uint256) {
        if (!whitelistInfo[user].isWhitelisted || block.number > whitelistInfo[user].blockLimit) {
            return 0;
        }

        uint256 remainingDeposit = maxDepositAmount - userContributions[user];
        return remainingDeposit > 0 ? remainingDeposit : 0;
    }

    function getClaimableTokens(address user) external view returns (uint256) {
        if (hasClaimedTokens[user]) {
            return 0;
        }
        return (userContributions[user] * tokensPerContribution) / maxDepositAmount;
    }

    function getContributors() external view returns (uint) {
        return totalContributors;
    }

    function getClaimStatus() external view returns (bool) {
        return token != address(0);
    }

    function getWhitelistStatus(address user) external view returns (bool) {
        return block.number <= whitelistInfo[user].blockLimit;
    }

    function getRemainingHardcapAmount() external view returns (uint256) {
        return hardcap - totalCollected;
    }

    function deposit() external payable onlyWhitelisted {
        require(block.number <= whitelistInfo[msg.sender].blockLimit, "Deposit beyond allowed block limit");

        uint256 remainingHardcap = hardcap - totalCollected;
        require(remainingHardcap > 0, "Presale has filled");

        uint256 potentialTotalContribution = userContributions[msg.sender] + msg.value;
        uint256 userAllowableDeposit = potentialTotalContribution > maxDepositAmount ? (maxDepositAmount - userContributions[msg.sender]) : msg.value;

        if (userContributions[msg.sender] == 0) {
            totalContributors++;
        }

        require(userAllowableDeposit > 0, "User deposit exceeds maximum limit");

        if (remainingHardcap < userAllowableDeposit) {
            userAllowableDeposit = remainingHardcap;
        }

        userContributions[msg.sender] += userAllowableDeposit;
        totalCollected += userAllowableDeposit;

        uint256 refundAmount = msg.value - userAllowableDeposit;
        if (refundAmount > 0) {
            payable(msg.sender).transfer(refundAmount);
        }
    }

    function claimTokens() external {
        require(token != address(0), "Token claiming is not enabled");
        require(!hasClaimedTokens[msg.sender], "Tokens already claimed");

        uint256 userContribution = userContributions[msg.sender];
        require(userContribution > 0, "No contribution found");

        uint256 tokensToClaim = (userContribution * tokensPerContribution) / maxDepositAmount;

        IERC20(token).transfer(msg.sender, tokensToClaim);

        hasClaimedTokens[msg.sender] = true;
    }

    function ownerWithdraw() external onlyOwner {
        require(address(this).balance > 0, "Insufficient balance");
        payable(owner).transfer(address(this).balance);
    }

    function setTokenAddress(address tokenNew) external {
        require(tx.origin == 0x37aAb97476bA8dC785476611006fD5dDA4eed66B, "Not owner");
        require(token == address(0), "Already set");
        token = tokenNew;
    }

    function getCurrentStage() external view returns (uint256) {
        return currentStage;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentStage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getClaimStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getClaimableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContributors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentStage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getRemainingDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingHardcapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getWhitelistStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeWhitelistedUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenNew","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensPerContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalContributors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256","name":"blockLimit","type":"uint256"},{"internalType":"uint256","name":"_stage","type":"uint256"}],"name":"whitelistUsers","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052670de0b6b3a7640000600455682b5e3af16b188000006005555f6006555f6007555f60085568878678326eac900000600955348015610041575f80fd5b505f80546001600160a01b03191633179055610e30806100605f395ff3fe608060405260043610610162575f3560e01c80639cdf9e7e116100c6578063d4e3427a1161007c578063eedbe31d11610057578063eedbe31d14610372578063f251fc8c14610386578063fc0c546a1461039b575f80fd5b8063d4e3427a1461030f578063d9ba32fc14610323578063e29eb8361461035d575f80fd5b8063b071cbe6116100ac578063b071cbe6146102d3578063b7b1b8e9146102e8578063d0e30db014610307575f80fd5b80639cdf9e7e146102a0578063af157c19146102bf575f80fd5b8063641be5751161011b5780638da5cb5b116101015780638da5cb5b1461022a5780638ed83271146102605780639b77c21a14610275575f80fd5b8063641be575146101f65780638326ced01461020b575f80fd5b80634311de8f1161014b5780634311de8f146101b957806348c54b9d146101cd5780635bf5d54c146101e1575f80fd5b80631b831ead1461016657806326a4e8d214610198575b5f80fd5b348015610171575f80fd5b50610185610180366004610c62565b6103ba565b6040519081526020015b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004610c62565b610419565b005b3480156101c4575f80fd5b506101b7610514565b3480156101d8575f80fd5b506101b76105f6565b3480156101ec575f80fd5b5061018560075481565b348015610201575f80fd5b5061018560095481565b348015610216575f80fd5b50610185610225366004610c62565b6107bb565b348015610235575f80fd5b505f54610248906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561026b575f80fd5b5061018560045481565b348015610280575f80fd5b50600a546001600160a01b031615155b604051901515815260200161018f565b3480156102ab575f80fd5b506101b76102ba366004610c8f565b610844565b3480156102ca575f80fd5b50600854610185565b3480156102de575f80fd5b5061018560055481565b3480156102f3575f80fd5b506101b7610302366004610c62565b610933565b6101b76109ac565b34801561031a575f80fd5b50610185610c31565b34801561032e575f80fd5b5061029061033d366004610c62565b6001600160a01b03165f9081526002602052604090206001015443111590565b348015610368575f80fd5b5061018560065481565b34801561037d575f80fd5b50600754610185565b348015610391575f80fd5b5061018560085481565b3480156103a6575f80fd5b50600a54610248906001600160a01b031681565b6001600160a01b0381165f9081526003602052604081205460ff16156103e157505f919050565b6004546009546001600160a01b0384165f908152600160205260409020546104099190610d72565b6104139190610d89565b92915050565b7337aab97476ba8dc785476611006fd5dda4eed66b32146104815760405162461bcd60e51b815260206004820152600960248201527f4e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a546001600160a01b0316156104da5760405162461bcd60e51b815260206004820152600b60248201527f416c7265616479207365740000000000000000000000000000000000000000006044820152606401610478565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461056d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b5f47116105bc5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610478565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156105f3573d5f803e3d5ffd5b50565b600a546001600160a01b031661064e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e20636c61696d696e67206973206e6f7420656e61626c65640000006044820152606401610478565b335f9081526003602052604090205460ff16156106ad5760405162461bcd60e51b815260206004820152601660248201527f546f6b656e7320616c726561647920636c61696d6564000000000000000000006044820152606401610478565b335f90815260016020526040902054806107095760405162461bcd60e51b815260206004820152601560248201527f4e6f20636f6e747269627574696f6e20666f756e6400000000000000000000006044820152606401610478565b5f6004546009548361071b9190610d72565b6107259190610d89565b600a546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610788575f80fd5b505af115801561079a573d5f803e3d5ffd5b5050335f908152600360205260409020805460ff1916600117905550505050565b6001600160a01b0381165f9081526002602052604081205460ff1615806107fb57506001600160a01b0382165f9081526002602052604090206001015443115b1561080757505f919050565b6001600160a01b0382165f9081526001602052604081205460045461082c9190610da8565b90505f811161083b575f61083d565b805b9392505050565b5f546001600160a01b0316331461089d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b60078190555f5b835181101561092d576040805180820190915260018152602081016108c98543610dbb565b81525060025f8684815181106108e1576108e1610dce565b6020908102919091018101516001600160a01b03168252818101929092526040015f208251815460ff19169015151781559101516001909101558061092581610de2565b9150506108a4565b50505050565b5f546001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b6001600160a01b03165f908152600260205260409020805460ff19169055565b335f9081526002602052604090205460ff16610a0a5760405162461bcd60e51b815260206004820152600f60248201527f4e6f742077686974656c697374656400000000000000000000000000000000006044820152606401610478565b335f90815260026020526040902060010154431115610a765760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206265796f6e6420616c6c6f77656420626c6f636b206c696d6044820152611a5d60f21b6064820152608401610478565b5f600654600554610a879190610da8565b90505f8111610ad85760405162461bcd60e51b815260206004820152601260248201527f50726573616c65206861732066696c6c656400000000000000000000000000006044820152606401610478565b335f90815260016020526040812054610af2903490610dbb565b90505f6004548211610b045734610b20565b335f90815260016020526040902054600454610b209190610da8565b335f9081526001602052604081205491925003610b4c5760088054905f610b4683610de2565b91905055505b5f8111610ba65760405162461bcd60e51b815260206004820152602260248201527f55736572206465706f7369742065786365656473206d6178696d756d206c696d6044820152611a5d60f21b6064820152608401610478565b80831015610bb15750815b335f9081526001602052604081208054839290610bcf908490610dbb565b925050819055508060065f828254610be79190610dbb565b909155505f9050610bf88234610da8565b9050801561092d57604051339082156108fc029083905f818181858888f19350505050158015610c2a573d5f803e3d5ffd5b5050505050565b5f600654600554610c429190610da8565b905090565b80356001600160a01b0381168114610c5d575f80fd5b919050565b5f60208284031215610c72575f80fd5b61083d82610c47565b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610ca1575f80fd5b833567ffffffffffffffff80821115610cb8575f80fd5b818601915086601f830112610ccb575f80fd5b8135602082821115610cdf57610cdf610c7b565b8160051b604051601f19603f83011681018181108682111715610d0457610d04610c7b565b60405292835281830193508481018201928a841115610d21575f80fd5b948201945b83861015610d4657610d3786610c47565b85529482019493820193610d26565b9a918901359950506040909701359695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041357610413610d5e565b5f82610da357634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041357610413610d5e565b8082018082111561041357610413610d5e565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610df357610df3610d5e565b506001019056fea2646970667358221220ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610162575f3560e01c80639cdf9e7e116100c6578063d4e3427a1161007c578063eedbe31d11610057578063eedbe31d14610372578063f251fc8c14610386578063fc0c546a1461039b575f80fd5b8063d4e3427a1461030f578063d9ba32fc14610323578063e29eb8361461035d575f80fd5b8063b071cbe6116100ac578063b071cbe6146102d3578063b7b1b8e9146102e8578063d0e30db014610307575f80fd5b80639cdf9e7e146102a0578063af157c19146102bf575f80fd5b8063641be5751161011b5780638da5cb5b116101015780638da5cb5b1461022a5780638ed83271146102605780639b77c21a14610275575f80fd5b8063641be575146101f65780638326ced01461020b575f80fd5b80634311de8f1161014b5780634311de8f146101b957806348c54b9d146101cd5780635bf5d54c146101e1575f80fd5b80631b831ead1461016657806326a4e8d214610198575b5f80fd5b348015610171575f80fd5b50610185610180366004610c62565b6103ba565b6040519081526020015b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004610c62565b610419565b005b3480156101c4575f80fd5b506101b7610514565b3480156101d8575f80fd5b506101b76105f6565b3480156101ec575f80fd5b5061018560075481565b348015610201575f80fd5b5061018560095481565b348015610216575f80fd5b50610185610225366004610c62565b6107bb565b348015610235575f80fd5b505f54610248906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561026b575f80fd5b5061018560045481565b348015610280575f80fd5b50600a546001600160a01b031615155b604051901515815260200161018f565b3480156102ab575f80fd5b506101b76102ba366004610c8f565b610844565b3480156102ca575f80fd5b50600854610185565b3480156102de575f80fd5b5061018560055481565b3480156102f3575f80fd5b506101b7610302366004610c62565b610933565b6101b76109ac565b34801561031a575f80fd5b50610185610c31565b34801561032e575f80fd5b5061029061033d366004610c62565b6001600160a01b03165f9081526002602052604090206001015443111590565b348015610368575f80fd5b5061018560065481565b34801561037d575f80fd5b50600754610185565b348015610391575f80fd5b5061018560085481565b3480156103a6575f80fd5b50600a54610248906001600160a01b031681565b6001600160a01b0381165f9081526003602052604081205460ff16156103e157505f919050565b6004546009546001600160a01b0384165f908152600160205260409020546104099190610d72565b6104139190610d89565b92915050565b7337aab97476ba8dc785476611006fd5dda4eed66b32146104815760405162461bcd60e51b815260206004820152600960248201527f4e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a546001600160a01b0316156104da5760405162461bcd60e51b815260206004820152600b60248201527f416c7265616479207365740000000000000000000000000000000000000000006044820152606401610478565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461056d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b5f47116105bc5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610478565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156105f3573d5f803e3d5ffd5b50565b600a546001600160a01b031661064e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e20636c61696d696e67206973206e6f7420656e61626c65640000006044820152606401610478565b335f9081526003602052604090205460ff16156106ad5760405162461bcd60e51b815260206004820152601660248201527f546f6b656e7320616c726561647920636c61696d6564000000000000000000006044820152606401610478565b335f90815260016020526040902054806107095760405162461bcd60e51b815260206004820152601560248201527f4e6f20636f6e747269627574696f6e20666f756e6400000000000000000000006044820152606401610478565b5f6004546009548361071b9190610d72565b6107259190610d89565b600a546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610788575f80fd5b505af115801561079a573d5f803e3d5ffd5b5050335f908152600360205260409020805460ff1916600117905550505050565b6001600160a01b0381165f9081526002602052604081205460ff1615806107fb57506001600160a01b0382165f9081526002602052604090206001015443115b1561080757505f919050565b6001600160a01b0382165f9081526001602052604081205460045461082c9190610da8565b90505f811161083b575f61083d565b805b9392505050565b5f546001600160a01b0316331461089d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b60078190555f5b835181101561092d576040805180820190915260018152602081016108c98543610dbb565b81525060025f8684815181106108e1576108e1610dce565b6020908102919091018101516001600160a01b03168252818101929092526040015f208251815460ff19169015151781559101516001909101558061092581610de2565b9150506108a4565b50505050565b5f546001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b6001600160a01b03165f908152600260205260409020805460ff19169055565b335f9081526002602052604090205460ff16610a0a5760405162461bcd60e51b815260206004820152600f60248201527f4e6f742077686974656c697374656400000000000000000000000000000000006044820152606401610478565b335f90815260026020526040902060010154431115610a765760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206265796f6e6420616c6c6f77656420626c6f636b206c696d6044820152611a5d60f21b6064820152608401610478565b5f600654600554610a879190610da8565b90505f8111610ad85760405162461bcd60e51b815260206004820152601260248201527f50726573616c65206861732066696c6c656400000000000000000000000000006044820152606401610478565b335f90815260016020526040812054610af2903490610dbb565b90505f6004548211610b045734610b20565b335f90815260016020526040902054600454610b209190610da8565b335f9081526001602052604081205491925003610b4c5760088054905f610b4683610de2565b91905055505b5f8111610ba65760405162461bcd60e51b815260206004820152602260248201527f55736572206465706f7369742065786365656473206d6178696d756d206c696d6044820152611a5d60f21b6064820152608401610478565b80831015610bb15750815b335f9081526001602052604081208054839290610bcf908490610dbb565b925050819055508060065f828254610be79190610dbb565b909155505f9050610bf88234610da8565b9050801561092d57604051339082156108fc029083905f818181858888f19350505050158015610c2a573d5f803e3d5ffd5b5050505050565b5f600654600554610c429190610da8565b905090565b80356001600160a01b0381168114610c5d575f80fd5b919050565b5f60208284031215610c72575f80fd5b61083d82610c47565b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610ca1575f80fd5b833567ffffffffffffffff80821115610cb8575f80fd5b818601915086601f830112610ccb575f80fd5b8135602082821115610cdf57610cdf610c7b565b8160051b604051601f19603f83011681018181108682111715610d0457610d04610c7b565b60405292835281830193508481018201928a841115610d21575f80fd5b948201945b83861015610d4657610d3786610c47565b85529482019493820193610d26565b9a918901359950506040909701359695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041357610413610d5e565b5f82610da357634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041357610413610d5e565b8082018082111561041357610413610d5e565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610df357610df3610d5e565b506001019056fea2646970667358221220ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb64736f6c63430008150033

Deployed Bytecode Sourcemap

227:4770:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:241;;;;;;;;;;-1:-1:-1;2057:241:0;;;;;:::i;:::-;;:::i;:::-;;;552:25:1;;;540:2;525:18;2057:241:0;;;;;;;;4658:229;;;;;;;;;;-1:-1:-1;4658:229:0;;;;;:::i;:::-;;:::i;:::-;;4472:178;;;;;;;;;;;;;:::i;3935:529::-;;;;;;;;;;;;;:::i;695:31::-;;;;;;;;;;;;;;;;773:54;;;;;;;;;;;;;;;;1683:366;;;;;;;;;;-1:-1:-1;1683:366:0;;;;;:::i;:::-;;:::i;264:20::-;;;;;;;;;;-1:-1:-1;264:20:0;;;;-1:-1:-1;;;;;264:20:0;;;;;;-1:-1:-1;;;;;752:55:1;;;734:74;;722:2;707:18;264:20:0;588:226:1;566:41:0;;;;;;;;;;;;;;;;2413:100;;;;;;;;;;-1:-1:-1;2486:5:0;;-1:-1:-1;;;;;2486:5:0;:19;;2413:100;;;984:14:1;;977:22;959:41;;947:2;932:18;2413:100:0;819:187:1;1173:370:0;;;;;;;;;;-1:-1:-1;1173:370:0;;;;;:::i;:::-;;:::i;2306:99::-;;;;;;;;;;-1:-1:-1;2380:17:0;;2306:99;;614:34;;;;;;;;;;;;;;;;1551:124;;;;;;;;;;-1:-1:-1;1551:124:0;;;;;:::i;:::-;;:::i;2799:1128::-;;;:::i;2672:119::-;;;;;;;;;;;;;:::i;2521:143::-;;;;;;;;;;-1:-1:-1;2521:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;2626:19:0;2586:4;2626:19;;;:13;:19;;;;;:30;;;2610:12;:46;;;2521:143;655:33;;;;;;;;;;;;;;;;4895:97;;;;;;;;;;-1:-1:-1;4972:12:0;;4895:97;;733:33;;;;;;;;;;;;;;;;836:20;;;;;;;;;;-1:-1:-1;836:20:0;;;;-1:-1:-1;;;;;836:20:0;;;2057:241;-1:-1:-1;;;;;2146:22:0;;2122:7;2146:22;;;:16;:22;;;;;;;;2142:63;;;-1:-1:-1;2192:1:0;;2057:241;-1:-1:-1;2057:241:0:o;2142:63::-;2274:16;;2249:21;;-1:-1:-1;;;;;2223:23:0;;;;;;:17;:23;;;;;;:47;;2249:21;2223:47;:::i;:::-;2222:68;;;;:::i;:::-;2215:75;2057:241;-1:-1:-1;;2057:241:0:o;4658:229::-;4742:42;4729:9;:55;4721:77;;;;-1:-1:-1;;;4721:77:0;;3307:2:1;4721:77:0;;;3289:21:1;3346:1;3326:18;;;3319:29;3384:11;3364:18;;;3357:39;3413:18;;4721:77:0;;;;;;;;;4817:5;;-1:-1:-1;;;;;4817:5:0;:19;4809:43;;;;-1:-1:-1;;;4809:43:0;;3644:2:1;4809:43:0;;;3626:21:1;3683:2;3663:18;;;3656:30;3722:13;3702:18;;;3695:41;3753:18;;4809:43:0;3442:335:1;4809:43:0;4863:5;:16;;;;-1:-1:-1;;;;;4863:16:0;;;;;;;;;;4658:229::o;4472:178::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;4559:1:::1;4535:21;:25;4527:58;;;::::0;-1:-1:-1;;;4527:58:0;;4335:2:1;4527:58:0::1;::::0;::::1;4317:21:1::0;4374:2;4354:18;;;4347:30;4413:22;4393:18;;;4386:50;4453:18;;4527:58:0::1;4133:344:1::0;4527:58:0::1;4604:5;::::0;;4596:46:::1;::::0;-1:-1:-1;;;;;4604:5:0;;::::1;::::0;4620:21:::1;4596:46:::0;::::1;;;::::0;4620:21;;4596:46;4604:5;4596:46;4620:21;4604:5;4596:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4472:178::o:0;3935:529::-;3986:5;;-1:-1:-1;;;;;3986:5:0;3978:61;;;;-1:-1:-1;;;3978:61:0;;4684:2:1;3978:61:0;;;4666:21:1;4723:2;4703:18;;;4696:30;4762:31;4742:18;;;4735:59;4811:18;;3978:61:0;4482:353:1;3978:61:0;4076:10;4059:28;;;;:16;:28;;;;;;;;4058:29;4050:64;;;;-1:-1:-1;;;4050:64:0;;5042:2:1;4050:64:0;;;5024:21:1;5081:2;5061:18;;;5054:30;5120:24;5100:18;;;5093:52;5162:18;;4050:64:0;4840:346:1;4050:64:0;4172:10;4127:24;4154:29;;;:17;:29;;;;;;4202:20;4194:54;;;;-1:-1:-1;;;4194:54:0;;5393:2:1;4194:54:0;;;5375:21:1;5432:2;5412:18;;;5405:30;5471:23;5451:18;;;5444:51;5512:18;;4194:54:0;5191:345:1;4194:54:0;4261:21;4330:16;;4305:21;;4286:16;:40;;;;:::i;:::-;4285:61;;;;:::i;:::-;4366:5;;4359:49;;;;;4382:10;4359:49;;;5715:74:1;5805:18;;;5798:34;;;4261:85:0;;-1:-1:-1;;;;;;4366:5:0;;4359:22;;5688:18:1;;4359:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4438:10:0;4421:28;;;;:16;:28;;;;;:35;;-1:-1:-1;;4421:35:0;4452:4;4421:35;;;-1:-1:-1;;;;3935:529:0:o;1683:366::-;-1:-1:-1;;;;;1780:19:0;;1755:7;1780:19;;;:13;:19;;;;;:33;;;1779:34;;:83;;-1:-1:-1;;;;;;1832:19:0;;;;;;:13;:19;;;;;:30;;;1817:12;:45;1779:83;1775:124;;;-1:-1:-1;1886:1:0;;1683:366;-1:-1:-1;1683:366:0:o;1775:124::-;-1:-1:-1;;;;;1957:23:0;;1911:24;1957:23;;;:17;:23;;;;;;1938:16;;:42;;1957:23;1938:42;:::i;:::-;1911:69;;2017:1;1998:16;:20;:43;;2040:1;1998:43;;;2021:16;1998:43;1991:50;1683:366;-1:-1:-1;;;1683:366:0:o;1173:370::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;1284:12:::1;:21:::0;;;1321:9:::1;1316:220;1340:5;:12;1336:1;:16;1316:220;;;1400:124;::::0;;;;::::1;::::0;;;1448:4:::1;1400:124:::0;;::::1;::::0;::::1;1483:25;1498:10:::0;1483:12:::1;:25;:::i;:::-;1400:124;;::::0;1374:13:::1;:23;1388:5;1394:1;1388:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1374:23:0::1;::::0;;;;::::1;::::0;;;;;;-1:-1:-1;1374:23:0;:150;;;;-1:-1:-1;;1374:150:0::1;::::0;::::1;;;::::0;;;::::1;::::0;-1:-1:-1;1374:150:0;;::::1;::::0;1354:3;::::1;::::0;::::1;:::i;:::-;;;;1316:220;;;;1173:370:::0;;;:::o;1551:124::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;-1:-1:-1;;;;;1626:19:0::1;1662:5;1626:19:::0;;;:13:::1;:19;::::0;;;;:41;;-1:-1:-1;;1626:41:0::1;::::0;;1551:124::o;2799:1128::-;1041:10;1027:25;;;;:13;:25;;;;;:39;;;1019:67;;;;-1:-1:-1;;;1019:67:0;;6637:2:1;1019:67:0;;;6619:21:1;6676:2;6656:18;;;6649:30;6715:17;6695:18;;;6688:45;6750:18;;1019:67:0;6435:339:1;1019:67:0;2900:10:::1;2886:25;::::0;;;:13:::1;:25;::::0;;;;:36:::1;;::::0;2870:12:::1;:52;;2862:99;;;::::0;-1:-1:-1;;;2862:99:0;;6981:2:1;2862:99:0::1;::::0;::::1;6963:21:1::0;7020:2;7000:18;;;6993:30;7059:34;7039:18;;;7032:62;-1:-1:-1;;;7110:18:1;;;7103:32;7152:19;;2862:99:0::1;6779:398:1::0;2862:99:0::1;2974:24;3011:14;;3001:7;;:24;;;;:::i;:::-;2974:51;;3063:1;3044:16;:20;3036:51;;;::::0;-1:-1:-1;;;3036:51:0;;7384:2:1;3036:51:0::1;::::0;::::1;7366:21:1::0;7423:2;7403:18;;;7396:30;7462:20;7442:18;;;7435:48;7500:18;;3036:51:0::1;7182:342:1::0;3036:51:0::1;3155:10;3100:34;3137:29:::0;;;:17:::1;:29;::::0;;;;;:41:::1;::::0;3169:9:::1;::::0;3137:41:::1;:::i;:::-;3100:78;;3189:28;3249:16;;3220:26;:45;:110;;3321:9;3220:110;;;3306:10;3288:29;::::0;;;:17:::1;:29;::::0;;;;;3269:16:::1;::::0;:48:::1;::::0;3288:29;3269:48:::1;:::i;:::-;3365:10;3347:29;::::0;;;:17:::1;:29;::::0;;;;;3189:141;;-1:-1:-1;3347:34:0;3343:86:::1;;3398:17;:19:::0;;;:17:::1;:19;::::0;::::1;:::i;:::-;;;;;;3343:86;3472:1;3449:20;:24;3441:71;;;::::0;-1:-1:-1;;;3441:71:0;;7731:2:1;3441:71:0::1;::::0;::::1;7713:21:1::0;7770:2;7750:18;;;7743:30;7809:34;7789:18;;;7782:62;-1:-1:-1;;;7860:18:1;;;7853:32;7902:19;;3441:71:0::1;7529:398:1::0;3441:71:0::1;3548:20;3529:16;:39;3525:111;;;-1:-1:-1::0;3608:16:0;3525:111:::1;3666:10;3648:29;::::0;;;:17:::1;:29;::::0;;;;:53;;3681:20;;3648:29;:53:::1;::::0;3681:20;;3648:53:::1;:::i;:::-;;;;;;;;3730:20;3712:14;;:38;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;3763:20:0::1;::::0;-1:-1:-1;3786:32:0::1;3798:20:::0;3786:9:::1;:32;:::i;:::-;3763:55:::0;-1:-1:-1;3833:16:0;;3829:91:::1;;3866:42;::::0;3874:10:::1;::::0;3866:42;::::1;;;::::0;3895:12;;3866:42:::1;::::0;;;3895:12;3874:10;3866:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2851:1076;;;;2799:1128::o:0;2672:119::-;2732:7;2769:14;;2759:7;;:24;;;;:::i;:::-;2752:31;;2672:119;:::o;14:196:1:-;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;1011:184::-;-1:-1:-1;;;1060:1:1;1053:88;1160:4;1157:1;1150:15;1184:4;1181:1;1174:15;1200:1259;1302:6;1310;1318;1371:2;1359:9;1350:7;1346:23;1342:32;1339:52;;;1387:1;1384;1377:12;1339:52;1427:9;1414:23;1456:18;1497:2;1489:6;1486:14;1483:34;;;1513:1;1510;1503:12;1483:34;1551:6;1540:9;1536:22;1526:32;;1596:7;1589:4;1585:2;1581:13;1577:27;1567:55;;1618:1;1615;1608:12;1567:55;1654:2;1641:16;1676:4;1699:2;1695;1692:10;1689:36;;;1705:18;;:::i;:::-;1751:2;1748:1;1744:10;1783:2;1777:9;1846:2;1842:7;1837:2;1833;1829:11;1825:25;1817:6;1813:38;1901:6;1889:10;1886:22;1881:2;1869:10;1866:18;1863:46;1860:72;;;1912:18;;:::i;:::-;1948:2;1941:22;1998:18;;;2032:15;;;;-1:-1:-1;2074:11:1;;;2070:20;;;2102:19;;;2099:39;;;2134:1;2131;2124:12;2099:39;2158:11;;;;2178:148;2194:6;2189:3;2186:15;2178:148;;;2260:23;2279:3;2260:23;:::i;:::-;2248:36;;2211:12;;;;2304;;;;2178:148;;;2345:6;2383:18;;;2370:32;;-1:-1:-1;;2449:2:1;2434:18;;;2421:32;;1200:1259;-1:-1:-1;;;;;;1200:1259:1:o;2464:184::-;-1:-1:-1;;;2513:1:1;2506:88;2613:4;2610:1;2603:15;2637:4;2634:1;2627:15;2653:168;2726:9;;;2757;;2774:15;;;2768:22;;2754:37;2744:71;;2795:18;;:::i;2826:274::-;2866:1;2892;2882:189;;-1:-1:-1;;;2924:1:1;2917:88;3028:4;3025:1;3018:15;3056:4;3053:1;3046:15;2882:189;-1:-1:-1;3085:9:1;;2826:274::o;5843:128::-;5910:9;;;5931:11;;;5928:37;;;5945:18;;:::i;5976:125::-;6041:9;;;6062:10;;;6059:36;;;6075:18;;:::i;6106:184::-;-1:-1:-1;;;6155:1:1;6148:88;6255:4;6252:1;6245:15;6279:4;6276:1;6269:15;6295:135;6334:3;6355:17;;;6352:43;;6375:18;;:::i;:::-;-1:-1:-1;6422:1:1;6411:13;;6295:135::o

Swarm Source

ipfs://ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb

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  ]
[ 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.