ETH Price: $2,491.37 (+3.64%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Withdraw Tokens181133902023-09-11 13:24:23421 days ago1694438663IN
0xD3B9A7b1...3F0746387
0 ETH0.0012050818.76759022
Withdraw Tokens177002522023-07-15 17:28:47479 days ago1689442127IN
0xD3B9A7b1...3F0746387
0 ETH0.0008818213.73327856
Withdraw Tokens166976712023-02-24 10:42:11620 days ago1677235331IN
0xD3B9A7b1...3F0746387
0 ETH0.001633425.43804763
Withdraw Tokens162457452022-12-23 6:52:35683 days ago1671778355IN
0xD3B9A7b1...3F0746387
0 ETH0.0003979912.07267579
Withdraw Tokens162457442022-12-23 6:52:23683 days ago1671778343IN
0xD3B9A7b1...3F0746387
0 ETH0.0007827812.1907805
Withdraw Tokens161805552022-12-14 4:28:59692 days ago1670992139IN
0xD3B9A7b1...3F0746387
0 ETH0.0009041714.08134272
Withdraw Tokens160372192022-11-24 3:41:23712 days ago1669261283IN
0xD3B9A7b1...3F0746387
0 ETH0.000617211.77155565
Withdraw Tokens159986362022-11-18 18:17:35718 days ago1668795455IN
0xD3B9A7b1...3F0746387
0 ETH0.000813312.6661512
Withdraw Tokens159651292022-11-14 1:56:11723 days ago1668390971IN
0xD3B9A7b1...3F0746387
0 ETH0.0010725516.703613
Withdraw Tokens159281522022-11-08 21:59:11728 days ago1667944751IN
0xD3B9A7b1...3F0746387
0 ETH0.0028299444.07255285
Withdraw Tokens159157522022-11-07 4:27:23729 days ago1667795243IN
0xD3B9A7b1...3F0746387
0 ETH0.000617019.60922971
Withdraw Tokens158886602022-11-03 9:39:35733 days ago1667468375IN
0xD3B9A7b1...3F0746387
0 ETH0.0017281526.91367148
Withdraw Tokens158143372022-10-24 0:17:47744 days ago1666570667IN
0xD3B9A7b1...3F0746387
0 ETH0.0008646413.46570259
Withdraw Tokens157947282022-10-21 6:36:23746 days ago1666334183IN
0xD3B9A7b1...3F0746387
0 ETH0.0012797219.92993979
Withdraw Tokens157418682022-10-13 21:27:47754 days ago1665696467IN
0xD3B9A7b1...3F0746387
0 ETH0.0011240917.50633431
Withdraw Tokens157011242022-10-08 4:57:11759 days ago1665205031IN
0xD3B9A7b1...3F0746387
0 ETH0.00044356.90706165
Withdraw Tokens156997252022-10-08 0:15:47760 days ago1665188147IN
0xD3B9A7b1...3F0746387
0 ETH0.000444636.92462766
Withdraw Tokens156614632022-10-02 15:48:59765 days ago1664725739IN
0xD3B9A7b1...3F0746387
0 ETH0.000528198.2259756
Withdraw Tokens156538072022-10-01 14:07:47766 days ago1664633267IN
0xD3B9A7b1...3F0746387
0 ETH0.0009493214.78448802
Withdraw Tokens155831342022-09-21 17:08:47776 days ago1663780127IN
0xD3B9A7b1...3F0746387
0 ETH0.0009825815.30238387
Withdraw Tokens155609432022-09-18 14:11:35779 days ago1663510295IN
0xD3B9A7b1...3F0746387
0 ETH0.000369425.75333512
Withdraw Tokens155511682022-09-17 5:17:11780 days ago1663391831IN
0xD3B9A7b1...3F0746387
0 ETH0.000289134.50295848
Withdraw Tokens155423972022-09-15 23:37:59782 days ago1663285079IN
0xD3B9A7b1...3F0746387
0 ETH0.000484557.54625003
Withdraw Tokens155293432022-09-13 22:01:28784 days ago1663106488IN
0xD3B9A7b1...3F0746387
0 ETH0.0017336927
Withdraw Tokens155158312022-09-11 16:32:59786 days ago1662913979IN
0xD3B9A7b1...3F0746387
0 ETH0.0019510530.38499223
View all transactions

Latest 15 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
153687052022-08-19 2:29:22809 days ago1660876162
0xD3B9A7b1...3F0746387
0.05 ETH
151941582022-07-22 18:55:35837 days ago1658516135
0xD3B9A7b1...3F0746387
0.1 ETH
151067562022-07-09 6:30:29850 days ago1657348229
0xD3B9A7b1...3F0746387
0.09 ETH
150743032022-07-04 6:13:01855 days ago1656915181
0xD3B9A7b1...3F0746387
0.25 ETH
150711512022-07-03 18:21:38856 days ago1656872498
0xD3B9A7b1...3F0746387
0.15 ETH
150427642022-06-29 2:21:16860 days ago1656469276
0xD3B9A7b1...3F0746387
0.07 ETH
150279902022-06-26 7:56:13863 days ago1656230173
0xD3B9A7b1...3F0746387
0.06 ETH
150266132022-06-26 1:50:38864 days ago1656208238
0xD3B9A7b1...3F0746387
0.06 ETH
150222932022-06-25 6:09:28864 days ago1656137368
0xD3B9A7b1...3F0746387
0.05 ETH
150166052022-06-24 4:56:07865 days ago1656046567
0xD3B9A7b1...3F0746387
0.05 ETH
150003602022-06-21 4:04:36868 days ago1655784276
0xD3B9A7b1...3F0746387
0.1 ETH
149767812022-06-17 2:43:45872 days ago1655433825
0xD3B9A7b1...3F0746387
0.1 ETH
149742482022-06-16 16:10:36873 days ago1655395836
0xD3B9A7b1...3F0746387
0.05 ETH
149647042022-06-15 0:41:50875 days ago1655253710
0xD3B9A7b1...3F0746387
0.05 ETH
149582582022-06-13 21:47:29876 days ago1655156849
0xD3B9A7b1...3F0746387
0.0040891 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FirstPresale

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2022-05-29
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;
// Imports
/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 */
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 FirstPresale is ReentrancyGuard {
    address public owner = 0xBEED5427b0E728AC7EfAaD279c51d511472f9ee2; // owner
    IERC20 public token; //  Token.
    bool private tokenAvailable = false;
    uint public tokensPerETH = 35000; // token per ETH
    uint public ending; // sale end time
    bool public presaleStarted = false; //started or not
    address public deadWallet = 0x000000000000000000000000000000000000dEaD; 
    uint public cooldownTime = 10 days; // time between withdrawals of token
    uint public tokensSold;
    uint256 internal balance;
    uint256 public ContractBalance = 1500000*10**18; 


    mapping(address => bool) public whitelist; // Whitelist for presale.
    mapping(address => uint) public invested; // how much a person invested.
    mapping(address => uint) public investorBalance;//their current balance
    mapping(address => uint) public withdrawableBalance;//how much they can take out of tha platform
    mapping(address => uint) public claimReady;//is it time for that to happen

    constructor() {
    }

    modifier onlyOwner() {
        require(msg.sender == owner, 'You must be the owner.');
        _;
    }

    function transferOwnership (address newOwner) public onlyOwner{
        //check if not empty
        if (newOwner != 0x0000000000000000000000000000000000000000){
        owner = newOwner;
        }
    }

   //token insertion can only happen 1 time
    function setToken(IERC20 _token) public onlyOwner {
        require(!tokenAvailable, "Token is already inserted.");
        token = _token;
        tokenAvailable = true;
    }

    function multiAddToWhitelist(address[] memory _investor) public onlyOwner {
        for (uint _i = 0; _i < _investor.length; _i++) {
            require(_investor[_i] != address(0), 'Invalid address.');
            address _investorAddress = _investor[_i];
            whitelist[_investorAddress] = true;
        }
    }

    //add to whitelist
    function addToWhitelist(address _investor) public onlyOwner {
            require(_investor != address(0), 'Invalid address.');
            address _investorAddress = _investor;
            whitelist[_investorAddress] = true;        
    }

    function setPrice(uint _priceTPETH) public onlyOwner {
        require(presaleStarted, "Presale not started.");
        require(block.timestamp <  ending, "Presale finished.");
        tokensPerETH = _priceTPETH;
    }

    function startPsale(uint _presaleTime) public onlyOwner {
        require(tokenAvailable, "Token is not set.");
        require(!presaleStarted, "Presale already started.");
        ending = block.timestamp + _presaleTime;
        presaleStarted = true;
    }

    function invest() public payable nonReentrant {
        require(whitelist[msg.sender], "You must be on the whitelist.");
        require(presaleStarted, "Presale must have started.");
        require(block.timestamp <= ending, "Presale finished.");
        invested[msg.sender] += msg.value; // update investors balance
        require(invested[msg.sender] >= 0.05 ether, "Your investment should be more than 0.05 ETH.");
        require(invested[msg.sender] <= 2.5 ether, "Your investment cannot exceed 2.5 ETH.");

        uint _investorTokens = msg.value * tokensPerETH; // how many tokens they will receive
        investorBalance[msg.sender] += _investorTokens;//do the swap
        withdrawableBalance[msg.sender] += _investorTokens;//update the necesary balances
        tokensSold += _investorTokens;
    }

    //% calculation
    function mulScale (uint x, uint y, uint128 scale) internal pure returns (uint) {
        uint a = x / scale;
        uint b = x % scale;
        uint c = y / scale;
        uint d = y % scale;

        return a * c * scale + a * d + b * c + b * d / scale;
    }
    //investors claim function - they claim tokens at the end of the presale 

    //it means a buyer who buys 1000 tokens can take 100 a week every week for x weeks
    function withdrawTokens() public nonReentrant {
        require(whitelist[msg.sender], "You must be on the whitelist.");
        require(block.timestamp > ending, "Presale must have finished.");
        require(claimReady[msg.sender] <= block.timestamp, "You can't claim now.");
        require(ContractBalance > 0, "Insufficient contract balance.");
        require(investorBalance[msg.sender] > 0, "Insufficient investor balance.");

        uint _withdrawableTokensBalance = mulScale(investorBalance[msg.sender], 1000, 10000); // 1000 basis points = 10%.

        if(withdrawableBalance[msg.sender] <= _withdrawableTokensBalance) {
            token.transfer(msg.sender, withdrawableBalance[msg.sender]);
            investorBalance[msg.sender] = 0;
            withdrawableBalance[msg.sender] = 0;
        } else {
            claimReady[msg.sender] = block.timestamp + cooldownTime; // update next claim time
            withdrawableBalance[msg.sender] -= _withdrawableTokensBalance; // update withdrawable balance
            token.transfer(msg.sender, _withdrawableTokensBalance); // transfer the tokens
        }
    }

    //burn left over tokens
    function burnTokens() public onlyOwner {
        require(block.timestamp > ending, "Presale must have finished.");        
        uint _burnBalance = ContractBalance - tokensSold;
        token.transfer(deadWallet, _burnBalance);
    }

    function BalanceOut() public onlyOwner {
        uint _Balance = address(this).balance;
        payable (owner).transfer(_Balance);
    }

    receive() external payable{
        balance += msg.value;
    }

    fallback() external payable{
        balance += msg.value;
    }
}

interface IERC20 {
    function decimals() external view returns (uint256);
    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);
    function onERC20Received(address _operator, address _from, uint256 _value, bytes calldata _data) external returns(bytes4);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BalanceOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_investor","type":"address"}],"name":"addToWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimReady","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ending","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"invested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investorBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_investor","type":"address[]"}],"name":"multiAddToWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presaleStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_priceTPETH","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_presaleTime","type":"uint256"}],"name":"startPsale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensPerETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensSold","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":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawableBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b03191673beed5427b0e728ac7efaad279c51d511472f9ee21790556002805460ff60a01b191690556188b86003556005805462dead006001600160a81b0319909116179055620d2f006006556a013da329b633647180000060095534801561007657600080fd5b5060016000556114358061008b6000396000f3fe60806040526004361061014f5760003560e01c806391b7f5ed116100b6578063e43252d71161006f578063e43252d7146103eb578063e8b5e51f1461040b578063ea4dbf2214610413578063ed4f042f14610440578063f2fde38b14610455578063fc0c546a146104755761016e565b806391b7f5ed1461032f57806394033c811461034f5780639b19251a146103655780639bf1f4c214610395578063b319c6b7146103b5578063d9a57c9e146103cb5761016e565b80633b668059116101085780633b66805914610264578063518ab2a81461027a57806366b3f6bf1461029057806385141a77146102bd5780638d8f2adb146102fa5780638da5cb5b1461030f5761016e565b806302b629381461018057806304549d6f146101c057806308003f78146101ea578063144fa6d714610201578063245627471461022157806333941681146102375761016e565b3661016e57346008600082825461016691906111c1565b925050819055005b346008600082825461016691906111c1565b34801561018c57600080fd5b506101ad61019b3660046111fe565b600d6020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156101cc57600080fd5b506005546101da9060ff1681565b60405190151581526020016101b7565b3480156101f657600080fd5b506101ff610495565b005b34801561020d57600080fd5b506101ff61021c3660046111fe565b6105af565b34801561022d57600080fd5b506101ad60035481565b34801561024357600080fd5b506101ad6102523660046111fe565b600c6020526000908152604090205481565b34801561027057600080fd5b506101ad60095481565b34801561028657600080fd5b506101ad60075481565b34801561029c57600080fd5b506101ad6102ab3660046111fe565b600b6020526000908152604090205481565b3480156102c957600080fd5b506005546102e29061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101b7565b34801561030657600080fd5b506101ff61065a565b34801561031b57600080fd5b506001546102e2906001600160a01b031681565b34801561033b57600080fd5b506101ff61034a366004611222565b610a03565b34801561035b57600080fd5b506101ad60045481565b34801561037157600080fd5b506101da6103803660046111fe565b600a6020526000908152604090205460ff1681565b3480156103a157600080fd5b506101ff6103b0366004611222565b610ac0565b3480156103c157600080fd5b506101ad60065481565b3480156103d757600080fd5b506101ff6103e6366004611251565b610ba7565b3480156103f757600080fd5b506101ff6104063660046111fe565b610ca0565b6101ff610d37565b34801561041f57600080fd5b506101ad61042e3660046111fe565b600e6020526000908152604090205481565b34801561044c57600080fd5b506101ff611018565b34801561046157600080fd5b506101ff6104703660046111fe565b61107c565b34801561048157600080fd5b506002546102e2906001600160a01b031681565b6001546001600160a01b031633146104c85760405162461bcd60e51b81526004016104bf9061130a565b60405180910390fd5b60045442116105195760405162461bcd60e51b815260206004820152601b60248201527f50726573616c65206d75737420686176652066696e69736865642e000000000060448201526064016104bf565b600060075460095461052b919061133a565b60025460055460405163a9059cbb60e01b81526001600160a01b036101009092048216600482015260248101849052929350169063a9059cbb906044016020604051808303816000875af1158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab9190611351565b5050565b6001546001600160a01b031633146105d95760405162461bcd60e51b81526004016104bf9061130a565b600254600160a01b900460ff16156106335760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e20697320616c726561647920696e7365727465642e00000000000060448201526064016104bf565b600280546001600160a81b0319166001600160a01b0390921691909117600160a01b179055565b6002600054036106ac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104bf565b60026000908155338152600a602052604090205460ff1661070f5760405162461bcd60e51b815260206004820152601d60248201527f596f75206d757374206265206f6e207468652077686974656c6973742e00000060448201526064016104bf565b60045442116107605760405162461bcd60e51b815260206004820152601b60248201527f50726573616c65206d75737420686176652066696e69736865642e000000000060448201526064016104bf565b336000908152600e60205260409020544210156107b65760405162461bcd60e51b81526020600482015260146024820152732cb7ba9031b0b713ba1031b630b4b6903737bb9760611b60448201526064016104bf565b6000600954116108085760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63652e000060448201526064016104bf565b336000908152600c60205260409020546108645760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e7420696e766573746f722062616c616e63652e000060448201526064016104bf565b336000908152600c6020526040812054610883906103e86127106110d4565b336000908152600d6020526040902054909150811061094557600254336000818152600d60205260409081902054905163a9059cbb60e01b8152600481019290925260248201526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109229190611351565b50336000908152600c60209081526040808320839055600d9091528120556109fb565b60065461095290426111c1565b336000908152600e6020908152604080832093909355600d9052908120805483929061097f90849061133a565b909155505060025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190611351565b505b506001600055565b6001546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016104bf9061130a565b60055460ff16610a765760405162461bcd60e51b8152602060048201526014602482015273283932b9b0b632903737ba1039ba30b93a32b21760611b60448201526064016104bf565b6004544210610abb5760405162461bcd60e51b8152602060048201526011602482015270283932b9b0b632903334b734b9b432b21760791b60448201526064016104bf565b600355565b6001546001600160a01b03163314610aea5760405162461bcd60e51b81526004016104bf9061130a565b600254600160a01b900460ff16610b375760405162461bcd60e51b81526020600482015260116024820152702a37b5b2b71034b9903737ba1039b2ba1760791b60448201526064016104bf565b60055460ff1615610b8a5760405162461bcd60e51b815260206004820152601860248201527f50726573616c6520616c726561647920737461727465642e000000000000000060448201526064016104bf565b610b9481426111c1565b600455506005805460ff19166001179055565b6001546001600160a01b03163314610bd15760405162461bcd60e51b81526004016104bf9061130a565b60005b81518110156105ab5760006001600160a01b0316828281518110610bfa57610bfa611373565b60200260200101516001600160a01b031603610c4b5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21030b2323932b9b99760811b60448201526064016104bf565b6000828281518110610c5f57610c5f611373565b6020908102919091018101516001600160a01b03166000908152600a90915260409020805460ff191660011790555080610c9881611389565b915050610bd4565b6001546001600160a01b03163314610cca5760405162461bcd60e51b81526004016104bf9061130a565b6001600160a01b038116610d135760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21030b2323932b9b99760811b60448201526064016104bf565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b600260005403610d895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104bf565b60026000908155338152600a602052604090205460ff16610dec5760405162461bcd60e51b815260206004820152601d60248201527f596f75206d757374206265206f6e207468652077686974656c6973742e00000060448201526064016104bf565b60055460ff16610e3e5760405162461bcd60e51b815260206004820152601a60248201527f50726573616c65206d757374206861766520737461727465642e00000000000060448201526064016104bf565b600454421115610e845760405162461bcd60e51b8152602060048201526011602482015270283932b9b0b632903334b734b9b432b21760791b60448201526064016104bf565b336000908152600b602052604081208054349290610ea39084906111c1565b9091555050336000908152600b602052604090205466b1a2bc2ec500001115610f245760405162461bcd60e51b815260206004820152602d60248201527f596f757220696e766573746d656e742073686f756c64206265206d6f7265207460448201526c3430b7101817181a9022aa241760991b60648201526084016104bf565b336000908152600b60205260409020546722b1c8c1227a00001015610f9a5760405162461bcd60e51b815260206004820152602660248201527f596f757220696e766573746d656e742063616e6e6f742065786365656420322e6044820152651a9022aa241760d11b60648201526084016104bf565b600060035434610faa91906113a2565b336000908152600c6020526040812080549293508392909190610fce9084906111c1565b9091555050336000908152600d602052604081208054839290610ff29084906111c1565b92505081905550806007600082825461100b91906111c1565b9091555050600160005550565b6001546001600160a01b031633146110425760405162461bcd60e51b81526004016104bf9061130a565b60015460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156105ab573d6000803e3d6000fd5b6001546001600160a01b031633146110a65760405162461bcd60e51b81526004016104bf9061130a565b6001600160a01b038116156110d157600180546001600160a01b0319166001600160a01b0383161790555b50565b6000806110ea6001600160801b038416866113d7565b905060006111016001600160801b038516876113eb565b905060006111186001600160801b038616876113d7565b9050600061112f6001600160801b038716886113eb565b90506001600160801b03861661114582856113a2565b61114f91906113d7565b61115983856113a2565b61116383876113a2565b6001600160801b03891661117786896113a2565b61118191906113a2565b61118b91906111c1565b61119591906111c1565b61119f91906111c1565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156111d4576111d46111ab565b500190565b6001600160a01b03811681146110d157600080fd5b80356111f9816111d9565b919050565b60006020828403121561121057600080fd5b813561121b816111d9565b9392505050565b60006020828403121561123457600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561126457600080fd5b823567ffffffffffffffff8082111561127c57600080fd5b818501915085601f83011261129057600080fd5b8135818111156112a2576112a261123b565b8060051b604051601f19603f830116810181811085821117156112c7576112c761123b565b6040529182528482019250838101850191888311156112e557600080fd5b938501935b8285101561119f576112fb856111ee565b845293850193928501926112ea565b6020808252601690820152752cb7ba9036bab9ba103132903a34329037bbb732b91760511b604082015260600190565b60008282101561134c5761134c6111ab565b500390565b60006020828403121561136357600080fd5b8151801515811461121b57600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161139b5761139b6111ab565b5060010190565b60008160001904831182151516156113bc576113bc6111ab565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826113e6576113e66113c1565b500490565b6000826113fa576113fa6113c1565b50069056fea2646970667358221220c99db29792b4631bb961b0f708d3fd0ddcfe874c8ffeeb38ac8f025ca55a5f0c64736f6c634300080e0033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c806391b7f5ed116100b6578063e43252d71161006f578063e43252d7146103eb578063e8b5e51f1461040b578063ea4dbf2214610413578063ed4f042f14610440578063f2fde38b14610455578063fc0c546a146104755761016e565b806391b7f5ed1461032f57806394033c811461034f5780639b19251a146103655780639bf1f4c214610395578063b319c6b7146103b5578063d9a57c9e146103cb5761016e565b80633b668059116101085780633b66805914610264578063518ab2a81461027a57806366b3f6bf1461029057806385141a77146102bd5780638d8f2adb146102fa5780638da5cb5b1461030f5761016e565b806302b629381461018057806304549d6f146101c057806308003f78146101ea578063144fa6d714610201578063245627471461022157806333941681146102375761016e565b3661016e57346008600082825461016691906111c1565b925050819055005b346008600082825461016691906111c1565b34801561018c57600080fd5b506101ad61019b3660046111fe565b600d6020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156101cc57600080fd5b506005546101da9060ff1681565b60405190151581526020016101b7565b3480156101f657600080fd5b506101ff610495565b005b34801561020d57600080fd5b506101ff61021c3660046111fe565b6105af565b34801561022d57600080fd5b506101ad60035481565b34801561024357600080fd5b506101ad6102523660046111fe565b600c6020526000908152604090205481565b34801561027057600080fd5b506101ad60095481565b34801561028657600080fd5b506101ad60075481565b34801561029c57600080fd5b506101ad6102ab3660046111fe565b600b6020526000908152604090205481565b3480156102c957600080fd5b506005546102e29061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101b7565b34801561030657600080fd5b506101ff61065a565b34801561031b57600080fd5b506001546102e2906001600160a01b031681565b34801561033b57600080fd5b506101ff61034a366004611222565b610a03565b34801561035b57600080fd5b506101ad60045481565b34801561037157600080fd5b506101da6103803660046111fe565b600a6020526000908152604090205460ff1681565b3480156103a157600080fd5b506101ff6103b0366004611222565b610ac0565b3480156103c157600080fd5b506101ad60065481565b3480156103d757600080fd5b506101ff6103e6366004611251565b610ba7565b3480156103f757600080fd5b506101ff6104063660046111fe565b610ca0565b6101ff610d37565b34801561041f57600080fd5b506101ad61042e3660046111fe565b600e6020526000908152604090205481565b34801561044c57600080fd5b506101ff611018565b34801561046157600080fd5b506101ff6104703660046111fe565b61107c565b34801561048157600080fd5b506002546102e2906001600160a01b031681565b6001546001600160a01b031633146104c85760405162461bcd60e51b81526004016104bf9061130a565b60405180910390fd5b60045442116105195760405162461bcd60e51b815260206004820152601b60248201527f50726573616c65206d75737420686176652066696e69736865642e000000000060448201526064016104bf565b600060075460095461052b919061133a565b60025460055460405163a9059cbb60e01b81526001600160a01b036101009092048216600482015260248101849052929350169063a9059cbb906044016020604051808303816000875af1158015610587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ab9190611351565b5050565b6001546001600160a01b031633146105d95760405162461bcd60e51b81526004016104bf9061130a565b600254600160a01b900460ff16156106335760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e20697320616c726561647920696e7365727465642e00000000000060448201526064016104bf565b600280546001600160a81b0319166001600160a01b0390921691909117600160a01b179055565b6002600054036106ac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104bf565b60026000908155338152600a602052604090205460ff1661070f5760405162461bcd60e51b815260206004820152601d60248201527f596f75206d757374206265206f6e207468652077686974656c6973742e00000060448201526064016104bf565b60045442116107605760405162461bcd60e51b815260206004820152601b60248201527f50726573616c65206d75737420686176652066696e69736865642e000000000060448201526064016104bf565b336000908152600e60205260409020544210156107b65760405162461bcd60e51b81526020600482015260146024820152732cb7ba9031b0b713ba1031b630b4b6903737bb9760611b60448201526064016104bf565b6000600954116108085760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63652e000060448201526064016104bf565b336000908152600c60205260409020546108645760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e7420696e766573746f722062616c616e63652e000060448201526064016104bf565b336000908152600c6020526040812054610883906103e86127106110d4565b336000908152600d6020526040902054909150811061094557600254336000818152600d60205260409081902054905163a9059cbb60e01b8152600481019290925260248201526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109229190611351565b50336000908152600c60209081526040808320839055600d9091528120556109fb565b60065461095290426111c1565b336000908152600e6020908152604080832093909355600d9052908120805483929061097f90849061133a565b909155505060025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190611351565b505b506001600055565b6001546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016104bf9061130a565b60055460ff16610a765760405162461bcd60e51b8152602060048201526014602482015273283932b9b0b632903737ba1039ba30b93a32b21760611b60448201526064016104bf565b6004544210610abb5760405162461bcd60e51b8152602060048201526011602482015270283932b9b0b632903334b734b9b432b21760791b60448201526064016104bf565b600355565b6001546001600160a01b03163314610aea5760405162461bcd60e51b81526004016104bf9061130a565b600254600160a01b900460ff16610b375760405162461bcd60e51b81526020600482015260116024820152702a37b5b2b71034b9903737ba1039b2ba1760791b60448201526064016104bf565b60055460ff1615610b8a5760405162461bcd60e51b815260206004820152601860248201527f50726573616c6520616c726561647920737461727465642e000000000000000060448201526064016104bf565b610b9481426111c1565b600455506005805460ff19166001179055565b6001546001600160a01b03163314610bd15760405162461bcd60e51b81526004016104bf9061130a565b60005b81518110156105ab5760006001600160a01b0316828281518110610bfa57610bfa611373565b60200260200101516001600160a01b031603610c4b5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21030b2323932b9b99760811b60448201526064016104bf565b6000828281518110610c5f57610c5f611373565b6020908102919091018101516001600160a01b03166000908152600a90915260409020805460ff191660011790555080610c9881611389565b915050610bd4565b6001546001600160a01b03163314610cca5760405162461bcd60e51b81526004016104bf9061130a565b6001600160a01b038116610d135760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21030b2323932b9b99760811b60448201526064016104bf565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b600260005403610d895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104bf565b60026000908155338152600a602052604090205460ff16610dec5760405162461bcd60e51b815260206004820152601d60248201527f596f75206d757374206265206f6e207468652077686974656c6973742e00000060448201526064016104bf565b60055460ff16610e3e5760405162461bcd60e51b815260206004820152601a60248201527f50726573616c65206d757374206861766520737461727465642e00000000000060448201526064016104bf565b600454421115610e845760405162461bcd60e51b8152602060048201526011602482015270283932b9b0b632903334b734b9b432b21760791b60448201526064016104bf565b336000908152600b602052604081208054349290610ea39084906111c1565b9091555050336000908152600b602052604090205466b1a2bc2ec500001115610f245760405162461bcd60e51b815260206004820152602d60248201527f596f757220696e766573746d656e742073686f756c64206265206d6f7265207460448201526c3430b7101817181a9022aa241760991b60648201526084016104bf565b336000908152600b60205260409020546722b1c8c1227a00001015610f9a5760405162461bcd60e51b815260206004820152602660248201527f596f757220696e766573746d656e742063616e6e6f742065786365656420322e6044820152651a9022aa241760d11b60648201526084016104bf565b600060035434610faa91906113a2565b336000908152600c6020526040812080549293508392909190610fce9084906111c1565b9091555050336000908152600d602052604081208054839290610ff29084906111c1565b92505081905550806007600082825461100b91906111c1565b9091555050600160005550565b6001546001600160a01b031633146110425760405162461bcd60e51b81526004016104bf9061130a565b60015460405147916001600160a01b03169082156108fc029083906000818181858888f193505050501580156105ab573d6000803e3d6000fd5b6001546001600160a01b031633146110a65760405162461bcd60e51b81526004016104bf9061130a565b6001600160a01b038116156110d157600180546001600160a01b0319166001600160a01b0383161790555b50565b6000806110ea6001600160801b038416866113d7565b905060006111016001600160801b038516876113eb565b905060006111186001600160801b038616876113d7565b9050600061112f6001600160801b038716886113eb565b90506001600160801b03861661114582856113a2565b61114f91906113d7565b61115983856113a2565b61116383876113a2565b6001600160801b03891661117786896113a2565b61118191906113a2565b61118b91906111c1565b61119591906111c1565b61119f91906111c1565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156111d4576111d46111ab565b500190565b6001600160a01b03811681146110d157600080fd5b80356111f9816111d9565b919050565b60006020828403121561121057600080fd5b813561121b816111d9565b9392505050565b60006020828403121561123457600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561126457600080fd5b823567ffffffffffffffff8082111561127c57600080fd5b818501915085601f83011261129057600080fd5b8135818111156112a2576112a261123b565b8060051b604051601f19603f830116810181811085821117156112c7576112c761123b565b6040529182528482019250838101850191888311156112e557600080fd5b938501935b8285101561119f576112fb856111ee565b845293850193928501926112ea565b6020808252601690820152752cb7ba9036bab9ba103132903a34329037bbb732b91760511b604082015260600190565b60008282101561134c5761134c6111ab565b500390565b60006020828403121561136357600080fd5b8151801515811461121b57600080fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161139b5761139b6111ab565b5060010190565b60008160001904831182151516156113bc576113bc6111ab565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826113e6576113e66113c1565b500490565b6000826113fa576113fa6113c1565b50069056fea2646970667358221220c99db29792b4631bb961b0f708d3fd0ddcfe874c8ffeeb38ac8f025ca55a5f0c64736f6c634300080e0033

Deployed Bytecode Sourcemap

575:5773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6254:9;6243:7;;:20;;;;;;;:::i;:::-;;;;;;;;575:5773;6328:9;6317:7;;:20;;;;;;;:::i;1443:51::-;;;;;;;;;;-1:-1:-1;1443:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;952:25:1;;;940:2;925:18;1443:51:0;;;;;;;;881:34;;;;;;;;;;-1:-1:-1;881:34:0;;;;;;;;;;;1153:14:1;;1146:22;1128:41;;1116:2;1101:18;881:34:0;988:187:1;5810:240:0;;;;;;;;;;;;;:::i;:::-;;2032:180;;;;;;;;;;-1:-1:-1;2032:180:0;;;;;:::i;:::-;;:::i;783:32::-;;;;;;;;;;;;;;;;1366:47;;;;;;;;;;-1:-1:-1;1366:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;1155;;;;;;;;;;;;;;;;1095:22;;;;;;;;;;;;;;;;1288:40;;;;;;;;;;-1:-1:-1;1288:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;939:70;;;;;;;;;;-1:-1:-1;939:70:0;;;;;;;-1:-1:-1;;;;;939:70:0;;;;;;-1:-1:-1;;;;;1610:32:1;;;1592:51;;1580:2;1565:18;939:70:0;1446:203:1;4629:1144:0;;;;;;;;;;;;;:::i;623:65::-;;;;;;;;;;-1:-1:-1;623:65:0;;;;-1:-1:-1;;;;;623:65:0;;;2829:222;;;;;;;;;;-1:-1:-1;2829:222:0;;;;;:::i;:::-;;:::i;839:18::-;;;;;;;;;;;;;;;;1214:41;;;;;;;;;;-1:-1:-1;1214:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3059:264;;;;;;;;;;-1:-1:-1;3059:264:0;;;;;:::i;:::-;;:::i;1017:34::-;;;;;;;;;;;;;;;;2220:326;;;;;;;;;;-1:-1:-1;2220:326:0;;;;;:::i;:::-;;:::i;2578:243::-;;;;;;;;;;-1:-1:-1;2578:243:0;;;;;:::i;:::-;;:::i;3331:826::-;;;:::i;1545:42::-;;;;;;;;;;-1:-1:-1;1545:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;6058:140;;;;;;;;;;;;;:::i;1771:208::-;;;;;;;;;;-1:-1:-1;1771:208:0;;;;;:::i;:::-;;:::i;704:19::-;;;;;;;;;;-1:-1:-1;704:19:0;;;;-1:-1:-1;;;;;704:19:0;;;5810:240;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;;;;;;;;;5886:6:::1;;5868:15;:24;5860:64;;;::::0;-1:-1:-1;;;5860:64:0;;3872:2:1;5860:64:0::1;::::0;::::1;3854:21:1::0;3911:2;3891:18;;;3884:30;3950:29;3930:18;;;3923:57;3997:18;;5860:64:0::1;3670:351:1::0;5860:64:0::1;5943:17;5981:10;;5963:15;;:28;;;;:::i;:::-;6002:5;::::0;6017:10:::1;::::0;6002:40:::1;::::0;-1:-1:-1;;;6002:40:0;;-1:-1:-1;;;;;6002:5:0::1;6017:10:::0;;::::1;::::0;::::1;6002:40;::::0;::::1;4330:51:1::0;4397:18;;;4390:34;;;;;-1:-1:-1;6002:5:0::1;::::0;:14:::1;::::0;4303:18:1;;6002:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5849:201;5810:240::o:0;2032:180::-;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;2102:14:::1;::::0;-1:-1:-1;;;2102:14:0;::::1;;;2101:15;2093:54;;;::::0;-1:-1:-1;;;2093:54:0;;4919:2:1;2093:54:0::1;::::0;::::1;4901:21:1::0;4958:2;4938:18;;;4931:30;4997:28;4977:18;;;4970:56;5043:18;;2093:54:0::1;4717:350:1::0;2093:54:0::1;2158:5;:14:::0;;-1:-1:-1;;;;;;2183:21:0;-1:-1:-1;;;;;2158:14:0;;::::1;2183:21:::0;;;;-1:-1:-1;;;2183:21:0::1;::::0;;2032:180::o;4629:1144::-;283:1;431:7;;:19;423:63;;;;-1:-1:-1;;;423:63:0;;5274:2:1;423:63:0;;;5256:21:1;5313:2;5293:18;;;5286:30;5352:33;5332:18;;;5325:61;5403:18;;423:63:0;5072:355:1;423:63:0;283:1;497:7;:18;;;4704:10:::1;4694:21:::0;;:9:::1;:21;::::0;;;;;::::1;;4686:63;;;::::0;-1:-1:-1;;;4686:63:0;;5634:2:1;4686:63:0::1;::::0;::::1;5616:21:1::0;5673:2;5653:18;;;5646:30;5712:31;5692:18;;;5685:59;5761:18;;4686:63:0::1;5432:353:1::0;4686:63:0::1;4786:6;;4768:15;:24;4760:64;;;::::0;-1:-1:-1;;;4760:64:0;;3872:2:1;4760:64:0::1;::::0;::::1;3854:21:1::0;3911:2;3891:18;;;3884:30;3950:29;3930:18;;;3923:57;3997:18;;4760:64:0::1;3670:351:1::0;4760:64:0::1;4854:10;4843:22;::::0;;;:10:::1;:22;::::0;;;;;4869:15:::1;-1:-1:-1::0;4843:41:0::1;4835:74;;;::::0;-1:-1:-1;;;4835:74:0;;5992:2:1;4835:74:0::1;::::0;::::1;5974:21:1::0;6031:2;6011:18;;;6004:30;-1:-1:-1;;;6050:18:1;;;6043:50;6110:18;;4835:74:0::1;5790:344:1::0;4835:74:0::1;4946:1;4928:15;;:19;4920:62;;;::::0;-1:-1:-1;;;4920:62:0;;6341:2:1;4920:62:0::1;::::0;::::1;6323:21:1::0;6380:2;6360:18;;;6353:30;6419:32;6399:18;;;6392:60;6469:18;;4920:62:0::1;6139:354:1::0;4920:62:0::1;5017:10;5031:1;5001:27:::0;;;:15:::1;:27;::::0;;;;;4993:74:::1;;;::::0;-1:-1:-1;;;4993:74:0;;6700:2:1;4993:74:0::1;::::0;::::1;6682:21:1::0;6739:2;6719:18;;;6712:30;6778:32;6758:18;;;6751:60;6828:18;;4993:74:0::1;6498:354:1::0;4993:74:0::1;5139:10;5080:31;5123:27:::0;;;:15:::1;:27;::::0;;;;;5114:50:::1;::::0;5152:4:::1;5158:5;5114:8;:50::i;:::-;5228:10;5208:31;::::0;;;:19:::1;:31;::::0;;;;;5080:84;;-1:-1:-1;5208:61:0;-1:-1:-1;5205:561:0::1;;5286:5;::::0;5301:10:::1;5286:5;5313:31:::0;;;:19:::1;:31;::::0;;;;;;;5286:59;;-1:-1:-1;;;5286:59:0;;::::1;::::0;::::1;4330:51:1::0;;;;4397:18;;;4390:34;-1:-1:-1;;;;;5286:5:0;;::::1;::::0;:14:::1;::::0;4303:18:1;;5286:59:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5376:10:0::1;5390:1;5360:27:::0;;;:15:::1;:27;::::0;;;;;;;:31;;;5406:19:::1;:31:::0;;;;;:35;5205:561:::1;;;5517:12;::::0;5499:30:::1;::::0;:15:::1;:30;:::i;:::-;5485:10;5474:22;::::0;;;:10:::1;:22;::::0;;;;;;;:55;;;;5570:19:::1;:31:::0;;;;;:61;;5605:26;;5474:22;5570:61:::1;::::0;5605:26;;5570:61:::1;:::i;:::-;::::0;;;-1:-1:-1;;5677:5:0::1;::::0;:54:::1;::::0;-1:-1:-1;;;5677:54:0;;5692:10:::1;5677:54;::::0;::::1;4330:51:1::0;4397:18;;;4390:34;;;-1:-1:-1;;;;;5677:5:0;;::::1;::::0;:14:::1;::::0;4303:18:1;;5677:54:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5205:561;-1:-1:-1::0;239:1:0;538:7;:22;4629:1144::o;2829:222::-;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;2901:14:::1;::::0;::::1;;2893:47;;;::::0;-1:-1:-1;;;2893:47:0;;7059:2:1;2893:47:0::1;::::0;::::1;7041:21:1::0;7098:2;7078:18;;;7071:30;-1:-1:-1;;;7117:18:1;;;7110:50;7177:18;;2893:47:0::1;6857:344:1::0;2893:47:0::1;2978:6;;2959:15;:25;2951:55;;;::::0;-1:-1:-1;;;2951:55:0;;7408:2:1;2951:55:0::1;::::0;::::1;7390:21:1::0;7447:2;7427:18;;;7420:30;-1:-1:-1;;;7466:18:1;;;7459:47;7523:18;;2951:55:0::1;7206:341:1::0;2951:55:0::1;3017:12;:26:::0;2829:222::o;3059:264::-;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;3134:14:::1;::::0;-1:-1:-1;;;3134:14:0;::::1;;;3126:44;;;::::0;-1:-1:-1;;;3126:44:0;;7754:2:1;3126:44:0::1;::::0;::::1;7736:21:1::0;7793:2;7773:18;;;7766:30;-1:-1:-1;;;7812:18:1;;;7805:47;7869:18;;3126:44:0::1;7552:341:1::0;3126:44:0::1;3190:14;::::0;::::1;;3189:15;3181:52;;;::::0;-1:-1:-1;;;3181:52:0;;8100:2:1;3181:52:0::1;::::0;::::1;8082:21:1::0;8139:2;8119:18;;;8112:30;8178:26;8158:18;;;8151:54;8222:18;;3181:52:0::1;7898:348:1::0;3181:52:0::1;3253:30;3271:12:::0;3253:15:::1;:30;:::i;:::-;3244:6;:39:::0;-1:-1:-1;3294:14:0::1;:21:::0;;-1:-1:-1;;3294:21:0::1;3311:4;3294:21;::::0;;3059:264::o;2220:326::-;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;2310:7:::1;2305:234;2328:9;:16;2323:2;:21;2305:234;;;2400:1;-1:-1:-1::0;;;;;2375:27:0::1;:9;2385:2;2375:13;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;2375:27:0::1;::::0;2367:56:::1;;;::::0;-1:-1:-1;;;2367:56:0;;8585:2:1;2367:56:0::1;::::0;::::1;8567:21:1::0;8624:2;8604:18;;;8597:30;-1:-1:-1;;;8643:18:1;;;8636:46;8699:18;;2367:56:0::1;8383:340:1::0;2367:56:0::1;2438:24;2465:9;2475:2;2465:13;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;2493:27:0::1;;::::0;;;:9:::1;:27:::0;;;;;;:34;;-1:-1:-1;;2493:34:0::1;2523:4;2493:34;::::0;;-1:-1:-1;2346:4:0;::::1;::::0;::::1;:::i;:::-;;;;2305:234;;2578:243:::0;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2661:23:0;::::1;2653:52;;;::::0;-1:-1:-1;;;2653:52:0;;8585:2:1;2653:52:0::1;::::0;::::1;8567:21:1::0;8624:2;8604:18;;;8597:30;-1:-1:-1;;;8643:18:1;;;8636:46;8699:18;;2653:52:0::1;8383:340:1::0;2653:52:0::1;-1:-1:-1::0;;;;;2771:27:0::1;2720:24;2771:27:::0;;;:9:::1;:27;::::0;;;;:34;;-1:-1:-1;;2771:34:0::1;2801:4;2771:34;::::0;;2578:243::o;3331:826::-;283:1;431:7;;:19;423:63;;;;-1:-1:-1;;;423:63:0;;5274:2:1;423:63:0;;;5256:21:1;5313:2;5293:18;;;5286:30;5352:33;5332:18;;;5325:61;5403:18;;423:63:0;5072:355:1;423:63:0;283:1;497:7;:18;;;3406:10:::1;3396:21:::0;;:9:::1;:21;::::0;;;;;::::1;;3388:63;;;::::0;-1:-1:-1;;;3388:63:0;;5634:2:1;3388:63:0::1;::::0;::::1;5616:21:1::0;5673:2;5653:18;;;5646:30;5712:31;5692:18;;;5685:59;5761:18;;3388:63:0::1;5432:353:1::0;3388:63:0::1;3470:14;::::0;::::1;;3462:53;;;::::0;-1:-1:-1;;;3462:53:0;;9070:2:1;3462:53:0::1;::::0;::::1;9052:21:1::0;9109:2;9089:18;;;9082:30;9148:28;9128:18;;;9121:56;9194:18;;3462:53:0::1;8868:350:1::0;3462:53:0::1;3553:6;;3534:15;:25;;3526:55;;;::::0;-1:-1:-1;;;3526:55:0;;7408:2:1;3526:55:0::1;::::0;::::1;7390:21:1::0;7447:2;7427:18;;;7420:30;-1:-1:-1;;;7466:18:1;;;7459:47;7523:18;;3526:55:0::1;7206:341:1::0;3526:55:0::1;3601:10;3592:20;::::0;;;:8:::1;:20;::::0;;;;:33;;3616:9:::1;::::0;3592:20;:33:::1;::::0;3616:9;;3592:33:::1;:::i;:::-;::::0;;;-1:-1:-1;;3681:10:0::1;3672:20;::::0;;;:8:::1;:20;::::0;;;;;3696:10:::1;-1:-1:-1::0;3672:34:0::1;3664:92;;;::::0;-1:-1:-1;;;3664:92:0;;9425:2:1;3664:92:0::1;::::0;::::1;9407:21:1::0;9464:2;9444:18;;;9437:30;9503:34;9483:18;;;9476:62;-1:-1:-1;;;9554:18:1;;;9547:43;9607:19;;3664:92:0::1;9223:409:1::0;3664:92:0::1;3784:10;3775:20;::::0;;;:8:::1;:20;::::0;;;;;3799:9:::1;-1:-1:-1::0;3775:33:0::1;3767:84;;;::::0;-1:-1:-1;;;3767:84:0;;9839:2:1;3767:84:0::1;::::0;::::1;9821:21:1::0;9878:2;9858:18;;;9851:30;9917:34;9897:18;;;9890:62;-1:-1:-1;;;9968:18:1;;;9961:36;10014:19;;3767:84:0::1;9637:402:1::0;3767:84:0::1;3864:20;3899:12;;3887:9;:24;;;;:::i;:::-;3975:10;3959:27;::::0;;;:15:::1;:27;::::0;;;;:46;;3864:47;;-1:-1:-1;3864:47:0;;3959:27;;;:46:::1;::::0;3864:47;;3959:46:::1;:::i;:::-;::::0;;;-1:-1:-1;;4049:10:0::1;4029:31;::::0;;;:19:::1;:31;::::0;;;;:50;;4064:15;;4029:31;:50:::1;::::0;4064:15;;4029:50:::1;:::i;:::-;;;;;;;;4134:15;4120:10;;:29;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;239:1:0;538:7;:22;-1:-1:-1;3331:826:0:o;6058:140::-;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;6165:5:::1;::::0;6156:34:::1;::::0;6124:21:::1;::::0;-1:-1:-1;;;;;6165:5:0::1;::::0;6156:34;::::1;;;::::0;6124:21;;6108:13:::1;6156:34:::0;6108:13;6156:34;6124:21;6165:5;6156:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;1771:208:::0;1711:5;;-1:-1:-1;;;;;1711:5:0;1697:10;:19;1689:54;;;;-1:-1:-1;;;1689:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1878:54:0;::::1;::::0;1874:98:::1;;1944:5;:16:::0;;-1:-1:-1;;;;;;1944:16:0::1;-1:-1:-1::0;;;;;1944:16:0;::::1;;::::0;;1874:98:::1;1771:208:::0;:::o;4186:268::-;4259:4;;4285:9;-1:-1:-1;;;;;4285:9:0;;:1;:9;:::i;:::-;4276:18;-1:-1:-1;4305:6:0;4314:9;-1:-1:-1;;;;;4314:9:0;;:1;:9;:::i;:::-;4305:18;-1:-1:-1;4334:6:0;4343:9;-1:-1:-1;;;;;4343:9:0;;:1;:9;:::i;:::-;4334:18;-1:-1:-1;4363:6:0;4372:9;-1:-1:-1;;;;;4372:9:0;;:1;:9;:::i;:::-;4363:18;-1:-1:-1;;;;;;4433:13:0;;:5;4363:18;4433:1;:5;:::i;:::-;:13;;;;:::i;:::-;4425:5;4429:1;4425;:5;:::i;:::-;4417;4421:1;4417;:5;:::i;:::-;-1:-1:-1;;;;;4401:13:0;;:5;4405:1;4401;:5;:::i;:::-;:13;;;;:::i;:::-;:21;;;;:::i;:::-;:29;;;;:::i;:::-;:45;;;;:::i;:::-;4394:52;4186:268;-1:-1:-1;;;;;;;;4186:268:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:128;186:3;217:1;213:6;210:1;207:13;204:39;;;223:18;;:::i;:::-;-1:-1:-1;259:9:1;;146:128::o;279:131::-;-1:-1:-1;;;;;354:31:1;;344:42;;334:70;;400:1;397;390:12;415:134;483:20;;512:31;483:20;512:31;:::i;:::-;415:134;;;:::o;554:247::-;613:6;666:2;654:9;645:7;641:23;637:32;634:52;;;682:1;679;672:12;634:52;721:9;708:23;740:31;765:5;740:31;:::i;:::-;790:5;554:247;-1:-1:-1;;;554:247:1:o;1654:180::-;1713:6;1766:2;1754:9;1745:7;1741:23;1737:32;1734:52;;;1782:1;1779;1772:12;1734:52;-1:-1:-1;1805:23:1;;1654:180;-1:-1:-1;1654:180:1:o;1839:127::-;1900:10;1895:3;1891:20;1888:1;1881:31;1931:4;1928:1;1921:15;1955:4;1952:1;1945:15;1971:1121;2055:6;2086:2;2129;2117:9;2108:7;2104:23;2100:32;2097:52;;;2145:1;2142;2135:12;2097:52;2185:9;2172:23;2214:18;2255:2;2247:6;2244:14;2241:34;;;2271:1;2268;2261:12;2241:34;2309:6;2298:9;2294:22;2284:32;;2354:7;2347:4;2343:2;2339:13;2335:27;2325:55;;2376:1;2373;2366:12;2325:55;2412:2;2399:16;2434:2;2430;2427:10;2424:36;;;2440:18;;:::i;:::-;2486:2;2483:1;2479:10;2518:2;2512:9;2581:2;2577:7;2572:2;2568;2564:11;2560:25;2552:6;2548:38;2636:6;2624:10;2621:22;2616:2;2604:10;2601:18;2598:46;2595:72;;;2647:18;;:::i;:::-;2683:2;2676:22;2733:18;;;2767:15;;;;-1:-1:-1;2809:11:1;;;2805:20;;;2837:19;;;2834:39;;;2869:1;2866;2859:12;2834:39;2893:11;;;;2913:148;2929:6;2924:3;2921:15;2913:148;;;2995:23;3014:3;2995:23;:::i;:::-;2983:36;;2946:12;;;;3039;;;;2913:148;;3319:346;3521:2;3503:21;;;3560:2;3540:18;;;3533:30;-1:-1:-1;;;3594:2:1;3579:18;;3572:52;3656:2;3641:18;;3319:346::o;4026:125::-;4066:4;4094:1;4091;4088:8;4085:34;;;4099:18;;:::i;:::-;-1:-1:-1;4136:9:1;;4026:125::o;4435:277::-;4502:6;4555:2;4543:9;4534:7;4530:23;4526:32;4523:52;;;4571:1;4568;4561:12;4523:52;4603:9;4597:16;4656:5;4649:13;4642:21;4635:5;4632:32;4622:60;;4678:1;4675;4668:12;8251:127;8312:10;8307:3;8303:20;8300:1;8293:31;8343:4;8340:1;8333:15;8367:4;8364:1;8357:15;8728:135;8767:3;8788:17;;;8785:43;;8808:18;;:::i;:::-;-1:-1:-1;8855:1:1;8844:13;;8728:135::o;10044:168::-;10084:7;10150:1;10146;10142:6;10138:14;10135:1;10132:21;10127:1;10120:9;10113:17;10109:45;10106:71;;;10157:18;;:::i;:::-;-1:-1:-1;10197:9:1;;10044:168::o;10217:127::-;10278:10;10273:3;10269:20;10266:1;10259:31;10309:4;10306:1;10299:15;10333:4;10330:1;10323:15;10349:120;10389:1;10415;10405:35;;10420:18;;:::i;:::-;-1:-1:-1;10454:9:1;;10349:120::o;10474:112::-;10506:1;10532;10522:35;;10537:18;;:::i;:::-;-1:-1:-1;10571:9:1;;10474:112::o

Swarm Source

ipfs://c99db29792b4631bb961b0f708d3fd0ddcfe874c8ffeeb38ac8f025ca55a5f0c

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.