ETH Price: $3,396.95 (+2.22%)

Contract

0xC7b0F970c1EFBB181194Fc15ccD5C4a2c2Ab863B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw237320342025-11-05 8:53:3526 hrs ago1762332815IN
0xC7b0F970...2c2Ab863B
0 ETH0.000123782.5901072
Withdraw237168862025-11-03 6:04:113 days ago1762149851IN
0xC7b0F970...2c2Ab863B
0 ETH0.000099042.07253276
Stake237059392025-11-01 17:19:474 days ago1762017587IN
0xC7b0F970...2c2Ab863B
0 ETH0.000106052.09442012
Request Withdraw236876992025-10-30 4:03:477 days ago1761797027IN
0xC7b0F970...2c2Ab863B
0 ETH0.000069232.11440771
Withdraw236813372025-10-29 6:42:358 days ago1761720155IN
0xC7b0F970...2c2Ab863B
0 ETH0.000135942.095038
Stake236642842025-10-26 21:21:5910 days ago1761513719IN
0xC7b0F970...2c2Ab863B
0 ETH0.00014052.10940141
Request Withdraw236499862025-10-24 21:24:3512 days ago1761341075IN
0xC7b0F970...2c2Ab863B
0 ETH0.000104172.09005626
Request Withdraw236401312025-10-23 12:14:2313 days ago1761221663IN
0xC7b0F970...2c2Ab863B
0 ETH0.000081152.47860634
Request Withdraw236335962025-10-22 14:15:5914 days ago1761142559IN
0xC7b0F970...2c2Ab863B
0 ETH0.000073661.47785416
Stake236335602025-10-22 14:08:3514 days ago1761142115IN
0xC7b0F970...2c2Ab863B
0 ETH0.000090921.47111496
Request Withdraw236319742025-10-22 8:47:1115 days ago1761122831IN
0xC7b0F970...2c2Ab863B
0 ETH0.000052521.60417
Request Withdraw236076972025-10-18 23:06:3518 days ago1760828795IN
0xC7b0F970...2c2Ab863B
0 ETH0.000052961.61751488
Request Withdraw235808082025-10-15 4:47:4722 days ago1760503667IN
0xC7b0F970...2c2Ab863B
0 ETH0.000052691.60936463
Stake235732562025-10-14 3:27:2323 days ago1760412443IN
0xC7b0F970...2c2Ab863B
0 ETH0.00008191.61740191
Request Withdraw235252802025-10-07 10:27:4730 days ago1759832867IN
0xC7b0F970...2c2Ab863B
0 ETH0.000038611.17941985
Withdraw235096302025-10-05 5:58:4732 days ago1759643927IN
0xC7b0F970...2c2Ab863B
0 ETH0.000004940.1035084
Request Withdraw234994542025-10-03 19:50:3533 days ago1759521035IN
0xC7b0F970...2c2Ab863B
0 ETH0.000064911.30232297
Stake234931562025-10-02 22:44:1134 days ago1759445051IN
0xC7b0F970...2c2Ab863B
0 ETH0.000067541.21845742
Withdraw234713752025-09-29 21:36:3537 days ago1759181795IN
0xC7b0F970...2c2Ab863B
0 ETH0.000073381.53553569
Stake234606312025-09-28 9:34:2339 days ago1759052063IN
0xC7b0F970...2c2Ab863B
0 ETH0.000039451.12593367
Stake234606282025-09-28 9:33:4739 days ago1759052027IN
0xC7b0F970...2c2Ab863B
0 ETH0.000039281.12118687
Stake234606222025-09-28 9:32:3539 days ago1759051955IN
0xC7b0F970...2c2Ab863B
0 ETH0.000062361.12480192
Withdraw234493882025-09-26 19:51:1140 days ago1758916271IN
0xC7b0F970...2c2Ab863B
0 ETH0.000064211.34367034
Request Withdraw234471512025-09-26 12:20:4740 days ago1758889247IN
0xC7b0F970...2c2Ab863B
0 ETH0.000049461.51070345
Withdraw234121012025-09-21 14:44:4745 days ago1758465887IN
0xC7b0F970...2c2Ab863B
0 ETH0.000055681.16520059
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TwoWeeksNotice

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);
}


contract TwoWeeksNotice {
    
    struct StakeState {
        uint64 balance;
        uint64 unlockPeriod; // time it takes from requesting withdraw to being able to withdraw
        uint64 lockedUntil; // 0 if withdraw is not requested
        uint64 since;
        uint128 accumulated; // token-days staked
        uint128 accumulatedStrict; // token-days staked sans withdraw periods
    }
    
    event StakeUpdate(address indexed from, uint64 balance);
    event WithdrawRequest(address indexed from, uint64 until);
    
    mapping(address => StakeState) private _states;
    
    IERC20 private token;
    
    constructor (IERC20 _token) public {
        token = _token;
    }

    function getStakeState(address account) external view returns (uint64, uint64, uint64, uint64) {
        StakeState storage ss = _states[account];
        return (ss.balance, ss.unlockPeriod, ss.lockedUntil, ss.since);
    }
    
    function getAccumulated(address account) external view returns (uint128, uint128) {
        StakeState storage ss = _states[account];
        return (ss.accumulated, ss.accumulatedStrict);
    }

    function estimateAccumulated(address account) external view returns (uint128, uint128) {
        StakeState storage ss = _states[account];
        uint128 sum = ss.accumulated;
        uint128 sumStrict = ss.accumulatedStrict;
        if (ss.balance > 0) {
            uint256 until = block.timestamp;
            if (ss.lockedUntil > 0 && ss.lockedUntil < block.timestamp) {
                until = ss.lockedUntil;
            }
            if (until > ss.since) {
                uint128 delta = uint128( (uint256(ss.balance) * (until - ss.since))/86400 );
                sum += delta;
                if (ss.lockedUntil == 0) {
                    sumStrict += delta;
                }
            }
        }
        return (sum, sumStrict);
    }
    
    
    function updateAccumulated(StakeState storage ss) private {
        if (ss.balance > 0) {
            uint256 until = block.timestamp;
            if (ss.lockedUntil > 0 && ss.lockedUntil < block.timestamp) {
                until = ss.lockedUntil;
            }
            if (until > ss.since) {
                uint128 delta = uint128( (uint256(ss.balance) * (until - ss.since))/86400 );
                ss.accumulated += delta;
                if (ss.lockedUntil == 0) {
                    ss.accumulatedStrict += delta;
                }
            }
        }
    }

    function stake(uint64 amount, uint64 unlockPeriod) external {
        StakeState storage ss = _states[msg.sender];
        require(amount > 0, "amount must be positive");
        require(ss.balance <= amount, "cannot decrease balance");
        require(unlockPeriod <= 1000 days, "unlockPeriod cannot be higher than 1000 days");
        require(ss.unlockPeriod <= unlockPeriod, "cannot decrease unlock period");
        require(unlockPeriod >= 2 weeks, "unlock period can't be less than 2 weeks");
        
        updateAccumulated(ss);
        
        uint128 delta = amount - ss.balance;
        if (delta > 0) {
            require(token.transferFrom(msg.sender, address(this), delta), "transfer unsuccessful");
        }

        ss.balance = amount;
        ss.unlockPeriod = unlockPeriod;
        ss.lockedUntil = 0;
        ss.since = uint64(block.timestamp);
        emit StakeUpdate(msg.sender, amount);
    }
    
    function requestWithdraw() external {
         StakeState storage ss = _states[msg.sender];
         require(ss.balance > 0);
         updateAccumulated(ss);
         ss.since = uint64(block.timestamp);
         ss.lockedUntil = uint64(block.timestamp + ss.unlockPeriod);
    }

    function withdraw(address to) external {
        StakeState storage ss = _states[msg.sender];
        require(ss.balance > 0, "must have tokens to withdraw");
        require(ss.lockedUntil != 0, "unlock not requested");
        require(ss.lockedUntil < block.timestamp, "still locked");
        updateAccumulated(ss);
        uint128 balance = ss.balance;
        ss.balance = 0;
        ss.unlockPeriod = 0;
        ss.lockedUntil = 0;
        ss.since = 0;
        require(token.transfer(to, balance), "transfer unsuccessful");
        emit StakeUpdate(msg.sender, 0);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint64","name":"balance","type":"uint64"}],"name":"StakeUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint64","name":"until","type":"uint64"}],"name":"WithdrawRequest","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"estimateAccumulated","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccumulated","outputs":[{"internalType":"uint128","name":"","type":"uint128"},{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getStakeState","outputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requestWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"amount","type":"uint64"},{"internalType":"uint64","name":"unlockPeriod","type":"uint64"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051610af8380380610af88339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610a95806100636000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806344ab37b41461006757806351cff8d9146100bc57806364156fed146100e45780637333aad71461010a578063b3423eec14610138578063fd40037014610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661019a565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101cd565b005b61008d600480360360208110156100fa57600080fd5b50356001600160a01b031661040c565b6100e26004803603604081101561012057600080fd5b506001600160401b03813581169160200135166104fd565b6100e261084f565b6101666004803603602081101561015657600080fd5b50356001600160a01b03166108c9565b604080516001600160401b039586168152938516602085015291841683830152909216606082015290519081900360800190f35b6001600160a01b03166000908152602081905260409020600101546001600160801b0380821692600160801b9092041690565b33600090815260208190526040902080546001600160401b0316610238576040805162461bcd60e51b815260206004820152601c60248201527f6d757374206861766520746f6b656e7320746f20776974686472617700000000604482015290519081900360640190fd5b8054600160801b90046001600160401b0316610292576040805162461bcd60e51b81526020600482015260146024820152731d5b9b1bd8dac81b9bdd081c995c5d595cdd195960621b604482015290519081900360640190fd5b805442600160801b9091046001600160401b0316106102e7576040805162461bcd60e51b815260206004820152600c60248201526b1cdd1a5b1b081b1bd8dad95960a21b604482015290519081900360640190fd5b6102f08161090d565b805460008083556001546040805163a9059cbb60e01b81526001600160a01b0387811660048301526001600160401b0390951660248201819052915191949092169263a9059cbb92604480820193602093909283900390910190829087803b15801561035b57600080fd5b505af115801561036f573d6000803e3d6000fd5b505050506040513d602081101561038557600080fd5b50516103d0576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b6040805160008152905133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6919081900360200190a2505050565b6001600160a01b0381166000908152602081905260408120600181015481548392916001600160801b0380821692600160801b90920416906001600160401b0316156104f25782544290600160801b90046001600160401b0316158015906104855750835442600160801b9091046001600160401b0316105b1561049e57508254600160801b90046001600160401b03165b8354600160c01b90046001600160401b03168111156104f0578354620151806001600160401b03808316600160c01b84048216850302919091049485019491600160801b9004166104ee57918201915b505b505b909350915050915091565b3360009081526020819052604090206001600160401b038316610567576040805162461bcd60e51b815260206004820152601760248201527f616d6f756e74206d75737420626520706f736974697665000000000000000000604482015290519081900360640190fd5b80546001600160401b03808516911611156105c9576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f742064656372656173652062616c616e6365000000000000000000604482015290519081900360640190fd5b6305265c00826001600160401b031611156106155760405162461bcd60e51b815260040180806020018281038252602c815260200180610a34602c913960400191505060405180910390fd5b80546001600160401b03808416600160401b90920416111561067e576040805162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420646563726561736520756e6c6f636b20706572696f64000000604482015290519081900360640190fd5b62127500826001600160401b031610156106c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610a0c6028913960400191505060405180910390fd5b6106d28161090d565b80546001600160401b0390811684031680156107bf57600154604080516323b872dd60e01b81523360048201523060248201526001600160801b038416604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b50516107bf576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b815467ffffffffffffffff19166001600160401b038581169182176fffffffffffffffff00000000000000001916600160401b86831602176001600160801b0316600160c01b429290921691909102178355604080519182525133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6916020918190039190910190a250505050565b33600090815260208190526040902080546001600160401b031661087257600080fd5b61087b8161090d565b8054600160401b6001600160401b0342818116600160c01b026001600160c01b03909416939093179182048116909201909116600160801b0267ffffffffffffffff60801b19909116179055565b6001600160a01b03166000908152602081905260409020546001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091041690565b80546001600160401b031615610a085780544290600160801b90046001600160401b0316158015906109505750815442600160801b9091046001600160401b0316105b1561096957508054600160801b90046001600160401b03165b8154600160c01b90046001600160401b0316811115610a065781546001830180546fffffffffffffffffffffffffffffffff198116620151806001600160401b03808616600160c01b87048216880302919091046001600160801b0393841681019093169190911790925591600160801b900416610a04576001830180546001600160801b03600160801b8083048216850182160291161790555b505b505b5056fe756e6c6f636b20706572696f642063616e2774206265206c657373207468616e2032207765656b73756e6c6f636b506572696f642063616e6e6f7420626520686967686572207468616e20313030302064617973a26469706673582212208ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c8674464736f6c634300060c00330000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c806344ab37b41461006757806351cff8d9146100bc57806364156fed146100e45780637333aad71461010a578063b3423eec14610138578063fd40037014610140575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661019a565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6100e2600480360360208110156100d257600080fd5b50356001600160a01b03166101cd565b005b61008d600480360360208110156100fa57600080fd5b50356001600160a01b031661040c565b6100e26004803603604081101561012057600080fd5b506001600160401b03813581169160200135166104fd565b6100e261084f565b6101666004803603602081101561015657600080fd5b50356001600160a01b03166108c9565b604080516001600160401b039586168152938516602085015291841683830152909216606082015290519081900360800190f35b6001600160a01b03166000908152602081905260409020600101546001600160801b0380821692600160801b9092041690565b33600090815260208190526040902080546001600160401b0316610238576040805162461bcd60e51b815260206004820152601c60248201527f6d757374206861766520746f6b656e7320746f20776974686472617700000000604482015290519081900360640190fd5b8054600160801b90046001600160401b0316610292576040805162461bcd60e51b81526020600482015260146024820152731d5b9b1bd8dac81b9bdd081c995c5d595cdd195960621b604482015290519081900360640190fd5b805442600160801b9091046001600160401b0316106102e7576040805162461bcd60e51b815260206004820152600c60248201526b1cdd1a5b1b081b1bd8dad95960a21b604482015290519081900360640190fd5b6102f08161090d565b805460008083556001546040805163a9059cbb60e01b81526001600160a01b0387811660048301526001600160401b0390951660248201819052915191949092169263a9059cbb92604480820193602093909283900390910190829087803b15801561035b57600080fd5b505af115801561036f573d6000803e3d6000fd5b505050506040513d602081101561038557600080fd5b50516103d0576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b6040805160008152905133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6919081900360200190a2505050565b6001600160a01b0381166000908152602081905260408120600181015481548392916001600160801b0380821692600160801b90920416906001600160401b0316156104f25782544290600160801b90046001600160401b0316158015906104855750835442600160801b9091046001600160401b0316105b1561049e57508254600160801b90046001600160401b03165b8354600160c01b90046001600160401b03168111156104f0578354620151806001600160401b03808316600160c01b84048216850302919091049485019491600160801b9004166104ee57918201915b505b505b909350915050915091565b3360009081526020819052604090206001600160401b038316610567576040805162461bcd60e51b815260206004820152601760248201527f616d6f756e74206d75737420626520706f736974697665000000000000000000604482015290519081900360640190fd5b80546001600160401b03808516911611156105c9576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f742064656372656173652062616c616e6365000000000000000000604482015290519081900360640190fd5b6305265c00826001600160401b031611156106155760405162461bcd60e51b815260040180806020018281038252602c815260200180610a34602c913960400191505060405180910390fd5b80546001600160401b03808416600160401b90920416111561067e576040805162461bcd60e51b815260206004820152601d60248201527f63616e6e6f7420646563726561736520756e6c6f636b20706572696f64000000604482015290519081900360640190fd5b62127500826001600160401b031610156106c95760405162461bcd60e51b8152600401808060200182810382526028815260200180610a0c6028913960400191505060405180910390fd5b6106d28161090d565b80546001600160401b0390811684031680156107bf57600154604080516323b872dd60e01b81523360048201523060248201526001600160801b038416604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b50516107bf576040805162461bcd60e51b81526020600482015260156024820152741d1c985b9cd9995c881d5b9cdd58d8d95cdcd99d5b605a1b604482015290519081900360640190fd5b815467ffffffffffffffff19166001600160401b038581169182176fffffffffffffffff00000000000000001916600160401b86831602176001600160801b0316600160c01b429290921691909102178355604080519182525133917fa883c874fc7b74e9c9a9f14b66cdd381ebb21a6d11e0a965a628ff143e9a91d6916020918190039190910190a250505050565b33600090815260208190526040902080546001600160401b031661087257600080fd5b61087b8161090d565b8054600160401b6001600160401b0342818116600160c01b026001600160c01b03909416939093179182048116909201909116600160801b0267ffffffffffffffff60801b19909116179055565b6001600160a01b03166000908152602081905260409020546001600160401b0380821692600160401b8304821692600160801b8104831692600160c01b9091041690565b80546001600160401b031615610a085780544290600160801b90046001600160401b0316158015906109505750815442600160801b9091046001600160401b0316105b1561096957508054600160801b90046001600160401b03165b8154600160c01b90046001600160401b0316811115610a065781546001830180546fffffffffffffffffffffffffffffffff198116620151806001600160401b03808616600160c01b87048216880302919091046001600160801b0393841681019093169190911790925591600160801b900416610a04576001830180546001600160801b03600160801b8083048216850182160291161790555b505b505b5056fe756e6c6f636b20706572696f642063616e2774206265206c657373207468616e2032207765656b73756e6c6f636b506572696f642063616e6e6f7420626520686967686572207468616e20313030302064617973a26469706673582212208ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c8674464736f6c634300060c0033

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

0000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2

-----Decoded View---------------
Arg [0] : _token (address): 0x8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008a2279d4a90b6fe1c4b30fa660cc9f926797baa2


Deployed Bytecode Sourcemap

2777:4378:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3730:197;;;;;;;;;;;;;;;;-1:-1:-1;3730:197:0;-1:-1:-1;;;;;3730:197:0;;:::i;:::-;;;;;-1:-1:-1;;;;;3730:197:0;;;;;;-1:-1:-1;;;;;3730:197:0;;;;;;;;;;;;;;;;6562:590;;;;;;;;;;;;;;;;-1:-1:-1;6562:590:0;-1:-1:-1;;;;;6562:590:0;;:::i;:::-;;3935:770;;;;;;;;;;;;;;;;-1:-1:-1;3935:770:0;-1:-1:-1;;;;;3935:770:0;;:::i;5319:940::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5319:940:0;;;;;;;;;;:::i;6271:283::-;;;:::i;3491:227::-;;;;;;;;;;;;;;;;-1:-1:-1;3491:227:0;-1:-1:-1;;;;;3491:227:0;;:::i;:::-;;;;-1:-1:-1;;;;;3491:227:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3730:197;-1:-1:-1;;;;;3847:16:0;3794:7;3847:16;;;;;;;;;;3882:14;;;-1:-1:-1;;;;;3882:14:0;;;;-1:-1:-1;;;3898:20:0;;;;;3730:197::o;6562:590::-;6644:10;6612:21;6636:19;;;;;;;;;;6674:10;;-1:-1:-1;;;;;6674:10:0;6666:55;;;;;-1:-1:-1;;;6666:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6740:14;;-1:-1:-1;;;6740:14:0;;-1:-1:-1;;;;;6740:14:0;6732:52;;;;;-1:-1:-1;;;6732:52:0;;;;;;;;;;;;-1:-1:-1;;;6732:52:0;;;;;;;;;;;;;;;6803:14;;6820:15;-1:-1:-1;;;6803:14:0;;;-1:-1:-1;;;;;6803:14:0;:32;6795:57;;;;;-1:-1:-1;;;6795:57:0;;;;;;;;;;;;-1:-1:-1;;;6795:57:0;;;;;;;;;;;;;;;6863:21;6881:2;6863:17;:21::i;:::-;6913:10;;6895:15;7018:12;;;6913:10;7049:5;:27;;;-1:-1:-1;;;7049:27:0;;-1:-1:-1;;;;;7049:27:0;;;;;;;-1:-1:-1;;;;;6913:10:0;;;7049:27;;;;;;;;6913:10;;7049:5;;;;:14;;:27;;;;;;;;;;;;;;;;;;:5;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7049:27:0;7041:61;;;;;-1:-1:-1;;;7041:61:0;;;;;;;;;;;;-1:-1:-1;;;7041:61:0;;;;;;;;;;;;;;;7118:26;;;7142:1;7118:26;;;;7130:10;;7118:26;;;;;;;;;;6562:590;;;:::o;3935:770::-;-1:-1:-1;;;;;4057:16:0;;4004:7;4057:16;;;;;;;;;;4098:14;;;;4178:10;;4004:7;;4057:16;-1:-1:-1;;;;;4098:14:0;;;;-1:-1:-1;;;4143:20:0;;;;;-1:-1:-1;;;;;4178:10:0;:14;4174:490;;4259:14;;4225:15;;-1:-1:-1;;;4259:14:0;;-1:-1:-1;;;;;4259:14:0;:18;;;;:54;;-1:-1:-1;4281:14:0;;4298:15;-1:-1:-1;;;4281:14:0;;;-1:-1:-1;;;;;4281:14:0;:32;4259:54;4255:117;;;-1:-1:-1;4342:14:0;;-1:-1:-1;;;4342:14:0;;-1:-1:-1;;;;;4342:14:0;4255:117;4398:8;;-1:-1:-1;;;4398:8:0;;-1:-1:-1;;;;;4398:8:0;4390:16;;4386:267;;;4484:8;;4495:5;-1:-1:-1;;;;;4461:10:0;;;-1:-1:-1;;;4484:8:0;;;;4476:16;;4453:40;4452:48;;;;4521:12;;;;4452:48;-1:-1:-1;;;4556:14:0;;;4552:86;;4600:18;;;;4552:86;4386:267;;4174:490;;4682:3;;-1:-1:-1;4687:9:0;-1:-1:-1;;3935:770:0;;;:::o;5319:940::-;5422:10;5390:21;5414:19;;;;;;;;;;-1:-1:-1;;;;;5452:10:0;;5444:46;;;;;-1:-1:-1;;;5444:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:10;;-1:-1:-1;;;;;5509:20:0;;;:10;;:20;;5501:56;;;;;-1:-1:-1;;;5501:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:9;5576:12;-1:-1:-1;;;;;5576:25:0;;;5568:82;;;;-1:-1:-1;;;5568:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5669:15;;-1:-1:-1;;;;;5669:31:0;;;-1:-1:-1;;;5669:15:0;;;;:31;;5661:73;;;;;-1:-1:-1;;;5661:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5769:7;5753:12;-1:-1:-1;;;;;5753:23:0;;;5745:76;;;;-1:-1:-1;;;5745:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5842:21;5860:2;5842:17;:21::i;:::-;5909:10;;-1:-1:-1;;;;;5909:10:0;;;5900:19;;5884:35;5934:9;;5930:128;;5968:5;;:52;;;-1:-1:-1;;;5968:52:0;;5987:10;5968:52;;;;6007:4;5968:52;;;;-1:-1:-1;;;;;5968:52:0;;;;;;;;-1:-1:-1;;;;;5968:5:0;;;;:18;;:52;;;;;;;;;;;;;;;:5;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5968:52:0;5960:86;;;;;-1:-1:-1;;;5960:86:0;;;;;;;;;;;;-1:-1:-1;;;5960:86:0;;;;;;;;;;;;;;;6070:19;;-1:-1:-1;;6070:19:0;-1:-1:-1;;;;;6070:19:0;;;;;;-1:-1:-1;;6100:30:0;-1:-1:-1;;;6100:30:0;;;;;-1:-1:-1;;;;;6170:34:0;-1:-1:-1;;;6188:15:0;6170:34;;;;;;;;;;;6220:31;;;;;;;6232:10;;6220:31;;;;;;;;;;;;;5319:940;;;;:::o;6271:283::-;6351:10;6319:21;6343:19;;;;;;;;;;6382:10;;-1:-1:-1;;;;;6382:10:0;6374:23;;;;;;6409:21;6427:2;6409:17;:21::i;:::-;6442:34;;-1:-1:-1;;;;;;;;6460:15:0;6442:34;;;-1:-1:-1;;;6442:34:0;-1:-1:-1;;;;;6442:34:0;;;;;;;6530:15;;;;;6512:33;;;6488:58;;;-1:-1:-1;;;6488:58:0;-1:-1:-1;;;;6488:58:0;;;;;;6271:283::o;3491:227::-;-1:-1:-1;;;;;3621:16:0;3554:6;3621:16;;;;;;;;;;3656:10;-1:-1:-1;;;;;3656:10:0;;;;-1:-1:-1;;;3668:15:0;;;;;-1:-1:-1;;;3685:14:0;;;;;-1:-1:-1;;;3701:8:0;;;;;3491:227::o;4723:588::-;4796:10;;-1:-1:-1;;;;;4796:10:0;:14;4792:512;;4877:14;;4843:15;;-1:-1:-1;;;4877:14:0;;-1:-1:-1;;;;;4877:14:0;:18;;;;:54;;-1:-1:-1;4899:14:0;;4916:15;-1:-1:-1;;;4899:14:0;;;-1:-1:-1;;;;;4899:14:0;:32;4877:54;4873:117;;;-1:-1:-1;4960:14:0;;-1:-1:-1;;;4960:14:0;;-1:-1:-1;;;;;4960:14:0;4873:117;5016:8;;-1:-1:-1;;;5016:8:0;;-1:-1:-1;;;;;5016:8:0;5008:16;;5004:289;;;5102:8;;5139:14;;;:23;;-1:-1:-1;;5139:23:0;;5113:5;-1:-1:-1;;;;;5079:10:0;;;-1:-1:-1;;;5102:8:0;;;;5094:16;;5071:40;5070:48;;;;-1:-1:-1;;;;;5139:23:0;;;;;;;;;;;;;;;5070:48;-1:-1:-1;;;5185:14:0;;;5181:97;;5229:20;;;:29;;-1:-1:-1;;;;;;;;5229:29:0;;;;;;;;;;;;;;;5181:97;5004:289;;4792:512;;4723:588;:::o

Swarm Source

ipfs://8ad9755d1ff791d9a74d701752dffeb3e5c8e8ec15a754a5cd7d90fc45c86744

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.