ETH Price: $3,465.92 (+5.33%)

Contract

0x82840058AB0B44d0A1D208B24FA60cE8B88c1E91
 
Transaction Hash
Method
Block
From
To
Trigger207400822024-09-13 7:03:5971 days ago1726211039IN
0x82840058...8B88c1E91
0 ETH0.000146922.35816913
Trigger207385872024-09-13 2:04:3571 days ago1726193075IN
0x82840058...8B88c1E91
0 ETH0.000141842.37409487
Withdraw207376972024-09-12 23:05:4771 days ago1726182347IN
0x82840058...8B88c1E91
0 ETH0.000062162.55544183
Withdraw207256012024-09-11 6:31:5973 days ago1726036319IN
0x82840058...8B88c1E91
0 ETH0.000050192.07052132
Deposit206457392024-08-31 3:02:5984 days ago1725073379IN
0x82840058...8B88c1E91
0 ETH0.000072741.17974761
Deposit206457272024-08-31 3:00:3584 days ago1725073235IN
0x82840058...8B88c1E91
0 ETH0.000077091.25036077
Deposit206188702024-08-27 8:57:3588 days ago1724749055IN
0x82840058...8B88c1E91
0 ETH0.000061931.08854696
Deposit205695012024-08-20 11:21:4795 days ago1724152907IN
0x82840058...8B88c1E91
0 ETH0.00007981.85724325
Deposit205694992024-08-20 11:21:2395 days ago1724152883IN
0x82840058...8B88c1E91
0 ETH0.000110981.9511533
Trigger205254502024-08-14 7:43:11101 days ago1723621391IN
0x82840058...8B88c1E91
0 ETH0.0007333311.35627157
Trigger205188672024-08-13 9:40:11102 days ago1723542011IN
0x82840058...8B88c1E91
0 ETH0.0007518811.64351777
Trigger205184972024-08-13 8:25:59102 days ago1723537559IN
0x82840058...8B88c1E91
0 ETH0.0004563711.26897341
Trigger205184962024-08-13 8:25:47102 days ago1723537547IN
0x82840058...8B88c1E91
0 ETH0.0004508311.1322309
Trigger205184952024-08-13 8:25:35102 days ago1723537535IN
0x82840058...8B88c1E91
0 ETH0.0004486711.07889513
Trigger205184942024-08-13 8:25:23102 days ago1723537523IN
0x82840058...8B88c1E91
0 ETH0.000446711.0304141
Trigger205184932024-08-13 8:25:11102 days ago1723537511IN
0x82840058...8B88c1E91
0 ETH0.0004468411.03373379
Trigger205184922024-08-13 8:24:59102 days ago1723537499IN
0x82840058...8B88c1E91
0 ETH0.0004522711.16775986
Trigger205184912024-08-13 8:24:47102 days ago1723537487IN
0x82840058...8B88c1E91
0 ETH0.0004536311.20136079
Trigger205184902024-08-13 8:24:35102 days ago1723537475IN
0x82840058...8B88c1E91
0 ETH0.0004554811.24702451
Trigger205184892024-08-13 8:24:23102 days ago1723537463IN
0x82840058...8B88c1E91
0 ETH0.0004547611.22936569
Trigger205184882024-08-13 8:24:11102 days ago1723537451IN
0x82840058...8B88c1E91
0 ETH0.0004573211.29258801
Trigger205173182024-08-13 4:28:47102 days ago1723523327IN
0x82840058...8B88c1E91
0 ETH0.0004512811.11617336
Trigger205173172024-08-13 4:28:35102 days ago1723523315IN
0x82840058...8B88c1E91
0 ETH0.0004453210.99290642
Trigger205173162024-08-13 4:28:23102 days ago1723523303IN
0x82840058...8B88c1E91
0 ETH0.0004460811.01172868
Trigger205173152024-08-13 4:28:11102 days ago1723523291IN
0x82840058...8B88c1E91
0 ETH0.0004487711.078099
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
205184972024-08-13 8:25:59102 days ago1723537559
0x82840058...8B88c1E91
5 ETH
205184962024-08-13 8:25:47102 days ago1723537547
0x82840058...8B88c1E91
5 ETH
205184952024-08-13 8:25:35102 days ago1723537535
0x82840058...8B88c1E91
5 ETH
205184942024-08-13 8:25:23102 days ago1723537523
0x82840058...8B88c1E91
5 ETH
205184932024-08-13 8:25:11102 days ago1723537511
0x82840058...8B88c1E91
5 ETH
205184922024-08-13 8:24:59102 days ago1723537499
0x82840058...8B88c1E91
5 ETH
205184912024-08-13 8:24:47102 days ago1723537487
0x82840058...8B88c1E91
5 ETH
205184902024-08-13 8:24:35102 days ago1723537475
0x82840058...8B88c1E91
5 ETH
205184892024-08-13 8:24:23102 days ago1723537463
0x82840058...8B88c1E91
5 ETH
205184882024-08-13 8:24:11102 days ago1723537451
0x82840058...8B88c1E91
5 ETH
205173182024-08-13 4:28:47102 days ago1723523327
0x82840058...8B88c1E91
1.57458173 ETH
205173182024-08-13 4:28:47102 days ago1723523327
0x82840058...8B88c1E91
1.6 ETH
205173172024-08-13 4:28:35102 days ago1723523315
0x82840058...8B88c1E91
1.57458173 ETH
205173162024-08-13 4:28:23102 days ago1723523303
0x82840058...8B88c1E91
1.57458173 ETH
205173152024-08-13 4:28:11102 days ago1723523291
0x82840058...8B88c1E91
1.57458173 ETH
205173142024-08-13 4:27:59102 days ago1723523279
0x82840058...8B88c1E91
1.57458173 ETH
205173132024-08-13 4:27:47102 days ago1723523267
0x82840058...8B88c1E91
1.57458173 ETH
205173122024-08-13 4:27:35102 days ago1723523255
0x82840058...8B88c1E91
1.57458173 ETH
205173112024-08-13 4:27:23102 days ago1723523243
0x82840058...8B88c1E91
1.57458173 ETH
205173102024-08-13 4:27:11102 days ago1723523231
0x82840058...8B88c1E91
0.1 ETH
205172962024-08-13 4:24:23102 days ago1723523063
0x82840058...8B88c1E91
1.91244907 ETH
205172762024-08-13 4:20:23102 days ago1723522823
0x82840058...8B88c1E91
2 ETH
204916282024-08-09 14:25:47105 days ago1723213547
0x82840058...8B88c1E91
5 ETH
204916272024-08-09 14:25:35105 days ago1723213535
0x82840058...8B88c1E91
5 ETH
204916262024-08-09 14:25:23105 days ago1723213523
0x82840058...8B88c1E91
5 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NodokaBridge

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

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

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

interface IERC20 {
    function balanceOf(address _owner) external returns (uint256);
    function transfer(address _to, uint256 _amount) external;
    function transferFrom(address _from, address _to, uint256 _amount) external;
    function mint(address _to, uint256 _amount) external;
    function burn(uint256 _amount) external;
}

contract BridgeOperatable {
    address public owner;
    address public operator1;
    address public operator2;

    event OwnershipTransferred(address indexed _from, address indexed _to);
    event Operator1Transferred(address indexed _from, address indexed _to);
    event Operator2Transferred(address indexed _from, address indexed _to);

    constructor() {
        owner = msg.sender;
        operator1 = msg.sender;
        operator2 = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner, 'onlyOwner: insufficient privilege');
        _;
    }

    modifier onlyOperator1 {
        require(msg.sender == operator1, 'onlyOperator1: insufficient privilege');
        _;
    }

    modifier onlyOperator2 {
        require(msg.sender == operator2, 'onlyOperator2: insufficient privilege');
        _;
    }

    function transferOwner(address _owner) public onlyOwner {
        emit Operator1Transferred(owner, _owner);
        owner = _owner;
    }

    function transferOperator1(address _operator1) public onlyOwner {
        emit Operator1Transferred(operator1, _operator1);
        operator1 = _operator1;
    }

    function transferOperator2(address _operator2) public onlyOwner {
        emit Operator2Transferred(operator2, _operator2);
        operator2 = _operator2;
    }
}

contract NodokaBridge is BridgeOperatable {
    mapping(address => Token) public tokens;
    mapping(address => Token) public pairs;
    mapping(address => address payable) public treasury; 

    struct Token {
        bool active;
        address tokenAddress;
        bool isERC20;  // false: native, true: ERC20
        bool mintable; // false: unlock, true: mint
        bool burnable; // false: lock,   true: burn
        uint256 minAmount;
        uint256 maxAmount;
    }
    
    event Bridge(address indexed _from, address indexed _token1, address indexed _token2, address _to, uint256 _amount);
    event Trigger(address indexed _from, address indexed _token, address _to, uint256 _amount);

    constructor() {}
    
    function setPair(address _token1, bool _mintable, bool _burnable, address _token2) external onlyOwner returns (bool) {
        Token memory token1 = Token(true, _token1, _token1 == address(0) ? false: true, _mintable, _burnable, 1, 2**256-1);
        Token memory token2 = Token(true, _token2, _token2 == address(0) ? false: true, false, false, 1, 2**256-1);
        
        tokens[_token1] = token1;
        pairs[_token1] = token2;
        return true;
    }
    
    function removePair(address _token1) external onlyOwner returns (bool) {
        pairs[_token1] = Token(true, address(0), false, false, false, 0, 0);
        return true;
    }

    function setMinMax(address _token, uint256 _minAmount, uint256 _maxAmount) external onlyOwner returns (bool) {
        tokens[_token].minAmount = _minAmount;
        tokens[_token].maxAmount = _maxAmount;
        return true;
    }

    function setTreasury(address _token, address payable _treasury) external onlyOwner returns (bool) {
        treasury[_token] = _treasury;
        return true;
    }
    
    receive() external payable {
        // Do nothing
    }
    
    function deposit(address _token, address _to, uint256 _amount) external payable returns (bool) {
        Token memory token1 = tokens[_token];
        Token memory token2 = pairs[_token];
        require(token2.active, "the token is not acceptable");
        require(_amount >= token1.minAmount, 'amount is less than min');
        require(_amount <= token1.maxAmount || token1.maxAmount == 0, 'amount ecxeeds max');

        if (token1.isERC20) {
            IERC20 token = IERC20(_token);
            token.transferFrom(msg.sender, address(this), _amount);

            if (token1.burnable) {
                token.burn(_amount);
            }

            emit Bridge(msg.sender, token1.tokenAddress, token2.tokenAddress, _to, _amount);
        } else {
            token1 = tokens[address(0)];
            token2 = pairs[address(0)];
            require(msg.value > 0, "msg.value is zero");
            require(token2.active, "the native token is not acceptable");

            emit Bridge(msg.sender, token1.tokenAddress, token2.tokenAddress, msg.sender, msg.value);
        }
        
        return true;
    }

    function withdraw(address _token, uint256 _amount) external onlyOperator1 returns (bool) {
        if(_token == address(0)) {
            // Native token
            require(address(this).balance >= _amount, 'insufficient balance');
            treasury[_token].transfer(_amount);
        } else {
            // ERC20 token
            IERC20 token = IERC20(_token);
            require(token.balanceOf(address(this)) >= _amount, 'insufficient balance');
            token.transfer(treasury[_token], _amount);
        }
        return true;
    }
    
    function trigger(address _token, address payable _to, uint256 _amount) external onlyOperator2 returns (bool) {
        Token memory token = tokens[_token];
        require(token.active, "the token is inactive");

        if (!token.isERC20) {
            // Native token
            _to.transfer(_amount);
        } else if (token.mintable) {
            // Mintable ERC20
            IERC20(token.tokenAddress).mint(_to, _amount);
        } else {
            // Non-mintable ERC20 
            IERC20(token.tokenAddress).transfer(_to, _amount);
        }
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_token1","type":"address"},{"indexed":true,"internalType":"address","name":"_token2","type":"address"},{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Bridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"Operator1Transferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"Operator2Transferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_token","type":"address"},{"indexed":false,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Trigger","type":"event"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"operator1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairs","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"isERC20","type":"bool"},{"internalType":"bool","name":"mintable","type":"bool"},{"internalType":"bool","name":"burnable","type":"bool"},{"internalType":"uint256","name":"minAmount","type":"uint256"},{"internalType":"uint256","name":"maxAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token1","type":"address"}],"name":"removePair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_minAmount","type":"uint256"},{"internalType":"uint256","name":"_maxAmount","type":"uint256"}],"name":"setMinMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token1","type":"address"},{"internalType":"bool","name":"_mintable","type":"bool"},{"internalType":"bool","name":"_burnable","type":"bool"},{"internalType":"address","name":"_token2","type":"address"}],"name":"setPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"}],"name":"setTreasury","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokens","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"isERC20","type":"bool"},{"internalType":"bool","name":"mintable","type":"bool"},{"internalType":"bool","name":"burnable","type":"bool"},{"internalType":"uint256","name":"minAmount","type":"uint256"},{"internalType":"uint256","name":"maxAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_operator1","type":"address"}],"name":"transferOperator1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_operator2","type":"address"}],"name":"transferOperator2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address payable","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"trigger","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060008054336001600160a01b03199182168117835560018054831682179055600280549092161790556117e590819061004a90396000f3fe6080604052600436106100f75760003560e01c8063adfe08701161008a578063ec18f56a11610059578063ec18f56a14610351578063f009d85014610371578063f3fef3a314610391578063fe33b302146103b157600080fd5b8063adfe08701461023b578063af6c9c1d1461025b578063bcb406be1461027b578063e48603391461029b57600080fd5b806377cbdb1b116100c657806377cbdb1b146101c85780638340f549146101e85780638da5cb5b146101fb578063a458cbe71461021b57600080fd5b80632d809cb614610103578063318fdc4e146101565780633474a0bd146101785780634fb2e45d146101a857600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061013961011e3660046115e6565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016257600080fd5b506101766101713660046115e6565b610420565b005b34801561018457600080fd5b50610198610193366004611684565b6104af565b604051901515815260200161014d565b3480156101b457600080fd5b506101766101c33660046115e6565b610787565b3480156101d457600080fd5b506101766101e33660046115e6565b61080c565b6101986101f6366004611643565b610892565b34801561020757600080fd5b50600054610139906001600160a01b031681565b34801561022757600080fd5b50600154610139906001600160a01b031681565b34801561024757600080fd5b5061019861025636600461160a565b610f5f565b34801561026757600080fd5b506101986102763660046115e6565b610fbc565b34801561028757600080fd5b50600254610139906001600160a01b031681565b3480156102a757600080fd5b5061030a6102b63660046115e6565b60036020526000908152604090208054600182015460029092015460ff808316936001600160a01b0361010085041693600160a81b8104831693600160b01b8204841693600160b81b909204909116919087565b6040805197151588526001600160a01b0390961660208801529315159486019490945290151560608501521515608084015260a083019190915260c082015260e00161014d565b34801561035d57600080fd5b5061019861036c366004611643565b6110c6565b34801561037d57600080fd5b5061019861038c366004611708565b61132d565b34801561039d57600080fd5b506101986103ac3660046116dc565b611386565b3480156103bd57600080fd5b5061030a6103cc3660046115e6565b60046020526000908152604090208054600182015460029092015460ff808316936001600160a01b0361010085041693600160a81b8104831693600160b01b8204841693600160b81b909204909116919087565b6000546001600160a01b031633146104535760405162461bcd60e51b815260040161044a90611756565b60405180910390fd5b6001546040516001600160a01b038084169216907f9074ce3df5692c742d638015abea839d903cb3b15534d39e1f06aac2e6ef5a8390600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146104da5760405162461bcd60e51b815260040161044a90611756565b6040805160e081018252600181526001600160a01b038716602082018190526000928201901561050b57600161050e565b60005b151581526020018615158152602001851515815260200160018152602001600019815250905060006040518060e00160405280600115158152602001856001600160a01b0316815260200160006001600160a01b0316866001600160a01b03161461057a57600161057d565b60005b151581526020016000151581526020016000151581526020016001815260200160001981525090508160036000896001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160000160156101000a81548160ff02191690831515021790555060608201518160000160166101000a81548160ff02191690831515021790555060808201518160000160176101000a81548160ff02191690831515021790555060a0820151816001015560c082015181600201559050508060046000896001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160000160156101000a81548160ff02191690831515021790555060608201518160000160166101000a81548160ff02191690831515021790555060808201518160000160176101000a81548160ff02191690831515021790555060a0820151816001015560c08201518160020155905050600192505050949350505050565b6000546001600160a01b031633146107b15760405162461bcd60e51b815260040161044a90611756565b600080546040516001600160a01b03808516939216917f9074ce3df5692c742d638015abea839d903cb3b15534d39e1f06aac2e6ef5a8391a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108365760405162461bcd60e51b815260040161044a90611756565b6002546040516001600160a01b038084169216907f672ca8062f931df09f285ef04d73f1701c7980a27369be99893657d34fa3419890600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b60008060036000866001600160a01b03166001600160a01b031681526020019081526020016000206040518060e00160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016000820160159054906101000a900460ff161515151581526020016000820160169054906101000a900460ff161515151581526020016000820160179054906101000a900460ff16151515158152602001600182015481526020016002820154815250509050600060046000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060e00160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016000820160159054906101000a900460ff161515151581526020016000820160169054906101000a900460ff161515151581526020016000820160179054906101000a900460ff161515151581526020016001820154815260200160028201548152505090508060000151610aaa5760405162461bcd60e51b815260206004820152601b60248201527f74686520746f6b656e206973206e6f742061636365707461626c650000000000604482015260640161044a565b8160a00151841015610afe5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e74206973206c657373207468616e206d696e000000000000000000604482015260640161044a565b8160c0015184111580610b13575060c0820151155b610b545760405162461bcd60e51b81526020600482015260126024820152710c2dadeeadce840cac6f0cacac8e640dac2f60731b604482015260640161044a565b816040015115610ca4576040516323b872dd60e01b81523360048201523060248201526044810185905286906001600160a01b038216906323b872dd90606401600060405180830381600087803b158015610bae57600080fd5b505af1158015610bc2573d6000803e3d6000fd5b50505050826080015115610c2b57604051630852cd8d60e31b8152600481018690526001600160a01b038216906342966c6890602401600060405180830381600087803b158015610c1257600080fd5b505af1158015610c26573d6000803e3d6000fd5b505050505b81602001516001600160a01b031683602001516001600160a01b0316336001600160a01b03167f77a84a1b95684063e7c527256f6c231ed48a9bf315f5b2c494587181a5ee64068989604051610c969291906001600160a01b03929092168252602082015260400190565b60405180910390a450610f53565b50506040805160e080820183527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5460ff808216151584526001600160a01b036101008084048216602080880191909152600160a81b80860485161515888a0152600160b01b808704861615156060808b0191909152600160b81b97889004871615156080808c01919091527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92f005460a0808d01919091527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92f015460c0808e019190915260008052600487528d519b8c018e527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec54808b1615158d52978804909816958b0195909552928504871615159a89019a909a52830485161515988701989098529390049091161515948301949094527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed54908201527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ee54928101929092529034610e865760405162461bcd60e51b81526020600482015260116024820152706d73672e76616c7565206973207a65726f60781b604482015260640161044a565b8051610edf5760405162461bcd60e51b815260206004820152602260248201527f746865206e617469766520746f6b656e206973206e6f742061636365707461626044820152616c6560f01b606482015260840161044a565b80602001516001600160a01b031682602001516001600160a01b0316336001600160a01b03167f77a84a1b95684063e7c527256f6c231ed48a9bf315f5b2c494587181a5ee64063334604051610f4a9291906001600160a01b03929092168252602082015260400190565b60405180910390a45b50600195945050505050565b600080546001600160a01b03163314610f8a5760405162461bcd60e51b815260040161044a90611756565b506001600160a01b03918216600090815260056020526040902080546001600160a01b03191691909216179055600190565b600080546001600160a01b03163314610fe75760405162461bcd60e51b815260040161044a90611756565b506040805160e081018252600180825260006020808401828152848601838152606086018481526080870185815260a0880186815260c089018781526001600160a01b038c811689526004909752999096209751885494519351925191511515600160b81b0260ff60b81b19921515600160b01b0260ff60b01b19941515600160a81b029490941661ffff60a81b199590971661010002610100600160a81b0319921515929092166001600160a81b0319909616959095171792909216939093179290921791909116178355518282015591516002909101555b919050565b6002546000906001600160a01b031633146111315760405162461bcd60e51b815260206004820152602560248201527f6f6e6c794f70657261746f72323a20696e73756666696369656e742070726976604482015264696c65676560d81b606482015260840161044a565b6001600160a01b03808516600090815260036020908152604091829020825160e081018452815460ff8082161515808452610100830490971694830194909452600160a81b81048416151594820194909452600160b01b8404831615156060820152600160b81b90930490911615156080830152600181015460a08301526002015460c0820152906111fd5760405162461bcd60e51b815260206004820152601560248201527474686520746f6b656e20697320696e61637469766560581b604482015260640161044a565b8060400151611242576040516001600160a01b0385169084156108fc029085906000818181858888f1935050505015801561123c573d6000803e3d6000fd5b50611322565b8060600151156112b95760208101516040516340c10f1960e01b81526001600160a01b03868116600483015260248201869052909116906340c10f1990604401600060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b50505050611322565b602081015160405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529091169063a9059cbb90604401600060405180830381600087803b15801561130957600080fd5b505af115801561131d573d6000803e3d6000fd5b505050505b506001949350505050565b600080546001600160a01b031633146113585760405162461bcd60e51b815260040161044a90611756565b506001600160a01b039290921660009081526003602052604090206001808201929092556002019190915590565b6001546000906001600160a01b031633146113f15760405162461bcd60e51b815260206004820152602560248201527f6f6e6c794f70657261746f72313a20696e73756666696369656e742070726976604482015264696c65676560d81b606482015260840161044a565b6001600160a01b03831661149357814710156114465760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015260640161044a565b6001600160a01b0380841660009081526005602052604080822054905192169184156108fc0291859190818181858888f1935050505015801561148d573d6000803e3d6000fd5b506115cd565b6040516370a0823160e01b8152306004820152839083906001600160a01b038316906370a0823190602401602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061173d565b10156115555760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015260640161044a565b6001600160a01b038481166000908152600560205260409081902054905163a9059cbb60e01b81529082166004820152602481018590529082169063a9059cbb90604401600060405180830381600087803b1580156115b357600080fd5b505af11580156115c7573d6000803e3d6000fd5b50505050505b50600192915050565b803580151581146110c157600080fd5b6000602082840312156115f857600080fd5b813561160381611797565b9392505050565b6000806040838503121561161d57600080fd5b823561162881611797565b9150602083013561163881611797565b809150509250929050565b60008060006060848603121561165857600080fd5b833561166381611797565b9250602084013561167381611797565b929592945050506040919091013590565b6000806000806080858703121561169a57600080fd5b84356116a581611797565b93506116b3602086016115d6565b92506116c1604086016115d6565b915060608501356116d181611797565b939692955090935050565b600080604083850312156116ef57600080fd5b82356116fa81611797565b946020939093013593505050565b60008060006060848603121561171d57600080fd5b833561172881611797565b95602085013595506040909401359392505050565b60006020828403121561174f57600080fd5b5051919050565b60208082526021908201527f6f6e6c794f776e65723a20696e73756666696369656e742070726976696c65676040820152606560f81b606082015260800190565b6001600160a01b03811681146117ac57600080fd5b5056fea2646970667358221220011deabd495a73178f8dff8bc4aa3315adc8e79af8aded45d90e084891d8886364736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063adfe08701161008a578063ec18f56a11610059578063ec18f56a14610351578063f009d85014610371578063f3fef3a314610391578063fe33b302146103b157600080fd5b8063adfe08701461023b578063af6c9c1d1461025b578063bcb406be1461027b578063e48603391461029b57600080fd5b806377cbdb1b116100c657806377cbdb1b146101c85780638340f549146101e85780638da5cb5b146101fb578063a458cbe71461021b57600080fd5b80632d809cb614610103578063318fdc4e146101565780633474a0bd146101785780634fb2e45d146101a857600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061013961011e3660046115e6565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016257600080fd5b506101766101713660046115e6565b610420565b005b34801561018457600080fd5b50610198610193366004611684565b6104af565b604051901515815260200161014d565b3480156101b457600080fd5b506101766101c33660046115e6565b610787565b3480156101d457600080fd5b506101766101e33660046115e6565b61080c565b6101986101f6366004611643565b610892565b34801561020757600080fd5b50600054610139906001600160a01b031681565b34801561022757600080fd5b50600154610139906001600160a01b031681565b34801561024757600080fd5b5061019861025636600461160a565b610f5f565b34801561026757600080fd5b506101986102763660046115e6565b610fbc565b34801561028757600080fd5b50600254610139906001600160a01b031681565b3480156102a757600080fd5b5061030a6102b63660046115e6565b60036020526000908152604090208054600182015460029092015460ff808316936001600160a01b0361010085041693600160a81b8104831693600160b01b8204841693600160b81b909204909116919087565b6040805197151588526001600160a01b0390961660208801529315159486019490945290151560608501521515608084015260a083019190915260c082015260e00161014d565b34801561035d57600080fd5b5061019861036c366004611643565b6110c6565b34801561037d57600080fd5b5061019861038c366004611708565b61132d565b34801561039d57600080fd5b506101986103ac3660046116dc565b611386565b3480156103bd57600080fd5b5061030a6103cc3660046115e6565b60046020526000908152604090208054600182015460029092015460ff808316936001600160a01b0361010085041693600160a81b8104831693600160b01b8204841693600160b81b909204909116919087565b6000546001600160a01b031633146104535760405162461bcd60e51b815260040161044a90611756565b60405180910390fd5b6001546040516001600160a01b038084169216907f9074ce3df5692c742d638015abea839d903cb3b15534d39e1f06aac2e6ef5a8390600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146104da5760405162461bcd60e51b815260040161044a90611756565b6040805160e081018252600181526001600160a01b038716602082018190526000928201901561050b57600161050e565b60005b151581526020018615158152602001851515815260200160018152602001600019815250905060006040518060e00160405280600115158152602001856001600160a01b0316815260200160006001600160a01b0316866001600160a01b03161461057a57600161057d565b60005b151581526020016000151581526020016000151581526020016001815260200160001981525090508160036000896001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160000160156101000a81548160ff02191690831515021790555060608201518160000160166101000a81548160ff02191690831515021790555060808201518160000160176101000a81548160ff02191690831515021790555060a0820151816001015560c082015181600201559050508060046000896001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160000160156101000a81548160ff02191690831515021790555060608201518160000160166101000a81548160ff02191690831515021790555060808201518160000160176101000a81548160ff02191690831515021790555060a0820151816001015560c08201518160020155905050600192505050949350505050565b6000546001600160a01b031633146107b15760405162461bcd60e51b815260040161044a90611756565b600080546040516001600160a01b03808516939216917f9074ce3df5692c742d638015abea839d903cb3b15534d39e1f06aac2e6ef5a8391a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108365760405162461bcd60e51b815260040161044a90611756565b6002546040516001600160a01b038084169216907f672ca8062f931df09f285ef04d73f1701c7980a27369be99893657d34fa3419890600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b60008060036000866001600160a01b03166001600160a01b031681526020019081526020016000206040518060e00160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016000820160159054906101000a900460ff161515151581526020016000820160169054906101000a900460ff161515151581526020016000820160179054906101000a900460ff16151515158152602001600182015481526020016002820154815250509050600060046000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060e00160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016000820160159054906101000a900460ff161515151581526020016000820160169054906101000a900460ff161515151581526020016000820160179054906101000a900460ff161515151581526020016001820154815260200160028201548152505090508060000151610aaa5760405162461bcd60e51b815260206004820152601b60248201527f74686520746f6b656e206973206e6f742061636365707461626c650000000000604482015260640161044a565b8160a00151841015610afe5760405162461bcd60e51b815260206004820152601760248201527f616d6f756e74206973206c657373207468616e206d696e000000000000000000604482015260640161044a565b8160c0015184111580610b13575060c0820151155b610b545760405162461bcd60e51b81526020600482015260126024820152710c2dadeeadce840cac6f0cacac8e640dac2f60731b604482015260640161044a565b816040015115610ca4576040516323b872dd60e01b81523360048201523060248201526044810185905286906001600160a01b038216906323b872dd90606401600060405180830381600087803b158015610bae57600080fd5b505af1158015610bc2573d6000803e3d6000fd5b50505050826080015115610c2b57604051630852cd8d60e31b8152600481018690526001600160a01b038216906342966c6890602401600060405180830381600087803b158015610c1257600080fd5b505af1158015610c26573d6000803e3d6000fd5b505050505b81602001516001600160a01b031683602001516001600160a01b0316336001600160a01b03167f77a84a1b95684063e7c527256f6c231ed48a9bf315f5b2c494587181a5ee64068989604051610c969291906001600160a01b03929092168252602082015260400190565b60405180910390a450610f53565b50506040805160e080820183527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5460ff808216151584526001600160a01b036101008084048216602080880191909152600160a81b80860485161515888a0152600160b01b808704861615156060808b0191909152600160b81b97889004871615156080808c01919091527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92f005460a0808d01919091527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92f015460c0808e019190915260008052600487528d519b8c018e527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec54808b1615158d52978804909816958b0195909552928504871615159a89019a909a52830485161515988701989098529390049091161515948301949094527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed54908201527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ee54928101929092529034610e865760405162461bcd60e51b81526020600482015260116024820152706d73672e76616c7565206973207a65726f60781b604482015260640161044a565b8051610edf5760405162461bcd60e51b815260206004820152602260248201527f746865206e617469766520746f6b656e206973206e6f742061636365707461626044820152616c6560f01b606482015260840161044a565b80602001516001600160a01b031682602001516001600160a01b0316336001600160a01b03167f77a84a1b95684063e7c527256f6c231ed48a9bf315f5b2c494587181a5ee64063334604051610f4a9291906001600160a01b03929092168252602082015260400190565b60405180910390a45b50600195945050505050565b600080546001600160a01b03163314610f8a5760405162461bcd60e51b815260040161044a90611756565b506001600160a01b03918216600090815260056020526040902080546001600160a01b03191691909216179055600190565b600080546001600160a01b03163314610fe75760405162461bcd60e51b815260040161044a90611756565b506040805160e081018252600180825260006020808401828152848601838152606086018481526080870185815260a0880186815260c089018781526001600160a01b038c811689526004909752999096209751885494519351925191511515600160b81b0260ff60b81b19921515600160b01b0260ff60b01b19941515600160a81b029490941661ffff60a81b199590971661010002610100600160a81b0319921515929092166001600160a81b0319909616959095171792909216939093179290921791909116178355518282015591516002909101555b919050565b6002546000906001600160a01b031633146111315760405162461bcd60e51b815260206004820152602560248201527f6f6e6c794f70657261746f72323a20696e73756666696369656e742070726976604482015264696c65676560d81b606482015260840161044a565b6001600160a01b03808516600090815260036020908152604091829020825160e081018452815460ff8082161515808452610100830490971694830194909452600160a81b81048416151594820194909452600160b01b8404831615156060820152600160b81b90930490911615156080830152600181015460a08301526002015460c0820152906111fd5760405162461bcd60e51b815260206004820152601560248201527474686520746f6b656e20697320696e61637469766560581b604482015260640161044a565b8060400151611242576040516001600160a01b0385169084156108fc029085906000818181858888f1935050505015801561123c573d6000803e3d6000fd5b50611322565b8060600151156112b95760208101516040516340c10f1960e01b81526001600160a01b03868116600483015260248201869052909116906340c10f1990604401600060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b50505050611322565b602081015160405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529091169063a9059cbb90604401600060405180830381600087803b15801561130957600080fd5b505af115801561131d573d6000803e3d6000fd5b505050505b506001949350505050565b600080546001600160a01b031633146113585760405162461bcd60e51b815260040161044a90611756565b506001600160a01b039290921660009081526003602052604090206001808201929092556002019190915590565b6001546000906001600160a01b031633146113f15760405162461bcd60e51b815260206004820152602560248201527f6f6e6c794f70657261746f72313a20696e73756666696369656e742070726976604482015264696c65676560d81b606482015260840161044a565b6001600160a01b03831661149357814710156114465760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015260640161044a565b6001600160a01b0380841660009081526005602052604080822054905192169184156108fc0291859190818181858888f1935050505015801561148d573d6000803e3d6000fd5b506115cd565b6040516370a0823160e01b8152306004820152839083906001600160a01b038316906370a0823190602401602060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061173d565b10156115555760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015260640161044a565b6001600160a01b038481166000908152600560205260409081902054905163a9059cbb60e01b81529082166004820152602481018590529082169063a9059cbb90604401600060405180830381600087803b1580156115b357600080fd5b505af11580156115c7573d6000803e3d6000fd5b50505050505b50600192915050565b803580151581146110c157600080fd5b6000602082840312156115f857600080fd5b813561160381611797565b9392505050565b6000806040838503121561161d57600080fd5b823561162881611797565b9150602083013561163881611797565b809150509250929050565b60008060006060848603121561165857600080fd5b833561166381611797565b9250602084013561167381611797565b929592945050506040919091013590565b6000806000806080858703121561169a57600080fd5b84356116a581611797565b93506116b3602086016115d6565b92506116c1604086016115d6565b915060608501356116d181611797565b939692955090935050565b600080604083850312156116ef57600080fd5b82356116fa81611797565b946020939093013593505050565b60008060006060848603121561171d57600080fd5b833561172881611797565b95602085013595506040909401359392505050565b60006020828403121561174f57600080fd5b5051919050565b60208082526021908201527f6f6e6c794f776e65723a20696e73756666696369656e742070726976696c65676040820152606560f81b606082015260800190565b6001600160a01b03811681146117ac57600080fd5b5056fea2646970667358221220011deabd495a73178f8dff8bc4aa3315adc8e79af8aded45d90e084891d8886364736f6c63430008070033

Deployed Bytecode Sourcemap

1769:4234:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:51;;;;;;;;;;-1:-1:-1;1909:51:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1909:51:0;;;;;;-1:-1:-1;;;;;3353:32:1;;;3335:51;;3323:2;3308:18;1909:51:0;;;;;;;;1426:164;;;;;;;;;;-1:-1:-1;1426:164:0;;;;;:::i;:::-;;:::i;:::-;;2521:468;;;;;;;;;;-1:-1:-1;2521:468:0;;;;;:::i;:::-;;:::i;:::-;;;4732:14:1;;4725:22;4707:41;;4695:2;4680:18;2521:468:0;4567:187:1;1278:140:0;;;;;;;;;;-1:-1:-1;1278:140:0;;;;;:::i;:::-;;:::i;1598:164::-;;;;;;;;;;-1:-1:-1;1598:164:0;;;;;:::i;:::-;;:::i;3680:1143::-;;;;;;:::i;:::-;;:::i;436:20::-;;;;;;;;;;-1:-1:-1;436:20:0;;;;-1:-1:-1;;;;;436:20:0;;;463:24;;;;;;;;;;-1:-1:-1;463:24:0;;;;-1:-1:-1;;;;;463:24:0;;;3431:167;;;;;;;;;;-1:-1:-1;3431:167:0;;;;;:::i;:::-;;:::i;3001:179::-;;;;;;;;;;-1:-1:-1;3001:179:0;;;;;:::i;:::-;;:::i;494:24::-;;;;;;;;;;-1:-1:-1;494:24:0;;;;-1:-1:-1;;;;;494:24:0;;;1818:39;;;;;;;;;;-1:-1:-1;1818:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1818:39:0;;;;;-1:-1:-1;;;1818:39:0;;;;;-1:-1:-1;;;1818:39:0;;;;;-1:-1:-1;;;1818:39:0;;;;;;;;;;;;;;5075:14:1;;5068:22;5050:41;;-1:-1:-1;;;;;5127:32:1;;;5122:2;5107:18;;5100:60;5203:14;;5196:22;5176:18;;;5169:50;;;;5262:14;;5255:22;5250:2;5235:18;;5228:50;5322:14;5315:22;5309:3;5294:19;;5287:51;5147:3;5354:19;;5347:35;;;;5413:3;5398:19;;5391:35;5037:3;5022:19;1818:39:0;4759:673:1;5402:598:0;;;;;;;;;;-1:-1:-1;5402:598:0;;;;;:::i;:::-;;:::i;3188:235::-;;;;;;;;;;-1:-1:-1;3188:235:0;;;;;:::i;:::-;;:::i;4831:559::-;;;;;;;;;;-1:-1:-1;4831:559:0;;;;;:::i;:::-;;:::i;1864:38::-;;;;;;;;;;-1:-1:-1;1864:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1864:38:0;;;;;-1:-1:-1;;;1864:38:0;;;;;-1:-1:-1;;;1864:38:0;;;;;-1:-1:-1;;;1864:38:0;;;;;;;;;;1426:164;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;;;;;;;;;1527:9:::1;::::0;1506:43:::1;::::0;-1:-1:-1;;;;;1506:43:0;;::::1;::::0;1527:9:::1;::::0;1506:43:::1;::::0;1527:9:::1;::::0;1506:43:::1;1560:9;:22:::0;;-1:-1:-1;;;;;;1560:22:0::1;-1:-1:-1::0;;;;;1560:22:0;;;::::1;::::0;;;::::1;::::0;;1426:164::o;2521:468::-;2632:4;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;2671:92:::1;::::0;;::::1;::::0;::::1;::::0;;2677:4:::1;2671:92:::0;;-1:-1:-1;;;;;2671:92:0;::::1;;::::0;::::1;::::0;;;2649:19:::1;::::0;2671:92;;;2692:21;:35:::1;;2723:4;2692:35;;;2716:5;2692:35;2671:92;;;;;;2729:9;2671:92;;;;;;2740:9;2671:92;;;;;;2751:1;2671:92;;;;-1:-1:-1::0;;2671:92:0::1;;::::0;2649:114:::1;;2774:19;2796:84;;;;;;;;2802:4;2796:84;;;;;;2808:7;-1:-1:-1::0;;;;;2796:84:0::1;;;;;2836:1;-1:-1:-1::0;;;;;2817:21:0::1;:7;-1:-1:-1::0;;;;;2817:21:0::1;;:35;;2848:4;2817:35;;;2841:5;2817:35;2796:84;;;;;;2854:5;2796:84;;;;;;2861:5;2796:84;;;;;;2868:1;2796:84;;;;-1:-1:-1::0;;2796:84:0::1;;::::0;2774:106:::1;;2919:6;2901;:15;2908:7;-1:-1:-1::0;;;;;2901:15:0::1;-1:-1:-1::0;;;;;2901:15:0::1;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2901:24:0::1;;;;;-1:-1:-1::0;;;;;2901:24:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2953:6;2936:5;:14;2942:7;-1:-1:-1::0;;;;;2936:14:0::1;-1:-1:-1::0;;;;;2936:14:0::1;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2936:23:0::1;;;;;-1:-1:-1::0;;;;;2936:23:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2977:4;2970:11;;;;2521:468:::0;;;;;;:::o;1278:140::-;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;1371:5:::1;::::0;;1350:35:::1;::::0;-1:-1:-1;;;;;1350:35:0;;::::1;::::0;1371:5;::::1;::::0;1350:35:::1;::::0;::::1;1396:5;:14:::0;;-1:-1:-1;;;;;;1396:14:0::1;-1:-1:-1::0;;;;;1396:14:0;;;::::1;::::0;;;::::1;::::0;;1278:140::o;1598:164::-;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;1699:9:::1;::::0;1678:43:::1;::::0;-1:-1:-1;;;;;1678:43:0;;::::1;::::0;1699:9:::1;::::0;1678:43:::1;::::0;1699:9:::1;::::0;1678:43:::1;1732:9;:22:::0;;-1:-1:-1;;;;;;1732:22:0::1;-1:-1:-1::0;;;;;1732:22:0;;;::::1;::::0;;;::::1;::::0;;1598:164::o;3680:1143::-;3769:4;3786:19;3808:6;:14;3815:6;-1:-1:-1;;;;;3808:14:0;-1:-1:-1;;;;;3808:14:0;;;;;;;;;;;;3786:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3786:36:0;-1:-1:-1;;;;;3786:36:0;-1:-1:-1;;;;;3786:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3833:19;3855:5;:13;3861:6;-1:-1:-1;;;;;3855:13:0;-1:-1:-1;;;;;3855:13:0;;;;;;;;;;;;3833:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3833:35:0;-1:-1:-1;;;;;3833:35:0;-1:-1:-1;;;;;3833:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3887:6;:13;;;3879:53;;;;-1:-1:-1;;;3879:53:0;;8191:2:1;3879:53:0;;;8173:21:1;8230:2;8210:18;;;8203:30;8269:29;8249:18;;;8242:57;8316:18;;3879:53:0;7989:351:1;3879:53:0;3962:6;:16;;;3951:7;:27;;3943:63;;;;-1:-1:-1;;;3943:63:0;;5985:2:1;3943:63:0;;;5967:21:1;6024:2;6004:18;;;5997:30;6063:25;6043:18;;;6036:53;6106:18;;3943:63:0;5783:347:1;3943:63:0;4036:6;:16;;;4025:7;:27;;:52;;;-1:-1:-1;4056:16:0;;;;:21;4025:52;4017:83;;;;-1:-1:-1;;;4017:83:0;;6743:2:1;4017:83:0;;;6725:21:1;6782:2;6762:18;;;6755:30;-1:-1:-1;;;6801:18:1;;;6794:48;6859:18;;4017:83:0;6541:342:1;4017:83:0;4117:6;:14;;;4113:671;;;4192:54;;-1:-1:-1;;;4192:54:0;;4211:10;4192:54;;;4148:34:1;4231:4:0;4198:18:1;;;4191:43;4250:18;;;4243:34;;;4170:6:0;;-1:-1:-1;;;;;4192:18:0;;;;;4083::1;;4192:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:6;:15;;;4263:75;;;4303:19;;-1:-1:-1;;;4303:19:0;;;;;9300:25:1;;;-1:-1:-1;;;;;4303:10:0;;;;;9273:18:1;;4303:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4263:75;4399:6;:19;;;-1:-1:-1;;;;;4359:74:0;4378:6;:19;;;-1:-1:-1;;;;;4359:74:0;4366:10;-1:-1:-1;;;;;4359:74:0;;4420:3;4425:7;4359:74;;;;;;-1:-1:-1;;;;;3821:32:1;;;;3803:51;;3885:2;3870:18;;3863:34;3791:2;3776:18;;3621:282;4359:74:0;;;;;;;;4133:312;4113:671;;;-1:-1:-1;;4475:18:0;4466:27;;;;;;;;4475:18;4466:27;;;;;;;;;-1:-1:-1;;;;;4466:27:0;;;;;;4475:18;4466:27;;;;;;;-1:-1:-1;;;4466:27:0;;;;;;;;;;;-1:-1:-1;;;4466:27:0;;;;;;;;;;;;;;;-1:-1:-1;;;4466:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4517:17:0;;:5;:17;;4508:26;;;;;;;4517:17;4508:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4466:27;4557:9;4549:43;;;;-1:-1:-1;;;4549:43:0;;5639:2:1;4549:43:0;;;5621:21:1;5678:2;5658:18;;;5651:30;-1:-1:-1;;;5697:18:1;;;5690:47;5754:18;;4549:43:0;5437:341:1;4549:43:0;4615:13;;4607:60;;;;-1:-1:-1;;;4607:60:0;;8953:2:1;4607:60:0;;;8935:21:1;8992:2;8972:18;;;8965:30;9031:34;9011:18;;;9004:62;-1:-1:-1;;;9082:18:1;;;9075:32;9124:19;;4607:60:0;8751:398:1;4607:60:0;4729:6;:19;;;-1:-1:-1;;;;;4689:83:0;4708:6;:19;;;-1:-1:-1;;;;;4689:83:0;4696:10;-1:-1:-1;;;;;4689:83:0;;4750:10;4762:9;4689:83;;;;;;-1:-1:-1;;;;;3821:32:1;;;;3803:51;;3885:2;3870:18;;3863:34;3791:2;3776:18;;3621:282;4689:83:0;;;;;;;;4113:671;-1:-1:-1;4811:4:0;;3680:1143;-1:-1:-1;;;;;3680:1143:0:o;3431:167::-;3523:4;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3540:16:0;;::::1;;::::0;;;:8:::1;:16;::::0;;;;:28;;-1:-1:-1;;;;;;3540:28:0::1;::::0;;;::::1;;::::0;;-1:-1:-1;;3431:167:0:o;3001:179::-;3066:4;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;-1:-1:-1;3100:50:0::1;::::0;;::::1;::::0;::::1;::::0;;3106:4:::1;3100:50:::0;;;-1:-1:-1;3100:50:0::1;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3083:14:0;;::::1;::::0;;:5:::1;:14:::0;;;;;;;:67;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;3083:67:0::1;-1:-1:-1::0;;;;3083:67:0;::::1;;-1:-1:-1::0;;;3083:67:0::1;-1:-1:-1::0;;;;3083:67:0;::::1;;-1:-1:-1::0;;;3083:67:0::1;::::0;;;;-1:-1:-1;;;;3083:67:0;;;::::1;;;-1:-1:-1::0;;;;;;3083:67:0;::::1;;::::0;;;;-1:-1:-1;;;;;;3083:67:0;;;;;;;::::1;::::0;;;;;;;;;;;::::1;::::0;;;::::1;;::::0;;;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;991:1:::1;3001:179:::0;;;:::o;5402:598::-;1199:9;;5505:4;;-1:-1:-1;;;;;1199:9:0;1185:10;:23;1177:73;;;;-1:-1:-1;;;1177:73:0;;6337:2:1;1177:73:0;;;6319:21:1;6376:2;6356:18;;;6349:30;6415:34;6395:18;;;6388:62;-1:-1:-1;;;6466:18:1;;;6459:35;6511:19;;1177:73:0;6135:401:1;1177:73:0;-1:-1:-1;;;;;5543:14:0;;::::1;5522:18;5543:14:::0;;;:6:::1;:14;::::0;;;;;;;;5522:35;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;-1:-1:-1;;;5522:35:0;::::1;::::0;::::1;;;::::0;;;;;;;-1:-1:-1;;;5522:35:0;::::1;::::0;::::1;;;::::0;;;;-1:-1:-1;;;5522:35:0;;::::1;::::0;;::::1;;;::::0;;;;;;::::1;::::0;;;;;::::1;;::::0;;;;;;5568:46:::1;;;::::0;-1:-1:-1;;;5568:46:0;;7841:2:1;5568:46:0::1;::::0;::::1;7823:21:1::0;7880:2;7860:18;;;7853:30;-1:-1:-1;;;7899:18:1;;;7892:51;7960:18;;5568:46:0::1;7639:345:1::0;5568:46:0::1;5632:5;:13;;;5627:344;;5691:21;::::0;-1:-1:-1;;;;;5691:12:0;::::1;::::0;:21;::::1;;;::::0;5704:7;;5691:21:::1;::::0;;;5704:7;5691:12;:21;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;5627:344;;;5734:5;:14;;;5730:241;;;5803:18;::::0;::::1;::::0;5796:45:::1;::::0;-1:-1:-1;;;5796:45:0;;-1:-1:-1;;;;;3821:32:1;;;5796:45:0::1;::::0;::::1;3803:51:1::0;3870:18;;;3863:34;;;5796:31:0;;::::1;::::0;::::1;::::0;3776:18:1;;5796:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5730:241;;;5917:18;::::0;::::1;::::0;5910:49:::1;::::0;-1:-1:-1;;;5910:49:0;;-1:-1:-1;;;;;3821:32:1;;;5910:49:0::1;::::0;::::1;3803:51:1::0;3870:18;;;3863:34;;;5910:35:0;;::::1;::::0;::::1;::::0;3776:18:1;;5910:49:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5730:241;-1:-1:-1::0;5988:4:0::1;::::0;5402:598;-1:-1:-1;;;;5402:598:0:o;3188:235::-;3291:4;937:5;;-1:-1:-1;;;;;937:5:0;923:10;:19;915:65;;;;-1:-1:-1;;;915:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3308:14:0;;;::::1;;::::0;;;:6:::1;:14;::::0;;;;:24:::1;::::0;;::::1;:37:::0;;;;3356:24:::1;;:37:::0;;;;3308:24;3188:235::o;4831:559::-;1064:9;;4914:4;;-1:-1:-1;;;;;1064:9:0;1050:10;:23;1042:73;;;;-1:-1:-1;;;1042:73:0;;8547:2:1;1042:73:0;;;8529:21:1;8586:2;8566:18;;;8559:30;8625:34;8605:18;;;8598:62;-1:-1:-1;;;8676:18:1;;;8669:35;8721:19;;1042:73:0;8345:401:1;1042:73:0;-1:-1:-1;;;;;4934:20:0;::::1;4931:430;;5033:7;5008:21;:32;;5000:65;;;::::0;-1:-1:-1;;;5000:65:0;;7090:2:1;5000:65:0::1;::::0;::::1;7072:21:1::0;7129:2;7109:18;;;7102:30;-1:-1:-1;;;7148:18:1;;;7141:50;7208:18;;5000:65:0::1;6888:344:1::0;5000:65:0::1;-1:-1:-1::0;;;;;5080:16:0;;::::1;;::::0;;;:8:::1;:16;::::0;;;;;;:34;;:16;::::1;::::0;:34;::::1;;;::::0;5106:7;;5080:34;;:16;:34;5106:7;5080:16;:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4931:430;;;5227:30;::::0;-1:-1:-1;;;5227:30:0;;5251:4:::1;5227:30;::::0;::::1;3335:51:1::0;5197:6:0;;5261:7;;-1:-1:-1;;;;;5227:15:0;::::1;::::0;::::1;::::0;3308:18:1;;5227:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;5219:74;;;::::0;-1:-1:-1;;;5219:74:0;;7090:2:1;5219:74:0::1;::::0;::::1;7072:21:1::0;7129:2;7109:18;;;7102:30;-1:-1:-1;;;7148:18:1;;;7141:50;7208:18;;5219:74:0::1;6888:344:1::0;5219:74:0::1;-1:-1:-1::0;;;;;5323:16:0;;::::1;;::::0;;;:8:::1;:16;::::0;;;;;;;5308:41;;-1:-1:-1;;;5308:41:0;;5323:16;;::::1;5308:41;::::0;::::1;3803:51:1::0;3870:18;;;3863:34;;;5308:14:0;;::::1;::::0;::::1;::::0;3776:18:1;;5308:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5132:229;4931:430;-1:-1:-1::0;5378:4:0::1;4831:559:::0;;;;:::o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;179:247;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;:::-;415:5;179:247;-1:-1:-1;;;179:247:1:o;431:396::-;507:6;515;568:2;556:9;547:7;543:23;539:32;536:52;;;584:1;581;574:12;536:52;623:9;610:23;642:31;667:5;642:31;:::i;:::-;692:5;-1:-1:-1;749:2:1;734:18;;721:32;762:33;721:32;762:33;:::i;:::-;814:7;804:17;;;431:396;;;;;:::o;832:464::-;917:6;925;933;986:2;974:9;965:7;961:23;957:32;954:52;;;1002:1;999;992:12;954:52;1041:9;1028:23;1060:31;1085:5;1060:31;:::i;:::-;1110:5;-1:-1:-1;1167:2:1;1152:18;;1139:32;1180:33;1139:32;1180:33;:::i;:::-;832:464;;1232:7;;-1:-1:-1;;;1286:2:1;1271:18;;;;1258:32;;832:464::o;1762:525::-;1842:6;1850;1858;1866;1919:3;1907:9;1898:7;1894:23;1890:33;1887:53;;;1936:1;1933;1926:12;1887:53;1975:9;1962:23;1994:31;2019:5;1994:31;:::i;:::-;2044:5;-1:-1:-1;2068:35:1;2099:2;2084:18;;2068:35;:::i;:::-;2058:45;;2122:35;2153:2;2142:9;2138:18;2122:35;:::i;:::-;2112:45;;2209:2;2198:9;2194:18;2181:32;2222:33;2247:7;2222:33;:::i;:::-;1762:525;;;;-1:-1:-1;1762:525:1;;-1:-1:-1;;1762:525:1:o;2292:315::-;2360:6;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2476:9;2463:23;2495:31;2520:5;2495:31;:::i;:::-;2545:5;2597:2;2582:18;;;;2569:32;;-1:-1:-1;;;2292:315:1:o;2612:383::-;2689:6;2697;2705;2758:2;2746:9;2737:7;2733:23;2729:32;2726:52;;;2774:1;2771;2764:12;2726:52;2813:9;2800:23;2832:31;2857:5;2832:31;:::i;:::-;2882:5;2934:2;2919:18;;2906:32;;-1:-1:-1;2985:2:1;2970:18;;;2957:32;;2612:383;-1:-1:-1;;;2612:383:1:o;3000:184::-;3070:6;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;-1:-1:-1;3162:16:1;;3000:184;-1:-1:-1;3000:184:1:o;7237:397::-;7439:2;7421:21;;;7478:2;7458:18;;;7451:30;7517:34;7512:2;7497:18;;7490:62;-1:-1:-1;;;7583:2:1;7568:18;;7561:31;7624:3;7609:19;;7237:397::o;9336:131::-;-1:-1:-1;;;;;9411:31:1;;9401:42;;9391:70;;9457:1;9454;9447:12;9391:70;9336:131;:::o

Swarm Source

ipfs://011deabd495a73178f8dff8bc4aa3315adc8e79af8aded45d90e084891d88863

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.