ETH Price: $3,939.26 (+4.13%)

Contract

0x2369921551f2417d8d5cD4C1EDb1ac7eEe156380
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw161472692022-12-09 12:53:59727 days ago1670590439IN
0x23699215...eEe156380
0 ETH0.0014235317.18142037
Withdraw161472322022-12-09 12:46:35727 days ago1670589995IN
0x23699215...eEe156380
0 ETH0.0019389923.40288562
Withdraw161472142022-12-09 12:42:59727 days ago1670589779IN
0x23699215...eEe156380
0 ETH0.0019034122.97339366
Withdraw161222072022-12-06 0:36:35730 days ago1670286995IN
0x23699215...eEe156380
0 ETH0.001059912.79264806
Withdraw161221992022-12-06 0:34:59730 days ago1670286899IN
0x23699215...eEe156380
0 ETH0.0011955214.42949628
Withdraw161221892022-12-06 0:32:59730 days ago1670286779IN
0x23699215...eEe156380
0 ETH0.0011640514.04964531
Withdraw160667142022-11-28 6:32:47738 days ago1669617167IN
0x23699215...eEe156380
0 ETH0.0008946810.79848478
Withdraw160666172022-11-28 6:13:23738 days ago1669616003IN
0x23699215...eEe156380
0 ETH0.0008991310.8521901
Withdraw160665502022-11-28 5:59:59738 days ago1669615199IN
0x23699215...eEe156380
0 ETH0.0009362311.29992409
Withdraw160191692022-11-21 15:05:35744 days ago1669043135IN
0x23699215...eEe156380
0 ETH0.001294415.62294009
Withdraw160191002022-11-21 14:51:35744 days ago1669042295IN
0x23699215...eEe156380
0 ETH0.0011109413.40863725
Withdraw160189902022-11-21 14:29:23745 days ago1669040963IN
0x23699215...eEe156380
0 ETH0.001617719.5250587
Withdraw159272422022-11-08 18:55:23757 days ago1667933723IN
0x23699215...eEe156380
0 ETH0.00912377110.1200818
Withdraw159272282022-11-08 18:52:35757 days ago1667933555IN
0x23699215...eEe156380
0 ETH0.00866924104.63408595
Withdraw159272062022-11-08 18:48:11757 days ago1667933291IN
0x23699215...eEe156380
0 ETH0.00831078100.30761289
Withdraw158856622022-11-02 23:37:35763 days ago1667432255IN
0x23699215...eEe156380
0 ETH0.0013349716.11257045
Withdraw158856362022-11-02 23:32:23763 days ago1667431943IN
0x23699215...eEe156380
0 ETH0.001174314.173383
Withdraw158856132022-11-02 23:27:47763 days ago1667431667IN
0x23699215...eEe156380
0 ETH0.0012746615.3847071
Withdraw158326432022-10-26 13:47:47771 days ago1666792067IN
0x23699215...eEe156380
0 ETH0.0020135624.30282612
Withdraw158326282022-10-26 13:44:35771 days ago1666791875IN
0x23699215...eEe156380
0 ETH0.0022585827.26008745
Withdraw158326152022-10-26 13:41:59771 days ago1666791719IN
0x23699215...eEe156380
0 ETH0.0025169830.37896603
Withdraw157769392022-10-18 18:59:59778 days ago1666119599IN
0x23699215...eEe156380
0 ETH0.0023379828.21842834
Withdraw157769312022-10-18 18:58:23778 days ago1666119503IN
0x23699215...eEe156380
0 ETH0.0024598829.68975793
Withdraw157769182022-10-18 18:55:47778 days ago1666119347IN
0x23699215...eEe156380
0 ETH0.0026122731.5290133
Withdraw157176672022-10-10 12:21:11787 days ago1665404471IN
0x23699215...eEe156380
0 ETH0.0031511538.03307384
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:
Vesting

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-01-02
*/

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

// File: ERC20.sol

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 * @notice Copied from OpenZeppelin.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

// File: Vesting.sol

pragma solidity 0.6.12;

/**
 * @dev A token holder contract that will allow a beneficiary to extract the
 * tokens after a given release time.
 *
 * Useful for vesting schedules with cliff period.
 */
contract Vesting {
    // ERC20 basic token contract being held
    IERC20 private _token;

    // Vesting struct to store address info
    struct VestingStruct {
        uint256 vestedTokens;
        uint256 cliffPeriod;
        uint256 vestingPeriod;
        uint256 vestingStartTime;
        uint256 withdrawalPerDay;
    }

    // Mapping to store Balance and Release Time of Beneficiary
    mapping(address => VestingStruct) public addressInfo;

    mapping(address => uint256) public tokensAlreadyWithdrawn;

    /**
     * @dev Triggers on new deposit call
     */
    event TokenVested(
        address beneficary,
        uint256 amount,
        uint256 cliffPeriod,
        uint256 vestingPeriod,
        uint256 vestingStartTime,
        uint256 withdrawalPerDay
    );

    /**
     * @dev Triggers on every release
     */
    event TokenReleased(address beneficary, uint256 amount);

    /**
     * @dev Sets the token address to be vested.
     *
     * token_ value is immutable: they can only be set once during
     * construction.
     */
    constructor(IERC20 token_) public {
        _token = token_;
    }

    /**
     * @return the token being held.
     */
    function token() external view returns (IERC20) {
        return _token;
    }

    /**
     * @return the total token stored in the contract
     */
    function totalTokensVested() external view returns (uint256) {
        return _token.balanceOf(address(this));
    }

    /**
     * @notice Deposit tokens for vesting.
     * @param beneficiary The address, who can release token after vesting duration.
     * @param amount The amount of token to be locked.
     * @param vestingPeriod Must be in days.
     */
    function deposit(
        address beneficiary,
        uint256 amount,
        uint256 cliffPeriod,
        uint256 vestingPeriod
    ) external returns (bool success) {
        VestingStruct memory result = addressInfo[msg.sender];

        require(
            result.vestedTokens == 0,
            "Vesting: Beneficiary already have vested token. Use another address"
        );

        require(
            _token.transferFrom(msg.sender, address(this), amount),
            "Vesting: Please approve token first"
        );

        addressInfo[beneficiary] = VestingStruct(
            amount,
            cliffPeriod,
            vestingPeriod,
            block.timestamp,
            amount / vestingPeriod
        );

        emit TokenVested(
            beneficiary,
            amount,
            cliffPeriod,
            vestingPeriod,
            block.timestamp,
            amount / vestingPeriod
        );

        return true;
    }

    /**
     * @notice Transfers tokens held by timelock to beneficiary.
     */
    function withdraw() external virtual {
        VestingStruct memory result = addressInfo[msg.sender];

        require(
            result.vestedTokens > 0,
            "Vesting: You don't have any vested token"
        );

        require(
            block.timestamp >=
                (result.vestingStartTime + (result.cliffPeriod * 1 days)),
            "Vesting: Cliff period is not over yet"
        );

        uint256 tokensAvailable = getAvailableTokens(msg.sender);
        uint256 alreadyWithdrawn = tokensAlreadyWithdrawn[msg.sender];

        require(
            tokensAvailable + alreadyWithdrawn <= result.vestedTokens,
            "Vesting: Can't withdraw more than vested token amount"
        );

        if (tokensAvailable + alreadyWithdrawn == result.vestedTokens) {
            tokensAlreadyWithdrawn[msg.sender] = 0;
            addressInfo[msg.sender] = VestingStruct(0, 0, 0, 0, 0);
        } else {
            tokensAlreadyWithdrawn[msg.sender] += tokensAvailable;
        }

        emit TokenReleased(msg.sender, tokensAvailable);

        _token.transfer(msg.sender, tokensAvailable);
    }

    function getAvailableTokens(address beneficiary)
        public
        view
        returns (uint256)
    {
        VestingStruct memory result = addressInfo[beneficiary];

        if (result.vestedTokens > 0) {
            uint256 vestingEndTime =
                (result.vestingStartTime + (result.vestingPeriod * 1 days));

            if (block.timestamp >= vestingEndTime) {
                return
                    result.vestedTokens - tokensAlreadyWithdrawn[beneficiary];
            } else {
                uint256 totalDays =
                    ((
                        block.timestamp > vestingEndTime
                            ? vestingEndTime
                            : block.timestamp
                    ) - result.vestingStartTime) / 1 days;

                return
                    (totalDays * result.withdrawalPerDay) -
                    tokensAlreadyWithdrawn[beneficiary];
            }
        } else {
            return 0;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IERC20","name":"token_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"beneficary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"beneficary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"cliffPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestingPeriod","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"vestingStartTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"withdrawalPerDay","type":"uint256"}],"name":"TokenVested","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressInfo","outputs":[{"internalType":"uint256","name":"vestedTokens","type":"uint256"},{"internalType":"uint256","name":"cliffPeriod","type":"uint256"},{"internalType":"uint256","name":"vestingPeriod","type":"uint256"},{"internalType":"uint256","name":"vestingStartTime","type":"uint256"},{"internalType":"uint256","name":"withdrawalPerDay","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"cliffPeriod","type":"uint256"},{"internalType":"uint256","name":"vestingPeriod","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"}],"name":"getAvailableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokensAlreadyWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensVested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610ed8380380610ed88339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610e44806100946000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633ccfd60b1161005b5780633ccfd60b1461016c57806380f22ae114610176578063ce88b439146101ce578063fc0c546a146102465761007d565b80630415af8114610082578063196708ff146100a05780632126fcb2146100f8575b600080fd5b61008a61027a565b6040518082815260200191505060405180910390f35b6100e2600480360360208110156100b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610344565b6040518082815260200191505060405180910390f35b61013a6004803603602081101561010e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061035c565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b610174610392565b005b6101b86004803603602081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107fa565b6040518082815260200191505060405180910390f35b61022e600480360360808110156101e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061097b565b60405180821515815260200191505060405180910390f35b61024e610cce565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b8101908080519060200190929190505050905090565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b61039a610cf7565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015111610475576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610da46028913960400191505060405180910390fd5b620151808160200151028160600151014210156104dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d276025913960400191505060405180910390fd5b60006104e8336107fa565b90506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508260000151818301111561058d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610d6f6035913960400191505060405180910390fd5b82600001518183011415610685576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060a00160405280600081526020016000815260200160008152602001600081526020016000815250600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050506106d3565b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b7f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a913383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107b957600080fd5b505af11580156107cd573d6000803e3d6000fd5b505050506040513d60208110156107e357600080fd5b810190808051906020019092919050505050505050565b6000610804610cf7565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015111156109705760006201518082604001510282606001510190508042106108f957600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600001510392505050610976565b60006201518083606001518342116109115742610913565b835b038161091b57fe5b049050600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483608001518202039350505050610976565b60009150505b919050565b6000610985610cf7565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015114610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526043815260200180610dcc6043913960600191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610b0f57600080fd5b505af1158015610b23573d6000803e3d6000fd5b505050506040513d6020811015610b3957600080fd5b8101908080519060200190929190505050610b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d4c6023913960400191505060405180910390fd5b6040518060a00160405280868152602001858152602001848152602001428152602001848781610bcb57fe5b04815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050507f80cc5395ac211360399f5966af683823e376d7c1a57e0a9dfec6008cbe8cd7c38686868642888b81610c7257fe5b04604051808773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a16001915050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fe56657374696e673a20436c69666620706572696f64206973206e6f74206f7665722079657456657374696e673a20506c6561736520617070726f766520746f6b656e20666972737456657374696e673a2043616e2774207769746864726177206d6f7265207468616e2076657374656420746f6b656e20616d6f756e7456657374696e673a20596f7520646f6e2774206861766520616e792076657374656420746f6b656e56657374696e673a2042656e656669636961727920616c726561647920686176652076657374656420746f6b656e2e2055736520616e6f746865722061646472657373a264697066735822122029ebefda570316b0b5d507a6fd77dae2883ef4f7e87991f14a3c0a194864cf3964736f6c634300060c0033000000000000000000000000d8e3fb3b08eba982f2754988d70d57edc0055ae6

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633ccfd60b1161005b5780633ccfd60b1461016c57806380f22ae114610176578063ce88b439146101ce578063fc0c546a146102465761007d565b80630415af8114610082578063196708ff146100a05780632126fcb2146100f8575b600080fd5b61008a61027a565b6040518082815260200191505060405180910390f35b6100e2600480360360208110156100b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610344565b6040518082815260200191505060405180910390f35b61013a6004803603602081101561010e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061035c565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b610174610392565b005b6101b86004803603602081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107fa565b6040518082815260200191505060405180910390f35b61022e600480360360808110156101e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061097b565b60405180821515815260200191505060405180910390f35b61024e610cce565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b8101908080519060200190929190505050905090565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b61039a610cf7565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015111610475576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610da46028913960400191505060405180910390fd5b620151808160200151028160600151014210156104dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d276025913960400191505060405180910390fd5b60006104e8336107fa565b90506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508260000151818301111561058d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610d6f6035913960400191505060405180910390fd5b82600001518183011415610685576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060a00160405280600081526020016000815260200160008152602001600081526020016000815250600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050506106d3565b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b7f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a913383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107b957600080fd5b505af11580156107cd573d6000803e3d6000fd5b505050506040513d60208110156107e357600080fd5b810190808051906020019092919050505050505050565b6000610804610cf7565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015111156109705760006201518082604001510282606001510190508042106108f957600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600001510392505050610976565b60006201518083606001518342116109115742610913565b835b038161091b57fe5b049050600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483608001518202039350505050610976565b60009150505b919050565b6000610985610cf7565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816000015114610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526043815260200180610dcc6043913960600191505060405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610b0f57600080fd5b505af1158015610b23573d6000803e3d6000fd5b505050506040513d6020811015610b3957600080fd5b8101908080519060200190929190505050610b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d4c6023913960400191505060405180910390fd5b6040518060a00160405280868152602001858152602001848152602001428152602001848781610bcb57fe5b04815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050507f80cc5395ac211360399f5966af683823e376d7c1a57e0a9dfec6008cbe8cd7c38686868642888b81610c7257fe5b04604051808773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a16001915050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fe56657374696e673a20436c69666620706572696f64206973206e6f74206f7665722079657456657374696e673a20506c6561736520617070726f766520746f6b656e20666972737456657374696e673a2043616e2774207769746864726177206d6f7265207468616e2076657374656420746f6b656e20616d6f756e7456657374696e673a20596f7520646f6e2774206861766520616e792076657374656420746f6b656e56657374696e673a2042656e656669636961727920616c726561647920686176652076657374656420746f6b656e2e2055736520616e6f746865722061646472657373a264697066735822122029ebefda570316b0b5d507a6fd77dae2883ef4f7e87991f14a3c0a194864cf3964736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000d8e3fb3b08eba982f2754988d70d57edc0055ae6

-----Decoded View---------------
Arg [0] : token_ (address): 0xD8E3FB3b08eBA982F2754988d70D57eDc0055ae6

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d8e3fb3b08eba982f2754988d70d57edc0055ae6


Deployed Bytecode Sourcemap

3180:5026:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4576:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3651:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3590:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6033:1154;;;:::i;:::-;;7195:1008;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4952:989;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4415:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4576:118;4628:7;4655:6;;;;;;;;;;;:16;;;4680:4;4655:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4648:38;;4576:118;:::o;3651:57::-;;;;;;;;;;;;;;;;;:::o;3590:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6033:1154::-;6081:27;;:::i;:::-;6111:11;:23;6123:10;6111:23;;;;;;;;;;;;;;;6081:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6191:1;6169:6;:19;;;:23;6147:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6380:6;6359;:18;;;:27;6332:6;:23;;;:55;6295:15;:93;;6273:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6466:23;6492:30;6511:10;6492:18;:30::i;:::-;6466:56;;6533:24;6560:22;:34;6583:10;6560:34;;;;;;;;;;;;;;;;6533:61;;6667:6;:19;;;6647:16;6629:15;:34;:57;;6607:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6822:6;:19;;;6802:16;6784:15;:34;:57;6780:283;;;6895:1;6858:22;:34;6881:10;6858:34;;;;;;;;;;;;;;;:38;;;;6937:28;;;;;;;;6951:1;6937:28;;;;6954:1;6937:28;;;;6957:1;6937:28;;;;6960:1;6937:28;;;;6963:1;6937:28;;;6911:11;:23;6923:10;6911:23;;;;;;;;;;;;;;;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6780:283;;;7036:15;6998:22;:34;7021:10;6998:34;;;;;;;;;;;;;;;;:53;;;;;;;;;;;6780:283;7080:42;7094:10;7106:15;7080:42;;;;;;;;;;;;;;;;;;;;;;;;;;7135:6;;;;;;;;;;:15;;;7151:10;7163:15;7135:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6033:1154;;;:::o;7195:1008::-;7292:7;7317:27;;:::i;:::-;7347:11;:24;7359:11;7347:24;;;;;;;;;;;;;;;7317:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7410:1;7388:6;:19;;;:23;7384:812;;;7428:22;7521:6;7498;:20;;;:29;7471:6;:23;;;:57;7428:101;;7569:14;7550:15;:33;7546:598;;7654:22;:35;7677:11;7654:35;;;;;;;;;;;;;;;;7632:6;:19;;;:57;7604:85;;;;;;7546:598;7730:17;7977:6;7950;:23;;;7817:14;7799:15;:32;:125;;7909:15;7799:125;;;7863:14;7799:125;7772:201;7771:212;;;;;;7730:253;;8093:22;:35;8116:11;8093:35;;;;;;;;;;;;;;;;8045:6;:23;;;8033:9;:35;8032:96;8004:124;;;;;;;7384:812;8183:1;8176:8;;;7195:1008;;;;:::o;4952:989::-;5111:12;5136:27;;:::i;:::-;5166:11;:23;5178:10;5166:23;;;;;;;;;;;;;;;5136:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5247:1;5224:6;:19;;;:24;5202:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5378:6;;;;;;;;;;:19;;;5398:10;5418:4;5425:6;5378:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5356:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5535:166;;;;;;;;5563:6;5535:166;;;;5584:11;5535:166;;;;5610:13;5535:166;;;;5638:15;5535:166;;;;5677:13;5668:6;:22;;;;;;5535:166;;;5508:11;:24;5520:11;5508:24;;;;;;;;;;;;;;;:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5719:190;5745:11;5771:6;5792:11;5818:13;5846:15;5885:13;5876:6;:22;;;;;;5719:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5929:4;5922:11;;;4952:989;;;;;;:::o;4415:80::-;4455:6;4481;;;;;;;;;;;4474:13;;4415:80;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://29ebefda570316b0b5d507a6fd77dae2883ef4f7e87991f14a3c0a194864cf39

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.