ETH Price: $3,401.05 (+3.05%)

Contract

0x939Daad09fC4A9B8f8A9352A485DAb2df4F4B3F8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Insta Index126009252021-06-09 14:42:011263 days ago1623249721IN
InstaDApp: Account
0 ETH0.0002146410
Transfer125703622021-06-04 21:04:461267 days ago1622840686IN
InstaDApp: Account
0 ETH0.000421120
Transfer125646142021-06-04 0:01:371268 days ago1622764897IN
InstaDApp: Account
0 ETH0.0004632122
Enable120987392021-03-24 1:52:091340 days ago1616550729IN
InstaDApp: Account
0 ETH0.00311307139.7
Transfer115884222021-01-04 14:10:281419 days ago1609769428IN
InstaDApp: Account
0 ETH0.0027582131
0x6080604097472682020-03-26 13:30:451703 days ago1585229445IN
 Create: InstaAccount
0 ETH0.010329487

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InstaAccount

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.6.0;
pragma experimental ABIEncoderV2;

/**
 * @title InstaAccount.
 * @dev DeFi Smart Account Wallet.
 */

interface IndexInterface {
    function connectors(uint version) external view returns (address);
    function check(uint version) external view returns (address);
    function list() external view returns (address);
}

interface ConnectorsInterface {
    function isConnector(address[] calldata logicAddr) external view returns (bool);
    function isStaticConnector(address[] calldata logicAddr) external view returns (bool);
}

interface CheckInterface {
    function isOk() external view returns (bool);
}

interface ListInterface {
    function addAuth(address user) external;
    function removeAuth(address user) external;
}


contract Record {

    event LogEnable(address indexed user);
    event LogDisable(address indexed user);
    event LogSwitchShield(bool _shield);

    // InstaIndex Address.
    address public constant instaIndex = 0x2971AdFa57b20E5a416aE5a708A8655A9c74f723;
    // The Account Module Version.
    uint public constant version = 1;
    // Auth Module(Address of Auth => bool).
    mapping (address => bool) private auth;
    // Is shield true/false.
    bool public shield;

    /**
     * @dev Check for Auth if enabled.
     * @param user address/user/owner.
     */
    function isAuth(address user) public view returns (bool) {
        return auth[user];
    }

    /**
     * @dev Change Shield State.
    */
    function switchShield(bool _shield) external {
        require(auth[msg.sender], "not-self");
        require(shield != _shield, "shield is set");
        shield = _shield;
        emit LogSwitchShield(shield);
    }

    /**
     * @dev Enable New User.
     * @param user Owner of the Smart Account.
    */
    function enable(address user) public {
        require(msg.sender == address(this) || msg.sender == instaIndex, "not-self-index");
        require(user != address(0), "not-valid");
        require(!auth[user], "already-enabled");
        auth[user] = true;
        ListInterface(IndexInterface(instaIndex).list()).addAuth(user);
        emit LogEnable(user);
    }

    /**
     * @dev Disable User.
     * @param user Owner of the Smart Account.
    */
    function disable(address user) public {
        require(msg.sender == address(this), "not-self");
        require(user != address(0), "not-valid");
        require(auth[user], "already-disabled");
        delete auth[user];
        ListInterface(IndexInterface(instaIndex).list()).removeAuth(user);
        emit LogDisable(user);
    }

}

contract InstaAccount is Record {

    event LogCast(address indexed origin, address indexed sender, uint value);

    receive() external payable {}

     /**
     * @dev Delegate the calls to Connector And this function is ran by cast().
     * @param _target Target to of Connector.
     * @param _data CallData of function in Connector.
    */
    function spell(address _target, bytes memory _data) internal {
        require(_target != address(0), "target-invalid");
        assembly {
            let succeeded := delegatecall(gas(), _target, add(_data, 0x20), mload(_data), 0, 0)

            switch iszero(succeeded)
                case 1 {
                    // throw if delegatecall failed
                    let size := returndatasize()
                    returndatacopy(0x00, 0x00, size)
                    revert(0x00, size)
                }
        }
    }

    /**
     * @dev This is the main function, Where all the different functions are called
     * from Smart Account.
     * @param _targets Array of Target(s) to of Connector.
     * @param _datas Array of Calldata(S) of function.
    */
    function cast(
        address[] calldata _targets,
        bytes[] calldata _datas,
        address _origin
    )
    external
    payable
    {
        require(isAuth(msg.sender) || msg.sender == instaIndex, "permission-denied");
        require(_targets.length == _datas.length , "array-length-invalid");
        IndexInterface indexContract = IndexInterface(instaIndex);
        bool isShield = shield;
        if (!isShield) {
            require(ConnectorsInterface(indexContract.connectors(version)).isConnector(_targets), "not-connector");
        } else {
            require(ConnectorsInterface(indexContract.connectors(version)).isStaticConnector(_targets), "not-static-connector");
        }
        for (uint i = 0; i < _targets.length; i++) {
            spell(_targets[i], _datas[i]);
        }
        address _check = indexContract.check(version);
        if (_check != address(0) && !isShield) require(CheckInterface(_check).isOk(), "not-ok");
        emit LogCast(_origin, msg.sender, msg.value);
    }

}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"origin","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"LogCast","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"LogDisable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"LogEnable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_shield","type":"bool"}],"name":"LogSwitchShield","type":"event"},{"inputs":[{"internalType":"address[]","name":"_targets","type":"address[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"},{"internalType":"address","name":"_origin","type":"address"}],"name":"cast","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"disable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"enable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"instaIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isAuth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shield","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_shield","type":"bool"}],"name":"switchShield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506119e0806100206000396000f3fe60806040526004361061007f5760003560e01c806370d39cff1161004e57806370d39cff14610145578063a41098bf14610170578063e0e90acf1461019b578063e6c09edf146101b757610086565b80632520e7ff1461008b578063501b9b67146100c857806354fd4d50146100f15780635bfa1b681461011c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100b260048036036100ad9190810190611211565b6101e0565b6040516100bf919061172e565b60405180910390f35b3480156100d457600080fd5b506100ef60048036036100ea91908101906112ec565b610235565b005b3480156100fd57600080fd5b50610106610379565b60405161011391906118c9565b60405180910390f35b34801561012857600080fd5b50610143600480360361013e9190810190611211565b61037e565b005b34801561015157600080fd5b5061015a6106cb565b604051610167919061172e565b60405180910390f35b34801561017c57600080fd5b506101856106de565b60405161019291906116ef565b60405180910390f35b6101b560048036036101b09190810190611263565b6106f6565b005b3480156101c357600080fd5b506101de60048036036101d99190810190611211565b610d94565b005b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166102c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790611829565b60405180910390fd5b801515600160009054906101000a900460ff1615151415610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d906118a9565b60405180910390fd5b80600160006101000a81548160ff0219169083151502179055507f38a4860f1db0d5ebd83e321dae638039485f74aca43265d0772f95ac9267830d600160009054906101000a900460ff1660405161036e919061172e565b60405180910390a150565b600181565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103f75750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d90611789565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049d90611749565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990611809565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff16630f560cd76040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061061b919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff16635422224e826040518263ffffffff1660e01b815260040161065391906116ef565b600060405180830381600087803b15801561066d57600080fd5b505af1158015610681573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fdc949ee4159e00c6f6c0277af4718b4329c1e113164f629e30029915196c530f60405160405180910390a250565b600160009054906101000a900460ff1681565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b6106ff336101e0565b806107495750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90611889565b60405180910390fd5b8282905085859050146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c790611769565b60405180910390fd5b6000732971adfa57b20e5a416ae5a708a8655a9c74f72390506000600160009054906101000a900460ff1690508061095a578173ffffffffffffffffffffffffffffffffffffffff166313ede1a160016040518263ffffffff1660e01b815260040161083c91906118c9565b60206040518083038186803b15801561085457600080fd5b505afa158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088c919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff1663a829f16588886040518363ffffffff1660e01b81526004016108c692919061170a565b60206040518083038186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109169190810190611315565b610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c906117a9565b60405180910390fd5b610aae565b8173ffffffffffffffffffffffffffffffffffffffff166313ede1a160016040518263ffffffff1660e01b815260040161099491906118c9565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e4919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff1663144c61fe88886040518363ffffffff1660e01b8152600401610a1e92919061170a565b60206040518083038186803b158015610a3657600080fd5b505afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a6e9190810190611315565b610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa490611869565b60405180910390fd5b5b60008090505b87879050811015610b9857610b8b888883818110610ace57fe5b9050602002016020610ae39190810190611211565b878784818110610aef57fe5b9050602002810180356001602003833603038112610b0c57600080fd5b8083019250508135905060208201915067ffffffffffffffff811115610b3157600080fd5b600181023603821315610b4357600080fd5b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061108d565b8080600101915050610ab4565b5060008273ffffffffffffffffffffffffffffffffffffffff16635f72f45060016040518263ffffffff1660e01b8152600401610bd591906118c9565b60206040518083038186803b158015610bed57600080fd5b505afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c25919081019061123a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c62575081155b15610d25578073ffffffffffffffffffffffffffffffffffffffff1663d957dd3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cad57600080fd5b505afa158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce59190810190611315565b610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611849565b60405180910390fd5b5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f88c16fce368c171f39a2eb45acade4f8e2316d6c47b08e53f941ca3f90bc6ef234604051610d8291906118c9565b60405180910390a35050505050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990611829565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990611749565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906117e9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff16630f560cd76040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fdd919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff16637f3fd918826040518263ffffffff1660e01b815260040161101591906116ef565b600060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f388f3d05458eb2a997e29ad87ebff76b4482e8c12f760c04a84243c9907af6cc60405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f4906117c9565b60405180910390fd5b600080825160208401855af480156001811461111857611123565b3d806000803e806000fd5b50505050565b6000813590506111388161197c565b92915050565b60008151905061114d8161197c565b92915050565b60008083601f84011261116557600080fd5b8235905067ffffffffffffffff81111561117e57600080fd5b60208301915083602082028301111561119657600080fd5b9250929050565b60008083601f8401126111af57600080fd5b8235905067ffffffffffffffff8111156111c857600080fd5b6020830191508360208202830111156111e057600080fd5b9250929050565b6000813590506111f681611993565b92915050565b60008151905061120b81611993565b92915050565b60006020828403121561122357600080fd5b600061123184828501611129565b91505092915050565b60006020828403121561124c57600080fd5b600061125a8482850161113e565b91505092915050565b60008060008060006060868803121561127b57600080fd5b600086013567ffffffffffffffff81111561129557600080fd5b6112a188828901611153565b9550955050602086013567ffffffffffffffff8111156112c057600080fd5b6112cc8882890161119d565b935093505060406112df88828901611129565b9150509295509295909350565b6000602082840312156112fe57600080fd5b600061130c848285016111e7565b91505092915050565b60006020828403121561132757600080fd5b6000611335848285016111fc565b91505092915050565b600061134a8383611356565b60208301905092915050565b61135f81611934565b82525050565b61136e81611934565b82525050565b600061138083856118fb565b935061138b826118e4565b8060005b858110156113c4576113a1828461191d565b6113ab888261133e565b97506113b6836118ee565b92505060018101905061138f565b5085925050509392505050565b6113da81611946565b82525050565b60006113ed60098361190c565b91507f6e6f742d76616c696400000000000000000000000000000000000000000000006000830152602082019050919050565b600061142d60148361190c565b91507f61727261792d6c656e6774682d696e76616c69640000000000000000000000006000830152602082019050919050565b600061146d600e8361190c565b91507f6e6f742d73656c662d696e6465780000000000000000000000000000000000006000830152602082019050919050565b60006114ad600d8361190c565b91507f6e6f742d636f6e6e6563746f72000000000000000000000000000000000000006000830152602082019050919050565b60006114ed600e8361190c565b91507f7461726765742d696e76616c69640000000000000000000000000000000000006000830152602082019050919050565b600061152d60108361190c565b91507f616c72656164792d64697361626c6564000000000000000000000000000000006000830152602082019050919050565b600061156d600f8361190c565b91507f616c72656164792d656e61626c656400000000000000000000000000000000006000830152602082019050919050565b60006115ad60088361190c565b91507f6e6f742d73656c660000000000000000000000000000000000000000000000006000830152602082019050919050565b60006115ed60068361190c565b91507f6e6f742d6f6b00000000000000000000000000000000000000000000000000006000830152602082019050919050565b600061162d60148361190c565b91507f6e6f742d7374617469632d636f6e6e6563746f720000000000000000000000006000830152602082019050919050565b600061166d60118361190c565b91507f7065726d697373696f6e2d64656e6965640000000000000000000000000000006000830152602082019050919050565b60006116ad600d8361190c565b91507f736869656c6420697320736574000000000000000000000000000000000000006000830152602082019050919050565b6116e981611972565b82525050565b60006020820190506117046000830184611365565b92915050565b60006020820190508181036000830152611725818486611374565b90509392505050565b600060208201905061174360008301846113d1565b92915050565b60006020820190508181036000830152611762816113e0565b9050919050565b6000602082019050818103600083015261178281611420565b9050919050565b600060208201905081810360008301526117a281611460565b9050919050565b600060208201905081810360008301526117c2816114a0565b9050919050565b600060208201905081810360008301526117e2816114e0565b9050919050565b6000602082019050818103600083015261180281611520565b9050919050565b6000602082019050818103600083015261182281611560565b9050919050565b60006020820190508181036000830152611842816115a0565b9050919050565b60006020820190508181036000830152611862816115e0565b9050919050565b6000602082019050818103600083015261188281611620565b9050919050565b600060208201905081810360008301526118a281611660565b9050919050565b600060208201905081810360008301526118c2816116a0565b9050919050565b60006020820190506118de60008301846116e0565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061192c6020840184611129565b905092915050565b600061193f82611952565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b61198581611934565b811461199057600080fd5b50565b61199c81611946565b81146119a757600080fd5b5056fea2646970667358221220c7356d76ef680ea6649af388d2a518797700466c0a8ed7e5356ec7932509c8e864736f6c63430006000033

Deployed Bytecode

0x60806040526004361061007f5760003560e01c806370d39cff1161004e57806370d39cff14610145578063a41098bf14610170578063e0e90acf1461019b578063e6c09edf146101b757610086565b80632520e7ff1461008b578063501b9b67146100c857806354fd4d50146100f15780635bfa1b681461011c57610086565b3661008657005b600080fd5b34801561009757600080fd5b506100b260048036036100ad9190810190611211565b6101e0565b6040516100bf919061172e565b60405180910390f35b3480156100d457600080fd5b506100ef60048036036100ea91908101906112ec565b610235565b005b3480156100fd57600080fd5b50610106610379565b60405161011391906118c9565b60405180910390f35b34801561012857600080fd5b50610143600480360361013e9190810190611211565b61037e565b005b34801561015157600080fd5b5061015a6106cb565b604051610167919061172e565b60405180910390f35b34801561017c57600080fd5b506101856106de565b60405161019291906116ef565b60405180910390f35b6101b560048036036101b09190810190611263565b6106f6565b005b3480156101c357600080fd5b506101de60048036036101d99190810190611211565b610d94565b005b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166102c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790611829565b60405180910390fd5b801515600160009054906101000a900460ff1615151415610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d906118a9565b60405180910390fd5b80600160006101000a81548160ff0219169083151502179055507f38a4860f1db0d5ebd83e321dae638039485f74aca43265d0772f95ac9267830d600160009054906101000a900460ff1660405161036e919061172e565b60405180910390a150565b600181565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806103f75750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042d90611789565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049d90611749565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990611809565b60405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff16630f560cd76040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061061b919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff16635422224e826040518263ffffffff1660e01b815260040161065391906116ef565b600060405180830381600087803b15801561066d57600080fd5b505af1158015610681573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fdc949ee4159e00c6f6c0277af4718b4329c1e113164f629e30029915196c530f60405160405180910390a250565b600160009054906101000a900460ff1681565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b6106ff336101e0565b806107495750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077f90611889565b60405180910390fd5b8282905085859050146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c790611769565b60405180910390fd5b6000732971adfa57b20e5a416ae5a708a8655a9c74f72390506000600160009054906101000a900460ff1690508061095a578173ffffffffffffffffffffffffffffffffffffffff166313ede1a160016040518263ffffffff1660e01b815260040161083c91906118c9565b60206040518083038186803b15801561085457600080fd5b505afa158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088c919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff1663a829f16588886040518363ffffffff1660e01b81526004016108c692919061170a565b60206040518083038186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109169190810190611315565b610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c906117a9565b60405180910390fd5b610aae565b8173ffffffffffffffffffffffffffffffffffffffff166313ede1a160016040518263ffffffff1660e01b815260040161099491906118c9565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e4919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff1663144c61fe88886040518363ffffffff1660e01b8152600401610a1e92919061170a565b60206040518083038186803b158015610a3657600080fd5b505afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a6e9190810190611315565b610aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa490611869565b60405180910390fd5b5b60008090505b87879050811015610b9857610b8b888883818110610ace57fe5b9050602002016020610ae39190810190611211565b878784818110610aef57fe5b9050602002810180356001602003833603038112610b0c57600080fd5b8083019250508135905060208201915067ffffffffffffffff811115610b3157600080fd5b600181023603821315610b4357600080fd5b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061108d565b8080600101915050610ab4565b5060008273ffffffffffffffffffffffffffffffffffffffff16635f72f45060016040518263ffffffff1660e01b8152600401610bd591906118c9565b60206040518083038186803b158015610bed57600080fd5b505afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c25919081019061123a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c62575081155b15610d25578073ffffffffffffffffffffffffffffffffffffffff1663d957dd3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cad57600080fd5b505afa158015610cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce59190810190611315565b610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90611849565b60405180910390fd5b5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f88c16fce368c171f39a2eb45acade4f8e2316d6c47b08e53f941ca3f90bc6ef234604051610d8291906118c9565b60405180910390a35050505050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990611829565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990611749565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef4906117e9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff16630f560cd76040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fdd919081019061123a565b73ffffffffffffffffffffffffffffffffffffffff16637f3fd918826040518263ffffffff1660e01b815260040161101591906116ef565b600060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167f388f3d05458eb2a997e29ad87ebff76b4482e8c12f760c04a84243c9907af6cc60405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f4906117c9565b60405180910390fd5b600080825160208401855af480156001811461111857611123565b3d806000803e806000fd5b50505050565b6000813590506111388161197c565b92915050565b60008151905061114d8161197c565b92915050565b60008083601f84011261116557600080fd5b8235905067ffffffffffffffff81111561117e57600080fd5b60208301915083602082028301111561119657600080fd5b9250929050565b60008083601f8401126111af57600080fd5b8235905067ffffffffffffffff8111156111c857600080fd5b6020830191508360208202830111156111e057600080fd5b9250929050565b6000813590506111f681611993565b92915050565b60008151905061120b81611993565b92915050565b60006020828403121561122357600080fd5b600061123184828501611129565b91505092915050565b60006020828403121561124c57600080fd5b600061125a8482850161113e565b91505092915050565b60008060008060006060868803121561127b57600080fd5b600086013567ffffffffffffffff81111561129557600080fd5b6112a188828901611153565b9550955050602086013567ffffffffffffffff8111156112c057600080fd5b6112cc8882890161119d565b935093505060406112df88828901611129565b9150509295509295909350565b6000602082840312156112fe57600080fd5b600061130c848285016111e7565b91505092915050565b60006020828403121561132757600080fd5b6000611335848285016111fc565b91505092915050565b600061134a8383611356565b60208301905092915050565b61135f81611934565b82525050565b61136e81611934565b82525050565b600061138083856118fb565b935061138b826118e4565b8060005b858110156113c4576113a1828461191d565b6113ab888261133e565b97506113b6836118ee565b92505060018101905061138f565b5085925050509392505050565b6113da81611946565b82525050565b60006113ed60098361190c565b91507f6e6f742d76616c696400000000000000000000000000000000000000000000006000830152602082019050919050565b600061142d60148361190c565b91507f61727261792d6c656e6774682d696e76616c69640000000000000000000000006000830152602082019050919050565b600061146d600e8361190c565b91507f6e6f742d73656c662d696e6465780000000000000000000000000000000000006000830152602082019050919050565b60006114ad600d8361190c565b91507f6e6f742d636f6e6e6563746f72000000000000000000000000000000000000006000830152602082019050919050565b60006114ed600e8361190c565b91507f7461726765742d696e76616c69640000000000000000000000000000000000006000830152602082019050919050565b600061152d60108361190c565b91507f616c72656164792d64697361626c6564000000000000000000000000000000006000830152602082019050919050565b600061156d600f8361190c565b91507f616c72656164792d656e61626c656400000000000000000000000000000000006000830152602082019050919050565b60006115ad60088361190c565b91507f6e6f742d73656c660000000000000000000000000000000000000000000000006000830152602082019050919050565b60006115ed60068361190c565b91507f6e6f742d6f6b00000000000000000000000000000000000000000000000000006000830152602082019050919050565b600061162d60148361190c565b91507f6e6f742d7374617469632d636f6e6e6563746f720000000000000000000000006000830152602082019050919050565b600061166d60118361190c565b91507f7065726d697373696f6e2d64656e6965640000000000000000000000000000006000830152602082019050919050565b60006116ad600d8361190c565b91507f736869656c6420697320736574000000000000000000000000000000000000006000830152602082019050919050565b6116e981611972565b82525050565b60006020820190506117046000830184611365565b92915050565b60006020820190508181036000830152611725818486611374565b90509392505050565b600060208201905061174360008301846113d1565b92915050565b60006020820190508181036000830152611762816113e0565b9050919050565b6000602082019050818103600083015261178281611420565b9050919050565b600060208201905081810360008301526117a281611460565b9050919050565b600060208201905081810360008301526117c2816114a0565b9050919050565b600060208201905081810360008301526117e2816114e0565b9050919050565b6000602082019050818103600083015261180281611520565b9050919050565b6000602082019050818103600083015261182281611560565b9050919050565b60006020820190508181036000830152611842816115a0565b9050919050565b60006020820190508181036000830152611862816115e0565b9050919050565b6000602082019050818103600083015261188281611620565b9050919050565b600060208201905081810360008301526118a281611660565b9050919050565b600060208201905081810360008301526118c2816116a0565b9050919050565b60006020820190506118de60008301846116e0565b92915050565b6000819050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061192c6020840184611129565b905092915050565b600061193f82611952565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b61198581611934565b811461199057600080fd5b50565b61199c81611946565b81146119a757600080fd5b5056fea2646970667358221220c7356d76ef680ea6649af388d2a518797700466c0a8ed7e5356ec7932509c8e864736f6c63430006000033

Deployed Bytecode Sourcemap

2681:2203:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1383:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1383:93:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1535:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1535:221:0;;;;;;;;;;;;;;;;:::i;:::-;;1098:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1098:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;1859:371;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1859:371:0;;;;;;;;;;;;;;;;:::i;:::-;;1258:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1258:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;976:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;976:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;3835:1044;;;;;;;;;;;;;;;;:::i;:::-;;2330:342;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2330:342:0;;;;;;;;;;;;;;;;:::i;:::-;;1383:93;1434:4;1458;:10;1463:4;1458:10;;;;;;;;;;;;;;;;;;;;;;;;;1451:17;;1383:93;;;:::o;1535:221::-;1599:4;:16;1604:10;1599:16;;;;;;;;;;;;;;;;;;;;;;;;;1591:37;;;;;;;;;;;;;;;;;;;;;;1657:7;1647:17;;:6;;;;;;;;;;;:17;;;;1639:43;;;;;;;;;;;;;;;;;;;;;;1702:7;1693:6;;:16;;;;;;;;;;;;;;;;;;1725:23;1741:6;;;;;;;;;;;1725:23;;;;;;;;;;;;;;;1535:221;:::o;1098:32::-;1129:1;1098:32;:::o;1859:371::-;1937:4;1915:27;;:10;:27;;;:55;;;;1013:42;1946:24;;:10;:24;;;1915:55;1907:82;;;;;;;;;;;;;;;;;;;;;;2024:1;2008:18;;:4;:18;;;;2000:40;;;;;;;;;;;;;;;;;;;;;;2060:4;:10;2065:4;2060:10;;;;;;;;;;;;;;;;;;;;;;;;;2059:11;2051:39;;;;;;;;;;;;;;;;;;;;;;2114:4;2101;:10;2106:4;2101:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;1013:42;2143:31;;;:33;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2143:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2143:33:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2143:33:0;;;;;;;;;2129:56;;;2186:4;2129:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2129:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2129:62:0;;;;2217:4;2207:15;;;;;;;;;;;;1859:371;:::o;1258:18::-;;;;;;;;;;;;;:::o;976:79::-;1013:42;976:79;:::o;3835:1044::-;4005:18;4012:10;4005:6;:18::i;:::-;:46;;;;1013:42;4027:24;;:10;:24;;;4005:46;3997:76;;;;;;;;;;;;;;;;;;;;;;4111:6;;:13;;4092:8;;:15;;:32;4084:66;;;;;;;;;;;;;;;;;;;;;;4161:28;1013:42;4161:57;;4229:13;4245:6;;;;;;;;;;;4229:22;;4267:8;4262:292;;4320:13;:24;;;1129:1;4320:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4320:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4320:33:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4320:33:0;;;;;;;;;4300:66;;;4367:8;;4300:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4300:76:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4300:76:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4300:76:0;;;;;;;;;4292:102;;;;;;;;;;;;;;;;;;;;;;4262:292;;;4455:13;:24;;;1129:1;4455:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4455:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4455:33:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4455:33:0;;;;;;;;;4435:72;;;4508:8;;4435:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4435:82:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4435:82:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4435:82:0;;;;;;;;;4427:115;;;;;;;;;;;;;;;;;;;;;;4262:292;4569:6;4578:1;4569:10;;4564:99;4585:8;;:15;;4581:1;:19;4564:99;;;4622:29;4628:8;;4637:1;4628:11;;;;;;;;;;;;;;;;;;;;;;4641:6;;4648:1;4641:9;;;;;;;;;;;;;43:11:-1;30:25;137:1;131:4;127:12;116:8;100:14;96:29;92:48;72:18;68:73;58:2;;155:1;152;145:12;58:2;188:18;178:8;174:33;162:45;;0:210;29:8;16:22;6:32;;69:4;59:8;55:19;43:31;;93:18;85:6;82:30;79:2;;;125:1;122;115:12;79:2;183:4;175:6;171:17;155:14;151:38;141:8;137:53;134:2;;;203:1;200;193:12;134:2;4622:29: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;;4622:29:0;;;;;;:5;:29::i;:::-;4602:3;;;;;;;4564:99;;;;4673:14;4690:13;:19;;;1129:1;4690:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4690:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4690:28:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4690:28:0;;;;;;;;;4673:45;;4751:1;4733:20;;:6;:20;;;;:33;;;;;4758:8;4757:9;4733:33;4729:87;;;4791:6;4776:27;;;:29;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4776:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4776:29:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4776:29:0;;;;;;;;;4768:48;;;;;;;;;;;;;;;;;;;;;;4729:87;4849:10;4832:39;;4840:7;4832:39;;;4861:9;4832:39;;;;;;;;;;;;;;;3835:1044;;;;;;;;:::o;2330:342::-;2409:4;2387:27;;:10;:27;;;2379:48;;;;;;;;;;;;;;;;;;;;;;2462:1;2446:18;;:4;:18;;;;2438:40;;;;;;;;;;;;;;;;;;;;;;2497:4;:10;2502:4;2497:10;;;;;;;;;;;;;;;;;;;;;;;;;2489:39;;;;;;;;;;;;;;;;;;;;;;2546:4;:10;2551:4;2546:10;;;;;;;;;;;;;;;;2539:17;;;;;;;;;;;1013:42;2581:31;;;:33;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2581:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2581:33:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;2581:33:0;;;;;;;;;2567:59;;;2627:4;2567:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2567:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2567:65:0;;;;2659:4;2648:16;;;;;;;;;;;;2330:342;:::o;3043:538::-;3142:1;3123:21;;:7;:21;;;;3115:48;;;;;;;;;;;;;;;;;;;;;;3279:1;3276;3268:5;3262:12;3255:4;3248:5;3244:16;3235:7;3228:5;3215:66;3311:9;3304:17;3344:1;3339:224;;;;3297:266;;3339:224;3434:16;3499:4;3493;3487;3472:32;3539:4;3533;3526:18;3297:266;;3183:391;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:134;;226:6;220:13;211:22;;238:33;265:5;238:33;;;205:71;;;;;301:352;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;482:6;469:20;459:30;;509:18;501:6;498:30;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;;677:359;;;814:3;807:4;799:6;795:17;791:27;781:2;;832:1;829;822:12;781:2;865:6;852:20;842:30;;892:18;884:6;881:30;878:2;;;924:1;921;914:12;878:2;958:4;950:6;946:17;934:29;;1009:3;1001:4;993:6;989:17;979:8;975:32;972:41;969:2;;;1026:1;1023;1016:12;969:2;774:262;;;;;;1044:124;;1121:6;1108:20;1099:29;;1133:30;1157:5;1133:30;;;1093:75;;;;;1175:128;;1256:6;1250:13;1241:22;;1268:30;1292:5;1268:30;;;1235:68;;;;;1310:241;;1414:2;1402:9;1393:7;1389:23;1385:32;1382:2;;;1430:1;1427;1420:12;1382:2;1465:1;1482:53;1527:7;1518:6;1507:9;1503:22;1482:53;;;1472:63;;1444:97;1376:175;;;;;1558:263;;1673:2;1661:9;1652:7;1648:23;1644:32;1641:2;;;1689:1;1686;1679:12;1641:2;1724:1;1741:64;1797:7;1788:6;1777:9;1773:22;1741:64;;;1731:74;;1703:108;1635:186;;;;;1828:817;;;;;;2043:2;2031:9;2022:7;2018:23;2014:32;2011:2;;;2059:1;2056;2049:12;2011:2;2122:1;2111:9;2107:17;2094:31;2145:18;2137:6;2134:30;2131:2;;;2177:1;2174;2167:12;2131:2;2205:80;2277:7;2268:6;2257:9;2253:22;2205:80;;;2195:90;;;;2073:218;2350:2;2339:9;2335:18;2322:32;2374:18;2366:6;2363:30;2360:2;;;2406:1;2403;2396:12;2360:2;2434:87;2513:7;2504:6;2493:9;2489:22;2434:87;;;2424:97;;;;2301:226;2558:2;2576:53;2621:7;2612:6;2601:9;2597:22;2576:53;;;2566:63;;2537:98;2005:640;;;;;;;;;2652:235;;2753:2;2741:9;2732:7;2728:23;2724:32;2721:2;;;2769:1;2766;2759:12;2721:2;2804:1;2821:50;2863:7;2854:6;2843:9;2839:22;2821:50;;;2811:60;;2783:94;2715:172;;;;;2894:257;;3006:2;2994:9;2985:7;2981:23;2977:32;2974:2;;;3022:1;3019;3012:12;2974:2;3057:1;3074:61;3127:7;3118:6;3107:9;3103:22;3074:61;;;3064:71;;3036:105;2968:183;;;;;3159:173;;3246:46;3288:3;3280:6;3246:46;;;3321:4;3316:3;3312:14;3298:28;;3239:93;;;;;3340:103;3413:24;3431:5;3413:24;;;3408:3;3401:37;3395:48;;;3450:113;3533:24;3551:5;3533:24;;;3528:3;3521:37;3515:48;;;3601:665;;3755:86;3834:6;3829:3;3755:86;;;3748:93;;3862:58;3914:5;3862:58;;;3940:7;3968:1;3953:291;3978:6;3975:1;3972:13;3953:291;;;4039:42;4074:6;4065:7;4039:42;;;4095:63;4154:3;4139:13;4095:63;;;4088:70;;4175:62;4230:6;4175:62;;;4165:72;;4010:234;4000:1;3997;3993:9;3988:14;;3953:291;;;3957:14;4257:3;4250:10;;3735:531;;;;;;;;4274:104;4351:21;4366:5;4351:21;;;4346:3;4339:34;4333:45;;;4386:308;;4546:66;4610:1;4605:3;4546:66;;;4539:73;;4645:11;4641:1;4636:3;4632:11;4625:32;4685:2;4680:3;4676:12;4669:19;;4532:162;;;;4703:320;;4863:67;4927:2;4922:3;4863:67;;;4856:74;;4963:22;4959:1;4954:3;4950:11;4943:43;5014:2;5009:3;5005:12;4998:19;;4849:174;;;;5032:314;;5192:67;5256:2;5251:3;5192:67;;;5185:74;;5292:16;5288:1;5283:3;5279:11;5272:37;5337:2;5332:3;5328:12;5321:19;;5178:168;;;;5355:313;;5515:67;5579:2;5574:3;5515:67;;;5508:74;;5615:15;5611:1;5606:3;5602:11;5595:36;5659:2;5654:3;5650:12;5643:19;;5501:167;;;;5677:314;;5837:67;5901:2;5896:3;5837:67;;;5830:74;;5937:16;5933:1;5928:3;5924:11;5917:37;5982:2;5977:3;5973:12;5966:19;;5823:168;;;;6000:316;;6160:67;6224:2;6219:3;6160:67;;;6153:74;;6260:18;6256:1;6251:3;6247:11;6240:39;6307:2;6302:3;6298:12;6291:19;;6146:170;;;;6325:315;;6485:67;6549:2;6544:3;6485:67;;;6478:74;;6585:17;6581:1;6576:3;6572:11;6565:38;6631:2;6626:3;6622:12;6615:19;;6471:169;;;;6649:307;;6809:66;6873:1;6868:3;6809:66;;;6802:73;;6908:10;6904:1;6899:3;6895:11;6888:31;6947:2;6942:3;6938:12;6931:19;;6795:161;;;;6965:305;;7125:66;7189:1;7184:3;7125:66;;;7118:73;;7224:8;7220:1;7215:3;7211:11;7204:29;7261:2;7256:3;7252:12;7245:19;;7111:159;;;;7279:320;;7439:67;7503:2;7498:3;7439:67;;;7432:74;;7539:22;7535:1;7530:3;7526:11;7519:43;7590:2;7585:3;7581:12;7574:19;;7425:174;;;;7608:317;;7768:67;7832:2;7827:3;7768:67;;;7761:74;;7868:19;7864:1;7859:3;7855:11;7848:40;7916:2;7911:3;7907:12;7900:19;;7754:171;;;;7934:313;;8094:67;8158:2;8153:3;8094:67;;;8087:74;;8194:15;8190:1;8185:3;8181:11;8174:36;8238:2;8233:3;8229:12;8222:19;;8080:167;;;;8255:113;8338:24;8356:5;8338:24;;;8333:3;8326:37;8320:48;;;8375:213;;8493:2;8482:9;8478:18;8470:26;;8507:71;8575:1;8564:9;8560:17;8551:6;8507:71;;;8464:124;;;;;8595:381;;8773:2;8762:9;8758:18;8750:26;;8823:9;8817:4;8813:20;8809:1;8798:9;8794:17;8787:47;8848:118;8961:4;8952:6;8944;8848:118;;;8840:126;;8744:232;;;;;;8983:201;;9095:2;9084:9;9080:18;9072:26;;9109:65;9171:1;9160:9;9156:17;9147:6;9109:65;;;9066:118;;;;;9191:407;;9382:2;9371:9;9367:18;9359:26;;9432:9;9426:4;9422:20;9418:1;9407:9;9403:17;9396:47;9457:131;9583:4;9457:131;;;9449:139;;9353:245;;;;9605:407;;9796:2;9785:9;9781:18;9773:26;;9846:9;9840:4;9836:20;9832:1;9821:9;9817:17;9810:47;9871:131;9997:4;9871:131;;;9863:139;;9767:245;;;;10019:407;;10210:2;10199:9;10195:18;10187:26;;10260:9;10254:4;10250:20;10246:1;10235:9;10231:17;10224:47;10285:131;10411:4;10285:131;;;10277:139;;10181:245;;;;10433:407;;10624:2;10613:9;10609:18;10601:26;;10674:9;10668:4;10664:20;10660:1;10649:9;10645:17;10638:47;10699:131;10825:4;10699:131;;;10691:139;;10595:245;;;;10847:407;;11038:2;11027:9;11023:18;11015:26;;11088:9;11082:4;11078:20;11074:1;11063:9;11059:17;11052:47;11113:131;11239:4;11113:131;;;11105:139;;11009:245;;;;11261:407;;11452:2;11441:9;11437:18;11429:26;;11502:9;11496:4;11492:20;11488:1;11477:9;11473:17;11466:47;11527:131;11653:4;11527:131;;;11519:139;;11423:245;;;;11675:407;;11866:2;11855:9;11851:18;11843:26;;11916:9;11910:4;11906:20;11902:1;11891:9;11887:17;11880:47;11941:131;12067:4;11941:131;;;11933:139;;11837:245;;;;12089:407;;12280:2;12269:9;12265:18;12257:26;;12330:9;12324:4;12320:20;12316:1;12305:9;12301:17;12294:47;12355:131;12481:4;12355:131;;;12347:139;;12251:245;;;;12503:407;;12694:2;12683:9;12679:18;12671:26;;12744:9;12738:4;12734:20;12730:1;12719:9;12715:17;12708:47;12769:131;12895:4;12769:131;;;12761:139;;12665:245;;;;12917:407;;13108:2;13097:9;13093:18;13085:26;;13158:9;13152:4;13148:20;13144:1;13133:9;13129:17;13122:47;13183:131;13309:4;13183:131;;;13175:139;;13079:245;;;;13331:407;;13522:2;13511:9;13507:18;13499:26;;13572:9;13566:4;13562:20;13558:1;13547:9;13543:17;13536:47;13597:131;13723:4;13597:131;;;13589:139;;13493:245;;;;13745:407;;13936:2;13925:9;13921:18;13913:26;;13986:9;13980:4;13976:20;13972:1;13961:9;13957:17;13950:47;14011:131;14137:4;14011:131;;;14003:139;;13907:245;;;;14159:213;;14277:2;14266:9;14262:18;14254:26;;14291:71;14359:1;14348:9;14344:17;14335:6;14291:71;;;14248:124;;;;;14379:118;;14467:3;14459:11;;14453:44;;;;14504:110;;14604:4;14599:3;14595:14;14587:22;;14581:33;;;;14622:178;;14752:6;14747:3;14740:19;14789:4;14784:3;14780:14;14765:29;;14733:67;;;;;14809:163;;14924:6;14919:3;14912:19;14961:4;14956:3;14952:14;14937:29;;14905:67;;;;;14981:119;;15055:39;15090:2;15085:3;15081:12;15076:3;15055:39;;;15046:48;;15039:61;;;;;15108:91;;15170:24;15188:5;15170:24;;;15159:35;;15153:46;;;;15206:85;;15279:5;15272:13;15265:21;15254:32;;15248:43;;;;15298:121;;15371:42;15364:5;15360:54;15349:65;;15343:76;;;;15426:72;;15488:5;15477:16;;15471:27;;;;15505:117;15574:24;15592:5;15574:24;;;15567:5;15564:35;15554:2;;15613:1;15610;15603:12;15554:2;15548:74;;15629:111;15695:21;15710:5;15695:21;;;15688:5;15685:32;15675:2;;15731:1;15728;15721:12;15675:2;15669:71;

Swarm Source

ipfs://c7356d76ef680ea6649af388d2a518797700466c0a8ed7e5356ec7932509c8e8

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.