ETH Price: $2,457.77 (-4.64%)

Contract

0xdff567bD9C3Cf1CcA3eB6D1cc2EBb49051bA74a0
 

Overview

ETH Balance

0.059649804158406632 ETH

Eth Value

$146.61 (@ $2,457.77/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exit From Stakin...169778462023-04-04 20:22:59513 days ago1680639779IN
0xdff567bD...051bA74a0
0 ETH0.0056454447.22757852
Exit From Stakin...169116012023-03-26 12:28:23523 days ago1679833703IN
0xdff567bD...051bA74a0
0 ETH0.0015611614.56987179
Stake Tokens169099732023-03-26 6:59:23523 days ago1679813963IN
0xdff567bD...051bA74a0
0 ETH0.002162612.98283263
Exit From Stakin...169077142023-03-25 23:22:11523 days ago1679786531IN
0xdff567bD...051bA74a0
0 ETH0.0014115113.7793489
Exit From Stakin...168946672023-03-24 3:24:23525 days ago1679628263IN
0xdff567bD...051bA74a0
0 ETH0.004476612.83408397
Exit From Stakin...168888812023-03-23 7:52:23526 days ago1679557943IN
0xdff567bD...051bA74a0
0 ETH0.001496112.81720836
Exit From Stakin...168872272023-03-23 2:16:59526 days ago1679537819IN
0xdff567bD...051bA74a0
0 ETH0.0010873911.37479402
Exit From Stakin...168832472023-03-22 12:51:11527 days ago1679489471IN
0xdff567bD...051bA74a0
0 ETH0.0061408317.74449777
Exit From Stakin...168820592023-03-22 8:50:59527 days ago1679475059IN
0xdff567bD...051bA74a0
0 ETH0.0035845910.48232434
Transfer168751252023-03-21 9:27:47528 days ago1679390867IN
0xdff567bD...051bA74a0
0.1 ETH0.0003722112.92411002
Exit From Stakin...168734712023-03-21 3:53:35528 days ago1679370815IN
0xdff567bD...051bA74a0
0 ETH0.0011050611.77014758
Exit From Stakin...168687592023-03-20 12:02:59529 days ago1679313779IN
0xdff567bD...051bA74a0
0 ETH0.001376514.93332399
Exit From Stakin...168562062023-03-18 17:44:47530 days ago1679161487IN
0xdff567bD...051bA74a0
0 ETH0.0018415220.35580466
Exit From Stakin...168557102023-03-18 16:04:23531 days ago1679155463IN
0xdff567bD...051bA74a0
0 ETH0.0019624622.54485571
Exit From Stakin...168503732023-03-17 22:03:59531 days ago1679090639IN
0xdff567bD...051bA74a0
0 ETH0.006274172.07716205
Stake Tokens168498752023-03-17 20:22:59531 days ago1679084579IN
0xdff567bD...051bA74a0
0 ETH0.0094894624.24858205
Transfer168484342023-03-17 15:31:35532 days ago1679067095IN
0xdff567bD...051bA74a0
0.15 ETH0.0007643326.539293
Exit From Stakin...168471952023-03-17 11:19:59532 days ago1679051999IN
0xdff567bD...051bA74a0
0 ETH0.0016974919.50091758
Stake Tokens168468592023-03-17 10:11:59532 days ago1679047919IN
0xdff567bD...051bA74a0
0 ETH0.0069865420.89396908
Exit From Stakin...168450642023-03-17 4:09:11532 days ago1679026151IN
0xdff567bD...051bA74a0
0 ETH0.0014535616.69862393
Exit From Stakin...168420782023-03-16 18:05:59532 days ago1678989959IN
0xdff567bD...051bA74a0
0 ETH0.0015673126.4221969
Exit From Stakin...168420732023-03-16 18:04:59532 days ago1678989899IN
0xdff567bD...051bA74a0
0 ETH0.0025626427.02124062
Exit From Stakin...168407432023-03-16 13:36:35533 days ago1678973795IN
0xdff567bD...051bA74a0
0 ETH0.0021998223.53505953
Exit From Stakin...168401182023-03-16 11:29:35533 days ago1678966175IN
0xdff567bD...051bA74a0
0 ETH0.001964923.02527222
Stake Tokens168393212023-03-16 8:47:47533 days ago1678956467IN
0xdff567bD...051bA74a0
0 ETH0.0071337218.88922577
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
169778462023-04-04 20:22:59513 days ago1680639779
0xdff567bD...051bA74a0
0.0142246 ETH
169116012023-03-26 12:28:23523 days ago1679833703
0xdff567bD...051bA74a0
0.13853585 ETH
169077142023-03-25 23:22:11523 days ago1679786531
0xdff567bD...051bA74a0
0.00790255 ETH
168946672023-03-24 3:24:23525 days ago1679628263
0xdff567bD...051bA74a0
0.00454209 ETH
168888812023-03-23 7:52:23526 days ago1679557943
0xdff567bD...051bA74a0
0.02807116 ETH
168872272023-03-23 2:16:59526 days ago1679537819
0xdff567bD...051bA74a0
0.00433225 ETH
168832472023-03-22 12:51:11527 days ago1679489471
0xdff567bD...051bA74a0
0.05918311 ETH
168820592023-03-22 8:50:59527 days ago1679475059
0xdff567bD...051bA74a0
0.07564984 ETH
168734712023-03-21 3:53:35528 days ago1679370815
0xdff567bD...051bA74a0
0.00154785 ETH
168687592023-03-20 12:02:59529 days ago1679313779
0xdff567bD...051bA74a0
0.00365747 ETH
168562062023-03-18 17:44:47530 days ago1679161487
0xdff567bD...051bA74a0
0.01646433 ETH
168557102023-03-18 16:04:23531 days ago1679155463
0xdff567bD...051bA74a0
0.00193924 ETH
168503732023-03-17 22:03:59531 days ago1679090639
0xdff567bD...051bA74a0
0.01001126 ETH
168471952023-03-17 11:19:59532 days ago1679051999
0xdff567bD...051bA74a0
0.00007014 ETH
168450642023-03-17 4:09:11532 days ago1679026151
0xdff567bD...051bA74a0
0.00195953 ETH
168420732023-03-16 18:04:59532 days ago1678989899
0xdff567bD...051bA74a0
0.00760518 ETH
168407432023-03-16 13:36:35533 days ago1678973795
0xdff567bD...051bA74a0
0.01283988 ETH
168401182023-03-16 11:29:35533 days ago1678966175
0xdff567bD...051bA74a0
0.00226362 ETH
168391222023-03-16 8:07:23533 days ago1678954043
0xdff567bD...051bA74a0
0.00158241 ETH
168391142023-03-16 8:05:47533 days ago1678953947
0xdff567bD...051bA74a0
0.00388467 ETH
168385412023-03-16 6:09:35533 days ago1678946975
0xdff567bD...051bA74a0
0.00126951 ETH
168383922023-03-16 5:39:47533 days ago1678945187
0xdff567bD...051bA74a0
0.00049817 ETH
168383202023-03-16 5:25:23533 days ago1678944323
0xdff567bD...051bA74a0
0.00183614 ETH
168382832023-03-16 5:17:59533 days ago1678943879
0xdff567bD...051bA74a0
0.00181804 ETH
168379132023-03-16 4:02:47533 days ago1678939367
0xdff567bD...051bA74a0
0.00358502 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Stake

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.8.16;
// SPDX-License-Identifier: MIT

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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 allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Stake is Ownable {

    mapping(address => bool) public staked;
    mapping(address => uint256) public tokenBalanceLedger_;
    mapping(address => uint256) public stakeStartTime;

    uint256 public timeLock = 0 days;// Unlocked
    uint256 public timeToWithdraw = 1 days;

    IERC20 public stakeToken;

    uint256 public totalTokens = 0;

    uint256 public profitPerShare_;

    mapping(address => uint256) public payoutsTo_;

    uint256 constant internal magnitude = 2**64;

    receive() external payable {
        profitPerShare_ +=  (msg.value * magnitude) / totalTokens;
    }
    
    function deposit() public payable {
        profitPerShare_ +=  (msg.value * magnitude) / totalTokens;
    }

    function stakeTokens(uint amount) public {

        stakeToken.transferFrom(msg.sender, address(this), amount);

        uint256 currentDivs = getDividends(msg.sender);

        tokenBalanceLedger_[msg.sender] += amount;
        staked[msg.sender] = true;

        totalTokens += amount;

        stakeStartTime[msg.sender] = block.timestamp;

        payoutsTo_[msg.sender] += (getDividends(msg.sender) - currentDivs);
    }

    function canExit(address user) public view returns(bool) {
        uint256 startTime = stakeStartTime[user];
        uint256 endTime = block.timestamp;

        uint256 timeStaked = endTime - startTime;
        if (timeStaked >= (timeLock + timeToWithdraw)) {

            uint256 lastVariable = timeToWithdraw;
            while(timeStaked >= (timeLock + timeToWithdraw)) {
                if (lastVariable == timeToWithdraw) {
                    lastVariable = timeLock;

                } else {
                    lastVariable = timeToWithdraw;
                }

                timeStaked -= lastVariable;
            }

            if (lastVariable == timeToWithdraw) {
                return true;
            }

            return false;
        } else if(timeStaked >= (timeLock)) {
            return true;
        } else {
            return false;
        }
    }

    function exitFromStakingPool() public {
        require(canExit(msg.sender), "Staking time is not over.");

        withdrawDividends();

        stakeToken.transfer(msg.sender, tokenBalanceLedger_[msg.sender]);

        totalTokens -= tokenBalanceLedger_[msg.sender];
        tokenBalanceLedger_[msg.sender] = 0;
        staked[msg.sender] = false;
        payoutsTo_[msg.sender] = 0;
    }

    function getDividends(address user) public view returns(uint256) {
        uint256 allDivs = (tokenBalanceLedger_[user] * profitPerShare_) / magnitude;

        uint256 profit = allDivs - payoutsTo_[user];

        return profit;
    }

    function getTokenBalance(address user) public view returns(uint256) {
        return tokenBalanceLedger_[user];
    }

    function withdrawDividends() public {
        uint256 myDivs = getDividends(msg.sender);

        payable(msg.sender).transfer(myDivs);
        payoutsTo_[msg.sender] += myDivs;
    }

    function setTokenAddress(address tokenAddress) public
    onlyOwner()
    {
        stakeToken = IERC20(tokenAddress);
    }


    function changeTimeLockTime(uint256 timeInDays) public
    onlyOwner()
    {
        require(timeInDays <= 15 days, "Maximum time lock is 15 days");

        timeLock = timeInDays;
    }

    function changeTimeToWithdraw(uint256 timeInDays) public
    onlyOwner()
    {
        require(timeInDays >= 1 days, "Minimum time to withdraw is 1 day.");
        timeToWithdraw = timeInDays;
    }

    function getTotalEthBalance() public view returns(uint256){
        return address(this).balance;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"canExit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timeInDays","type":"uint256"}],"name":"changeTimeLockTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"timeInDays","type":"uint256"}],"name":"changeTimeToWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"exitFromStakingPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"payoutsTo_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitPerShare_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeToWithdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenBalanceLedger_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawDividends","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600060045562015180600555600060075534801561002157600080fd5b5061003e61003361004360201b60201c565b61004b60201b60201c565b61010f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6119128061011e6000396000f3fe6080604052600436106101445760003560e01c8063710b318b116100b6578063d085835a1161006f578063d085835a1461047a578063d0e30db0146104a5578063d1e1a3e9146104af578063e1456cb4146104ec578063edf60b6d14610529578063f2fde38b1461055457610184565b8063710b318b1461037c578063715018a6146103a75780637547c7a3146103be5780637e1c0c09146103e75780638da5cb5b1461041257806398807d841461043d57610184565b80633aecd0e3116101085780633aecd0e3146102465780634634d81c1461028357806347880b8f146102c057806351ed6a30146102d75780635c5a0a9d146103025780636985e6d81461033f57610184565b806326a4e8d214610189578063287cc96b146101b25780632e92abdd146101dd5780632ec119d6146101f4578063361a9f4d1461021d57610184565b3661018457600754680100000000000000003461016191906112b3565b61016b9190611324565b6008600082825461017c9190611355565b925050819055005b600080fd5b34801561019557600080fd5b506101b060048036038101906101ab91906113ec565b61057d565b005b3480156101be57600080fd5b506101c761063d565b6040516101d49190611428565b60405180910390f35b3480156101e957600080fd5b506101f2610645565b005b34801561020057600080fd5b5061021b6004803603810190610216919061146f565b6106f2565b005b34801561022957600080fd5b50610244600480360381019061023f919061146f565b6107be565b005b34801561025257600080fd5b5061026d600480360381019061026891906113ec565b61088a565b60405161027a9190611428565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a591906113ec565b6108d3565b6040516102b79190611428565b60405180910390f35b3480156102cc57600080fd5b506102d5610992565b005b3480156102e357600080fd5b506102ec610bfe565b6040516102f991906114fb565b60405180910390f35b34801561030e57600080fd5b50610329600480360381019061032491906113ec565b610c24565b6040516103369190611428565b60405180910390f35b34801561034b57600080fd5b50610366600480360381019061036191906113ec565b610c3c565b6040516103739190611428565b60405180910390f35b34801561038857600080fd5b50610391610c54565b60405161039e9190611428565b60405180910390f35b3480156103b357600080fd5b506103bc610c5a565b005b3480156103ca57600080fd5b506103e560048036038101906103e0919061146f565b610ce2565b005b3480156103f357600080fd5b506103fc610f09565b6040516104099190611428565b60405180910390f35b34801561041e57600080fd5b50610427610f0f565b6040516104349190611525565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f91906113ec565b610f38565b604051610471919061155b565b60405180910390f35b34801561048657600080fd5b5061048f610f58565b60405161049c9190611428565b60405180910390f35b6104ad610f5e565b005b3480156104bb57600080fd5b506104d660048036038101906104d191906113ec565b610f9a565b6040516104e3919061155b565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e91906113ec565b611099565b6040516105209190611428565b60405180910390f35b34801561053557600080fd5b5061053e6110b1565b60405161054b9190611428565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906113ec565b6110b7565b005b6105856111ae565b73ffffffffffffffffffffffffffffffffffffffff166105a3610f0f565b73ffffffffffffffffffffffffffffffffffffffff16146105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f0906115d3565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600047905090565b6000610650336108d3565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610698573d6000803e3d6000fd5b5080600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106e89190611355565b9250508190555050565b6106fa6111ae565b73ffffffffffffffffffffffffffffffffffffffff16610718610f0f565b73ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610765906115d3565b60405180910390fd5b6213c6808111156107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab9061163f565b60405180910390fd5b8060048190555050565b6107c66111ae565b73ffffffffffffffffffffffffffffffffffffffff166107e4610f0f565b73ffffffffffffffffffffffffffffffffffffffff161461083a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610831906115d3565b60405180910390fd5b62015180811015610880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610877906116d1565b60405180910390fd5b8060058190555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008068010000000000000000600854600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461092d91906112b3565b6109379190611324565b90506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261098691906116f1565b90508092505050919050565b61099b33610f9a565b6109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611771565b60405180910390fd5b6109e2610645565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401610a7e929190611791565b6020604051808303816000875af1158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac191906117e6565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000828254610b1391906116f1565b925050819055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b60085481565b610c626111ae565b73ffffffffffffffffffffffffffffffffffffffff16610c80610f0f565b73ffffffffffffffffffffffffffffffffffffffff1614610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906115d3565b60405180910390fd5b610ce060006111b6565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610d4193929190611813565b6020604051808303816000875af1158015610d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8491906117e6565b506000610d90336108d3565b905081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610de19190611355565b9250508190555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160076000828254610e519190611355565b9250508190555042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080610ea6336108d3565b610eb091906116f1565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610efe9190611355565b925050819055505050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900460ff1681565b60045481565b6007546801000000000000000034610f7691906112b3565b610f809190611324565b60086000828254610f919190611355565b92505081905550565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600042905060008282610ff291906116f1565b90506005546004546110049190611355565b811061107757600060055490505b6005546004546110229190611355565b821061105457600554810361103b576004549050611041565b60055490505b808261104d91906116f1565b9150611012565b600554810361106a576001945050505050611094565b6000945050505050611094565b600454811061108c5760019350505050611094565b600093505050505b919050565b60096020528060005260406000206000915090505481565b60055481565b6110bf6111ae565b73ffffffffffffffffffffffffffffffffffffffff166110dd610f0f565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a906115d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611199906118bc565b60405180910390fd5b6111ab816111b6565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112be8261127a565b91506112c98361127a565b92508282026112d78161127a565b915082820484148315176112ee576112ed611284565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061132f8261127a565b915061133a8361127a565b92508261134a576113496112f5565b5b828204905092915050565b60006113608261127a565b915061136b8361127a565b925082820190508082111561138357611382611284565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113b98261138e565b9050919050565b6113c9816113ae565b81146113d457600080fd5b50565b6000813590506113e6816113c0565b92915050565b60006020828403121561140257611401611389565b5b6000611410848285016113d7565b91505092915050565b6114228161127a565b82525050565b600060208201905061143d6000830184611419565b92915050565b61144c8161127a565b811461145757600080fd5b50565b60008135905061146981611443565b92915050565b60006020828403121561148557611484611389565b5b60006114938482850161145a565b91505092915050565b6000819050919050565b60006114c16114bc6114b78461138e565b61149c565b61138e565b9050919050565b60006114d3826114a6565b9050919050565b60006114e5826114c8565b9050919050565b6114f5816114da565b82525050565b600060208201905061151060008301846114ec565b92915050565b61151f816113ae565b82525050565b600060208201905061153a6000830184611516565b92915050565b60008115159050919050565b61155581611540565b82525050565b6000602082019050611570600083018461154c565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006115bd602083611576565b91506115c882611587565b602082019050919050565b600060208201905081810360008301526115ec816115b0565b9050919050565b7f4d6178696d756d2074696d65206c6f636b206973203135206461797300000000600082015250565b6000611629601c83611576565b9150611634826115f3565b602082019050919050565b600060208201905081810360008301526116588161161c565b9050919050565b7f4d696e696d756d2074696d6520746f207769746864726177206973203120646160008201527f792e000000000000000000000000000000000000000000000000000000000000602082015250565b60006116bb602283611576565b91506116c68261165f565b604082019050919050565b600060208201905081810360008301526116ea816116ae565b9050919050565b60006116fc8261127a565b91506117078361127a565b925082820390508181111561171f5761171e611284565b5b92915050565b7f5374616b696e672074696d65206973206e6f74206f7665722e00000000000000600082015250565b600061175b601983611576565b915061176682611725565b602082019050919050565b6000602082019050818103600083015261178a8161174e565b9050919050565b60006040820190506117a66000830185611516565b6117b36020830184611419565b9392505050565b6117c381611540565b81146117ce57600080fd5b50565b6000815190506117e0816117ba565b92915050565b6000602082840312156117fc576117fb611389565b5b600061180a848285016117d1565b91505092915050565b60006060820190506118286000830186611516565b6118356020830185611516565b6118426040830184611419565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118a6602683611576565b91506118b18261184a565b604082019050919050565b600060208201905081810360008301526118d581611899565b905091905056fea264697066735822122027fc7120095a49e0e1f00ef464e30327af6398ff6c135b4df0bcc157b2521eef64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063710b318b116100b6578063d085835a1161006f578063d085835a1461047a578063d0e30db0146104a5578063d1e1a3e9146104af578063e1456cb4146104ec578063edf60b6d14610529578063f2fde38b1461055457610184565b8063710b318b1461037c578063715018a6146103a75780637547c7a3146103be5780637e1c0c09146103e75780638da5cb5b1461041257806398807d841461043d57610184565b80633aecd0e3116101085780633aecd0e3146102465780634634d81c1461028357806347880b8f146102c057806351ed6a30146102d75780635c5a0a9d146103025780636985e6d81461033f57610184565b806326a4e8d214610189578063287cc96b146101b25780632e92abdd146101dd5780632ec119d6146101f4578063361a9f4d1461021d57610184565b3661018457600754680100000000000000003461016191906112b3565b61016b9190611324565b6008600082825461017c9190611355565b925050819055005b600080fd5b34801561019557600080fd5b506101b060048036038101906101ab91906113ec565b61057d565b005b3480156101be57600080fd5b506101c761063d565b6040516101d49190611428565b60405180910390f35b3480156101e957600080fd5b506101f2610645565b005b34801561020057600080fd5b5061021b6004803603810190610216919061146f565b6106f2565b005b34801561022957600080fd5b50610244600480360381019061023f919061146f565b6107be565b005b34801561025257600080fd5b5061026d600480360381019061026891906113ec565b61088a565b60405161027a9190611428565b60405180910390f35b34801561028f57600080fd5b506102aa60048036038101906102a591906113ec565b6108d3565b6040516102b79190611428565b60405180910390f35b3480156102cc57600080fd5b506102d5610992565b005b3480156102e357600080fd5b506102ec610bfe565b6040516102f991906114fb565b60405180910390f35b34801561030e57600080fd5b50610329600480360381019061032491906113ec565b610c24565b6040516103369190611428565b60405180910390f35b34801561034b57600080fd5b50610366600480360381019061036191906113ec565b610c3c565b6040516103739190611428565b60405180910390f35b34801561038857600080fd5b50610391610c54565b60405161039e9190611428565b60405180910390f35b3480156103b357600080fd5b506103bc610c5a565b005b3480156103ca57600080fd5b506103e560048036038101906103e0919061146f565b610ce2565b005b3480156103f357600080fd5b506103fc610f09565b6040516104099190611428565b60405180910390f35b34801561041e57600080fd5b50610427610f0f565b6040516104349190611525565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f91906113ec565b610f38565b604051610471919061155b565b60405180910390f35b34801561048657600080fd5b5061048f610f58565b60405161049c9190611428565b60405180910390f35b6104ad610f5e565b005b3480156104bb57600080fd5b506104d660048036038101906104d191906113ec565b610f9a565b6040516104e3919061155b565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e91906113ec565b611099565b6040516105209190611428565b60405180910390f35b34801561053557600080fd5b5061053e6110b1565b60405161054b9190611428565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906113ec565b6110b7565b005b6105856111ae565b73ffffffffffffffffffffffffffffffffffffffff166105a3610f0f565b73ffffffffffffffffffffffffffffffffffffffff16146105f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f0906115d3565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600047905090565b6000610650336108d3565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610698573d6000803e3d6000fd5b5080600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106e89190611355565b9250508190555050565b6106fa6111ae565b73ffffffffffffffffffffffffffffffffffffffff16610718610f0f565b73ffffffffffffffffffffffffffffffffffffffff161461076e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610765906115d3565b60405180910390fd5b6213c6808111156107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab9061163f565b60405180910390fd5b8060048190555050565b6107c66111ae565b73ffffffffffffffffffffffffffffffffffffffff166107e4610f0f565b73ffffffffffffffffffffffffffffffffffffffff161461083a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610831906115d3565b60405180910390fd5b62015180811015610880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610877906116d1565b60405180910390fd5b8060058190555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008068010000000000000000600854600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461092d91906112b3565b6109379190611324565b90506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261098691906116f1565b90508092505050919050565b61099b33610f9a565b6109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190611771565b60405180910390fd5b6109e2610645565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff1660e01b8152600401610a7e929190611791565b6020604051808303816000875af1158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac191906117e6565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460076000828254610b1391906116f1565b925050819055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60036020528060005260406000206000915090505481565b60085481565b610c626111ae565b73ffffffffffffffffffffffffffffffffffffffff16610c80610f0f565b73ffffffffffffffffffffffffffffffffffffffff1614610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906115d3565b60405180910390fd5b610ce060006111b6565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610d4193929190611813565b6020604051808303816000875af1158015610d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8491906117e6565b506000610d90336108d3565b905081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610de19190611355565b9250508190555060018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160076000828254610e519190611355565b9250508190555042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080610ea6336108d3565b610eb091906116f1565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610efe9190611355565b925050819055505050565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915054906101000a900460ff1681565b60045481565b6007546801000000000000000034610f7691906112b3565b610f809190611324565b60086000828254610f919190611355565b92505081905550565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600042905060008282610ff291906116f1565b90506005546004546110049190611355565b811061107757600060055490505b6005546004546110229190611355565b821061105457600554810361103b576004549050611041565b60055490505b808261104d91906116f1565b9150611012565b600554810361106a576001945050505050611094565b6000945050505050611094565b600454811061108c5760019350505050611094565b600093505050505b919050565b60096020528060005260406000206000915090505481565b60055481565b6110bf6111ae565b73ffffffffffffffffffffffffffffffffffffffff166110dd610f0f565b73ffffffffffffffffffffffffffffffffffffffff1614611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112a906115d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611199906118bc565b60405180910390fd5b6111ab816111b6565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112be8261127a565b91506112c98361127a565b92508282026112d78161127a565b915082820484148315176112ee576112ed611284565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061132f8261127a565b915061133a8361127a565b92508261134a576113496112f5565b5b828204905092915050565b60006113608261127a565b915061136b8361127a565b925082820190508082111561138357611382611284565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113b98261138e565b9050919050565b6113c9816113ae565b81146113d457600080fd5b50565b6000813590506113e6816113c0565b92915050565b60006020828403121561140257611401611389565b5b6000611410848285016113d7565b91505092915050565b6114228161127a565b82525050565b600060208201905061143d6000830184611419565b92915050565b61144c8161127a565b811461145757600080fd5b50565b60008135905061146981611443565b92915050565b60006020828403121561148557611484611389565b5b60006114938482850161145a565b91505092915050565b6000819050919050565b60006114c16114bc6114b78461138e565b61149c565b61138e565b9050919050565b60006114d3826114a6565b9050919050565b60006114e5826114c8565b9050919050565b6114f5816114da565b82525050565b600060208201905061151060008301846114ec565b92915050565b61151f816113ae565b82525050565b600060208201905061153a6000830184611516565b92915050565b60008115159050919050565b61155581611540565b82525050565b6000602082019050611570600083018461154c565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006115bd602083611576565b91506115c882611587565b602082019050919050565b600060208201905081810360008301526115ec816115b0565b9050919050565b7f4d6178696d756d2074696d65206c6f636b206973203135206461797300000000600082015250565b6000611629601c83611576565b9150611634826115f3565b602082019050919050565b600060208201905081810360008301526116588161161c565b9050919050565b7f4d696e696d756d2074696d6520746f207769746864726177206973203120646160008201527f792e000000000000000000000000000000000000000000000000000000000000602082015250565b60006116bb602283611576565b91506116c68261165f565b604082019050919050565b600060208201905081810360008301526116ea816116ae565b9050919050565b60006116fc8261127a565b91506117078361127a565b925082820390508181111561171f5761171e611284565b5b92915050565b7f5374616b696e672074696d65206973206e6f74206f7665722e00000000000000600082015250565b600061175b601983611576565b915061176682611725565b602082019050919050565b6000602082019050818103600083015261178a8161174e565b9050919050565b60006040820190506117a66000830185611516565b6117b36020830184611419565b9392505050565b6117c381611540565b81146117ce57600080fd5b50565b6000815190506117e0816117ba565b92915050565b6000602082840312156117fc576117fb611389565b5b600061180a848285016117d1565b91505092915050565b60006060820190506118286000830186611516565b6118356020830185611516565b6118426040830184611419565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118a6602683611576565b91506118b18261184a565b604082019050919050565b600060208201905081810360008301526118d581611899565b905091905056fea264697066735822122027fc7120095a49e0e1f00ef464e30327af6398ff6c135b4df0bcc157b2521eef64736f6c63430008120033

Deployed Bytecode Sourcemap

1971:3747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2568:11;;2470:5;2543:9;:21;;;;:::i;:::-;2542:37;;;;:::i;:::-;2522:15;;:57;;;;;;;:::i;:::-;;;;;;;;1971:3747;;;;5061:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5610:105;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4865:188;;;;;;;;;;;;;:::i;:::-;;5199:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5399:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4738:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4489:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4079:402;;;;;;;;;;;;;:::i;:::-;;2267:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2051:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2112:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2339:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;762:94;;;;;;;;;;;;;:::i;:::-;;2717:439;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2300:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;539:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2006:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2170:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2599:110;;;:::i;:::-;;3164:907;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2378:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2220:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;864:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5061:128;685:12;:10;:12::i;:::-;674:23;;:7;:5;:7::i;:::-;:23;;;666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5168:12:::1;5148:10;;:33;;;;;;;;;;;;;;;;;;5061:128:::0;:::o;5610:105::-;5660:7;5686:21;5679:28;;5610:105;:::o;4865:188::-;4912:14;4929:24;4942:10;4929:12;:24::i;:::-;4912:41;;4974:10;4966:28;;:36;4995:6;4966:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5039:6;5013:10;:22;5024:10;5013:22;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;4901:152;4865:188::o;5199:192::-;685:12;:10;:12::i;:::-;674:23;;:7;:5;:7::i;:::-;:23;;;666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5309:7:::1;5295:10;:21;;5287:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;5373:10;5362:8;:21;;;;5199:192:::0;:::o;5399:203::-;685:12;:10;:12::i;:::-;674:23;;:7;:5;:7::i;:::-;:23;;;666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5511:6:::1;5497:10;:20;;5489:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5584:10;5567:14;:27;;;;5399:203:::0;:::o;4738:119::-;4797:7;4824:19;:25;4844:4;4824:25;;;;;;;;;;;;;;;;4817:32;;4738:119;;;:::o;4489:241::-;4545:7;4565:15;2470:5;4612:15;;4584:19;:25;4604:4;4584:25;;;;;;;;;;;;;;;;:43;;;;:::i;:::-;4583:57;;;;:::i;:::-;4565:75;;4653:14;4680:10;:16;4691:4;4680:16;;;;;;;;;;;;;;;;4670:7;:26;;;;:::i;:::-;4653:43;;4716:6;4709:13;;;;4489:241;;;:::o;4079:402::-;4136:19;4144:10;4136:7;:19::i;:::-;4128:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;4198:19;:17;:19::i;:::-;4230:10;;;;;;;;;;;:19;;;4250:10;4262:19;:31;4282:10;4262:31;;;;;;;;;;;;;;;;4230:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4322:19;:31;4342:10;4322:31;;;;;;;;;;;;;;;;4307:11;;:46;;;;;;;:::i;:::-;;;;;;;;4398:1;4364:19;:31;4384:10;4364:31;;;;;;;;;;;;;;;:35;;;;4431:5;4410:6;:18;4417:10;4410:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4472:1;4447:10;:22;4458:10;4447:22;;;;;;;;;;;;;;;:26;;;;4079:402::o;2267:24::-;;;;;;;;;;;;;:::o;2051:54::-;;;;;;;;;;;;;;;;;:::o;2112:49::-;;;;;;;;;;;;;;;;;:::o;2339:30::-;;;;:::o;762:94::-;685:12;:10;:12::i;:::-;674:23;;:7;:5;:7::i;:::-;:23;;;666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;827:21:::1;845:1;827:9;:21::i;:::-;762:94::o:0;2717:439::-;2771:10;;;;;;;;;;;:23;;;2795:10;2815:4;2822:6;2771:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2842:19;2864:24;2877:10;2864:12;:24::i;:::-;2842:46;;2936:6;2901:19;:31;2921:10;2901:31;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;2974:4;2953:6;:18;2960:10;2953:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3006:6;2991:11;;:21;;;;;;;:::i;:::-;;;;;;;;3054:15;3025:14;:26;3040:10;3025:26;;;;;;;;;;;;;;;:44;;;;3136:11;3109:24;3122:10;3109:12;:24::i;:::-;:38;;;;:::i;:::-;3082:10;:22;3093:10;3082:22;;;;;;;;;;;;;;;;:66;;;;;;;:::i;:::-;;;;;;;;2758:398;2717:439;:::o;2300:30::-;;;;:::o;539:87::-;585:7;612:6;;;;;;;;;;;605:13;;539:87;:::o;2006:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;2170:32::-;;;;:::o;2599:110::-;2690:11;;2470:5;2665:9;:21;;;;:::i;:::-;2664:37;;;;:::i;:::-;2644:15;;:57;;;;;;;:::i;:::-;;;;;;;;2599:110::o;3164:907::-;3215:4;3232:17;3252:14;:20;3267:4;3252:20;;;;;;;;;;;;;;;;3232:40;;3283:15;3301;3283:33;;3329:18;3360:9;3350:7;:19;;;;:::i;:::-;3329:40;;3410:14;;3399:8;;:25;;;;:::i;:::-;3384:10;:41;3380:684;;3444:20;3467:14;;3444:37;;3496:312;3528:14;;3517:8;;:25;;;;:::i;:::-;3502:10;:41;3496:312;;3584:14;;3568:12;:30;3564:182;;3638:8;;3623:23;;3564:182;;;3712:14;;3697:29;;3564:182;3780:12;3766:26;;;;;:::i;:::-;;;3496:312;;;3844:14;;3828:12;:30;3824:82;;3886:4;3879:11;;;;;;;;3824:82;3929:5;3922:12;;;;;;;;3380:684;3970:8;;3955:10;:24;3952:112;;4003:4;3996:11;;;;;;;3952:112;4047:5;4040:12;;;;;3164:907;;;;:::o;2378:45::-;;;;;;;;;;;;;;;;;:::o;2220:38::-;;;;:::o;864:192::-;685:12;:10;:12::i;:::-;674:23;;:7;:5;:7::i;:::-;:23;;;666:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;973:1:::1;953:22;;:8;:22;;::::0;945:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1029:19;1039:8;1029:9;:19::i;:::-;864:192:::0;:::o;94:98::-;147:7;174:10;167:17;;94:98;:::o;1064:173::-;1120:16;1139:6;;;;;;;;;;;1120:25;;1165:8;1156:6;;:17;;;;;;;;;;;;;;;;;;1220:8;1189:40;;1210:8;1189:40;;;;;;;;;;;;1109:128;1064:173;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:410;316:7;339:20;357:1;339:20;:::i;:::-;334:25;;373:20;391:1;373:20;:::i;:::-;368:25;;428:1;425;421:9;450:30;468:11;450:30;:::i;:::-;439:41;;629:1;620:7;616:15;613:1;610:22;590:1;583:9;563:83;540:139;;659:18;;:::i;:::-;540:139;324:362;276:410;;;;:::o;692:180::-;740:77;737:1;730:88;837:4;834:1;827:15;861:4;858:1;851:15;878:185;918:1;935:20;953:1;935:20;:::i;:::-;930:25;;969:20;987:1;969:20;:::i;:::-;964:25;;1008:1;998:35;;1013:18;;:::i;:::-;998:35;1055:1;1052;1048:9;1043:14;;878:185;;;;:::o;1069:191::-;1109:3;1128:20;1146:1;1128:20;:::i;:::-;1123:25;;1162:20;1180:1;1162:20;:::i;:::-;1157:25;;1205:1;1202;1198:9;1191:16;;1226:3;1223:1;1220:10;1217:36;;;1233:18;;:::i;:::-;1217:36;1069:191;;;;:::o;1347:117::-;1456:1;1453;1446:12;1593:126;1630:7;1670:42;1663:5;1659:54;1648:65;;1593:126;;;:::o;1725:96::-;1762:7;1791:24;1809:5;1791:24;:::i;:::-;1780:35;;1725:96;;;:::o;1827:122::-;1900:24;1918:5;1900:24;:::i;:::-;1893:5;1890:35;1880:63;;1939:1;1936;1929:12;1880:63;1827:122;:::o;1955:139::-;2001:5;2039:6;2026:20;2017:29;;2055:33;2082:5;2055:33;:::i;:::-;1955:139;;;;:::o;2100:329::-;2159:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:119;;;2214:79;;:::i;:::-;2176:119;2334:1;2359:53;2404:7;2395:6;2384:9;2380:22;2359:53;:::i;:::-;2349:63;;2305:117;2100:329;;;;:::o;2435:118::-;2522:24;2540:5;2522:24;:::i;:::-;2517:3;2510:37;2435:118;;:::o;2559:222::-;2652:4;2690:2;2679:9;2675:18;2667:26;;2703:71;2771:1;2760:9;2756:17;2747:6;2703:71;:::i;:::-;2559:222;;;;:::o;2787:122::-;2860:24;2878:5;2860:24;:::i;:::-;2853:5;2850:35;2840:63;;2899:1;2896;2889:12;2840:63;2787:122;:::o;2915:139::-;2961:5;2999:6;2986:20;2977:29;;3015:33;3042:5;3015:33;:::i;:::-;2915:139;;;;:::o;3060:329::-;3119:6;3168:2;3156:9;3147:7;3143:23;3139:32;3136:119;;;3174:79;;:::i;:::-;3136:119;3294:1;3319:53;3364:7;3355:6;3344:9;3340:22;3319:53;:::i;:::-;3309:63;;3265:117;3060:329;;;;:::o;3395:60::-;3423:3;3444:5;3437:12;;3395:60;;;:::o;3461:142::-;3511:9;3544:53;3562:34;3571:24;3589:5;3571:24;:::i;:::-;3562:34;:::i;:::-;3544:53;:::i;:::-;3531:66;;3461:142;;;:::o;3609:126::-;3659:9;3692:37;3723:5;3692:37;:::i;:::-;3679:50;;3609:126;;;:::o;3741:140::-;3805:9;3838:37;3869:5;3838:37;:::i;:::-;3825:50;;3741:140;;;:::o;3887:159::-;3988:51;4033:5;3988:51;:::i;:::-;3983:3;3976:64;3887:159;;:::o;4052:250::-;4159:4;4197:2;4186:9;4182:18;4174:26;;4210:85;4292:1;4281:9;4277:17;4268:6;4210:85;:::i;:::-;4052:250;;;;:::o;4308:118::-;4395:24;4413:5;4395:24;:::i;:::-;4390:3;4383:37;4308:118;;:::o;4432:222::-;4525:4;4563:2;4552:9;4548:18;4540:26;;4576:71;4644:1;4633:9;4629:17;4620:6;4576:71;:::i;:::-;4432:222;;;;:::o;4660:90::-;4694:7;4737:5;4730:13;4723:21;4712:32;;4660:90;;;:::o;4756:109::-;4837:21;4852:5;4837:21;:::i;:::-;4832:3;4825:34;4756:109;;:::o;4871:210::-;4958:4;4996:2;4985:9;4981:18;4973:26;;5009:65;5071:1;5060:9;5056:17;5047:6;5009:65;:::i;:::-;4871:210;;;;:::o;5087:169::-;5171:11;5205:6;5200:3;5193:19;5245:4;5240:3;5236:14;5221:29;;5087:169;;;;:::o;5262:182::-;5402:34;5398:1;5390:6;5386:14;5379:58;5262:182;:::o;5450:366::-;5592:3;5613:67;5677:2;5672:3;5613:67;:::i;:::-;5606:74;;5689:93;5778:3;5689:93;:::i;:::-;5807:2;5802:3;5798:12;5791:19;;5450:366;;;:::o;5822:419::-;5988:4;6026:2;6015:9;6011:18;6003:26;;6075:9;6069:4;6065:20;6061:1;6050:9;6046:17;6039:47;6103:131;6229:4;6103:131;:::i;:::-;6095:139;;5822:419;;;:::o;6247:178::-;6387:30;6383:1;6375:6;6371:14;6364:54;6247:178;:::o;6431:366::-;6573:3;6594:67;6658:2;6653:3;6594:67;:::i;:::-;6587:74;;6670:93;6759:3;6670:93;:::i;:::-;6788:2;6783:3;6779:12;6772:19;;6431:366;;;:::o;6803:419::-;6969:4;7007:2;6996:9;6992:18;6984:26;;7056:9;7050:4;7046:20;7042:1;7031:9;7027:17;7020:47;7084:131;7210:4;7084:131;:::i;:::-;7076:139;;6803:419;;;:::o;7228:221::-;7368:34;7364:1;7356:6;7352:14;7345:58;7437:4;7432:2;7424:6;7420:15;7413:29;7228:221;:::o;7455:366::-;7597:3;7618:67;7682:2;7677:3;7618:67;:::i;:::-;7611:74;;7694:93;7783:3;7694:93;:::i;:::-;7812:2;7807:3;7803:12;7796:19;;7455:366;;;:::o;7827:419::-;7993:4;8031:2;8020:9;8016:18;8008:26;;8080:9;8074:4;8070:20;8066:1;8055:9;8051:17;8044:47;8108:131;8234:4;8108:131;:::i;:::-;8100:139;;7827:419;;;:::o;8252:194::-;8292:4;8312:20;8330:1;8312:20;:::i;:::-;8307:25;;8346:20;8364:1;8346:20;:::i;:::-;8341:25;;8390:1;8387;8383:9;8375:17;;8414:1;8408:4;8405:11;8402:37;;;8419:18;;:::i;:::-;8402:37;8252:194;;;;:::o;8452:175::-;8592:27;8588:1;8580:6;8576:14;8569:51;8452:175;:::o;8633:366::-;8775:3;8796:67;8860:2;8855:3;8796:67;:::i;:::-;8789:74;;8872:93;8961:3;8872:93;:::i;:::-;8990:2;8985:3;8981:12;8974:19;;8633:366;;;:::o;9005:419::-;9171:4;9209:2;9198:9;9194:18;9186:26;;9258:9;9252:4;9248:20;9244:1;9233:9;9229:17;9222:47;9286:131;9412:4;9286:131;:::i;:::-;9278:139;;9005:419;;;:::o;9430:332::-;9551:4;9589:2;9578:9;9574:18;9566:26;;9602:71;9670:1;9659:9;9655:17;9646:6;9602:71;:::i;:::-;9683:72;9751:2;9740:9;9736:18;9727:6;9683:72;:::i;:::-;9430:332;;;;;:::o;9768:116::-;9838:21;9853:5;9838:21;:::i;:::-;9831:5;9828:32;9818:60;;9874:1;9871;9864:12;9818:60;9768:116;:::o;9890:137::-;9944:5;9975:6;9969:13;9960:22;;9991:30;10015:5;9991:30;:::i;:::-;9890:137;;;;:::o;10033:345::-;10100:6;10149:2;10137:9;10128:7;10124:23;10120:32;10117:119;;;10155:79;;:::i;:::-;10117:119;10275:1;10300:61;10353:7;10344:6;10333:9;10329:22;10300:61;:::i;:::-;10290:71;;10246:125;10033:345;;;;:::o;10384:442::-;10533:4;10571:2;10560:9;10556:18;10548:26;;10584:71;10652:1;10641:9;10637:17;10628:6;10584:71;:::i;:::-;10665:72;10733:2;10722:9;10718:18;10709:6;10665:72;:::i;:::-;10747;10815:2;10804:9;10800:18;10791:6;10747:72;:::i;:::-;10384:442;;;;;;:::o;10832:225::-;10972:34;10968:1;10960:6;10956:14;10949:58;11041:8;11036:2;11028:6;11024:15;11017:33;10832:225;:::o;11063:366::-;11205:3;11226:67;11290:2;11285:3;11226:67;:::i;:::-;11219:74;;11302:93;11391:3;11302:93;:::i;:::-;11420:2;11415:3;11411:12;11404:19;;11063:366;;;:::o;11435:419::-;11601:4;11639:2;11628:9;11624:18;11616:26;;11688:9;11682:4;11678:20;11674:1;11663:9;11659:17;11652:47;11716:131;11842:4;11716:131;:::i;:::-;11708:139;;11435:419;;;:::o

Swarm Source

ipfs://27fc7120095a49e0e1f00ef464e30327af6398ff6c135b4df0bcc157b2521eef

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.