ETH Price: $2,606.40 (+1.31%)

Contract

0x52d18469a48C3EE8324f463897a3A08F0072949c
 

Overview

ETH Balance

1.146871932465895009 ETH

Eth Value

$2,989.21 (@ $2,606.40/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unstake Blox208927212024-10-04 14:21:1112 days ago1728051671IN
0x52d18469...F0072949c
0 ETH0.001319489.08775269
Claim Rewards208927062024-10-04 14:18:1112 days ago1728051491IN
0x52d18469...F0072949c
0 ETH0.0006169910.02018294
Unstake Blox207534302024-09-15 3:49:1131 days ago1726372151IN
0x52d18469...F0072949c
0 ETH0.000486783.10481038
Unstake Blox207427172024-09-13 15:54:2333 days ago1726242863IN
0x52d18469...F0072949c
0 ETH0.001084177.8685114
Claim Rewards207427122024-09-13 15:53:2333 days ago1726242803IN
0x52d18469...F0072949c
0 ETH0.000344867.7540857
Unstake Blox207048132024-09-08 8:51:2338 days ago1725785483IN
0x52d18469...F0072949c
0 ETH0.000271851.87236363
Unstake Blox206997832024-09-07 16:00:5938 days ago1725724859IN
0x52d18469...F0072949c
0 ETH0.000262841.46518751
Unstake Blox206997732024-09-07 15:58:5938 days ago1725724739IN
0x52d18469...F0072949c
0 ETH0.000180311.24178513
Unstake Blox206832602024-09-05 8:42:3541 days ago1725525755IN
0x52d18469...F0072949c
0 ETH0.000364832.44261511
Unstake Blox206652072024-09-02 20:14:5943 days ago1725308099IN
0x52d18469...F0072949c
0 ETH0.001216054.82705208
Claim Rewards206472872024-08-31 8:13:4746 days ago1725092027IN
0x52d18469...F0072949c
0 ETH0.000053591.20510986
Claim Rewards206237132024-08-28 1:09:4749 days ago1724807387IN
0x52d18469...F0072949c
0 ETH0.000034370.77286642
Claim Rewards206215732024-08-27 18:00:2349 days ago1724781623IN
0x52d18469...F0072949c
0 ETH0.00006131.37852029
Stake Blox205605622024-08-19 5:23:5958 days ago1724045039IN
0x52d18469...F0072949c
0 ETH0.00013840.87253895
Unstake Blox205329862024-08-15 8:58:1162 days ago1723712291IN
0x52d18469...F0072949c
0 ETH0.000412542.99410264
Unstake Blox205128082024-08-12 13:23:5965 days ago1723469039IN
0x52d18469...F0072949c
0 ETH0.001056277.66663957
Unstake Blox205040262024-08-11 7:57:3566 days ago1723363055IN
0x52d18469...F0072949c
0 ETH0.000141511.10474989
Claim Rewards204944222024-08-09 23:47:3567 days ago1723247255IN
0x52d18469...F0072949c
0 ETH0.000063051.91773136
Unstake Blox204944162024-08-09 23:46:2367 days ago1723247183IN
0x52d18469...F0072949c
0 ETH0.000284692.03816746
Unstake Blox204645552024-08-05 19:48:4771 days ago1722887327IN
0x52d18469...F0072949c
0 ETH0.001271548.51235357
Unstake Blox204510312024-08-03 22:33:4773 days ago1722724427IN
0x52d18469...F0072949c
0 ETH0.00027811.99096935
Unstake Blox203995782024-07-27 18:08:4780 days ago1722103727IN
0x52d18469...F0072949c
0 ETH0.000466482.75934287
Stake Blox203154432024-07-16 0:19:4792 days ago1721089187IN
0x52d18469...F0072949c
0 ETH0.0018890910.25133022
Stake Blox202999162024-07-13 20:17:3594 days ago1720901855IN
0x52d18469...F0072949c
0 ETH0.000442911.98368596
Claim Rewards202982792024-07-13 14:48:5995 days ago1720882139IN
0x52d18469...F0072949c
0 ETH0.000187274.21089506
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208927062024-10-04 14:18:1112 days ago1728051491
0x52d18469...F0072949c
0.03484015 ETH
207534302024-09-15 3:49:1131 days ago1726372151
0x52d18469...F0072949c
0.02209888 ETH
207427122024-09-13 15:53:2333 days ago1726242803
0x52d18469...F0072949c
0.00579086 ETH
206832602024-09-05 8:42:3541 days ago1725525755
0x52d18469...F0072949c
0.04726109 ETH
206472872024-08-31 8:13:4746 days ago1725092027
0x52d18469...F0072949c
0.01399459 ETH
206237132024-08-28 1:09:4749 days ago1724807387
0x52d18469...F0072949c
0.00174093 ETH
206215732024-08-27 18:00:2349 days ago1724781623
0x52d18469...F0072949c
0.00526331 ETH
205605622024-08-19 5:23:5958 days ago1724045039
0x52d18469...F0072949c
0.02504744 ETH
204944162024-08-09 23:46:2367 days ago1723247183
0x52d18469...F0072949c
0.00827101 ETH
204645552024-08-05 19:48:4771 days ago1722887327
0x52d18469...F0072949c
0.12443674 ETH
204510312024-08-03 22:33:4773 days ago1722724427
0x52d18469...F0072949c
0.00923664 ETH
203995782024-07-27 18:08:4780 days ago1722103727
0x52d18469...F0072949c
0.07681674 ETH
202982792024-07-13 14:48:5995 days ago1720882139
0x52d18469...F0072949c
0.50603475 ETH
202915592024-07-12 16:16:2395 days ago1720800983
0x52d18469...F0072949c
0.13974551 ETH
202639872024-07-08 19:51:3599 days ago1720468295
0x52d18469...F0072949c
0.04804446 ETH
202595362024-07-08 4:54:11100 days ago1720414451
0x52d18469...F0072949c
0.03465488 ETH
202578322024-07-07 23:11:35100 days ago1720393895
0x52d18469...F0072949c
0.00732091 ETH
202475122024-07-06 12:37:59102 days ago1720269479
0x52d18469...F0072949c
0.02902535 ETH
202427092024-07-05 20:31:23102 days ago1720211483
0x52d18469...F0072949c
0.12901864 ETH
202318652024-07-04 8:10:11104 days ago1720080611
0x52d18469...F0072949c
0.02298411 ETH
202311682024-07-04 5:49:59104 days ago1720072199
0x52d18469...F0072949c
0.10287973 ETH
202279312024-07-03 18:59:47104 days ago1720033187
0x52d18469...F0072949c
0.01498121 ETH
201999882024-06-29 21:20:47108 days ago1719696047
0x52d18469...F0072949c
0.00199959 ETH
201158082024-06-18 2:54:59120 days ago1718679299
0x52d18469...F0072949c
0.02322399 ETH
201086792024-06-17 2:58:35121 days ago1718593115
0x52d18469...F0072949c
0.00794786 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BloxStaking

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 999 runs

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

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

library CastMath {
    function int256Cast(uint256 a) internal pure returns (int256) {
        int256 b = int256(a);
        require(b >= 0, "unsafe int256 cast");
        return b;
    }

    function uint256Cast(int256 a) internal pure returns (uint256) {
        require(a >= 0, "unsafe uint256 cast");
        return uint256(a);
    }
}

interface UniSwap {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
}

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

contract DividendContract {

    uint256 constant internal MAGNITUDE = 2**128;
    uint256 internal magnifiedDividendPerShare;
                                                                         
    mapping(address => int256) internal magnifiedDividendCorrections;
    mapping(address => uint256) internal withdrawnDividends;
    mapping(address => uint256) public holderBalance;
 
    uint256 public totalDividends;
    uint256 public totalBloxDividendsDistributed;

    event DividendsDistributed(address indexed from, uint256 amount);
    event DividendWithdrawn(address indexed to, uint256 amount);

    function withdrawnDividendOf(address user) external view returns(uint256) {
        return withdrawnDividends[user];
    }

    function dividendOf(address user) public view returns(uint256) {
        return accumulativeDividendOf(user) - withdrawnDividends[user];
    }

    function accumulativeDividendOf(address user) public view returns(uint256) {
        int256 magnifiedBalance = CastMath.int256Cast(magnifiedDividendPerShare * holderBalance[user]);
        uint256 correctedBalance = CastMath.uint256Cast(magnifiedBalance + magnifiedDividendCorrections[user]);
        return correctedBalance / MAGNITUDE;
    }

    function _distributeDividends(uint amount) internal {
        require(totalDividends > 0, "Nobody to distribute to");
        magnifiedDividendPerShare += (amount * MAGNITUDE) / totalDividends;
        emit DividendsDistributed(msg.sender, amount);
        totalBloxDividendsDistributed += amount;
    }

    function _withdrawDividendOfUser(address payable user) internal  {
        uint256 _withdrawableDividend = dividendOf(user);
        if (_withdrawableDividend == 0) {return;} 
        withdrawnDividends[user] += _withdrawableDividend;
        (bool success,) = user.call{value: _withdrawableDividend}("");
        if (!success) {
            withdrawnDividends[user] -= _withdrawableDividend; //undo withdraw
            return;
        }
        emit DividendWithdrawn(user, _withdrawableDividend);
   } 

  function _updateBalance(address user, uint256 newBalance) internal {
    uint256 currentBalance = holderBalance[user];
    holderBalance[user] = newBalance;
    if (newBalance > currentBalance) {
        uint256 increaseAmount = newBalance - currentBalance;
        magnifiedDividendCorrections[user] -= CastMath.int256Cast(magnifiedDividendPerShare * increaseAmount);
        totalDividends += increaseAmount;
    } else if (newBalance < currentBalance) {
        uint256 reduceAmount = currentBalance - newBalance;
        magnifiedDividendCorrections[user] += CastMath.int256Cast(magnifiedDividendPerShare * reduceAmount);
        totalDividends -= reduceAmount;
    }
   }

    function _updateAccountBalance(address payable user, uint256 newBalance) internal {
        _updateBalance(user, newBalance);
    	_withdrawDividendOfUser(user); // auto-send dividends when balance changes (i.e. unstake)
    }
}

contract BloxStaking is DividendContract, ReentrancyGuard {

    IERC20 public immutable bloxToken;
    UniSwap private immutable dexRouter;

    mapping (address => uint256) public holderUnlockTime;
    mapping(address => uint256) internal stakeBlock;
    uint256 public immutable lockDuration;

    event Stake(address indexed user, uint256 amount);
    event Unstake(address indexed user, uint256 amount);

    constructor(address token, uint256 lockDays) { 
        bloxToken = IERC20(token);
        lockDuration = lockDays * 1 days;
        dexRouter = UniSwap(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    }

    receive() external payable {
        revShare();
    }

    function stakeBlox(uint256 amount) external nonReentrant {
        require(amount > 0, "Amount cannot be 0");
        if(holderUnlockTime[msg.sender] == 0) {
            holderUnlockTime[msg.sender] = block.timestamp + lockDuration;
        }
        stakeBlock[msg.sender] = block.timestamp;
        uint256 userAmount = holderBalance[msg.sender];
        uint256 balanceBefore = bloxToken.balanceOf(address(this));
        bloxToken.transferFrom(address(msg.sender), address(this), amount);
        uint256 bought = bloxToken.balanceOf(address(this)) - balanceBefore;
        _updateAccountBalance(payable(msg.sender), userAmount + bought);
        emit Stake(msg.sender, amount);
    }

    function revShare() public payable {
        require(msg.value > 0, "No ETH sent");
        _distributeDividends(msg.value);
    }

    function unstakeBlox(uint256 amount) public nonReentrant  {
        require(amount > 0, "Cannot withdraw 0 tokens");
        require(holderUnlockTime[msg.sender] <= block.timestamp, "Cannot withdraw yet");
        require(stakeBlock[msg.sender] + 1 hours < block.timestamp, "Attack block");
        uint256 userDividends = holderBalance[msg.sender];
        require(amount <= userDividends, "Not enough Blox tokens");
        _updateAccountBalance(payable(msg.sender), userDividends - amount);
        // Everything unstaked = reset stamp to 0, else extend lock
        holderUnlockTime[msg.sender] = userDividends == amount ? 0 : block.timestamp + lockDuration;
        bool success = bloxToken.transfer(address(msg.sender), amount);
        require(success, "Transfer of Blox failed");
        emit Unstake(msg.sender, amount);
    }

    function unstakeAllBlox() external   { 
        uint256 totalTokens = holderBalance[msg.sender];
        unstakeBlox(totalTokens);
    }

    function buyBloxTokens(uint256 weiAmount, uint256 minOut) internal returns(uint256) {
        uint256 initialBalance = bloxToken.balanceOf(address(this));
        address[] memory path = new address[](2);
        path[0] = dexRouter.WETH();
        path[1] = address(bloxToken);
        dexRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: weiAmount}(
            minOut,
            path,
            address(this),
            block.timestamp
        );
        return bloxToken.balanceOf(address(this)) - initialBalance;
    }

    function claimRewards() external nonReentrant { 
        _withdrawDividendOfUser(payable(msg.sender));
    }

    function compoundBlox(uint256 minOutput) external nonReentrant {
        // Check how much dividend ETH we have
        uint256 accountBalance = holderBalance[msg.sender];
        uint256 dividendETH = dividendOf(msg.sender);
        require(dividendETH > 0, "Nothing to compound");
        withdrawnDividends[msg.sender] += dividendETH; // We use the ETH for buyback
        emit DividendWithdrawn(msg.sender, dividendETH);
        // Use dividend ETH to buy Blox tokens
        uint BloxBought = buyBloxTokens(dividendETH, minOutput); 
        // Update balance
        _updateAccountBalance(payable(msg.sender), accountBalance + BloxBought);
    }

    function getCompoundTokensForWallet(address wallet) external view returns(uint256) {
        uint256 dividendETH = dividendOf(wallet);
        require(dividendETH > 0, "Nothing to compound");
        address[] memory path = new address[](2);
        path[0] = dexRouter.WETH();
        path[1] = address(bloxToken);
        // Get the tokens we can buy for the given ETH
        return dexRouter.getAmountsOut(dividendETH, path)[1]; 
    }

 }

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"lockDays","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DividendWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DividendsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstake","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"accumulativeDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bloxToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minOutput","type":"uint256"}],"name":"compoundBlox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"dividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"getCompoundTokensForWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revShare","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeBlox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalBloxDividendsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unstakeAllBlox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstakeBlox","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"withdrawnDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e060405234801561001057600080fd5b5060405162001a3638038062001a3683398101604081905261003191610072565b60016006556001600160a01b03821660805261005081620151806100ac565b60c0525050737a250d5630b4cf539739df2c5dacb4c659f2488d60a0526100d7565b6000806040838503121561008557600080fd5b82516001600160a01b038116811461009c57600080fd5b6020939093015192949293505050565b80820281158282048414176100d157634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c0516118d4620001626000396000818161011d015281816107370152610d9501526000818161042d015281816105520152818161127b01526113a00152600081816102d2015281816104e2015281816107aa01528181610853015281816108eb01528181610e14015281816111e801528181611330015261142601526118d46000f3fe6080604052600436106100f75760003560e01c8063997664d71161008a578063b7aab50311610059578063b7aab503146102aa578063bbc9a441146102c0578063d7951d191461030c578063f66c1fe91461032c57600080fd5b8063997664d714610204578063a913a5f71461021a578063aafd847a14610247578063ab6ddfa81461027d57600080fd5b80632b45f053116100c65780632b45f0531461019a578063372500ab146101ba578063467bf5ad146101cf57806391b89fba146101e457600080fd5b8063045544431461010b5780631b03ddc1146101525780632087f9771461015a57806327ce01471461017a57600080fd5b366101065761010461034c565b005b600080fd5b34801561011757600080fd5b5061013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61010461034c565b34801561016657600080fd5b5061013f6101753660046115c9565b6103ac565b34801561018657600080fd5b5061013f6101953660046115c9565b6105f3565b3480156101a657600080fd5b506101046101b53660046115ed565b610678565b3480156101c657600080fd5b506101046109b5565b3480156101db57600080fd5b50610104610a1c565b3480156101f057600080fd5b5061013f6101ff3660046115c9565b610a38565b34801561021057600080fd5b5061013f60045481565b34801561022657600080fd5b5061013f6102353660046115c9565b60076020526000908152604090205481565b34801561025357600080fd5b5061013f6102623660046115c9565b6001600160a01b031660009081526002602052604090205490565b34801561028957600080fd5b5061013f6102983660046115c9565b60036020526000908152604090205481565b3480156102b657600080fd5b5061013f60055481565b3480156102cc57600080fd5b506102f47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610149565b34801561031857600080fd5b506101046103273660046115ed565b610a6a565b34801561033857600080fd5b506101046103473660046115ed565b610bad565b600034116103a15760405162461bcd60e51b815260206004820152600b60248201527f4e6f204554482073656e7400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6103aa34610f0f565b565b6000806103b883610a38565b90506000811161040a5760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f20636f6d706f756e64000000000000000000000000006044820152606401610398565b6040805160028082526060820183526000926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ad919061161c565b816000815181106104c0576104c0611639565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061051457610514611639565b6001600160a01b0392831660209182029290920101526040517fd06ca61f0000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f9061058b9085908590600401611693565b600060405180830381865afa1580156105a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d091908101906116ac565b6001815181106105e2576105e2611639565b602002602001015192505050919050565b6001600160a01b038116600090815260036020526040812054815482916106239161061e9190611780565b610fed565b6001600160a01b038416600090815260016020526040812054919250906106539061064e9084611797565b611040565b9050610670700100000000000000000000000000000000826117bf565b949350505050565b6002600654036106ca5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b60026006558061071c5760405162461bcd60e51b815260206004820152601260248201527f416d6f756e742063616e6e6f74206265203000000000000000000000000000006044820152606401610398565b33600090815260076020526040812054900361076d5761075c7f0000000000000000000000000000000000000000000000000000000000000000426117e1565b336000908152600760205260409020555b33600090815260086020908152604080832042905560039091528082205490516370a0823160e01b81523060048201529091906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081591906117f4565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c8919061180d565b506040516370a0823160e01b815230600482015260009082906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095691906117f4565b610960919061182f565b90506109753361097083866117e1565b611096565b60405184815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a2505060016006555050565b600260065403610a075760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b6002600655610a15336110ad565b6001600655565b33600090815260036020526040902054610a3581610bad565b50565b6001600160a01b038116600090815260026020526040812054610a5a836105f3565b610a64919061182f565b92915050565b600260065403610abc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b60026006553360008181526003602052604081205491610adb90610a38565b905060008111610b2d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f20636f6d706f756e64000000000000000000000000006044820152606401610398565b3360009081526002602052604081208054839290610b4c9084906117e1565b909155505060405181815233907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a26000610b9282856111c6565b9050610ba23361097083866117e1565b505060016006555050565b600260065403610bff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b600260065580610c515760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74207769746864726177203020746f6b656e7300000000000000006044820152606401610398565b33600090815260076020526040902054421015610cb05760405162461bcd60e51b815260206004820152601360248201527f43616e6e6f7420776974686472617720796574000000000000000000000000006044820152606401610398565b336000908152600860205260409020544290610cce90610e106117e1565b10610d1b5760405162461bcd60e51b815260206004820152600c60248201527f41747461636b20626c6f636b00000000000000000000000000000000000000006044820152606401610398565b3360009081526003602052604090205480821115610d7b5760405162461bcd60e51b815260206004820152601660248201527f4e6f7420656e6f75676820426c6f7820746f6b656e73000000000000000000006044820152606401610398565b610d8933610970848461182f565b818114610dbf57610dba7f0000000000000000000000000000000000000000000000000000000000000000426117e1565b610dc2565b60005b336000818152600760205260408082209390935591517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810191909152602481018490526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e81919061180d565b905080610ed05760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206f6620426c6f78206661696c65640000000000000000006044820152606401610398565b60405183815233907f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd9060200160405180910390a25050600160065550565b600060045411610f615760405162461bcd60e51b815260206004820152601760248201527f4e6f626f647920746f206469737472696275746520746f0000000000000000006044820152606401610398565b600454610f7f70010000000000000000000000000000000083611780565b610f8991906117bf565b600080828254610f9991906117e1565b909155505060405181815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a28060056000828254610fe591906117e1565b909155505050565b60008181811215610a645760405162461bcd60e51b815260206004820152601260248201527f756e7361666520696e74323536206361737400000000000000000000000000006044820152606401610398565b6000808212156110925760405162461bcd60e51b815260206004820152601360248201527f756e736166652075696e743235362063617374000000000000000000000000006044820152606401610398565b5090565b6110a082826114ae565b6110a9826110ad565b5050565b60006110b882610a38565b9050806000036110c6575050565b6001600160a01b038216600090815260026020526040812080548392906110ee9084906117e1565b90915550506040516000906001600160a01b0384169083908381818185875af1925050503d806000811461113e576040519150601f19603f3d011682016040523d82523d6000602084013e611143565b606091505b505090508061117e576001600160a01b0383166000908152600260205260408120805484929061117490849061182f565b9091555050505050565b826001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d836040516111b991815260200190565b60405180910390a2505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125391906117f4565b60408051600280825260608201835292935060009290916020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fb919061161c565b8160008151811061130e5761130e611639565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061136257611362611639565b6001600160a01b0392831660209182029290920101526040517fb6f9de950000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000009091169063b6f9de959087906113df908890869030904290600401611842565b6000604051808303818588803b1580156113f857600080fd5b505af115801561140c573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528593507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692506370a082319150602401602060405180830381865afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149b91906117f4565b6114a5919061182f565b95945050505050565b6001600160a01b0382166000908152600360205260409020805490829055808211156115405760006114e0828461182f565b90506114f38160005461061e9190611780565b6001600160a01b0385166000908152600160205260408120805490919061151b908490611877565b92505081905550806004600082825461153491906117e1565b909155506115af915050565b808210156115af576000611554838361182f565b90506115678160005461061e9190611780565b6001600160a01b0385166000908152600160205260408120805490919061158f908490611797565b9250508190555080600460008282546115a8919061182f565b9091555050505b505050565b6001600160a01b0381168114610a3557600080fd5b6000602082840312156115db57600080fd5b81356115e6816115b4565b9392505050565b6000602082840312156115ff57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561162e57600080fd5b81516115e6816115b4565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156116885781516001600160a01b031687529582019590820190600101611663565b509495945050505050565b828152604060208201526000610670604083018461164f565b600060208083850312156116bf57600080fd5b825167ffffffffffffffff808211156116d757600080fd5b818501915085601f8301126116eb57600080fd5b8151818111156116fd576116fd611606565b8060051b604051601f19603f8301168101818110858211171561172257611722611606565b60405291825284820192508381018501918883111561174057600080fd5b938501935b8285101561175e57845184529385019392850192611745565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a6457610a6461176a565b80820182811260008312801582168215821617156117b7576117b761176a565b505092915050565b6000826117dc57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a6457610a6461176a565b60006020828403121561180657600080fd5b5051919050565b60006020828403121561181f57600080fd5b815180151581146115e657600080fd5b81810381811115610a6457610a6461176a565b84815260806020820152600061185b608083018661164f565b6001600160a01b03949094166040830152506060015292915050565b81810360008312801583831316838312821617156118975761189761176a565b509291505056fea2646970667358221220c80c3f6ffb5d8c478d75356f3ddd0ea1978c5836ab796ad0f53f62ca9269ba5764736f6c63430008120033000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae37000000000000000000000000000000000000000000000000000000000000000e

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063997664d71161008a578063b7aab50311610059578063b7aab503146102aa578063bbc9a441146102c0578063d7951d191461030c578063f66c1fe91461032c57600080fd5b8063997664d714610204578063a913a5f71461021a578063aafd847a14610247578063ab6ddfa81461027d57600080fd5b80632b45f053116100c65780632b45f0531461019a578063372500ab146101ba578063467bf5ad146101cf57806391b89fba146101e457600080fd5b8063045544431461010b5780631b03ddc1146101525780632087f9771461015a57806327ce01471461017a57600080fd5b366101065761010461034c565b005b600080fd5b34801561011757600080fd5b5061013f7f000000000000000000000000000000000000000000000000000000000012750081565b6040519081526020015b60405180910390f35b61010461034c565b34801561016657600080fd5b5061013f6101753660046115c9565b6103ac565b34801561018657600080fd5b5061013f6101953660046115c9565b6105f3565b3480156101a657600080fd5b506101046101b53660046115ed565b610678565b3480156101c657600080fd5b506101046109b5565b3480156101db57600080fd5b50610104610a1c565b3480156101f057600080fd5b5061013f6101ff3660046115c9565b610a38565b34801561021057600080fd5b5061013f60045481565b34801561022657600080fd5b5061013f6102353660046115c9565b60076020526000908152604090205481565b34801561025357600080fd5b5061013f6102623660046115c9565b6001600160a01b031660009081526002602052604090205490565b34801561028957600080fd5b5061013f6102983660046115c9565b60036020526000908152604090205481565b3480156102b657600080fd5b5061013f60055481565b3480156102cc57600080fd5b506102f47f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae3781565b6040516001600160a01b039091168152602001610149565b34801561031857600080fd5b506101046103273660046115ed565b610a6a565b34801561033857600080fd5b506101046103473660046115ed565b610bad565b600034116103a15760405162461bcd60e51b815260206004820152600b60248201527f4e6f204554482073656e7400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6103aa34610f0f565b565b6000806103b883610a38565b90506000811161040a5760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f20636f6d706f756e64000000000000000000000000006044820152606401610398565b6040805160028082526060820183526000926020830190803683370190505090507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ad919061161c565b816000815181106104c0576104c0611639565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae378160018151811061051457610514611639565b6001600160a01b0392831660209182029290920101526040517fd06ca61f0000000000000000000000000000000000000000000000000000000081527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063d06ca61f9061058b9085908590600401611693565b600060405180830381865afa1580156105a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d091908101906116ac565b6001815181106105e2576105e2611639565b602002602001015192505050919050565b6001600160a01b038116600090815260036020526040812054815482916106239161061e9190611780565b610fed565b6001600160a01b038416600090815260016020526040812054919250906106539061064e9084611797565b611040565b9050610670700100000000000000000000000000000000826117bf565b949350505050565b6002600654036106ca5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b60026006558061071c5760405162461bcd60e51b815260206004820152601260248201527f416d6f756e742063616e6e6f74206265203000000000000000000000000000006044820152606401610398565b33600090815260076020526040812054900361076d5761075c7f0000000000000000000000000000000000000000000000000000000000127500426117e1565b336000908152600760205260409020555b33600090815260086020908152604080832042905560039091528082205490516370a0823160e01b81523060048201529091906001600160a01b037f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae3716906370a0823190602401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081591906117f4565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091507f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae376001600160a01b0316906323b872dd906064016020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c8919061180d565b506040516370a0823160e01b815230600482015260009082906001600160a01b037f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae3716906370a0823190602401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095691906117f4565b610960919061182f565b90506109753361097083866117e1565b611096565b60405184815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a2505060016006555050565b600260065403610a075760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b6002600655610a15336110ad565b6001600655565b33600090815260036020526040902054610a3581610bad565b50565b6001600160a01b038116600090815260026020526040812054610a5a836105f3565b610a64919061182f565b92915050565b600260065403610abc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b60026006553360008181526003602052604081205491610adb90610a38565b905060008111610b2d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f20636f6d706f756e64000000000000000000000000006044820152606401610398565b3360009081526002602052604081208054839290610b4c9084906117e1565b909155505060405181815233907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a26000610b9282856111c6565b9050610ba23361097083866117e1565b505060016006555050565b600260065403610bff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610398565b600260065580610c515760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74207769746864726177203020746f6b656e7300000000000000006044820152606401610398565b33600090815260076020526040902054421015610cb05760405162461bcd60e51b815260206004820152601360248201527f43616e6e6f7420776974686472617720796574000000000000000000000000006044820152606401610398565b336000908152600860205260409020544290610cce90610e106117e1565b10610d1b5760405162461bcd60e51b815260206004820152600c60248201527f41747461636b20626c6f636b00000000000000000000000000000000000000006044820152606401610398565b3360009081526003602052604090205480821115610d7b5760405162461bcd60e51b815260206004820152601660248201527f4e6f7420656e6f75676820426c6f7820746f6b656e73000000000000000000006044820152606401610398565b610d8933610970848461182f565b818114610dbf57610dba7f0000000000000000000000000000000000000000000000000000000000127500426117e1565b610dc2565b60005b336000818152600760205260408082209390935591517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810191909152602481018490526001600160a01b037f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae37169063a9059cbb906044016020604051808303816000875af1158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e81919061180d565b905080610ed05760405162461bcd60e51b815260206004820152601760248201527f5472616e73666572206f6620426c6f78206661696c65640000000000000000006044820152606401610398565b60405183815233907f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd9060200160405180910390a25050600160065550565b600060045411610f615760405162461bcd60e51b815260206004820152601760248201527f4e6f626f647920746f206469737472696275746520746f0000000000000000006044820152606401610398565b600454610f7f70010000000000000000000000000000000083611780565b610f8991906117bf565b600080828254610f9991906117e1565b909155505060405181815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a28060056000828254610fe591906117e1565b909155505050565b60008181811215610a645760405162461bcd60e51b815260206004820152601260248201527f756e7361666520696e74323536206361737400000000000000000000000000006044820152606401610398565b6000808212156110925760405162461bcd60e51b815260206004820152601360248201527f756e736166652075696e743235362063617374000000000000000000000000006044820152606401610398565b5090565b6110a082826114ae565b6110a9826110ad565b5050565b60006110b882610a38565b9050806000036110c6575050565b6001600160a01b038216600090815260026020526040812080548392906110ee9084906117e1565b90915550506040516000906001600160a01b0384169083908381818185875af1925050503d806000811461113e576040519150601f19603f3d011682016040523d82523d6000602084013e611143565b606091505b505090508061117e576001600160a01b0383166000908152600260205260408120805484929061117490849061182f565b9091555050505050565b826001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d836040516111b991815260200190565b60405180910390a2505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae3716906370a0823190602401602060405180830381865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125391906117f4565b60408051600280825260608201835292935060009290916020830190803683370190505090507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fb919061161c565b8160008151811061130e5761130e611639565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae378160018151811061136257611362611639565b6001600160a01b0392831660209182029290920101526040517fb6f9de950000000000000000000000000000000000000000000000000000000081527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063b6f9de959087906113df908890869030904290600401611842565b6000604051808303818588803b1580156113f857600080fd5b505af115801561140c573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528593507f000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae376001600160a01b031692506370a082319150602401602060405180830381865afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149b91906117f4565b6114a5919061182f565b95945050505050565b6001600160a01b0382166000908152600360205260409020805490829055808211156115405760006114e0828461182f565b90506114f38160005461061e9190611780565b6001600160a01b0385166000908152600160205260408120805490919061151b908490611877565b92505081905550806004600082825461153491906117e1565b909155506115af915050565b808210156115af576000611554838361182f565b90506115678160005461061e9190611780565b6001600160a01b0385166000908152600160205260408120805490919061158f908490611797565b9250508190555080600460008282546115a8919061182f565b9091555050505b505050565b6001600160a01b0381168114610a3557600080fd5b6000602082840312156115db57600080fd5b81356115e6816115b4565b9392505050565b6000602082840312156115ff57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561162e57600080fd5b81516115e6816115b4565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156116885781516001600160a01b031687529582019590820190600101611663565b509495945050505050565b828152604060208201526000610670604083018461164f565b600060208083850312156116bf57600080fd5b825167ffffffffffffffff808211156116d757600080fd5b818501915085601f8301126116eb57600080fd5b8151818111156116fd576116fd611606565b8060051b604051601f19603f8301168101818110858211171561172257611722611606565b60405291825284820192508381018501918883111561174057600080fd5b938501935b8285101561175e57845184529385019392850192611745565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a6457610a6461176a565b80820182811260008312801582168215821617156117b7576117b761176a565b505092915050565b6000826117dc57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a6457610a6461176a565b60006020828403121561180657600080fd5b5051919050565b60006020828403121561181f57600080fd5b815180151581146115e657600080fd5b81810381811115610a6457610a6461176a565b84815260806020820152600061185b608083018661164f565b6001600160a01b03949094166040830152506060015292915050565b81810360008312801583831316838312821617156118975761189761176a565b509291505056fea2646970667358221220c80c3f6ffb5d8c478d75356f3ddd0ea1978c5836ab796ad0f53f62ca9269ba5764736f6c63430008120033

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

000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae37000000000000000000000000000000000000000000000000000000000000000e

-----Decoded View---------------
Arg [0] : token (address): 0x320eD4c7243E35A00F9Ca30a1aE60929d15eAE37
Arg [1] : lockDays (uint256): 14

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000320ed4c7243e35a00f9ca30a1ae60929d15eae37
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000e


Deployed Bytecode Sourcemap

4867:4360:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5546:10;:8;:10::i;:::-;4867:4360;;;;;5131:37;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5131:37:0;;;;;;;;6280:133;;;:::i;8774:447::-;;;;;;;;;;-1:-1:-1;8774:447:0;;;;;:::i;:::-;;:::i;2743:347::-;;;;;;;;;;-1:-1:-1;2743:347:0;;;;;:::i;:::-;;:::i;5572:700::-;;;;;;;;;;-1:-1:-1;5572:700:0;;;;;:::i;:::-;;:::i;7987:110::-;;;;;;;;;;;;;:::i;7276:139::-;;;;;;;;;;;;;:::i;2591:144::-;;;;;;;;;;-1:-1:-1;2591:144:0;;;;;:::i;:::-;;:::i;2231:29::-;;;;;;;;;;;;;;;;5018:52;;;;;;;;;;-1:-1:-1;5018:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;2459:124;;;;;;;;;;-1:-1:-1;2459:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;2551:24:0;2524:7;2551:24;;;:18;:24;;;;;;;2459:124;2173:48;;;;;;;;;;-1:-1:-1;2173:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;2267:44;;;;;;;;;;;;;;;;4934:33;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;970:55:1;;;952:74;;940:2;925:18;4934:33:0;792:240:1;8105:661:0;;;;;;;;;;-1:-1:-1;8105:661:0;;;;;:::i;:::-;;:::i;6421:847::-;;;;;;;;;;-1:-1:-1;6421:847:0;;;;;:::i;:::-;;:::i;6280:133::-;6346:1;6334:9;:13;6326:37;;;;-1:-1:-1;;;6326:37:0;;1239:2:1;6326:37:0;;;1221:21:1;1278:2;1258:18;;;1251:30;1317:13;1297:18;;;1290:41;1348:18;;6326:37:0;;;;;;;;;6374:31;6395:9;6374:20;:31::i;:::-;6280:133::o;8774:447::-;8848:7;8868:19;8890:18;8901:6;8890:10;:18::i;:::-;8868:40;;8941:1;8927:11;:15;8919:47;;;;-1:-1:-1;;;8919:47:0;;1579:2:1;8919:47:0;;;1561:21:1;1618:2;1598:18;;;1591:30;1657:21;1637:18;;;1630:49;1696:18;;8919:47:0;1377:343:1;8919:47:0;9001:16;;;9015:1;9001:16;;;;;;;;8977:21;;9001:16;;;;;;;;;;-1:-1:-1;9001:16:0;8977:40;;9038:9;-1:-1:-1;;;;;9038:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9028:4;9033:1;9028:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;9028:26:0;;;-1:-1:-1;;;;;9028:26:0;;;;;9083:9;9065:4;9070:1;9065:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9065:28:0;;;:7;;;;;;;;;:28;9167:42;;;;;:9;:23;;;;;;:42;;9191:11;;9204:4;;9167:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9167:42:0;;;;;;;;;;;;:::i;:::-;9210:1;9167:45;;;;;;;;:::i;:::-;;;;;;;9160:52;;;;8774:447;;;:::o;2743:347::-;-1:-1:-1;;;;;2903:19:0;;2809:7;2903:19;;;:13;:19;;;;;;2875:25;;2809:7;;2855:68;;2875:47;;2903:19;2875:47;:::i;:::-;2855:19;:68::i;:::-;-1:-1:-1;;;;;3001:34:0;;2934:24;3001:34;;;:28;:34;;;;;;2829:94;;-1:-1:-1;2934:24:0;2961:75;;2982:53;;2829:94;2982:53;:::i;:::-;2961:20;:75::i;:::-;2934:102;-1:-1:-1;3054:28:0;1903:6;2934:102;3054:28;:::i;:::-;3047:35;2743:347;-1:-1:-1;;;;2743:347:0:o;5572:700::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;5359:2:1;1678:63:0;;;5341:21:1;5398:2;5378:18;;;5371:30;5437:33;5417:18;;;5410:61;5488:18;;1678:63:0;5157:355:1;1678:63:0;1538:1;1752:7;:18;5648:10;5640:41:::1;;;::::0;-1:-1:-1;;;5640:41:0;;5719:2:1;5640:41:0::1;::::0;::::1;5701:21:1::0;5758:2;5738:18;;;5731:30;5797:20;5777:18;;;5770:48;5835:18;;5640:41:0::1;5517:342:1::0;5640:41:0::1;5712:10;5695:28;::::0;;;:16:::1;:28;::::0;;;;;:33;;5692:126:::1;;5776:30;5794:12;5776:15;:30;:::i;:::-;5762:10;5745:28;::::0;;;:16:::1;:28;::::0;;;;:61;5692:126:::1;5839:10;5828:22;::::0;;;:10:::1;:22;::::0;;;;;;;5853:15:::1;5828:40:::0;;5900:13:::1;:25:::0;;;;;;;5960:34;;-1:-1:-1;;;5960:34:0;;5988:4:::1;5960:34;::::0;::::1;952:74:1::0;5900:25:0;;5828:22;-1:-1:-1;;;;;5960:9:0::1;:19;::::0;::::1;::::0;925:18:1;;5960:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6005:66;::::0;;;;6036:10:::1;6005:66;::::0;::::1;6677:34:1::0;6057:4:0::1;6727:18:1::0;;;6720:43;6779:18;;;6772:34;;;5936:58:0;;-1:-1:-1;6005:9:0::1;-1:-1:-1::0;;;;;6005:22:0::1;::::0;::::1;::::0;6589:18:1;;6005:66:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6099:34:0::1;::::0;-1:-1:-1;;;6099:34:0;;6127:4:::1;6099:34;::::0;::::1;952:74:1::0;6082:14:0::1;::::0;6136:13;;-1:-1:-1;;;;;6099:9:0::1;:19;::::0;::::1;::::0;925:18:1;;6099:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;;;;:::i;:::-;6082:67:::0;-1:-1:-1;6160:63:0::1;6190:10;6203:19;6082:67:::0;6203:10;:19:::1;:::i;:::-;6160:21;:63::i;:::-;6239:25;::::0;160::1;;;6245:10:0::1;::::0;6239:25:::1;::::0;148:2:1;133:18;6239:25:0::1;;;;;;;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;;5572:700:0:o;7987:110::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;5359:2:1;1678:63:0;;;5341:21:1;5398:2;5378:18;;;5371:30;5437:33;5417:18;;;5410:61;5488:18;;1678:63:0;5157:355:1;1678:63:0;1538:1;1752:7;:18;8045:44:::1;8077:10;8045:23;:44::i;:::-;1494:1:::0;1793:7;:22;7987:110::o;7276:139::-;7361:10;7325:19;7347:25;;;:13;:25;;;;;;7383:24;7347:25;7383:11;:24::i;:::-;7313:102;7276:139::o;2591:144::-;-1:-1:-1;;;;;2703:24:0;;2645:7;2703:24;;;:18;:24;;;;;;2672:28;2722:4;2672:22;:28::i;:::-;:55;;;;:::i;:::-;2665:62;2591:144;-1:-1:-1;;2591:144:0:o;8105:661::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;5359:2:1;1678:63:0;;;5341:21:1;5398:2;5378:18;;;5371:30;5437:33;5417:18;;;5410:61;5488:18;;1678:63:0;5157:355:1;1678:63:0;1538:1;1752:7;:18;8266:10:::1;8227:22;8252:25:::0;;;:13:::1;:25;::::0;;;;;;8310:22:::1;::::0;:10:::1;:22::i;:::-;8288:44;;8365:1;8351:11;:15;8343:47;;;::::0;-1:-1:-1;;;8343:47:0;;1579:2:1;8343:47:0::1;::::0;::::1;1561:21:1::0;1618:2;1598:18;;;1591:30;1657:21;1637:18;;;1630:49;1696:18;;8343:47:0::1;1377:343:1::0;8343:47:0::1;8420:10;8401:30;::::0;;;:18:::1;:30;::::0;;;;:45;;8435:11;;8401:30;:45:::1;::::0;8435:11;;8401:45:::1;:::i;:::-;::::0;;;-1:-1:-1;;8492:42:0::1;::::0;160:25:1;;;8510:10:0::1;::::0;8492:42:::1;::::0;148:2:1;133:18;8492:42:0::1;;;;;;;8593:15;8611:37;8625:11;8638:9;8611:13;:37::i;:::-;8593:55:::0;-1:-1:-1;8687:71:0::1;8717:10;8730:27;8593:55:::0;8730:14;:27:::1;:::i;8687:71::-;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;;8105:661:0:o;6421:847::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;5359:2:1;1678:63:0;;;5341:21:1;5398:2;5378:18;;;5371:30;5437:33;5417:18;;;5410:61;5488:18;;1678:63:0;5157:355:1;1678:63:0;1538:1;1752:7;:18;6498:10;6490:47:::1;;;::::0;-1:-1:-1;;;6490:47:0;;7434:2:1;6490:47:0::1;::::0;::::1;7416:21:1::0;7473:2;7453:18;;;7446:30;7512:26;7492:18;;;7485:54;7556:18;;6490:47:0::1;7232:348:1::0;6490:47:0::1;6573:10;6556:28;::::0;;;:16:::1;:28;::::0;;;;;6588:15:::1;-1:-1:-1::0;6556:47:0::1;6548:79;;;::::0;-1:-1:-1;;;6548:79:0;;7787:2:1;6548:79:0::1;::::0;::::1;7769:21:1::0;7826:2;7806:18;;;7799:30;7865:21;7845:18;;;7838:49;7904:18;;6548:79:0::1;7585:343:1::0;6548:79:0::1;6657:10;6646:22;::::0;;;:10:::1;:22;::::0;;;;;6681:15:::1;::::0;6646:32:::1;::::0;6671:7:::1;6646:32;:::i;:::-;:50;6638:75;;;::::0;-1:-1:-1;;;6638:75:0;;8135:2:1;6638:75:0::1;::::0;::::1;8117:21:1::0;8174:2;8154:18;;;8147:30;8213:14;8193:18;;;8186:42;8245:18;;6638:75:0::1;7933:336:1::0;6638:75:0::1;6762:10;6724:21;6748:25:::0;;;:13:::1;:25;::::0;;;;;6792:23;;::::1;;6784:58;;;::::0;-1:-1:-1;;;6784:58:0;;8476:2:1;6784:58:0::1;::::0;::::1;8458:21:1::0;8515:2;8495:18;;;8488:30;8554:24;8534:18;;;8527:52;8596:18;;6784:58:0::1;8274:346:1::0;6784:58:0::1;6853:66;6883:10;6896:22;6912:6:::0;6896:13;:22:::1;:::i;6853:66::-;7047:6;7030:13;:23;:60;;7060:30;7078:12;7060:15;:30;:::i;:::-;7030:60;;;7056:1;7030:60;7016:10;6999:28;::::0;;;:16:::1;:28;::::0;;;;;:91;;;;7116:47;;;;;::::1;::::0;::::1;8799:74:1::0;;;;8889:18;;;8882:34;;;-1:-1:-1;;;;;7116:9:0::1;:18;::::0;::::1;::::0;8772::1;;7116:47:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7101:62;;7182:7;7174:43;;;::::0;-1:-1:-1;;;7174:43:0;;9129:2:1;7174:43:0::1;::::0;::::1;9111:21:1::0;9168:2;9148:18;;;9141:30;9207:25;9187:18;;;9180:53;9250:18;;7174:43:0::1;8927:347:1::0;7174:43:0::1;7233:27;::::0;160:25:1;;;7241:10:0::1;::::0;7233:27:::1;::::0;148:2:1;133:18;7233:27:0::1;;;;;;;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;6421:847:0:o;3098:308::-;3186:1;3169:14;;:18;3161:54;;;;-1:-1:-1;;;3161:54:0;;9481:2:1;3161:54:0;;;9463:21:1;9520:2;9500:18;;;9493:30;9559:25;9539:18;;;9532:53;9602:18;;3161:54:0;9279:347:1;3161:54:0;3278:14;;3256:18;1903:6;3256;:18;:::i;:::-;3255:37;;;;:::i;:::-;3226:25;;:66;;;;;;;:::i;:::-;;;;-1:-1:-1;;3308:40:0;;160:25:1;;;3329:10:0;;3308:40;;148:2:1;133:18;3308:40:0;;;;;;;3392:6;3359:29;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;;3098:308:0:o;84:168::-;138:6;175:1;196:6;;;;188:37;;;;-1:-1:-1;;;188:37:0;;9833:2:1;188:37:0;;;9815:21:1;9872:2;9852:18;;;9845:30;9911:20;9891:18;;;9884:48;9949:18;;188:37:0;9631:342:1;260:148:0;314:7;347:1;342;:6;;334:38;;;;-1:-1:-1;;;334:38:0;;10180:2:1;334:38:0;;;10162:21:1;10219:2;10199:18;;;10192:30;10258:21;10238:18;;;10231:49;10297:18;;334:38:0;9978:343:1;334:38:0;-1:-1:-1;398:1:0;260:148::o;4631:229::-;4724:32;4739:4;4745:10;4724:14;:32::i;:::-;4764:29;4788:4;4764:23;:29::i;:::-;4631:229;;:::o;3414:514::-;3490:29;3522:16;3533:4;3522:10;:16::i;:::-;3490:48;;3553:21;3578:1;3553:26;3549:41;;3582:7;3414:514;:::o;3549:41::-;-1:-1:-1;;;;;3601:24:0;;;;;;:18;:24;;;;;:49;;3629:21;;3601:24;:49;;3629:21;;3601:49;:::i;:::-;;;;-1:-1:-1;;3679:43:0;;3662:12;;-1:-1:-1;;;;;3679:9:0;;;3696:21;;3662:12;3679:43;3662:12;3679:43;3696:21;3679:9;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3661:61;;;3738:7;3733:127;;-1:-1:-1;;;;;3762:24:0;;;;;;:18;:24;;;;;:49;;3790:21;;3762:24;:49;;3790:21;;3762:49;:::i;:::-;;;;-1:-1:-1;;;;;3414:514:0:o;3733:127::-;3893:4;-1:-1:-1;;;;;3875:46:0;;3899:21;3875:46;;;;160:25:1;;148:2;133:18;;14:177;3875:46:0;;;;;;;;3479:449;;3414:514;:::o;7423:556::-;7543:34;;-1:-1:-1;;;7543:34:0;;7571:4;7543:34;;;952:74:1;7498:7:0;;;;-1:-1:-1;;;;;7543:9:0;:19;;;;925:18:1;;7543:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7612:16;;;7626:1;7612:16;;;;;;;;7518:59;;-1:-1:-1;7588:21:0;;7612:16;;;;;;;;;;;;-1:-1:-1;7612:16:0;7588:40;;7649:9;-1:-1:-1;;;;;7649:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7639:4;7644:1;7639:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;7639:26:0;;;-1:-1:-1;;;;;7639:26:0;;;;;7694:9;7676:4;7681:1;7676:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7676:28:0;;;:7;;;;;;;;;:28;7715:187;;;;;:9;:60;;;;;;7783:9;;7715:187;;7808:6;;7829:4;;7856;;7876:15;;7715:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7920:34:0;;-1:-1:-1;;;7920:34:0;;7948:4;7920:34;;;952:74:1;7957:14:0;;-1:-1:-1;7920:9:0;-1:-1:-1;;;;;7920:19:0;;-1:-1:-1;7920:19:0;;-1:-1:-1;925:18:1;;7920:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;;;;:::i;:::-;7913:58;7423:556;-1:-1:-1;;;;;7423:556:0:o;3935:688::-;-1:-1:-1;;;;;4034:19:0;;4009:22;4034:19;;;:13;:19;;;;;;;4060:32;;;;4103:27;;;4099:518;;;4143:22;4168:27;4181:14;4168:10;:27;:::i;:::-;4143:52;;4244:63;4292:14;4264:25;;:42;;;;:::i;4244:63::-;-1:-1:-1;;;;;4206:34:0;;;;;;:28;:34;;;;;:101;;:34;;;:101;;;;;:::i;:::-;;;;;;;;4336:14;4318;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;4099:518:0;;-1:-1:-1;;4099:518:0;;4381:14;4368:10;:27;4364:253;;;4408:20;4431:27;4448:10;4431:14;:27;:::i;:::-;4408:50;;4507:61;4555:12;4527:25;;:40;;;;:::i;4507:61::-;-1:-1:-1;;;;;4469:34:0;;;;;;:28;:34;;;;;:99;;:34;;;:99;;;;;:::i;:::-;;;;;;;;4597:12;4579:14;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4364:253:0;4002:621;3935:688;;:::o;196:154:1:-;-1:-1:-1;;;;;275:5:1;271:54;264:5;261:65;251:93;;340:1;337;330:12;355:247;414:6;467:2;455:9;446:7;442:23;438:32;435:52;;;483:1;480;473:12;435:52;522:9;509:23;541:31;566:5;541:31;:::i;:::-;591:5;355:247;-1:-1:-1;;;355:247:1:o;607:180::-;666:6;719:2;707:9;698:7;694:23;690:32;687:52;;;735:1;732;725:12;687:52;-1:-1:-1;758:23:1;;607:180;-1:-1:-1;607:180:1:o;1725:184::-;-1:-1:-1;;;1774:1:1;1767:88;1874:4;1871:1;1864:15;1898:4;1895:1;1888:15;1914:251;1984:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:52;;;2053:1;2050;2043:12;2005:52;2085:9;2079:16;2104:31;2129:5;2104:31;:::i;2170:184::-;-1:-1:-1;;;2219:1:1;2212:88;2319:4;2316:1;2309:15;2343:4;2340:1;2333:15;2359:484;2412:3;2450:5;2444:12;2477:6;2472:3;2465:19;2503:4;2532:2;2527:3;2523:12;2516:19;;2569:2;2562:5;2558:14;2590:1;2600:218;2614:6;2611:1;2608:13;2600:218;;;2679:13;;-1:-1:-1;;;;;2675:62:1;2663:75;;2758:12;;;;2793:15;;;;2636:1;2629:9;2600:218;;;-1:-1:-1;2834:3:1;;2359:484;-1:-1:-1;;;;;2359:484:1:o;2848:332::-;3055:6;3044:9;3037:25;3098:2;3093;3082:9;3078:18;3071:30;3018:4;3118:56;3170:2;3159:9;3155:18;3147:6;3118:56;:::i;3185:1105::-;3280:6;3311:2;3354;3342:9;3333:7;3329:23;3325:32;3322:52;;;3370:1;3367;3360:12;3322:52;3403:9;3397:16;3432:18;3473:2;3465:6;3462:14;3459:34;;;3489:1;3486;3479:12;3459:34;3527:6;3516:9;3512:22;3502:32;;3572:7;3565:4;3561:2;3557:13;3553:27;3543:55;;3594:1;3591;3584:12;3543:55;3623:2;3617:9;3645:2;3641;3638:10;3635:36;;;3651:18;;:::i;:::-;3697:2;3694:1;3690:10;3729:2;3723:9;3792:2;3788:7;3783:2;3779;3775:11;3771:25;3763:6;3759:38;3847:6;3835:10;3832:22;3827:2;3815:10;3812:18;3809:46;3806:72;;;3858:18;;:::i;:::-;3894:2;3887:22;3944:18;;;3978:15;;;;-1:-1:-1;4020:11:1;;;4016:20;;;4048:19;;;4045:39;;;4080:1;4077;4070:12;4045:39;4104:11;;;;4124:135;4140:6;4135:3;4132:15;4124:135;;;4206:10;;4194:23;;4157:12;;;;4237;;;;4124:135;;;4278:6;3185:1105;-1:-1:-1;;;;;;;;3185:1105:1:o;4295:184::-;-1:-1:-1;;;4344:1:1;4337:88;4444:4;4441:1;4434:15;4468:4;4465:1;4458:15;4484:168;4557:9;;;4588;;4605:15;;;4599:22;;4585:37;4575:71;;4626:18;;:::i;4657:216::-;4721:9;;;4749:11;;;4696:3;4779:9;;4807:10;;4803:19;;4832:10;;4824:19;;4800:44;4797:70;;;4847:18;;:::i;:::-;4797:70;;4657:216;;;;:::o;4878:274::-;4918:1;4944;4934:189;;-1:-1:-1;;;4976:1:1;4969:88;5080:4;5077:1;5070:15;5108:4;5105:1;5098:15;4934:189;-1:-1:-1;5137:9:1;;4878:274::o;5864:125::-;5929:9;;;5950:10;;;5947:36;;;5963:18;;:::i;6225:184::-;6295:6;6348:2;6336:9;6327:7;6323:23;6319:32;6316:52;;;6364:1;6361;6354:12;6316:52;-1:-1:-1;6387:16:1;;6225:184;-1:-1:-1;6225:184:1:o;6817:277::-;6884:6;6937:2;6925:9;6916:7;6912:23;6908:32;6905:52;;;6953:1;6950;6943:12;6905:52;6985:9;6979:16;7038:5;7031:13;7024:21;7017:5;7014:32;7004:60;;7060:1;7057;7050:12;7099:128;7166:9;;;7187:11;;;7184:37;;;7201:18;;:::i;10536:525::-;10799:6;10788:9;10781:25;10842:3;10837:2;10826:9;10822:18;10815:31;10762:4;10863:57;10915:3;10904:9;10900:19;10892:6;10863:57;:::i;:::-;-1:-1:-1;;;;;10956:55:1;;;;10951:2;10936:18;;10929:83;-1:-1:-1;11043:2:1;11028:18;11021:34;10855:65;10536:525;-1:-1:-1;;10536:525:1:o;11066:200::-;11132:9;;;11105:4;11160:9;;11188:10;;11200:12;;;11184:29;11223:12;;;11215:21;;11181:56;11178:82;;;11240:18;;:::i;:::-;11178:82;11066:200;;;;:::o

Swarm Source

ipfs://c80c3f6ffb5d8c478d75356f3ddd0ea1978c5836ab796ad0f53f62ca9269ba57

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.