ETH Price: $3,464.89 (+2.09%)
Gas: 12 Gwei

Contract

0xD6A602C01a023B98Ecfb29Df02FBA380d3B21E0c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Enable98007082020-04-03 18:31:411549 days ago1585938701IN
InstaDApp: Connectors
0 ETH0.000608517
Enable98004392020-04-03 17:36:581549 days ago1585935418IN
InstaDApp: Connectors
0 ETH0.000608976.8
Enable97473632020-03-26 13:51:541558 days ago1585230714IN
InstaDApp: Connectors
0 ETH0.0008686510
Enable97473602020-03-26 13:51:151558 days ago1585230675IN
InstaDApp: Connectors
0 ETH0.000818047
0x6080604097472872020-03-26 13:36:231558 days ago1585229783IN
 Create: InstaConnectors
0 ETH0.01134427

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InstaConnectors

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;

/**
 * @title InstaConnectors
 * @dev Registry for Connectors.
 */


interface IndexInterface {
    function master() external view returns (address);
}

interface ConnectorInterface {
    function connectorID() external view returns(uint _type, uint _id);
    function name() external view returns (string memory);
}


contract DSMath {

    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, "ds-math-add-overflow");
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, "ds-math-sub-underflow");
    }

}

contract Controllers is DSMath {

    event LogAddController(address indexed addr);
    event LogRemoveController(address indexed addr);

    // InstaIndex Address.
    address public constant instaIndex = 0x2971AdFa57b20E5a416aE5a708A8655A9c74f723;

    // Enabled Chief(Address of Chief => bool).
    mapping(address => bool) public chief;
    // Enabled Connectors(Connector Address => bool).
    mapping(address => bool) public connectors;
    // Enabled Static Connectors(Connector Address => bool).
    mapping(address => bool) public staticConnectors;

    /**
    * @dev Throws if the sender not is Master Address from InstaIndex
    * or Enabled Chief.
    */
    modifier isChief {
        require(chief[msg.sender] || msg.sender == IndexInterface(instaIndex).master(), "not-an-chief");
        _;
    }

    /**
     * @dev Enable a Chief.
     * @param _userAddress Chief Address.
    */
    function enableChief(address _userAddress) external isChief {
        chief[_userAddress] = true;
        emit LogAddController(_userAddress);
    }

    /**
     * @dev Disables a Chief.
     * @param _userAddress Chief Address.
    */
    function disableChief(address _userAddress) external isChief {
        delete chief[_userAddress];
        emit LogRemoveController(_userAddress);
    }

}


contract Listings is Controllers {
    // Connectors Array.
    address[] public connectorArray;
    // Count of Connector's Enabled.
    uint public connectorCount;

    /**
     * @dev Add Connector to Connector's array.
     * @param _connector Connector Address.
    **/
    function addToArr(address _connector) internal {
        require(_connector != address(0), "Not-valid-connector");
        (, uint _id) = ConnectorInterface(_connector).connectorID();
        require(_id == (connectorArray.length+1),"ConnectorID-doesnt-match");
        ConnectorInterface(_connector).name(); // Checking if connector has function name()
        connectorArray.push(_connector);
    }

    // Static Connectors Array.
    address[] public staticConnectorArray;

    /**
     * @dev Add Connector to Static Connector's array.
     * @param _connector Static Connector Address.
    **/
    function addToArrStatic(address _connector) internal {
        require(_connector != address(0), "Not-valid-connector");
        (, uint _id) = ConnectorInterface(_connector).connectorID();
        require(_id == (staticConnectorArray.length+1),"ConnectorID-doesnt-match");
        ConnectorInterface(_connector).name(); // Checking if connector has function name()
        staticConnectorArray.push(_connector);
    }

}


contract InstaConnectors is Listings {

    event LogEnable(address indexed connector);
    event LogDisable(address indexed connector);
    event LogEnableStatic(address indexed connector);

    /**
     * @dev Enable Connector.
     * @param _connector Connector Address.
    */
    function enable(address _connector) external isChief {
        require(!connectors[_connector], "already-enabled");
        addToArr(_connector);
        connectors[_connector] = true;
        connectorCount++;
        emit LogEnable(_connector);
    }
    /**
     * @dev Disable Connector.
     * @param _connector Connector Address.
    */
    function disable(address _connector) external isChief {
        require(connectors[_connector], "already-disabled");
        delete connectors[_connector];
        connectorCount--;
        emit LogDisable(_connector);
    }

    /**
     * @dev Enable Static Connector.
     * @param _connector Static Connector Address.
    */
    function enableStatic(address _connector) external isChief {
        require(!staticConnectors[_connector], "already-enabled");
        addToArrStatic(_connector);
        staticConnectors[_connector] = true;
        emit LogEnableStatic(_connector);
    }

     /**
     * @dev Check if Connector addresses are enabled.
     * @param _connectors Array of Connector Addresses.
    */
    function isConnector(address[] calldata _connectors) external view returns (bool isOk) {
        isOk = true;
        for (uint i = 0; i < _connectors.length; i++) {
            if (!connectors[_connectors[i]]) {
                isOk = false;
                break;
            }
        }
    }

    /**
     * @dev Check if Connector addresses are static enabled.
     * @param _connectors Array of Connector Addresses.
    */
    function isStaticConnector(address[] calldata _connectors) external view returns (bool isOk) {
        isOk = true;
        for (uint i = 0; i < _connectors.length; i++) {
            if (!staticConnectors[_connectors[i]]) {
                isOk = false;
                break;
            }
        }
    }

    /**
     * @dev get Connector's Array length.
    */
    function connectorLength() external view returns (uint) {
        return connectorArray.length;
    }

    /**
     * @dev get Static Connector's Array length.
    */
    function staticConnectorLength() external view returns (uint) {
        return staticConnectorArray.length;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"LogAddController","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"connector","type":"address"}],"name":"LogDisable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"connector","type":"address"}],"name":"LogEnable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"connector","type":"address"}],"name":"LogEnableStatic","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"}],"name":"LogRemoveController","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"chief","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"connectorArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"connectorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"connectorLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"connectors","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_connector","type":"address"}],"name":"disable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"disableChief","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_connector","type":"address"}],"name":"enable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"enableChief","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_connector","type":"address"}],"name":"enableStatic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"instaIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_connectors","type":"address[]"}],"name":"isConnector","outputs":[{"internalType":"bool","name":"isOk","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_connectors","type":"address[]"}],"name":"isStaticConnector","outputs":[{"internalType":"bool","name":"isOk","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"staticConnectorArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staticConnectorLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staticConnectors","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50611c7a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806378ba255811610097578063ae15e02c11610066578063ae15e02c146104fb578063cc712c231461053f578063e6c09edf1461055d578063f2e18049146105a157610100565b806378ba2558146103a6578063a41098bf146103c4578063a829f1651461040e578063ac3f83341461049f57610100565b80632e1fbdce116100d35780632e1fbdce146102a45780635bfa1b68146102c257806361f82780146103065780636b1056ae1461034a57610100565b80630867fa45146101055780630e53aae9146101735780630f70d4a7146101cf578063144c61fe14610213575b600080fd5b6101316004803603602081101561011b57600080fd5b810190808035906020019092919050505061060f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b56004803603602081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061064b565b604051808215151515815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061066b565b005b61028a6004803603602081101561022957600080fd5b810190808035906020019064010000000081111561024657600080fd5b82018360208201111561025857600080fd5b8035906020019184602083028401116401000000008311171561027a57600080fd5b9091929391929390505050610890565b604051808215151515815260200191505060405180910390f35b6102ac61093d565b6040518082815260200191505060405180910390f35b610304600480360360208110156102d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b005b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c4a565b005b61038c6004803603602081101561036057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e66565b604051808215151515815260200191505060405180910390f35b6103ae610e86565b6040518082815260200191505060405180910390f35b6103cc610e8c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104856004803603602081101561042457600080fd5b810190808035906020019064010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184602083028401116401000000008311171561047557600080fd5b9091929391929390505050610ea4565b604051808215151515815260200191505060405180910390f35b6104e1600480360360208110156104b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f51565b604051808215151515815260200191505060405180910390f35b61053d6004803603602081101561051157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f71565b005b610547611260565b6040518082815260200191505060405180910390f35b61059f6004803603602081101561057357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126d565b005b6105cd600480360360208110156105b757600080fd5b810190808035906020019092919050505061155c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6003818154811061061c57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806107815750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561071757600080fd5b505afa15801561072b573d6000803e3d6000fd5b505050506040513d602081101561074157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f69483bb868dc7929bac7b0735c53b685aeb5438761d41d189fbcdde8011b279760405160405180910390a250565b60006001905060008090505b8383905081101561093657600260008585848181106108b757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109295760009150610936565b808060010191505061089c565b5092915050565b6000600580549050905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610a605750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f657600080fd5b505afa158015610a0a573d6000803e3d6000fd5b505050506040513d6020811015610a2057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ad2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c72656164792d656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b610b9b81611598565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506004600081548092919060010191905055508073ffffffffffffffffffffffffffffffffffffffff167fdc949ee4159e00c6f6c0277af4718b4329c1e113164f629e30029915196c530f60405160405180910390a250565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d605750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505afa158015610d0a573d6000803e3d6000fd5b505050506040513d6020811015610d2057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558073ffffffffffffffffffffffffffffffffffffffff167fb28f1bf5635ec9671f4b88cd6b50e297659dbdfbbe1dc45069e9844ec07a21a160405160405180910390a250565b60006020528060005260406000206000915054906101000a900460ff1681565b60045481565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b60006001905060008090505b83839050811015610f4a5760016000858584818110610ecb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f3d5760009150610f4a565b8080600101915050610eb0565b5092915050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110875750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c72656164792d656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b6111c2816118ee565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd1f70568663bd9b4f99ababac3441804970c24aacb20e350d5e0d7b14c5cdb2460405160405180910390a250565b6000600380549050905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113835750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561131957600080fd5b505afa15801561132d573d6000803e3d6000fd5b505050506040513d602081101561134357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6113f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f616c72656164792d64697361626c65640000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600460008154809291906001900391905055508073ffffffffffffffffffffffffffffffffffffffff167f388f3d05458eb2a997e29ad87ebff76b4482e8c12f760c04a84243c9907af6cc60405160405180910390a250565b6005818154811061156957fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561163b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6f742d76616c69642d636f6e6e6563746f720000000000000000000000000081525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663eb15f7816040518163ffffffff1660e01b8152600401604080518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60408110156116ac57600080fd5b8101908080519060200190929190805190602001909291905050509150506001600380549050018114611747576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e6e6563746f7249442d646f65736e742d6d61746368000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156117cb57600080fd5b81019080805160405193929190846401000000008211156117eb57600080fd5b8382019150602082018581111561180157600080fd5b825186600182028301116401000000008211171561181e57600080fd5b8083526020830192505050908051906020019080838360005b83811015611852578082015181840152602081019050611837565b50505050905090810190601f16801561187f5780820380516001836020036101000a031916815260200191505b50604052505050506003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611991576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6f742d76616c69642d636f6e6e6563746f720000000000000000000000000081525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663eb15f7816040518163ffffffff1660e01b8152600401604080518083038186803b1580156119d857600080fd5b505afa1580156119ec573d6000803e3d6000fd5b505050506040513d6040811015611a0257600080fd5b8101908080519060200190929190805190602001909291905050509150506001600580549050018114611a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e6e6563746f7249442d646f65736e742d6d61746368000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015611ae357600080fd5b505afa158015611af7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611b2157600080fd5b8101908080516040519392919084640100000000821115611b4157600080fd5b83820191506020820185811115611b5757600080fd5b8251866001820283011164010000000082111715611b7457600080fd5b8083526020830192505050908051906020019080838360005b83811015611ba8578082015181840152602081019050611b8d565b50505050905090810190601f168015611bd55780820380516001836020036101000a031916815260200191505b50604052505050506005829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea264697066735822122057a454899c1c3d2445c59b7bf3224d1f2f8aaeb4953851de0501764b7f13d65164736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806378ba255811610097578063ae15e02c11610066578063ae15e02c146104fb578063cc712c231461053f578063e6c09edf1461055d578063f2e18049146105a157610100565b806378ba2558146103a6578063a41098bf146103c4578063a829f1651461040e578063ac3f83341461049f57610100565b80632e1fbdce116100d35780632e1fbdce146102a45780635bfa1b68146102c257806361f82780146103065780636b1056ae1461034a57610100565b80630867fa45146101055780630e53aae9146101735780630f70d4a7146101cf578063144c61fe14610213575b600080fd5b6101316004803603602081101561011b57600080fd5b810190808035906020019092919050505061060f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b56004803603602081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061064b565b604051808215151515815260200191505060405180910390f35b610211600480360360208110156101e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061066b565b005b61028a6004803603602081101561022957600080fd5b810190808035906020019064010000000081111561024657600080fd5b82018360208201111561025857600080fd5b8035906020019184602083028401116401000000008311171561027a57600080fd5b9091929391929390505050610890565b604051808215151515815260200191505060405180910390f35b6102ac61093d565b6040518082815260200191505060405180910390f35b610304600480360360208110156102d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094a565b005b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c4a565b005b61038c6004803603602081101561036057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e66565b604051808215151515815260200191505060405180910390f35b6103ae610e86565b6040518082815260200191505060405180910390f35b6103cc610e8c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104856004803603602081101561042457600080fd5b810190808035906020019064010000000081111561044157600080fd5b82018360208201111561045357600080fd5b8035906020019184602083028401116401000000008311171561047557600080fd5b9091929391929390505050610ea4565b604051808215151515815260200191505060405180910390f35b6104e1600480360360208110156104b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f51565b604051808215151515815260200191505060405180910390f35b61053d6004803603602081101561051157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f71565b005b610547611260565b6040518082815260200191505060405180910390f35b61059f6004803603602081101561057357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126d565b005b6105cd600480360360208110156105b757600080fd5b810190808035906020019092919050505061155c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6003818154811061061c57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900460ff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806107815750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561071757600080fd5b505afa15801561072b573d6000803e3d6000fd5b505050506040513d602081101561074157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f69483bb868dc7929bac7b0735c53b685aeb5438761d41d189fbcdde8011b279760405160405180910390a250565b60006001905060008090505b8383905081101561093657600260008585848181106108b757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109295760009150610936565b808060010191505061089c565b5092915050565b6000600580549050905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610a605750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b1580156109f657600080fd5b505afa158015610a0a573d6000803e3d6000fd5b505050506040513d6020811015610a2057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ad2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c72656164792d656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b610b9b81611598565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506004600081548092919060010191905055508073ffffffffffffffffffffffffffffffffffffffff167fdc949ee4159e00c6f6c0277af4718b4329c1e113164f629e30029915196c530f60405160405180910390a250565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d605750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505afa158015610d0a573d6000803e3d6000fd5b505050506040513d6020811015610d2057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dd2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558073ffffffffffffffffffffffffffffffffffffffff167fb28f1bf5635ec9671f4b88cd6b50e297659dbdfbbe1dc45069e9844ec07a21a160405160405180910390a250565b60006020528060005260406000206000915054906101000a900460ff1681565b60045481565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b60006001905060008090505b83839050811015610f4a5760016000858584818110610ecb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f3d5760009150610f4a565b8080600101915050610eb0565b5092915050565b60026020528060005260406000206000915054906101000a900460ff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110875750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561101d57600080fd5b505afa158015611031573d6000803e3d6000fd5b505050506040513d602081101561104757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6110f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f616c72656164792d656e61626c6564000000000000000000000000000000000081525060200191505060405180910390fd5b6111c2816118ee565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd1f70568663bd9b4f99ababac3441804970c24aacb20e350d5e0d7b14c5cdb2460405160405180910390a250565b6000600380549050905090565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113835750732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff1663ee97f7f36040518163ffffffff1660e01b815260040160206040518083038186803b15801561131957600080fd5b505afa15801561132d573d6000803e3d6000fd5b505050506040513d602081101561134357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6113f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6e6f742d616e2d6368696566000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f616c72656164792d64697361626c65640000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055600460008154809291906001900391905055508073ffffffffffffffffffffffffffffffffffffffff167f388f3d05458eb2a997e29ad87ebff76b4482e8c12f760c04a84243c9907af6cc60405160405180910390a250565b6005818154811061156957fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561163b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6f742d76616c69642d636f6e6e6563746f720000000000000000000000000081525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663eb15f7816040518163ffffffff1660e01b8152600401604080518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60408110156116ac57600080fd5b8101908080519060200190929190805190602001909291905050509150506001600380549050018114611747576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e6e6563746f7249442d646f65736e742d6d61746368000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156117cb57600080fd5b81019080805160405193929190846401000000008211156117eb57600080fd5b8382019150602082018581111561180157600080fd5b825186600182028301116401000000008211171561181e57600080fd5b8083526020830192505050908051906020019080838360005b83811015611852578082015181840152602081019050611837565b50505050905090810190601f16801561187f5780820380516001836020036101000a031916815260200191505b50604052505050506003829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611991576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4e6f742d76616c69642d636f6e6e6563746f720000000000000000000000000081525060200191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663eb15f7816040518163ffffffff1660e01b8152600401604080518083038186803b1580156119d857600080fd5b505afa1580156119ec573d6000803e3d6000fd5b505050506040513d6040811015611a0257600080fd5b8101908080519060200190929190805190602001909291905050509150506001600580549050018114611a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e6e6563746f7249442d646f65736e742d6d61746368000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015611ae357600080fd5b505afa158015611af7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611b2157600080fd5b8101908080516040519392919084640100000000821115611b4157600080fd5b83820191506020820185811115611b5757600080fd5b8251866001820283011164010000000082111715611b7457600080fd5b8083526020830192505050908051906020019080838360005b83811015611ba8578082015181840152602081019050611b8d565b50505050905090810190601f168015611bd55780820380516001836020036101000a031916815260200191505b50604052505050506005829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea264697066735822122057a454899c1c3d2445c59b7bf3224d1f2f8aaeb4953851de0501764b7f13d65164736f6c63430006000033

Deployed Bytecode Sourcemap

3353:2522:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3353:2522:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2076:31;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2076:31:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1073:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1073:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1594:151;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1594:151:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5196:315;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5196:315:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5196:315:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5196:315:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5196:315:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5757:115;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3648:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3648:258:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1844:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1844:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;974:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;974:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2152:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;837:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4749:303;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4749:303:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4749:303:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4749:303:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4749:303:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1184:48;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1184:48:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4350:261;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4350:261:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5579:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4006:229;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4006:229:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2746:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2746:37:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2076:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1073:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;1594:151::-;1390:5;:17;1396:10;1390:17;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;874:42;1425:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1425:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:35:0;;;;;;;;;;;;;;;;1411:49;;:10;:49;;;1390:70;1382:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1687:4:::1;1665:5;:19:::0;1671:12:::1;1665:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;1724:12;1707:30;;;;;;;;;;;;1594:151:::0;:::o;5196:315::-;5278:9;5307:4;5300:11;;5327:6;5336:1;5327:10;;5322:182;5343:11;;:18;;5339:1;:22;5322:182;;;5388:16;:32;5405:11;;5417:1;5405:14;;;;;;;;;;;;;;;5388:32;;;;;;;;;;;;;;;;;;;;;;;;;5383:110;;5448:5;5441:12;;5472:5;;5383:110;5363:3;;;;;;;5322:182;;;;5196:315;;;;:::o;5757:115::-;5813:4;5837:20;:27;;;;5830:34;;5757:115;:::o;3648:258::-;1390:5;:17;1396:10;1390:17;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;874:42;1425:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1425:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:35:0;;;;;;;;;;;;;;;;1411:49;;:10;:49;;;1390:70;1382:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3721:10:::1;:22;3732:10;3721:22;;;;;;;;;;;;;;;;;;;;;;;;;3720:23;3712:51;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;3774:20;3783:10;3774:8;:20::i;:::-;3830:4;3805:10:::0;:22:::1;3816:10;3805:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3845:14;;:16;;;;;;;;;;;;;3887:10;3877:21;;;;;;;;;;;;3648:258:::0;:::o;1844:155::-;1390:5;:17;1396:10;1390:17;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;874:42;1425:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1425:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:35:0;;;;;;;;;;;;;;;;1411:49;;:10;:49;;;1390:70;1382:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1923:5:::1;:19:::0;1929:12:::1;1923:19;;;;;;;;;;;;;;;;1916:26;;;;;;;;;;;1978:12;1958:33;;;;;;;;;;;;1844:155:::0;:::o;974:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;2152:26::-;;;;:::o;837:79::-;874:42;837:79;:::o;4749:303::-;4825:9;4854:4;4847:11;;4874:6;4883:1;4874:10;;4869:176;4890:11;;:18;;4886:1;:22;4869:176;;;4935:10;:26;4946:11;;4958:1;4946:14;;;;;;;;;;;;;;;4935:26;;;;;;;;;;;;;;;;;;;;;;;;;4930:104;;4989:5;4982:12;;5013:5;;4930:104;4910:3;;;;;;;4869:176;;;;4749:303;;;;:::o;1184:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;4350:261::-;1390:5;:17;1396:10;1390:17;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;874:42;1425:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1425:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:35:0;;;;;;;;;;;;;;;;1411:49;;:10;:49;;;1390:70;1382:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4429:16:::1;:28;4446:10;4429:28;;;;;;;;;;;;;;;;;;;;;;;;;4428:29;4420:57;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4488:26;4503:10;4488:14;:26::i;:::-;4556:4;4525:16;:28;4542:10;4525:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;4592:10;4576:27;;;;;;;;;;;;4350:261:::0;:::o;5579:103::-;5629:4;5653:14;:21;;;;5646:28;;5579:103;:::o;4006:229::-;1390:5;:17;1396:10;1390:17;;;;;;;;;;;;;;;;;;;;;;;;;:70;;;;874:42;1425:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1425:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:35:0;;;;;;;;;;;;;;;;1411:49;;:10;:49;;;1390:70;1382:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4079:10:::1;:22;4090:10;4079:22;;;;;;;;;;;;;;;;;;;;;;;;;4071:51;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4140:10;:22;4151:10;4140:22;;;;;;;;;;;;;;;;4133:29;;;;;;;;;;;4173:14;;:16;;;;;;;;;;;;;;4216:10;4205:22;;;;;;;;;;;;4006:229:::0;:::o;2746:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2299:406::-;2387:1;2365:24;;:10;:24;;;;2357:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:8;2458:10;2439:42;;;:44;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2439:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2439:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2439:44:0;;;;;;;;;;;;;;;;;;;;;;;;;2424:59;;;2532:1;2510:14;:21;;;;:23;2502:3;:32;2494:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2592:10;2573:35;;;:37;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2573:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2573:37:0;;;;;;39:16:-1;36:1;17:17;2:54;2573:37: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;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2573:37:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;2573:37:0;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2573:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2666:14;2686:10;2666:31;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;2666:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2299:406;;:::o;2918:424::-;3012:1;2990:24;;:10;:24;;;;2982:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3052:8;3083:10;3064:42;;;:44;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3064:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3064:44:0;;;;;;;;;;;;;;;;;;;;;;;;;3049:59;;;3163:1;3135:20;:27;;;;:29;3127:3;:38;3119:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3223:10;3204:35;;;:37;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3204:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3204:37:0;;;;;;39:16:-1;36:1;17:17;2:54;3204:37: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;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3204:37:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;3204:37:0;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3204:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3297:20;3323:10;3297:37;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3297:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2918:424;;:::o

Swarm Source

ipfs://57a454899c1c3d2445c59b7bf3224d1f2f8aaeb4953851de0501764b7f13d651

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.