ETH Price: $2,324.28 (-5.25%)

Contract

0x59Ad566F89A4890BB3e7E1E1f8FBbdCc35025296
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Send Token149893332022-06-19 6:25:10837 days ago1655619910IN
0x59Ad566F...c35025296
0 ETH0.0019100719.15304965
Send Token148664902022-05-29 12:41:20858 days ago1653828080IN
0x59Ad566F...c35025296
0 ETH0.0010314615.74107838
Send Token146981052022-05-02 11:48:59885 days ago1651492139IN
0x59Ad566F...c35025296
0 ETH0.0032367549.39579307
Send Token146516212022-04-25 4:10:47892 days ago1650859847IN
0x59Ad566F...c35025296
0 ETH0.0020935836.69025065
Send Token146516202022-04-25 4:10:44892 days ago1650859844IN
0x59Ad566F...c35025296
0 ETH0.002404236.69025065
Send Token138940142021-12-28 13:32:251010 days ago1640698345IN
0x59Ad566F...c35025296
0 ETH0.0063222496.48311045
Send Token138939672021-12-28 13:19:061010 days ago1640697546IN
0x59Ad566F...c35025296
0 ETH0.0063250676.54964329
Send Token138278642021-12-18 7:48:241020 days ago1639813704IN
0x59Ad566F...c35025296
0 ETH0.0033399344.12596463
Send Token136645502021-11-22 12:42:221046 days ago1637584942IN
0x59Ad566F...c35025296
0 ETH0.00889664107.67233007
Send Token130734382021-08-22 6:13:251138 days ago1629612805IN
0x59Ad566F...c35025296
0 ETH0.0015357226.211
Send Token130203382021-08-14 1:21:151146 days ago1628904075IN
0x59Ad566F...c35025296
0 ETH0.0038890647.07460771
Send Token130155842021-08-13 7:56:571147 days ago1628841417IN
0x59Ad566F...c35025296
0 ETH0.003678236.8871785
Send Token129341692021-07-31 15:38:571160 days ago1627745937IN
0x59Ad566F...c35025296
0 ETH0.0016991329
Send Token129133042021-07-28 8:04:471163 days ago1627459487IN
0x59Ad566F...c35025296
0 ETH0.002144323.115
Send Token128971992021-07-25 19:09:461165 days ago1627240186IN
0x59Ad566F...c35025296
0 ETH0.0012976719.8
Send Token128617542021-07-20 6:17:391171 days ago1626761859IN
0x59Ad566F...c35025296
0 ETH0.0026929527
Send Token128617442021-07-20 6:15:271171 days ago1626761727IN
0x59Ad566F...c35025296
0 ETH0.0017695527
Send Token128617292021-07-20 6:12:381171 days ago1626761558IN
0x59Ad566F...c35025296
0 ETH0.0018023227.5
Send Token128616492021-07-20 5:56:091171 days ago1626760569IN
0x59Ad566F...c35025296
0 ETH0.0027526342
Send Token128410932021-07-17 0:28:301174 days ago1626481710IN
0x59Ad566F...c35025296
0 ETH0.0018749132
Send Token128299142021-07-15 6:27:111176 days ago1626330431IN
0x59Ad566F...c35025296
0 ETH0.0018347528
Send Token128182692021-07-13 10:27:181178 days ago1626172038IN
0x59Ad566F...c35025296
0 ETH0.0008522217.00000145
Send Token127879012021-07-08 16:57:431183 days ago1625763463IN
0x59Ad566F...c35025296
0 ETH0.0038049241
Send Token127860382021-07-08 9:56:391183 days ago1625738199IN
0x59Ad566F...c35025296
0 ETH0.0021579330
Send Token127717902021-07-06 4:33:261185 days ago1625546006IN
0x59Ad566F...c35025296
0 ETH0.0007863212.00000134
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ETH2PosPay

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.5.16;

contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public;
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public;
    function approve(address spender, uint256 value) public;
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * Math operations with safety checks
 */
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() public {
        owner = msg.sender;
    }


    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }


    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

contract SignRecover {
    function splitSignature(bytes memory sig) internal pure returns (uint8, bytes32, bytes32)
    {
        require(sig.length == 65);

        bytes32 r;
        bytes32 s;
        uint8 v;

        assembly {
        // first 32 bytes, after the length prefix
            r := mload(add(sig, 32))
        // second 32 bytes
            s := mload(add(sig, 64))
        // final byte (first byte of the next 32 bytes)
            v := byte(0, mload(add(sig, 96)))
        }

        return (v, r, s);
    }

    function recoverSigner(bytes32 message, bytes memory sig) internal pure returns (address)
    {
        uint8 v;
        bytes32 r;
        bytes32 s;

        (v, r, s) = splitSignature(sig);

        return ecrecover(message, v, r, s);
    }
}
contract ETH2PosPay is Ownable, SignRecover {
    using SafeMath for uint;
    event GovWithdraw(address indexed to,uint256 value);

    address public signer;
    mapping (address => mapping (address => uint)) public tokenRecords;
    mapping (address => uint) public ethRecords;

    mapping (address => bool) public isBlackListed;
    function addBlackList (address _evilUser) public onlyOwner {
        isBlackListed[_evilUser] = true;
    }
    function removeBlackList (address _clearedUser) public onlyOwner {
        isBlackListed[_clearedUser] = false;
    }

    function setSigner(address _addr) public onlyOwner {
        require(_addr != address(0));
        signer = _addr;
    }

    function sendToken(address _token,  uint256  _balance, bytes memory _sig) public {
        require(!isBlackListed[msg.sender]);
        require(signer != address(0), "no signer");
        string memory func = "sendToken";
        bytes32 message = keccak256(abi.encodePacked(this, func, msg.sender, _token,_balance));
        require(recoverSigner(message, _sig) == signer,"sign err");
        ERC20 erc20token = ERC20(_token);
        address _to = msg.sender;
        uint send = _balance.sub(tokenRecords[_token][msg.sender]);
        tokenRecords[_token][msg.sender] = _balance;
        erc20token.transfer(_to, send);
    }

    function sendEth(uint256  _balance, bytes memory _sig) public {
        require(!isBlackListed[msg.sender]);
        require(signer != address(0), "no signer");
        string memory func = "sendEth";
        bytes32 message = keccak256(abi.encodePacked(this, func, msg.sender, _balance));
        require(recoverSigner(message, _sig) == signer,"sign err");
        uint send = _balance.sub(ethRecords[msg.sender]);
        ethRecords[msg.sender] = _balance;
        msg.sender.transfer(send);
    }

    function() external payable {
    }

    function govWithdraw(uint256 _amount)onlyOwner public {
        require(_amount > 0,"!zero input");
        msg.sender.transfer(_amount);
        emit GovWithdraw(msg.sender,_amount);
    }

    function govWithdrawToken(address _token, uint256 _amount)onlyOwner public {
        require(_amount > 0,"!zero input");
        ERC20 erc20token = ERC20(_token);
        address _to = msg.sender;
        erc20token.transfer(_to, _amount);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"GovWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ethRecords","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"govWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"govWithdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_balance","type":"uint256"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"sendEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_balance","type":"uint256"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"sendToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"setSigner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"signer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"tokenRecords","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611891806100536000396000f3fe6080604052600436106100c25760003560e01c80636c19e7831161007f578063cf46111a11610059578063cf46111a14610466578063e47d606014610558578063e4997dc5146105c1578063f2fde38b14610612576100c2565b80636c19e783146103595780638da5cb5b146103aa578063b48eb9e514610401576100c2565b806307ceeee4146100c45780630ecb93c0146100ff57806310c0c0b414610150578063238ac933146101d557806352d4ce1e1461022c57806367ed92e614610287575b005b3480156100d057600080fd5b506100fd600480360360208110156100e757600080fd5b8101908080359060200190929190505050610663565b005b34801561010b57600080fd5b5061014e6004803603602081101561012257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ca565b005b34801561015c57600080fd5b506101bf6004803603604081101561017357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087e565b6040518082815260200191505060405180910390f35b3480156101e157600080fd5b506101ea6108a3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023857600080fd5b506102856004803603604081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108c9565b005b34801561029357600080fd5b50610357600480360360408110156102aa57600080fd5b8101908080359060200190929190803590602001906401000000008111156102d157600080fd5b8201836020820111156102e357600080fd5b8035906020019184600183028401116401000000008311171561030557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a47565b005b34801561036557600080fd5b506103a86004803603602081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e3d565b005b3480156103b657600080fd5b506103bf610f14565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040d57600080fd5b506104506004803603602081101561042457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f39565b6040518082815260200191505060405180910390f35b34801561047257600080fd5b506105566004803603606081101561048957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156104d057600080fd5b8201836020820111156104e257600080fd5b8035906020019184600183028401116401000000008311171561050457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f51565b005b34801561056457600080fd5b506105a76004803603602081101561057b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145d565b604051808215151515815260200191505060405180910390f35b3480156105cd57600080fd5b50610610600480360360208110156105e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061147d565b005b34801561061e57600080fd5b506106616004803603602081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611531565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106bc57600080fd5b60008111610732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610778573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbab948c05df3e6bb363b70ccd842ada769c20139583b7b4014c4b23ef26cd6fe826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082357600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6002602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092257600080fd5b60008111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b600082905060003390508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b5050505050505050565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a9e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f207369676e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606040518060400160405280600781526020017f73656e64457468000000000000000000000000000000000000000000000000008152509050600030823386604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140184805190602001908083835b60208310610c0e5780518252602082019150602081019050602083039250610beb565b6001836020036101000a0380198251168184511680821785525050505050509050018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828152602001945050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ccc8285611682565b73ffffffffffffffffffffffffffffffffffffffff1614610d55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f7369676e2065727200000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610da9600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661170f90919063ffffffff16565b905084600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e35573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ed057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fa857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f207369676e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606040518060400160405280600981526020017f73656e64546f6b656e0000000000000000000000000000000000000000000000815250905060003082338787604051602001808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140185805190602001908083835b6020831061111957805182526020820191506020810190506020830392506110f6565b6001836020036101000a0380198251168184511680821785525050505050509050018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140182815260200195505050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661120d8285611682565b73ffffffffffffffffffffffffffffffffffffffff1614611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f7369676e2065727200000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600085905060003390506000611331600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548861170f90919063ffffffff16565b905086600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505050505050505050505050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461158a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008061169185611759565b80935081945082955050505060018684848460405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156116fa573d6000803e3d6000fd5b50505060206040510351935050505092915050565b600061175183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061179c565b905092915050565b6000806000604184511461176c57600080fd5b60008060006020870151925060408701519150606087015160001a90508083839550955095505050509193909250565b6000838311158290611849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561180e5780820151818401526020810190506117f3565b50505050905090810190601f16801561183b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea265627a7a723158201d51b5af1cc48a10282e71a7c12ba57071b074e7964ad2b823decfbffca22cd264736f6c63430005110032

Deployed Bytecode

0x6080604052600436106100c25760003560e01c80636c19e7831161007f578063cf46111a11610059578063cf46111a14610466578063e47d606014610558578063e4997dc5146105c1578063f2fde38b14610612576100c2565b80636c19e783146103595780638da5cb5b146103aa578063b48eb9e514610401576100c2565b806307ceeee4146100c45780630ecb93c0146100ff57806310c0c0b414610150578063238ac933146101d557806352d4ce1e1461022c57806367ed92e614610287575b005b3480156100d057600080fd5b506100fd600480360360208110156100e757600080fd5b8101908080359060200190929190505050610663565b005b34801561010b57600080fd5b5061014e6004803603602081101561012257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ca565b005b34801561015c57600080fd5b506101bf6004803603604081101561017357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087e565b6040518082815260200191505060405180910390f35b3480156101e157600080fd5b506101ea6108a3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023857600080fd5b506102856004803603604081101561024f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108c9565b005b34801561029357600080fd5b50610357600480360360408110156102aa57600080fd5b8101908080359060200190929190803590602001906401000000008111156102d157600080fd5b8201836020820111156102e357600080fd5b8035906020019184600183028401116401000000008311171561030557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a47565b005b34801561036557600080fd5b506103a86004803603602081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e3d565b005b3480156103b657600080fd5b506103bf610f14565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040d57600080fd5b506104506004803603602081101561042457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f39565b6040518082815260200191505060405180910390f35b34801561047257600080fd5b506105566004803603606081101561048957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156104d057600080fd5b8201836020820111156104e257600080fd5b8035906020019184600183028401116401000000008311171561050457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f51565b005b34801561056457600080fd5b506105a76004803603602081101561057b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061145d565b604051808215151515815260200191505060405180910390f35b3480156105cd57600080fd5b50610610600480360360208110156105e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061147d565b005b34801561061e57600080fd5b506106616004803603602081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611531565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106bc57600080fd5b60008111610732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610778573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbab948c05df3e6bb363b70ccd842ada769c20139583b7b4014c4b23ef26cd6fe826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461082357600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6002602052816000526040600020602052806000526040600020600091509150505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461092257600080fd5b60008111610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b600082905060003390508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610a2957600080fd5b505af1158015610a3d573d6000803e3d6000fd5b5050505050505050565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a9e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f207369676e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606040518060400160405280600781526020017f73656e64457468000000000000000000000000000000000000000000000000008152509050600030823386604051602001808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140184805190602001908083835b60208310610c0e5780518252602082019150602081019050602083039250610beb565b6001836020036101000a0380198251168184511680821785525050505050509050018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b8152601401828152602001945050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ccc8285611682565b73ffffffffffffffffffffffffffffffffffffffff1614610d55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f7369676e2065727200000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610da9600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548661170f90919063ffffffff16565b905084600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e35573d6000803e3d6000fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ed057600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fa857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561106d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f207369676e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606040518060400160405280600981526020017f73656e64546f6b656e0000000000000000000000000000000000000000000000815250905060003082338787604051602001808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140185805190602001908083835b6020831061111957805182526020820191506020810190506020830392506110f6565b6001836020036101000a0380198251168184511680821785525050505050509050018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140182815260200195505050505050604051602081830303815290604052805190602001209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661120d8285611682565b73ffffffffffffffffffffffffffffffffffffffff1614611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f7369676e2065727200000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600085905060003390506000611331600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548861170f90919063ffffffff16565b905086600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505050505050505050505050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461158a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115c457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008061169185611759565b80935081945082955050505060018684848460405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156116fa573d6000803e3d6000fd5b50505060206040510351935050505092915050565b600061175183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061179c565b905092915050565b6000806000604184511461176c57600080fd5b60008060006020870151925060408701519150606087015160001a90508083839550955095505050509193909250565b6000838311158290611849576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561180e5780820151818401526020810190506117f3565b50505050905090810190601f16801561183b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fea265627a7a723158201d51b5af1cc48a10282e71a7c12ba57071b074e7964ad2b823decfbffca22cd264736f6c63430005110032

Deployed Bytecode Sourcemap

3747:2381:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5674:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5674:193:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5674:193:0;;;;;;;;;;;;;;;;;:::i;:::-;;4094:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4094:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4094:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3916:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3916:66:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3916:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3888:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3888:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5875:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5875:250:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5875:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5114:508;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5114:508:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5114:508:0;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5114:508:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5114:508:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5114:508:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5114:508:0;;;;;;;;;;;;;;;:::i;:::-;;4336:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4336:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4336:123:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2077:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2077:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3989:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3989:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3989:43:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4467:639;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4467:639:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4467:639:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4467:639:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4467:639:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4467:639:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4467:639:0;;;;;;;;;;;;;;;:::i;:::-;;4041:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4041:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4041:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4209:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4209:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4209:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2734:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2734:192:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2734:192:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5674:193;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;5757:1;5747:7;:11;5739:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5784:10;:19;;:28;5804:7;5784:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5784:28:0;5840:10;5828:31;;;5851:7;5828:31;;;;;;;;;;;;;;;;;;5674:193;:::o;4094:109::-;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;4191:4;4164:13;:24;4178:9;4164:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;4094:109;:::o;3916:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3888:21::-;;;;;;;;;;;;;:::o;5875:250::-;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;5979:1;5969:7;:11;5961:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6006:16;6031:6;6006:32;;6049:11;6063:10;6049:24;;6084:10;:19;;;6104:3;6109:7;6084:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6084:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6084:33:0;;;;2546:1;;5875:250;;:::o;5114:508::-;5196:13;:25;5210:10;5196:25;;;;;;;;;;;;;;;;;;;;;;;;;5195:26;5187:35;;;;;;5259:1;5241:20;;:6;;;;;;;;;;;:20;;;;5233:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5286:18;:30;;;;;;;;;;;;;;;;;;;5327:15;5372:4;5378;5384:10;5396:8;5355:50;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5355:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5355:50:0;;;5345:61;;;;;;5327:79;;5457:6;;;;;;;;;;;5425:38;;:28;5439:7;5448:4;5425:13;:28::i;:::-;:38;;;5417:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:9;5498:36;5511:10;:22;5522:10;5511:22;;;;;;;;;;;;;;;;5498:8;:12;;:36;;;;:::i;:::-;5486:48;;5570:8;5545:10;:22;5556:10;5545:22;;;;;;;;;;;;;;;:33;;;;5589:10;:19;;:25;5609:4;5589:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5589:25:0;5114:508;;;;;:::o;4336:123::-;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;4423:1;4406:19;;:5;:19;;;;4398:28;;;;;;4446:5;4437:6;;:14;;;;;;;;;;;;;;;;;;4336:123;:::o;2077:20::-;;;;;;;;;;;;;:::o;3989:43::-;;;;;;;;;;;;;;;;;:::o;4467:639::-;4568:13;:25;4582:10;4568:25;;;;;;;;;;;;;;;;;;;;;;;;;4567:26;4559:35;;;;;;4631:1;4613:20;;:6;;;;;;;;;;;:20;;;;4605:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4658:18;:32;;;;;;;;;;;;;;;;;;;4701:15;4746:4;4752;4758:10;4770:6;4777:8;4729:57;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4729:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4729:57:0;;;4719:68;;;;;;4701:86;;4838:6;;;;;;;;;;;4806:38;;:28;4820:7;4829:4;4806:13;:28::i;:::-;:38;;;4798:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4867:16;4892:6;4867:32;;4910:11;4924:10;4910:24;;4945:9;4957:46;4970:12;:20;4983:6;4970:20;;;;;;;;;;;;;;;:32;4991:10;4970:32;;;;;;;;;;;;;;;;4957:8;:12;;:46;;;;:::i;:::-;4945:58;;5049:8;5014:12;:20;5027:6;5014:20;;;;;;;;;;;;;;;:32;5035:10;5014:32;;;;;;;;;;;;;;;:43;;;;5068:10;:19;;;5088:3;5093:4;5068:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5068:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5068:30:0;;;;4467:639;;;;;;;;:::o;4041:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;4209:119::-;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;4315:5;4285:13;:27;4299:12;4285:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;4209:119;:::o;2734:192::-;2529:5;;;;;;;;;;;2515:19;;:10;:19;;;2507:28;;;;;;2835:1;2815:22;;:8;:22;;;;2807:31;;;;;;2882:8;2854:37;;2875:5;;;;;;;;;;;2854:37;;;;;;;;;;;;2910:8;2902:5;;:16;;;;;;;;;;;;;;;;;;2734:192;:::o;3490:252::-;3571:7;3596;3614:9;3634;3668:19;3683:3;3668:14;:19::i;:::-;3656:31;;;;;;;;;;;;3707:27;3717:7;3726:1;3729;3732;3707:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3707:27:0;;;;;;;;3700:34;;;;;3490:252;;;;:::o;913:127::-;965:4;989:43;993:1;996;989:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;982:50;;913:127;;;;:::o;2961:521::-;3026:5;3033:7;3042;3089:2;3075:3;:10;:16;3067:25;;;;;;3105:9;3125;3145:7;3261:2;3256:3;3252:12;3246:19;3241:24;;3327:2;3322:3;3318:12;3312:19;3307:24;;3430:2;3425:3;3421:12;3415:19;3412:1;3407:28;3402:33;;3466:1;3469;3472;3458:16;;;;;;;;;2961:521;;;;;:::o;1046:180::-;1126:4;1156:1;1151;:6;;1159:12;1143:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1143:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1183:6;1196:1;1192;:5;1183:14;;1217:1;1210:8;;;1046:180;;;;;:::o

Swarm Source

bzzr://1d51b5af1cc48a10282e71a7c12ba57071b074e7964ad2b823decfbffca22cd2

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  ]

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.