ETH Price: $2,187.76 (+1.78%)

Contract

0x0bB6D7baeE15E56663AabD8EF0bA33b50413d46d
 

Overview

ETH Balance

0.03262 ETH

Eth Value

$71.36 (@ $2,187.76/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Top Balance93815642020-01-30 5:10:191864 days ago1580361019IN
0x0bB6D7ba...50413d46d
0.0005 ETH0.000449364
Create Wallet93814722020-01-30 4:49:371864 days ago1580359777IN
0x0bB6D7ba...50413d46d
0 ETH0.000392232.2
Submit Transacti...90491842019-12-04 12:07:111921 days ago1575461231IN
0x0bB6D7ba...50413d46d
0 ETH0.0024761419.63
Submit Transacti...90491822019-12-04 12:06:251921 days ago1575461185IN
0x0bB6D7ba...50413d46d
0 ETH0.0016776713.3
Create Wallet90491752019-12-04 12:04:461921 days ago1575461086IN
0x0bB6D7ba...50413d46d
0.01 ETH0.0020557273.5
Create Wallet90491592019-12-04 12:01:101921 days ago1575460870IN
0x0bB6D7ba...50413d46d
0.01 ETH0.0018179865
Create Wallet90491572019-12-04 12:00:391921 days ago1575460839IN
0x0bB6D7ba...50413d46d
0.01 ETH0.0019764810
Create Wallet87279092019-10-12 16:54:331974 days ago1570899273IN
0x0bB6D7ba...50413d46d
0.001 ETH0.000394522
Create Wallet84167102019-08-25 2:47:182023 days ago1566701238IN
0x0bB6D7ba...50413d46d
0 ETH0.000642334
Top Balance79524902019-06-13 20:29:232095 days ago1560457763IN
0x0bB6D7ba...50413d46d
0 ETH0.000023161
Create Wallet79513392019-06-13 16:15:362095 days ago1560442536IN
0x0bB6D7ba...50413d46d
0.007 ETH0.00098445
Create Wallet77508922019-05-13 8:09:482126 days ago1557734988IN
0x0bB6D7ba...50413d46d
0 ETH0.010912860
Create Wallet75161742019-04-06 18:30:332163 days ago1554575433IN
0x0bB6D7ba...50413d46d
0 ETH0.000484433
Submit Transacti...73998002019-03-19 14:37:402181 days ago1553006260IN
0x0bB6D7ba...50413d46d
0 ETH0.000252792
Top Balance73988442019-03-19 10:53:032181 days ago1552992783IN
0x0bB6D7ba...50413d46d
0.001 ETH0.000107581
Create Wallet73982942019-03-19 8:49:222181 days ago1552985362IN
0x0bB6D7ba...50413d46d
0 ETH0.000363632
Submit Transacti...70044192019-01-03 17:06:432256 days ago1546535203IN
0x0bB6D7ba...50413d46d
0 ETH0.000374163
Submit Transacti...70044172019-01-03 17:06:262256 days ago1546535186IN
0x0bB6D7ba...50413d46d
0 ETH0.000374353
Top Balance70044172019-01-03 17:06:262256 days ago1546535186IN
0x0bB6D7ba...50413d46d
0.00105 ETH0.000232763
Submit Transacti...69986282019-01-02 16:50:432257 days ago1546447843IN
0x0bB6D7ba...50413d46d
0 ETH0.000281232
Top Balance69986282019-01-02 16:50:432257 days ago1546447843IN
0x0bB6D7ba...50413d46d
0 ETH0.000046322
Top Balance69972532019-01-02 11:13:032257 days ago1546427583IN
0x0bB6D7ba...50413d46d
0.00006 ETH0.000185172
Create Wallet69971662019-01-02 10:52:292257 days ago1546426349IN
0x0bB6D7ba...50413d46d
0.01 ETH0.000788684.5
Create Wallet65683832018-10-23 11:28:452328 days ago1540294125IN
0x0bB6D7ba...50413d46d
0 ETH0.001158475.7
Confirm Transact...60949272018-08-05 21:35:062407 days ago1533504906IN
0x0bB6D7ba...50413d46d
0 ETH0.000070751
View all transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ibaMultisig

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-08-23
*/

pragma solidity ^0.4.21;
contract ibaMultisig {

    /*
    * Types
    */
    struct Transaction {
        uint id;
        address destination;
        uint value;
        bytes data;
        TxnStatus status;
        address[] confirmed;
        address creator;
    }

    struct Wallet {
        bytes32 name;
        address creator;
        uint id;
        uint allowance;
        address[] owners;
        Log[] logs;
        Transaction[] transactions;
        uint appovalsreq;
    }
    
    struct Log {
        uint amount;
        address sender;
    }
    
    enum TxnStatus { Unconfirmed, Pending, Executed }
    
    /*
    * Modifiers
    */
    modifier onlyOwner ( address creator, uint walletId ) {
        bool found;
        for (uint i = 0;i<wallets[creator][walletId].owners.length;i++){
            if (wallets[creator][walletId].owners[i] == msg.sender){
                found = true;
            }
        }
        if (found){
            _;
        }
    }
    
    /*
    * Events
    */
    event WalletCreated(uint id);
    event TxnSumbitted(uint id);
    event TxnConfirmed(uint id);
    event topUpBalance(uint value);

    /*
    * Storage
    */
    mapping (address => Wallet[]) public wallets;
    
    /*
    * Constructor
    */
    function ibaMultisig() public{

    }

    /*
    * Getters
    */
    function getWalletId(address creator, bytes32 name) external view returns (uint, bool){
        for (uint i = 0;i<wallets[creator].length;i++){
            if (wallets[creator][i].name == name){
                return (i, true);
            }
        }
    }

    function getOwners(address creator, uint id) external view returns (address[]){
        return wallets[creator][id].owners;
    }
    
    function getTxnNum(address creator, uint id) external view returns (uint){
        require(wallets[creator][id].owners.length > 0);
        return wallets[creator][id].transactions.length;
    }
    
    function getTxn(address creator, uint walletId, uint id) external view returns (uint, address, uint, bytes, TxnStatus, address[], address){
        Transaction storage txn = wallets[creator][walletId].transactions[id];
        return (txn.id, txn.destination, txn.value, txn.data, txn.status, txn.confirmed, txn.creator);
    }
    
    function getLogsNum(address creator, uint id) external view returns (uint){
        return wallets[creator][id].logs.length;
    }
    
    function getLog(address creator, uint id, uint logId) external view returns (address, uint){
        return(wallets[creator][id].logs[logId].sender, wallets[creator][id].logs[logId].amount);
    }
    
    /*
    * Methods
    */
    
    function createWallet(uint approvals, address[] owners, bytes32 name) external payable{

        /* check if name was actually given */
        require(name.length != 0);
        
        /*check if approvals num equals or greater than given owners num*/
        require(approvals <= owners.length);
        
        /* check if wallets with given name already exists */
        bool found;
        for (uint i = 0; i<wallets[msg.sender].length;i++){
            if (wallets[msg.sender][i].name == name){
                found = true;
            }
        }
        require (found == false);
        
        /*instantiate new wallet*/
        uint currentLen = wallets[msg.sender].length++;
        wallets[msg.sender][currentLen].name = name;
        wallets[msg.sender][currentLen].creator = msg.sender;
        wallets[msg.sender][currentLen].id = currentLen;
        wallets[msg.sender][currentLen].allowance = msg.value;
        wallets[msg.sender][currentLen].owners = owners;
        wallets[msg.sender][currentLen].appovalsreq = approvals;
        emit WalletCreated(currentLen);
    }

    function topBalance(address creator, uint id) external payable {
        require (msg.value > 0 wei);
        wallets[creator][id].allowance += msg.value;
        
        /* create new log entry */
        uint loglen = wallets[creator][id].logs.length++;
        wallets[creator][id].logs[loglen].amount = msg.value;
        wallets[creator][id].logs[loglen].sender = msg.sender;
        emit topUpBalance(msg.value);
    }
    
    function submitTransaction(address creator, address destination, uint walletId, uint value, bytes data) onlyOwner (creator,walletId) external returns (bool) {
        uint newTxId = wallets[creator][walletId].transactions.length++;
        wallets[creator][walletId].transactions[newTxId].id = newTxId;
        wallets[creator][walletId].transactions[newTxId].destination = destination;
        wallets[creator][walletId].transactions[newTxId].value = value;
        wallets[creator][walletId].transactions[newTxId].data = data;
        wallets[creator][walletId].transactions[newTxId].creator = msg.sender;
        emit TxnSumbitted(newTxId);
        return true;
    }

    function confirmTransaction(address creator, uint walletId, uint txId) onlyOwner(creator, walletId) external returns (bool){
        Wallet storage wallet = wallets[creator][walletId];
        Transaction storage txn = wallet.transactions[txId];

        //check whether this owner has already confirmed this txn
        bool f;
        for (uint8 i = 0; i<txn.confirmed.length;i++){
            if (txn.confirmed[i] == msg.sender){
                f = true;
            }
        }
        //push sender address into confirmed array if haven't found
        require(!f);
        txn.confirmed.push(msg.sender);
        
        if (txn.confirmed.length == wallet.appovalsreq){
            txn.status = TxnStatus.Pending;
        }
        
        //fire event
        emit TxnConfirmed(txId);
        
        return true;
    }
    
    function executeTxn(address creator, uint walletId, uint txId) onlyOwner(creator, walletId) external returns (bool){
        Wallet storage wallet = wallets[creator][walletId];
        
        Transaction storage txn = wallet.transactions[txId];
        
        /* check txn status */
        require(txn.status == TxnStatus.Pending);
        
        /* check whether wallet has sufficient balance to send this transaction */
        require(wallet.allowance >= txn.value);
        
        /* send transaction */
        address dest = txn.destination;
        uint val = txn.value;
        bytes memory dat = txn.data;
        assert(dest.call.value(val)(dat));
            
        /* change transaction's status to executed */
        txn.status = TxnStatus.Executed;

        /* change wallet's balance */
        wallet.allowance = wallet.allowance - txn.value;

        return true;
        
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"id","type":"uint256"},{"name":"logId","type":"uint256"}],"name":"getLog","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"approvals","type":"uint256"},{"name":"owners","type":"address[]"},{"name":"name","type":"bytes32"}],"name":"createWallet","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"wallets","outputs":[{"name":"name","type":"bytes32"},{"name":"creator","type":"address"},{"name":"id","type":"uint256"},{"name":"allowance","type":"uint256"},{"name":"appovalsreq","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"id","type":"uint256"}],"name":"getTxnNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"id","type":"uint256"}],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"creator","type":"address"},{"name":"walletId","type":"uint256"},{"name":"txId","type":"uint256"}],"name":"confirmTransaction","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"walletId","type":"uint256"},{"name":"id","type":"uint256"}],"name":"getTxn","outputs":[{"name":"","type":"uint256"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"bytes"},{"name":"","type":"uint8"},{"name":"","type":"address[]"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"creator","type":"address"},{"name":"id","type":"uint256"}],"name":"topBalance","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"id","type":"uint256"}],"name":"getLogsNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"creator","type":"address"},{"name":"name","type":"bytes32"}],"name":"getWalletId","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"creator","type":"address"},{"name":"destination","type":"address"},{"name":"walletId","type":"uint256"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"creator","type":"address"},{"name":"walletId","type":"uint256"},{"name":"txId","type":"uint256"}],"name":"executeTxn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"}],"name":"WalletCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"}],"name":"TxnSumbitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"}],"name":"TxnConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"topUpBalance","type":"event"}]

6060604052341561000f57600080fd5b61259c8061001e6000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806311262105146100bf5780632026069714610151578063353e65e91461018a5780633f13d339146102305780636ab71276146102865780636abf31eb1461031d5780636b74c3d8146103805780636dd35c7b146105155780638bcddd5d1461054c5780639b28db50146105a2578063cf8c9cc814610607578063e5583c591461069d575b600080fd5b34156100ca57600080fd5b610108600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610700565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b6101886004808035906020019091908035906020019082018035906020019190919290803560001916906020019091905050610825565b005b341561019557600080fd5b6101ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c4f565b6040518086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b341561023b57600080fd5b610270600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cc1565b6040518082815260200191505060405180910390f35b341561029157600080fd5b6102c6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d98565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103095780820151818401526020810190506102ee565b505050509050019250505060405180910390f35b341561032857600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610e89565b604051808215151515815260200191505060405180910390f35b341561038b57600080fd5b6103c9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506111f1565b604051808881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200185600281111561041b57fe5b60ff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b83811015610491578082015181840152602081019050610476565b50505050905090810190601f1680156104be5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019060200280838360005b838110156104fa5780820151818401526020810190506104df565b50505050905001995050505050505050505060405180910390f35b61054a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611432565b005b341561055757600080fd5b61058c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611690565b6040518082815260200191505060405180910390f35b34156105ad57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506116fa565b60405180838152602001821515151581526020019250505060405180910390f35b341561061257600080fd5b610683600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001919091929050506117da565b604051808215151515815260200191505060405180910390f35b34156106a857600080fd5b6106e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ce3565b604051808215151515815260200191505060405180910390f35b6000806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561074e57fe5b90600052602060002090600802016005018381548110151561076c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811015156107e957fe5b90600052602060002090600802016005018481548110151561080757fe5b90600052602060002090600202016000015491509150935093915050565b600080600080602060ff161415151561083d57600080fd5b85859050871115151561084f57600080fd5b600091505b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082101561091b5783600019166000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156108ed57fe5b90600052602060002090600802016000015460001916141561090e57600192505b8180600101925050610854565b6000151583151514151561092e57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060010161097e91906120b8565b9050836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156109cc57fe5b90600052602060002090600802016000018160001916905550336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610a3157fe5b906000526020600020906008020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610acc57fe5b906000526020600020906008020160020181905550346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610b2d57fe5b90600052602060002090600802016003018190555085856000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610b8f57fe5b90600052602060002090600802016004019190610bad9291906120ea565b50866000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610bfa57fe5b9060005260206000209060080201600701819055507f72c24454c15157c84c6db7439c5d2526250fb3c155da76c1eb5e55a9e2a996d3816040518082815260200191505060405180910390a150505050505050565b600060205281600052604060002081815481101515610c6a57fe5b9060005260206000209060080201600091509150508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060070154905085565b6000806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610d0f57fe5b906000526020600020906008020160040180549050111515610d3057600080fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d7b57fe5b906000526020600020906008020160060180549050905092915050565b610da061218a565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610deb57fe5b9060005260206000209060080201600401805480602002602001604051908101604052809291908181526020018280548015610e7c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610e32575b5050505050905092915050565b60008060008060008787600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610ee657fe5b906000526020600020906008020160040180549050811015610fdc573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515610f6457fe5b906000526020600020906008020160040182815481101515610f8257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fcf57600191505b8080600101915050610e9b565b81156111e2576000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b81548110151561102d57fe5b90600052602060002090600802019750876006018a81548110151561104e57fe5b90600052602060002090600702019650600094505b86600501805490508560ff1610156110fa573373ffffffffffffffffffffffffffffffffffffffff16876005018660ff168154811015156110a057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110ed57600195505b8480600101955050611063565b8515151561110757600080fd5b86600501805480600101828161111d919061219e565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508760070154876005018054905014156111a65760018760040160006101000a81548160ff021916908360028111156111a057fe5b02179055505b7f58078806f424288600d2b63f8bfb3ec73c0b6aa7c5770b9d6fcd06a4babba2aa8a6040518082815260200191505060405180910390a1600198505b50505050505050509392505050565b60008060006111fe6121ca565b600061120861218a565b6000806000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110151561125657fe5b90600052602060002090600802016006018981548110151561127457fe5b9060005260206000209060070201905080600001548160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260020154836003018460040160009054906101000a900460ff16856005018660060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113875780601f1061135c57610100808354040283529160200191611387565b820191906000526020600020905b81548152906001019060200180831161136a57829003601f168201915b505050505093508180548060200260200160405190810160405280929190818152602001828054801561140f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113c5575b505050505091509750975097509750975097509750509397509397509397909450565b6000803411151561144257600080fd5b346000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561148e57fe5b9060005260206000209060080201600301600082825401925050819055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156114f757fe5b9060005260206000209060080201600501805480919060010161151a91906121de565b9050346000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561156857fe5b90600052602060002090600802016005018281548110151561158657fe5b906000526020600020906002020160000181905550336000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156115e757fe5b90600052602060002090600802016005018281548110151561160557fe5b906000526020600020906002020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa635392d394f3beba6cb05dcfce80ce5f108f8e519362413385588689e5a4ced346040518082815260200191505060405180910390a1505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156116dd57fe5b906000526020600020906008020160050180549050905092915050565b60008060008090505b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156117d15783600019166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561179c57fe5b9060005260206000209060080201600001546000191614156117c457806001925092506117d2565b8080600101915050611703565b5b509250929050565b6000808786600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561183257fe5b906000526020600020906008020160040180549050811015611928573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156118b057fe5b9060005260206000209060080201600401828154811015156118ce57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561191b57600191505b80806001019150506117e7565b8115611cd4576000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110151561197957fe5b9060005260206000209060080201600601805480919060010161199c9190612210565b9450846000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b8154811015156119ea57fe5b906000526020600020906008020160060186815481101515611a0857fe5b9060005260206000209060070201600001819055508a6000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611a6957fe5b906000526020600020906008020160060186815481101515611a8757fe5b906000526020600020906007020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550886000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611b2257fe5b906000526020600020906008020160060186815481101515611b4057fe5b90600052602060002090600702016002018190555087876000808f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208c815481101515611ba257fe5b906000526020600020906008020160060187815481101515611bc057fe5b90600052602060002090600702016003019190611bde929190612242565b50336000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611c2b57fe5b906000526020600020906008020160060186815481101515611c4957fe5b906000526020600020906007020160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4a389442ca1de7e621ab11a315943f6bc7b7a4f6479de148c0847a1908f86561856040518082815260200191505060405180910390a1600195505b50505050509695505050505050565b6000806000806000611cf36121ca565b8888600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611d4857fe5b906000526020600020906008020160040180549050811015611e3e573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611dc657fe5b906000526020600020906008020160040182815481101515611de457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611e3157600191505b8080600101915050611cfd565b81156120a8576000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208c815481101515611e8f57fe5b90600052602060002090600802019850886006018b815481101515611eb057fe5b9060005260206000209060070201975060016002811115611ecd57fe5b8860040160009054906101000a900460ff166002811115611eea57fe5b141515611ef657600080fd5b8760020154896003015410151515611f0d57600080fd5b8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16965087600201549550876003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b505050505094508673ffffffffffffffffffffffffffffffffffffffff16868660405180828051906020019080838360005b83811015612020578082015181840152602081019050612005565b50505050905090810190601f16801561204d5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561206a57fe5b60028860040160006101000a81548160ff0219169083600281111561208b57fe5b021790555087600201548960030154038960030181905550600199505b5050505050505050509392505050565b8154818355818115116120e5576008028160080283600052602060002091820191016120e491906122c2565b5b505050565b828054828255906000526020600020908101928215612179579160200282015b8281111561217857823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061210a565b5b5090506121869190612358565b5090565b602060405190810160405280600081525090565b8154818355818115116121c5578183600052602060002091820191016121c4919061239b565b5b505050565b602060405190810160405280600081525090565b81548183558181151161220b5760020281600202836000526020600020918201910161220a91906123c0565b5b505050565b81548183558181151161223d5760070281600702836000526020600020918201910161223c919061240e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061228357803560ff19168380011785556122b1565b828001600101855582156122b1579182015b828111156122b0578235825591602001919060010190612295565b5b5090506122be919061239b565b5090565b61235591905b80821115612351576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905560048201600061232091906124bf565b60058201600061233091906124e0565b6006820160006123409190612504565b6007820160009055506008016122c8565b5090565b90565b61239891905b8082111561239457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161235e565b5090565b90565b6123bd91905b808211156123b95760008160009055506001016123a1565b5090565b90565b61240b91905b80821115612407576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506002016123c6565b5090565b90565b6124bc91905b808211156124b8576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560028201600090556003820160006124649190612528565b6004820160006101000a81549060ff021916905560058201600061248891906124bf565b6006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600701612414565b5090565b90565b50805460008255906000526020600020908101906124dd919061239b565b50565b508054600082556002029060005260206000209081019061250191906123c0565b50565b5080546000825560070290600052602060002090810190612525919061240e565b50565b50805460018160011615610100020316600290046000825580601f1061254e575061256d565b601f01602090049060005260206000209081019061256c919061239b565b5b505600a165627a7a72305820513a31c3e09477aa3e30ddae7f43fc94efac70b0cdd34a7d0fb21f9070d473120029

Deployed Bytecode

0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806311262105146100bf5780632026069714610151578063353e65e91461018a5780633f13d339146102305780636ab71276146102865780636abf31eb1461031d5780636b74c3d8146103805780636dd35c7b146105155780638bcddd5d1461054c5780639b28db50146105a2578063cf8c9cc814610607578063e5583c591461069d575b600080fd5b34156100ca57600080fd5b610108600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610700565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b6101886004808035906020019091908035906020019082018035906020019190919290803560001916906020019091905050610825565b005b341561019557600080fd5b6101ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c4f565b6040518086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019550505050505060405180910390f35b341561023b57600080fd5b610270600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cc1565b6040518082815260200191505060405180910390f35b341561029157600080fd5b6102c6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d98565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103095780820151818401526020810190506102ee565b505050509050019250505060405180910390f35b341561032857600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610e89565b604051808215151515815260200191505060405180910390f35b341561038b57600080fd5b6103c9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080359060200190919050506111f1565b604051808881526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200185600281111561041b57fe5b60ff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b83811015610491578082015181840152602081019050610476565b50505050905090810190601f1680156104be5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019060200280838360005b838110156104fa5780820151818401526020810190506104df565b50505050905001995050505050505050505060405180910390f35b61054a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611432565b005b341561055757600080fd5b61058c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611690565b6040518082815260200191505060405180910390f35b34156105ad57600080fd5b6105e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506116fa565b60405180838152602001821515151581526020019250505060405180910390f35b341561061257600080fd5b610683600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001908201803590602001919091929050506117da565b604051808215151515815260200191505060405180910390f35b34156106a857600080fd5b6106e6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ce3565b604051808215151515815260200191505060405180910390f35b6000806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561074e57fe5b90600052602060002090600802016005018381548110151561076c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020858154811015156107e957fe5b90600052602060002090600802016005018481548110151561080757fe5b90600052602060002090600202016000015491509150935093915050565b600080600080602060ff161415151561083d57600080fd5b85859050871115151561084f57600080fd5b600091505b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905082101561091b5783600019166000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156108ed57fe5b90600052602060002090600802016000015460001916141561090e57600192505b8180600101925050610854565b6000151583151514151561092e57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060010161097e91906120b8565b9050836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156109cc57fe5b90600052602060002090600802016000018160001916905550336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610a3157fe5b906000526020600020906008020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610acc57fe5b906000526020600020906008020160020181905550346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610b2d57fe5b90600052602060002090600802016003018190555085856000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610b8f57fe5b90600052602060002090600802016004019190610bad9291906120ea565b50866000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610bfa57fe5b9060005260206000209060080201600701819055507f72c24454c15157c84c6db7439c5d2526250fb3c155da76c1eb5e55a9e2a996d3816040518082815260200191505060405180910390a150505050505050565b600060205281600052604060002081815481101515610c6a57fe5b9060005260206000209060080201600091509150508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060070154905085565b6000806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610d0f57fe5b906000526020600020906008020160040180549050111515610d3057600080fd5b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610d7b57fe5b906000526020600020906008020160060180549050905092915050565b610da061218a565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481101515610deb57fe5b9060005260206000209060080201600401805480602002602001604051908101604052809291908181526020018280548015610e7c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610e32575b5050505050905092915050565b60008060008060008787600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515610ee657fe5b906000526020600020906008020160040180549050811015610fdc573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515610f6457fe5b906000526020600020906008020160040182815481101515610f8257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fcf57600191505b8080600101915050610e9b565b81156111e2576000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b81548110151561102d57fe5b90600052602060002090600802019750876006018a81548110151561104e57fe5b90600052602060002090600702019650600094505b86600501805490508560ff1610156110fa573373ffffffffffffffffffffffffffffffffffffffff16876005018660ff168154811015156110a057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110ed57600195505b8480600101955050611063565b8515151561110757600080fd5b86600501805480600101828161111d919061219e565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508760070154876005018054905014156111a65760018760040160006101000a81548160ff021916908360028111156111a057fe5b02179055505b7f58078806f424288600d2b63f8bfb3ec73c0b6aa7c5770b9d6fcd06a4babba2aa8a6040518082815260200191505060405180910390a1600198505b50505050505050509392505050565b60008060006111fe6121ca565b600061120861218a565b6000806000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110151561125657fe5b90600052602060002090600802016006018981548110151561127457fe5b9060005260206000209060070201905080600001548160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260020154836003018460040160009054906101000a900460ff16856005018660060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113875780601f1061135c57610100808354040283529160200191611387565b820191906000526020600020905b81548152906001019060200180831161136a57829003601f168201915b505050505093508180548060200260200160405190810160405280929190818152602001828054801561140f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113c5575b505050505091509750975097509750975097509750509397509397509397909450565b6000803411151561144257600080fd5b346000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561148e57fe5b9060005260206000209060080201600301600082825401925050819055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156114f757fe5b9060005260206000209060080201600501805480919060010161151a91906121de565b9050346000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561156857fe5b90600052602060002090600802016005018281548110151561158657fe5b906000526020600020906002020160000181905550336000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156115e757fe5b90600052602060002090600802016005018281548110151561160557fe5b906000526020600020906002020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa635392d394f3beba6cb05dcfce80ce5f108f8e519362413385588689e5a4ced346040518082815260200191505060405180910390a1505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811015156116dd57fe5b906000526020600020906008020160050180549050905092915050565b60008060008090505b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156117d15783600019166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561179c57fe5b9060005260206000209060080201600001546000191614156117c457806001925092506117d2565b8080600101915050611703565b5b509250929050565b6000808786600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561183257fe5b906000526020600020906008020160040180549050811015611928573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156118b057fe5b9060005260206000209060080201600401828154811015156118ce57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561191b57600191505b80806001019150506117e7565b8115611cd4576000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a81548110151561197957fe5b9060005260206000209060080201600601805480919060010161199c9190612210565b9450846000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b8154811015156119ea57fe5b906000526020600020906008020160060186815481101515611a0857fe5b9060005260206000209060070201600001819055508a6000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611a6957fe5b906000526020600020906008020160060186815481101515611a8757fe5b906000526020600020906007020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550886000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611b2257fe5b906000526020600020906008020160060186815481101515611b4057fe5b90600052602060002090600702016002018190555087876000808f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208c815481101515611ba257fe5b906000526020600020906008020160060187815481101515611bc057fe5b90600052602060002090600702016003019190611bde929190612242565b50336000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208b815481101515611c2b57fe5b906000526020600020906008020160060186815481101515611c4957fe5b906000526020600020906007020160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4a389442ca1de7e621ab11a315943f6bc7b7a4f6479de148c0847a1908f86561856040518082815260200191505060405180910390a1600195505b50505050509695505050505050565b6000806000806000611cf36121ca565b8888600080600090505b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481101515611d4857fe5b906000526020600020906008020160040180549050811015611e3e573373ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515611dc657fe5b906000526020600020906008020160040182815481101515611de457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611e3157600191505b8080600101915050611cfd565b81156120a8576000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208c815481101515611e8f57fe5b90600052602060002090600802019850886006018b815481101515611eb057fe5b9060005260206000209060070201975060016002811115611ecd57fe5b8860040160009054906101000a900460ff166002811115611eea57fe5b141515611ef657600080fd5b8760020154896003015410151515611f0d57600080fd5b8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16965087600201549550876003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b505050505094508673ffffffffffffffffffffffffffffffffffffffff16868660405180828051906020019080838360005b83811015612020578082015181840152602081019050612005565b50505050905090810190601f16801561204d5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185875af192505050151561206a57fe5b60028860040160006101000a81548160ff0219169083600281111561208b57fe5b021790555087600201548960030154038960030181905550600199505b5050505050505050509392505050565b8154818355818115116120e5576008028160080283600052602060002091820191016120e491906122c2565b5b505050565b828054828255906000526020600020908101928215612179579160200282015b8281111561217857823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061210a565b5b5090506121869190612358565b5090565b602060405190810160405280600081525090565b8154818355818115116121c5578183600052602060002091820191016121c4919061239b565b5b505050565b602060405190810160405280600081525090565b81548183558181151161220b5760020281600202836000526020600020918201910161220a91906123c0565b5b505050565b81548183558181151161223d5760070281600702836000526020600020918201910161223c919061240e565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061228357803560ff19168380011785556122b1565b828001600101855582156122b1579182015b828111156122b0578235825591602001919060010190612295565b5b5090506122be919061239b565b5090565b61235591905b80821115612351576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905560048201600061232091906124bf565b60058201600061233091906124e0565b6006820160006123409190612504565b6007820160009055506008016122c8565b5090565b90565b61239891905b8082111561239457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161235e565b5090565b90565b6123bd91905b808211156123b95760008160009055506001016123a1565b5090565b90565b61240b91905b80821115612407576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506002016123c6565b5090565b90565b6124bc91905b808211156124b8576000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560028201600090556003820160006124649190612528565b6004820160006101000a81549060ff021916905560058201600061248891906124bf565b6006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600701612414565b5090565b90565b50805460008255906000526020600020908101906124dd919061239b565b50565b508054600082556002029060005260206000209081019061250191906123c0565b50565b5080546000825560070290600052602060002090810190612525919061240e565b50565b50805460018160011615610100020316600290046000825580601f1061254e575061256d565b601f01602090049060005260206000209081019061256c919061239b565b5b505600a165627a7a72305820513a31c3e09477aa3e30ddae7f43fc94efac70b0cdd34a7d0fb21f9070d473120029

Swarm Source

bzzr://513a31c3e09477aa3e30ddae7f43fc94efac70b0cdd34a7d0fb21f9070d47312

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.