ETH Price: $3,359.57 (-2.75%)
Gas: 2 Gwei

Contract

0x52d18469a48C3EE8324f463897a3A08F0072949c
 

Overview

ETH Balance

1.972359975588862242 ETH

Eth Value

$6,626.28 (@ $3,359.57/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Claim Rewards201999932024-06-29 21:21:473 days ago1719696107IN
0x52d18469...F0072949c
0 ETH0.00006431.9556197
Unstake Blox201999882024-06-29 21:20:473 days ago1719696047IN
0x52d18469...F0072949c
0 ETH0.000278311.86319435
Unstake Blox201158122024-06-18 2:55:4715 days ago1718679347IN
0x52d18469...F0072949c
0 ETH0.0018172613.19005823
Claim Rewards201158082024-06-18 2:54:5915 days ago1718679299IN
0x52d18469...F0072949c
0 ETH0.0005924313.32061752
Claim Rewards201086792024-06-17 2:58:3516 days ago1718593115IN
0x52d18469...F0072949c
0 ETH0.000151733.41167418
Claim Rewards200534192024-06-09 9:37:4723 days ago1717925867IN
0x52d18469...F0072949c
0 ETH0.000067673.21459826
Claim Rewards200524832024-06-09 6:28:3523 days ago1717914515IN
0x52d18469...F0072949c
0 ETH0.000248675.59125177
Claim Rewards200498022024-06-08 21:29:2324 days ago1717882163IN
0x52d18469...F0072949c
0 ETH0.000237255.33452352
Claim Rewards200306032024-06-06 5:08:3527 days ago1717650515IN
0x52d18469...F0072949c
0 ETH0.000428849.64243016
Claim Rewards200248522024-06-05 9:52:4727 days ago1717581167IN
0x52d18469...F0072949c
0 ETH0.000464110.43524013
Compound Blox200224022024-06-05 1:40:4728 days ago1717551647IN
0x52d18469...F0072949c
0 ETH0.001667967.51215017
Transfer200212642024-06-04 21:52:1128 days ago1717537931IN
0x52d18469...F0072949c
0.6 ETH0.0004123111.73361651
Unstake Blox200208212024-06-04 20:23:2328 days ago1717532603IN
0x52d18469...F0072949c
0 ETH0.001613089.68956489
Stake Blox200193202024-06-04 15:21:4728 days ago1717514507IN
0x52d18469...F0072949c
0 ETH0.0032582111.81897651
Claim Rewards200176012024-06-04 9:36:2328 days ago1717493783IN
0x52d18469...F0072949c
0 ETH0.000309799.42197913
Unstake Blox200175992024-06-04 9:35:5928 days ago1717493759IN
0x52d18469...F0072949c
0 ETH0.00228988.9192735
Claim Rewards200175992024-06-04 9:35:5928 days ago1717493759IN
0x52d18469...F0072949c
0 ETH0.000396688.9192735
Unstake Blox200175902024-06-04 9:33:5928 days ago1717493639IN
0x52d18469...F0072949c
0 ETH0.001548878.19186279
Claim Rewards199495222024-05-25 21:17:4738 days ago1716671867IN
0x52d18469...F0072949c
0 ETH0.000134274.08389902
Claim Rewards199495202024-05-25 21:17:2338 days ago1716671843IN
0x52d18469...F0072949c
0 ETH0.000232273.77217892
Claim Rewards199494232024-05-25 20:57:3538 days ago1716670655IN
0x52d18469...F0072949c
0 ETH0.000252634.10293545
Claim Rewards199323912024-05-23 11:49:3540 days ago1716464975IN
0x52d18469...F0072949c
0 ETH0.0005314811.95016611
Unstake Blox199320732024-05-23 10:45:4740 days ago1716461147IN
0x52d18469...F0072949c
0 ETH0.001540789.82675013
Compound Blox199102462024-05-20 9:28:5943 days ago1716197339IN
0x52d18469...F0072949c
0 ETH0.000893083.73442795
Stake Blox198832652024-05-16 14:54:4747 days ago1715871287IN
0x52d18469...F0072949c
0 ETH0.001941598.6954175
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201999882024-06-29 21:20:473 days ago1719696047
0x52d18469...F0072949c
0.00199959 ETH
201158082024-06-18 2:54:5915 days ago1718679299
0x52d18469...F0072949c
0.02322399 ETH
201086792024-06-17 2:58:3516 days ago1718593115
0x52d18469...F0072949c
0.00794786 ETH
200524832024-06-09 6:28:3523 days ago1717914515
0x52d18469...F0072949c
0.03330093 ETH
200498022024-06-08 21:29:2324 days ago1717882163
0x52d18469...F0072949c
0.00703488 ETH
200306032024-06-06 5:08:3527 days ago1717650515
0x52d18469...F0072949c
0.09033906 ETH
200248522024-06-05 9:52:4727 days ago1717581167
0x52d18469...F0072949c
0.13428569 ETH
200224022024-06-05 1:40:4728 days ago1717551647
0x52d18469...F0072949c
0.00227228 ETH
200208212024-06-04 20:23:2328 days ago1717532603
0x52d18469...F0072949c
0.00404998 ETH
200175992024-06-04 9:35:5928 days ago1717493759
0x52d18469...F0072949c
0.03799937 ETH
199495202024-05-25 21:17:2338 days ago1716671843
0x52d18469...F0072949c
0.01095765 ETH
199494232024-05-25 20:57:3538 days ago1716670655
0x52d18469...F0072949c
0.03312787 ETH
199323912024-05-23 11:49:3540 days ago1716464975
0x52d18469...F0072949c
0.01550762 ETH
199320732024-05-23 10:45:4740 days ago1716461147
0x52d18469...F0072949c
0.00403507 ETH
199102462024-05-20 9:28:5943 days ago1716197339
0x52d18469...F0072949c
0.04017159 ETH
198675432024-05-14 10:05:3549 days ago1715681135
0x52d18469...F0072949c
0.01628908 ETH
198671432024-05-14 8:45:1149 days ago1715676311
0x52d18469...F0072949c
0.02189933 ETH
198366492024-05-10 2:26:2354 days ago1715307983
0x52d18469...F0072949c
0.01020991 ETH
198216212024-05-07 23:59:3556 days ago1715126375
0x52d18469...F0072949c
0.02723026 ETH
198128762024-05-06 18:37:5957 days ago1715020679
0x52d18469...F0072949c
0.01516357 ETH
198090592024-05-06 5:47:5957 days ago1714974479
0x52d18469...F0072949c
0.01661988 ETH
198060192024-05-05 19:36:3558 days ago1714937795
0x52d18469...F0072949c
0.22203239 ETH
198051192024-05-05 16:35:3558 days ago1714926935
0x52d18469...F0072949c
0.00314272 ETH
197984622024-05-04 18:14:3559 days ago1714846475
0x52d18469...F0072949c
0.03993216 ETH
197975362024-05-04 15:08:2359 days ago1714835303
0x52d18469...F0072949c
0.03867015 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.