ETH Price: $2,599.95 (-2.27%)
Gas: 1 Gwei

Contract

0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Transfer125677802021-06-04 11:48:301162 days ago1622807310IN
InstaDApp: List
0 ETH0.0004220
0x6080604097472582020-03-26 13:29:061597 days ago1585229346IN
 Create: InstaList
0 ETH0.013976137

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InstaList

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 InstaList
 * @dev Registry For DeFi Smart Account Authorised user.
 */

interface AccountInterface {
    function isAuth(address _user) external view returns (bool);
}


contract DSMath {

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

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

}


contract Variables is DSMath {

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

    // Smart Account Count.
    uint64 public accounts;
    // Smart Account ID (Smart Account Address => Account ID).
    mapping (address => uint64) public accountID;
    // Smart Account Address (Smart Account ID => Smart Account Address).
    mapping (uint64 => address) public accountAddr;

    // User Link (User Address => UserLink(Account ID of First and Last And Count of Smart Accounts)).
    mapping (address => UserLink) public userLink;
    // Linked List of Users (User Address => Smart Account ID => UserList(Previous and next Account ID)).
    mapping (address => mapping(uint64 => UserList)) public userList;

    struct UserLink {
        uint64 first;
        uint64 last;
        uint64 count;
    }
    struct UserList {
        uint64 prev;
        uint64 next;
    }

    // Account Link (Smart Account ID => AccountLink).
    mapping (uint64 => AccountLink) public accountLink; // account => account linked list connection
    // Linked List of Accounts (Smart Account ID => Account Address => AccountList).
    mapping (uint64 => mapping (address => AccountList)) public accountList; // account => user address => list

    struct AccountLink {
        address first;
        address last;
        uint64 count;
    }
    struct AccountList {
        address prev;
        address next;
    }

}

contract Configure is Variables {

    /**
     * @dev Add Account to User Linked List.
     * @param _owner Account Owner.
     * @param _account Smart Account Address.
    */
    function addAccount(address _owner, uint64 _account) internal {
        if (userLink[_owner].last != 0) {
            userList[_owner][_account].prev = userLink[_owner].last;
            userList[_owner][userLink[_owner].last].next = _account;
        }
        if (userLink[_owner].first == 0) userLink[_owner].first = _account;
        userLink[_owner].last = _account;
        userLink[_owner].count = add(userLink[_owner].count, 1);
    }

    /**
     * @dev Remove Account from User Linked List.
     * @param _owner Account Owner/User.
     * @param _account Smart Account Address.
    */
    function removeAccount(address _owner, uint64 _account) internal {
        uint64 _prev = userList[_owner][_account].prev;
        uint64 _next = userList[_owner][_account].next;
        if (_prev != 0) userList[_owner][_prev].next = _next;
        if (_next != 0) userList[_owner][_next].prev = _prev;
        if (_prev == 0) userLink[_owner].first = _next;
        if (_next == 0) userLink[_owner].last = _prev;
        userLink[_owner].count = sub(userLink[_owner].count, 1);
        delete userList[_owner][_account];
    }

    /**
     * @dev Add Owner to Account Linked List.
     * @param _owner Account Owner.
     * @param _account Smart Account Address.
    */
    function addUser(address _owner, uint64 _account) internal {
        if (accountLink[_account].last != address(0)) {
            accountList[_account][_owner].prev = accountLink[_account].last;
            accountList[_account][accountLink[_account].last].next = _owner;
        }
        if (accountLink[_account].first == address(0)) accountLink[_account].first = _owner;
        accountLink[_account].last = _owner;
        accountLink[_account].count = add(accountLink[_account].count, 1);
    }

    /**
     * @dev Remove Owner from Account Linked List.
     * @param _owner Account Owner.
     * @param _account Smart Account Address.
    */
    function removeUser(address _owner, uint64 _account) internal {
        address _prev = accountList[_account][_owner].prev;
        address _next = accountList[_account][_owner].next;
        if (_prev != address(0)) accountList[_account][_prev].next = _next;
        if (_next != address(0)) accountList[_account][_next].prev = _prev;
        if (_prev == address(0)) accountLink[_account].first = _next;
        if (_next == address(0)) accountLink[_account].last = _prev;
        accountLink[_account].count = sub(accountLink[_account].count, 1);
        delete accountList[_account][_owner];
    }

}

contract InstaList is Configure {

    /**
     * @dev Enable Auth for Smart Account.
     * @param _owner Owner Address.
    */
    function addAuth(address _owner) external {
        require(accountID[msg.sender] != 0, "not-account");
        require(AccountInterface(msg.sender).isAuth(_owner), "not-owner");
        addAccount(_owner, accountID[msg.sender]);
        addUser(_owner, accountID[msg.sender]);
    }

    /**
     * @dev Disable Auth for Smart Account.
     * @param _owner Owner Address.
    */
    function removeAuth(address _owner) external {
        require(accountID[msg.sender] != 0, "not-account");
        require(!AccountInterface(msg.sender).isAuth(_owner), "already-owner");
        removeAccount(_owner, accountID[msg.sender]);
        removeUser(_owner, accountID[msg.sender]);
    }

    /**
     * @dev Setup Initial configuration of Smart Account.
     * @param _account Smart Account Address.
    */
    function init(address  _account) external {
        require(msg.sender == instaIndex, "not-index");
        accounts++;
        accountID[_account] = accounts;
        accountAddr[accounts] = _account;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"accountAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accountID","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"accountLink","outputs":[{"internalType":"address","name":"first","type":"address"},{"internalType":"address","name":"last","type":"address"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"address","name":"","type":"address"}],"name":"accountList","outputs":[{"internalType":"address","name":"prev","type":"address"},{"internalType":"address","name":"next","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accounts","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"addAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"instaIndex","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"removeAuth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userLink","outputs":[{"internalType":"uint64","name":"first","type":"uint64"},{"internalType":"uint64","name":"last","type":"uint64"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint64","name":"","type":"uint64"}],"name":"userList","outputs":[{"internalType":"uint64","name":"prev","type":"uint64"},{"internalType":"uint64","name":"next","type":"uint64"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50612340806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80636cfaf5e9116100715780636cfaf5e9146102ab578063748e6e18146103175780637f3fd918146103b25780638028a9fd146103f6578063a41098bf146104bc578063f227a99f14610506576100a9565b806319ab453c146100ae5780635422224e146100f25780635f3c37f91461013657806360330d791461020157806368cd03f614610279575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a8565b005b6101346004803603602081101561010857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061079c565b005b61018c6004803603604081101561014c57600080fd5b81019080803567ffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a57565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6102376004803603602081101561021757600080fd5b81019080803567ffffffffffffffff169060200190929190505050610ac8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610281610afb565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6102ed600480360360208110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b14565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b61036d6004803603604081101561032d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610b3b565b604051808367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019250505060405180910390f35b6103f4600480360360208110156103c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b94565b005b61042c6004803603602081101561040c57600080fd5b81019080803567ffffffffffffffff169060200190929190505050610e50565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff168152602001935050505060405180910390f35b6104c4610ece565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105486004803603602081101561051c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee6565b604051808467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff168152602001935050505060405180910390f35b732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f742d696e646578000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008081819054906101000a900467ffffffffffffffff168092919060010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550506000809054906101000a900467ffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600260008060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f742d6163636f756e7400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16632520e7ff826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108ed57600080fd5b505afa158015610901573d6000803e3d6000fd5b505050506040513d602081101561091757600080fd5b810190808051906020019092919050505061099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f742d6f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6109f781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16610f4c565b610a5481600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16611386565b50565b6006602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900467ffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900467ffffffffffffffff1681565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900467ffffffffffffffff16905082565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f742d6163636f756e7400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16632520e7ff826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ce557600080fd5b505afa158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b810190808051906020019092919050505015610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f616c72656164792d6f776e65720000000000000000000000000000000000000081525060200191505060405180910390fd5b610df081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff166117d4565b610e4d81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16611c7c565b50565b60056020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900467ffffffffffffffff16905083565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b60036020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900467ffffffffffffffff16908060000160109054906101000a900467ffffffffffffffff16905083565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161461117d57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff16600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156112505780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061131a600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a900467ffffffffffffffff1660016121dc565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115e557600560008267ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660008367ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff16600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116ce5781600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611780600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1660016121dc565b600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff16905060008267ffffffffffffffff16146119755780600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008167ffffffffffffffff1614611a165781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008267ffffffffffffffff161415611a935780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008167ffffffffffffffff161415611b105781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b611b71600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a900467ffffffffffffffff166001612273565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600080820160006101000a81549067ffffffffffffffff02191690556000820160086101000a81549067ffffffffffffffff0219169055505050505050565b6000600660008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600660008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e6f5780600660008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611f4a5781600660008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fe95780600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120885781600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6120d1600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160149054906101000a900467ffffffffffffffff166001612273565b600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600660008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505050505050565b60008267ffffffffffffffff1682840191508167ffffffffffffffff16101561226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b60008267ffffffffffffffff1682840391508167ffffffffffffffff161115612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b9291505056fea2646970667358221220014d186a86a23c7d890a61767d360c5d7be3edac1b3bfcdd8e51f3c8c4b0f1d264736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80636cfaf5e9116100715780636cfaf5e9146102ab578063748e6e18146103175780637f3fd918146103b25780638028a9fd146103f6578063a41098bf146104bc578063f227a99f14610506576100a9565b806319ab453c146100ae5780635422224e146100f25780635f3c37f91461013657806360330d791461020157806368cd03f614610279575b600080fd5b6100f0600480360360208110156100c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a8565b005b6101346004803603602081101561010857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061079c565b005b61018c6004803603604081101561014c57600080fd5b81019080803567ffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a57565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6102376004803603602081101561021757600080fd5b81019080803567ffffffffffffffff169060200190929190505050610ac8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610281610afb565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6102ed600480360360208110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b14565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b61036d6004803603604081101561032d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610b3b565b604051808367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019250505060405180910390f35b6103f4600480360360208110156103c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b94565b005b61042c6004803603602081101561040c57600080fd5b81019080803567ffffffffffffffff169060200190929190505050610e50565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff168152602001935050505060405180910390f35b6104c4610ece565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105486004803603602081101561051c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee6565b604051808467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff168152602001935050505060405180910390f35b732971adfa57b20e5a416ae5a708a8655a9c74f72373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f742d696e646578000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008081819054906101000a900467ffffffffffffffff168092919060010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550506000809054906101000a900467ffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600260008060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f742d6163636f756e7400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16632520e7ff826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108ed57600080fd5b505afa158015610901573d6000803e3d6000fd5b505050506040513d602081101561091757600080fd5b810190808051906020019092919050505061099a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f742d6f776e6572000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6109f781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16610f4c565b610a5481600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16611386565b50565b6006602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900467ffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900467ffffffffffffffff1681565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900467ffffffffffffffff16905082565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f6e6f742d6163636f756e7400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16632520e7ff826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ce557600080fd5b505afa158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b810190808051906020019092919050505015610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f616c72656164792d6f776e65720000000000000000000000000000000000000081525060200191505060405180910390fd5b610df081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff166117d4565b610e4d81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16611c7c565b50565b60056020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900467ffffffffffffffff16905083565b732971adfa57b20e5a416ae5a708a8655a9c74f72381565b60036020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900467ffffffffffffffff16908060000160109054906101000a900467ffffffffffffffff16905083565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff161461117d57600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff16600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614156112505780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061131a600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a900467ffffffffffffffff1660016121dc565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115e557600560008267ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660008367ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000206000600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff16600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116ce5781600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b81600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611780600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1660016121dc565b600560008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160089054906101000a900467ffffffffffffffff16905060008267ffffffffffffffff16146119755780600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008167ffffffffffffffff1614611a165781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008267ffffffffffffffff161415611a935780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008167ffffffffffffffff161415611b105781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b611b71600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a900467ffffffffffffffff166001612273565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008467ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020600080820160006101000a81549067ffffffffffffffff02191690556000820160086101000a81549067ffffffffffffffff0219169055505050505050565b6000600660008367ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600660008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e6f5780600660008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611f4a5781600660008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fe95780600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120885781600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6120d1600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160149054906101000a900467ffffffffffffffff166001612273565b600560008567ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600660008467ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505050505050565b60008267ffffffffffffffff1682840191508167ffffffffffffffff16101561226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b60008267ffffffffffffffff1682840391508167ffffffffffffffff161115612304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b9291505056fea2646970667358221220014d186a86a23c7d890a61767d360c5d7be3edac1b3bfcdd8e51f3c8c4b0f1d264736f6c63430006000033

Deployed Bytecode Sourcemap

4827:1184:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4827:1184:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5794:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5794:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4966:288;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4966:288:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1745:71;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1745:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;936:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;936:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;717:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;810:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;810:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1254:64;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1254:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5361:302;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5361:302:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1557:50;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1557:50:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;600:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1095:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1095:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5794:212;637:42;5855:24;;:10;:24;;;5847:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5904:8;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5947:8;;;;;;;;;;;5925:9;:19;5935:8;5925:19;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;5990:8;5966:11;:21;5978:8;;;;;;;;;;;5966:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5794:212;:::o;4966:288::-;5052:1;5027:9;:21;5037:10;5027:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;5019:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5105:10;5088:35;;;5124:6;5088:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5088:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5088:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5088:43:0;;;;;;;;;;;;;;;;5080:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5156:41;5167:6;5175:9;:21;5185:10;5175:21;;;;;;;;;;;;;;;;;;;;;;;;;5156:10;:41::i;:::-;5208:38;5216:6;5224:9;:21;5234:10;5224:21;;;;;;;;;;;;;;;;;;;;;;;;;5208:7;:38::i;:::-;4966:288;:::o;1745:71::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;936:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;717:22::-;;;;;;;;;;;;;:::o;810:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;1254:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5361:302::-;5450:1;5425:9;:21;5435:10;5425:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;5417:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5504:10;5487:35;;;5523:6;5487:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5487:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5487:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5487:43:0;;;;;;;;;;;;;;;;5486:44;5478:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5559:44;5573:6;5581:9;:21;5591:10;5581:21;;;;;;;;;;;;;;;;;;;;;;;;;5559:13;:44::i;:::-;5614:41;5625:6;5633:9;:21;5643:10;5633:21;;;;;;;;;;;;;;;;;;;;;;;;;5614:10;:41::i;:::-;5361:302;:::o;1557:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;600:79::-;637:42;600:79;:::o;1095:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2233:450::-;2335:1;2310:8;:16;2319:6;2310:16;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:26;;;2306:184;;2387:8;:16;2396:6;2387:16;;;;;;;;;;;;;;;:21;;;;;;;;;;;;2353:8;:16;2362:6;2353:16;;;;;;;;;;;;;;;:26;2370:8;2353:26;;;;;;;;;;;;;;;:31;;;:55;;;;;;;;;;;;;;;;;;2470:8;2423;:16;2432:6;2423:16;;;;;;;;;;;;;;;:39;2440:8;:16;2449:6;2440:16;;;;;;;;;;;;;;;:21;;;;;;;;;;;;2423:39;;;;;;;;;;;;;;;:44;;;:55;;;;;;;;;;;;;;;;;;2306:184;2530:1;2504:8;:16;2513:6;2504:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:27;;;2500:66;;;2558:8;2533;:16;2542:6;2533:16;;;;;;;;;;;;;;;:22;;;:33;;;;;;;;;;;;;;;;;;2500:66;2601:8;2577;:16;2586:6;2577:16;;;;;;;;;;;;;;;:21;;;:32;;;;;;;;;;;;;;;;;;2645:30;2649:8;:16;2658:6;2649:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;2673:1;2645:3;:30::i;:::-;2620:8;:16;2629:6;2620:16;;;;;;;;;;;;;;;:22;;;:55;;;;;;;;;;;;;;;;;;2233:450;;:::o;3540:507::-;3652:1;3614:40;;:11;:21;3626:8;3614:21;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:40;;;3610:214;;3708:11;:21;3720:8;3708:21;;;;;;;;;;;;;;;:26;;;;;;;;;;;;3671:11;:21;3683:8;3671:21;;;;;;;;;;;;;;;:29;3693:6;3671:29;;;;;;;;;;;;;;;:34;;;:63;;;;;;;;;;;;;;;;;;3806:6;3749:11;:21;3761:8;3749:21;;;;;;;;;;;;;;;:49;3771:11;:21;3783:8;3771:21;;;;;;;;;;;;;;;:26;;;;;;;;;;;;3749:49;;;;;;;;;;;;;;;:54;;;:63;;;;;;;;;;;;;;;;;;3610:214;3877:1;3838:41;;:11;:21;3850:8;3838:21;;;;;;;;;;;;;;;:27;;;;;;;;;;;;:41;;;3834:83;;;3911:6;3881:11;:21;3893:8;3881:21;;;;;;;;;;;;;;;:27;;;:36;;;;;;;;;;;;;;;;;;3834:83;3957:6;3928:11;:21;3940:8;3928:21;;;;;;;;;;;;;;;:26;;;:35;;;;;;;;;;;;;;;;;;4004;4008:11;:21;4020:8;4008:21;;;;;;;;;;;;;;;:27;;;;;;;;;;;;4037:1;4004:3;:35::i;:::-;3974:11;:21;3986:8;3974:21;;;;;;;;;;;;;;;:27;;;:65;;;;;;;;;;;;;;;;;;3540:507;;:::o;2848:536::-;2924:12;2939:8;:16;2948:6;2939:16;;;;;;;;;;;;;;;:26;2956:8;2939:26;;;;;;;;;;;;;;;:31;;;;;;;;;;;;2924:46;;2981:12;2996:8;:16;3005:6;2996:16;;;;;;;;;;;;;;;:26;3013:8;2996:26;;;;;;;;;;;;;;;:31;;;;;;;;;;;;2981:46;;3051:1;3042:5;:10;;;3038:52;;3085:5;3054:8;:16;3063:6;3054:16;;;;;;;;;;;;;;;:23;3071:5;3054:23;;;;;;;;;;;;;;;:28;;;:36;;;;;;;;;;;;;;;;;;3038:52;3114:1;3105:5;:10;;;3101:52;;3148:5;3117:8;:16;3126:6;3117:16;;;;;;;;;;;;;;;:23;3134:5;3117:23;;;;;;;;;;;;;;;:28;;;:36;;;;;;;;;;;;;;;;;;3101:52;3177:1;3168:5;:10;;;3164:46;;;3205:5;3180:8;:16;3189:6;3180:16;;;;;;;;;;;;;;;:22;;;:30;;;;;;;;;;;;;;;;;;3164:46;3234:1;3225:5;:10;;;3221:45;;;3261:5;3237:8;:16;3246:6;3237:16;;;;;;;;;;;;;;;:21;;;:29;;;;;;;;;;;;;;;;;;3221:45;3302:30;3306:8;:16;3315:6;3306:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;3330:1;3302:3;:30::i;:::-;3277:8;:16;3286:6;3277:16;;;;;;;;;;;;;;;:22;;;:55;;;;;;;;;;;;;;;;;;3350:8;:16;3359:6;3350:16;;;;;;;;;;;;;;;:26;3367:8;3350:26;;;;;;;;;;;;;;;;3343:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2848:536;;;;:::o;4208:610::-;4281:13;4297:11;:21;4309:8;4297:21;;;;;;;;;;;;;;;:29;4319:6;4297:29;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4281:50;;4342:13;4358:11;:21;4370:8;4358:21;;;;;;;;;;;;;;;:29;4380:6;4358:29;;;;;;;;;;;;;;;:34;;;;;;;;;;;;4342:50;;4424:1;4407:19;;:5;:19;;;4403:66;;4464:5;4428:11;:21;4440:8;4428:21;;;;;;;;;;;;;;;:28;4450:5;4428:28;;;;;;;;;;;;;;;:33;;;:41;;;;;;;;;;;;;;;;;;4403:66;4501:1;4484:19;;:5;:19;;;4480:66;;4541:5;4505:11;:21;4517:8;4505:21;;;;;;;;;;;;;;;:28;4527:5;4505:28;;;;;;;;;;;;;;;:33;;;:41;;;;;;;;;;;;;;;;;;4480:66;4578:1;4561:19;;:5;:19;;;4557:60;;;4612:5;4582:11;:21;4594:8;4582:21;;;;;;;;;;;;;;;:27;;;:35;;;;;;;;;;;;;;;;;;4557:60;4649:1;4632:19;;:5;:19;;;4628:59;;;4682:5;4653:11;:21;4665:8;4653:21;;;;;;;;;;;;;;;:26;;;:34;;;;;;;;;;;;;;;;;;4628:59;4728:35;4732:11;:21;4744:8;4732:21;;;;;;;;;;;;;;;:27;;;;;;;;;;;;4761:1;4728:3;:35::i;:::-;4698:11;:21;4710:8;4698:21;;;;;;;;;;;;;;;:27;;;:65;;;;;;;;;;;;;;;;;;4781:11;:21;4793:8;4781:21;;;;;;;;;;;;;;;:29;4803:6;4781:29;;;;;;;;;;;;;;;;4774:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4208:610;;;;:::o;246:134::-;302:8;346:1;331:16;;340:1;336;:5;332:9;;;331:16;;;;323:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;246:134;;;;:::o;388:135::-;444:8;488:1;473:16;;482:1;478;:5;474:9;;;473:16;;;;465:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:135;;;;:::o

Swarm Source

ipfs://014d186a86a23c7d890a61767d360c5d7be3edac1b3bfcdd8e51f3c8c4b0f1d2

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.