ETH Price: $3,403.31 (+2.06%)

Contract

0x6eA5F6BA3660764C3932156548203af170fEf393
 

Overview

ETH Balance

0.000007878897486519 ETH

Eth Value

$0.03 (@ $3,403.31/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer115168262020-12-24 14:24:041465 days ago1608819844IN
0x6eA5F6BA...170fEf393
0 ETH0.0028720533.3
Rescue115033492020-12-22 12:48:511467 days ago1608641331IN
0x6eA5F6BA...170fEf393
0 ETH0.0007244733.3
Transfer104534812020-07-13 20:49:391629 days ago1594673379IN
0x6eA5F6BA...170fEf393
0 ETH0.0015608718.1
Transfer104017652020-07-05 21:15:451637 days ago1593983745IN
0x6eA5F6BA...170fEf393
0 ETH0.0015608718.1
Transfer103977722020-07-05 6:26:081638 days ago1593930368IN
0x6eA5F6BA...170fEf393
0 ETH0.0015608718.1
Transfer103122312020-06-21 23:57:331651 days ago1592783853IN
0x6eA5F6BA...170fEf393
0 ETH0.0015606518.1
Transfer102928692020-06-19 0:21:141654 days ago1592526074IN
0x6eA5F6BA...170fEf393
0 ETH0.0015608718.1
Transfer101305662020-05-24 19:51:561679 days ago1590349916IN
0x6eA5F6BA...170fEf393
0 ETH0.0008623610
Transfer96777252020-03-15 18:32:031749 days ago1584297123IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Transfer96406942020-03-10 1:12:261755 days ago1583802746IN
0x6eA5F6BA...170fEf393
0 ETH0.000094841.1
Transfer96085822020-03-05 2:41:321760 days ago1583376092IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Transfer95916992020-03-02 12:33:401762 days ago1583152420IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Transfer94743752020-02-13 11:24:211780 days ago1581593061IN
0x6eA5F6BA...170fEf393
0 ETH0.000094841.1
Transfer94714502020-02-13 0:36:381781 days ago1581554198IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Change All Cosig...94400872020-02-08 5:06:201786 days ago1581138380IN
0x6eA5F6BA...170fEf393
0 ETH0.000198981.1
Transfer94399092020-02-08 4:24:201786 days ago1581135860IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Transfer93806012020-01-30 1:26:031795 days ago1580347563IN
0x6eA5F6BA...170fEf393
0 ETH0.000094831.1
Transfer92669542020-01-12 15:31:461812 days ago1578843106IN
0x6eA5F6BA...170fEf393
0 ETH0.000094871.1
Transfer91893652019-12-31 5:20:391825 days ago1577769639IN
0x6eA5F6BA...170fEf393
0 ETH0.000094851.1
Transfer91219192019-12-17 18:44:101838 days ago1576608250IN
0x6eA5F6BA...170fEf393
0 ETH0.000094851.1
Transfer87603212019-10-17 19:12:511899 days ago1571339571IN
0x6eA5F6BA...170fEf393
0 ETH0.000101751.1
Transfer87212492019-10-11 15:33:351905 days ago1570808015IN
0x6eA5F6BA...170fEf393
0.00362727 ETH0.000023141.1
Transfer87207192019-10-11 13:40:051905 days ago1570801205IN
0x6eA5F6BA...170fEf393
0 ETH0.000129391.1
Transfer87207192019-10-11 13:40:051905 days ago1570801205IN
0x6eA5F6BA...170fEf393
0.00312273 ETH0.000023141.1
Transfer87152532019-10-10 16:57:201906 days ago1570726640IN
0x6eA5F6BA...170fEf393
0.01011174 ETH0.000023141.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
115168262020-12-24 14:24:041465 days ago1608819844
0x6eA5F6BA...170fEf393
0.33676 ETH
104534812020-07-13 20:49:391629 days ago1594673379
0x6eA5F6BA...170fEf393
0.00445827 ETH
104017652020-07-05 21:15:451637 days ago1593983745
0x6eA5F6BA...170fEf393
0.00445227 ETH
103977722020-07-05 6:26:081638 days ago1593930368
0x6eA5F6BA...170fEf393
0.00894631 ETH
103122312020-06-21 23:57:331651 days ago1592783853
0x6eA5F6BA...170fEf393
0.01223335 ETH
102928692020-06-19 0:21:141654 days ago1592526074
0x6eA5F6BA...170fEf393
0.00412699 ETH
101305662020-05-24 19:51:561679 days ago1590349916
0x6eA5F6BA...170fEf393
0.00374505 ETH
96777252020-03-15 18:32:031749 days ago1584297123
0x6eA5F6BA...170fEf393
0.00291925 ETH
96406942020-03-10 1:12:261755 days ago1583802746
0x6eA5F6BA...170fEf393
0.00102603 ETH
96085822020-03-05 2:41:321760 days ago1583376092
0x6eA5F6BA...170fEf393
0.0050569 ETH
95916992020-03-02 12:33:401762 days ago1583152420
0x6eA5F6BA...170fEf393
0.00362175 ETH
94743752020-02-13 11:24:211780 days ago1581593061
0x6eA5F6BA...170fEf393
0.8 ETH
94714502020-02-13 0:36:381781 days ago1581554198
0x6eA5F6BA...170fEf393
3 ETH
94399092020-02-08 4:24:201786 days ago1581135860
0x6eA5F6BA...170fEf393
0.00117581 ETH
93806012020-01-30 1:26:031795 days ago1580347563
0x6eA5F6BA...170fEf393
0.00021738 ETH
92669542020-01-12 15:31:461812 days ago1578843106
0x6eA5F6BA...170fEf393
0.00241824 ETH
91893652019-12-31 5:20:391825 days ago1577769639
0x6eA5F6BA...170fEf393
0.00182068 ETH
91219192019-12-17 18:44:101838 days ago1576608250
0x6eA5F6BA...170fEf393
0.00036215 ETH
87603212019-10-17 19:12:511899 days ago1571339571
0x6eA5F6BA...170fEf393
0.00131904 ETH
87207192019-10-11 13:40:051905 days ago1570801205
0x6eA5F6BA...170fEf393
0.005 ETH
77730042019-05-16 18:51:222053 days ago1558032682
0x6eA5F6BA...170fEf393
0.005 ETH
75037392019-04-04 20:09:122095 days ago1554408552
0x6eA5F6BA...170fEf393
0.00053405 ETH
74451802019-03-26 16:13:002104 days ago1553616780
0x6eA5F6BA...170fEf393
0.00634228 ETH
72534582019-02-22 14:43:392136 days ago1550846619
0x6eA5F6BA...170fEf393
0.00096671 ETH
72523512019-02-22 8:25:272137 days ago1550823927
0x6eA5F6BA...170fEf393
0.00126819 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x44852FAE...A732Df298
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TeambrellaWallet

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.19;

contract TeambrellaWallet {
    
    uint public m_opNum;
    uint public m_teamId;
    address public m_owner;
    address[] public m_cosigners;
    address[] public m_cosignersApprovedDisband;    
    
    modifier orderedOps(uint opNum) {
        require(opNum >= m_opNum);
        _; 
    }

    modifier onlyOwner {
        require(msg.sender == m_owner);
        _; 
    }
    
    function() public payable { }


    // Duplicate Solidity's ecrecover, but catching the CALL return value
    function safer_ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal returns (bool, address) {
        // We do our own memory management here. Solidity uses memory offset
        // 0x40 to store the current end of memory. We write past it (as
        // writes are memory extensions), but don't update the offset so
        // Solidity will reuse it. The memory used here is only needed for
        // this context.

        bool ret;
        address addr;

        assembly {
            let size := mload(0x40)
            mstore(size, hash)
            mstore(add(size, 32), v)
            mstore(add(size, 64), r)
            mstore(add(size, 96), s)

            // NOTE: we can reuse the request memory because we deal with
            //       the return code
            ret := call(3000, 1, 0, size, 128, size, 32)
            addr := mload(size)
        }

        return (ret, addr);
    }

    function ecrecovery(bytes32 hash, bytes sig) private returns (bool, address) {
        bytes32 r;
        bytes32 s;
        uint8 v;

        // The signature format is a compact form of:
        //   {bytes32 r}{bytes32 s}{uint8 v}
        // Compact means, uint8 is not padded to 32 bytes.
        assembly {
            r := mload(add(sig, 32))
            s := mload(add(sig, 64))

            // Here we are loading the last 32 bytes. We exploit the fact that
            // 'mload' will pad with zeroes if we overread.
            // There is no 'mload8' to do this, but that would be nicer.
            v := byte(0, mload(add(sig, 96)))

            // Alternative solution:
            // 'byte' is not working due to the Solidity parser, so lets
            // use the second best option, 'and'
            // v := and(mload(add(sig, 65)), 255)
        }

        return safer_ecrecover(hash, v, r, s);
    }

    function ecverify(bytes32 hash, bytes sig, address signer) private returns (bool) {
        bool ret;
        address addr;

        (ret, addr) = ecrecovery(hash, sig);

        return ret == true && addr == signer;
    }

    function checkSignatures(
        bytes32 hash,
        uint[3] cosignersPos,
        bytes sigCosigner0,
        bytes sigCosigner1,
        bytes sigCosigner2
        ) private returns(bool) {

        uint cosignersNum = m_cosigners.length;
        bool signed = ecverify(hash, sigCosigner0, m_cosigners[cosignersPos[0]]);
        if (cosignersNum > 3) {
            signed = signed && ecverify(hash, sigCosigner1, m_cosigners[cosignersPos[1]]);
        }
        if (cosignersNum > 6) {
            signed = signed && ecverify(hash, sigCosigner2, m_cosigners[cosignersPos[2]]);
        }

        return signed;
    }
    
    function checkSignatures2(
        bytes32 hash,
        bytes sigCosigner0,
        bytes sigCosigner1,
        bytes sigCosigner2
        ) private returns(bool) {

        uint cosignersNum = m_cosigners.length;
        uint pos = uint(sigCosigner0[65]);
        bool signed = ecverify(hash, sigCosigner0, m_cosigners[pos]);
        if (cosignersNum > 3) {
            pos = uint(sigCosigner1[65]);
            signed = signed && ecverify(hash, sigCosigner1, m_cosigners[pos]);
        }
        if (cosignersNum > 6) {
            pos = uint(sigCosigner2[65]);
            signed = signed && ecverify(hash, sigCosigner2, m_cosigners[pos]);
        }
        return signed;
    }

    function toBytes(uint256[] x) private pure returns (bytes b) {
        b = new bytes(32 * x.length);
        for (uint j = 0; j < x.length; j++) {
            for (uint i = 0; i < 32; i++) {
                b[j*32 + i] = byte(uint8(x[j] / (2**(8*(31 - i))))); 
            }
        }
    }

    function toBytes(address[] x) private pure returns (bytes b) {

        b = new bytes(20 * x.length);
        for (uint j = 0; j < x.length; j++) {
            for (uint i = 0; i < 20; i++) {
                b[j*20 + i] = byte(uint8(uint160(x[j]) / (2**(8*(19 - i))))); 
            }
        }
    }

    function TeambrellaWallet() public payable {
        m_opNum = 1;
		m_owner = msg.sender;
    }
    
     function assignOwner(address[] cosigners, uint teamId, address newOwner) onlyOwner external {
		if (m_cosigners.length == 0)
		{
			m_cosigners = cosigners;
			m_teamId = teamId;
			m_owner = newOwner;
		}
    }
       
    function changeAllCosigners(
        uint opNum,
        address[] newCosigners,
        uint[3] cosignersPos,
        bytes sigCosigner0, 
        bytes sigCosigner1,
        bytes sigCosigner2 
        ) onlyOwner orderedOps(opNum) external {

        bytes32 hash = keccak256("NS", m_teamId, opNum, toBytes(newCosigners));
        require(checkSignatures(hash, cosignersPos, sigCosigner0, sigCosigner1, sigCosigner2));
        m_opNum = opNum + 1;
        m_cosignersApprovedDisband.length = 0;
        m_cosigners = newCosigners;
    }

    function changeAllCosigners2(
        uint opNum,
        address[] newCosigners,
        bytes sigCosigner0, 
        bytes sigCosigner1,
        bytes sigCosigner2,
        bytes sigOwner 
        ) onlyOwner orderedOps(opNum) external {

        bytes32 hash = keccak256("NS", m_teamId, opNum, toBytes(newCosigners));
        require(checkSignatures2(hash, sigCosigner0, sigCosigner1, sigCosigner2));
        require(ecverify(hash, sigOwner, m_owner));
        m_opNum = opNum + 1;
        m_cosignersApprovedDisband.length = 0;
        m_cosigners = newCosigners;
    }
        
    function getsum(uint[] values) private pure returns (uint s) {
        s = 0;

        for (uint j = 0; j < values.length; j++) {
            s += values[j];
        }

        return s;    
    }
        
    function transfer(
        uint opNum,
        address[] tos, 
        uint[] values,
        uint[3] cosignersPos,
        bytes sigCosigner0, 
        bytes sigCosigner1, 
        bytes sigCosigner2
        ) onlyOwner orderedOps(opNum) external {

        require (getsum(values) <= this.balance);
        bytes32 hash = keccak256("TR", m_teamId, opNum, toBytes(tos), toBytes(values));
        require (checkSignatures(hash, cosignersPos, sigCosigner0, sigCosigner1, sigCosigner2));
        m_opNum = opNum + 1;
        realtransfer(tos, values);
    }

    function transfer2(
        uint opNum,
        address[] tos, 
        uint[] values,
        bytes sigCosigner0,
        bytes sigCosigner1,
        bytes sigCosigner2,
        bytes sigOwner
        ) external {
        require(opNum >= m_opNum);
        require (getsum(values) <= this.balance);
        bytes32 hash = keccak256("TR", m_teamId, opNum, toBytes(tos), toBytes(values));
        require(checkSignatures2(hash, sigCosigner0, sigCosigner1, sigCosigner2));
        require(ecverify(hash, sigOwner, m_owner));
        m_opNum = opNum + 1;
        realtransfer(tos, values);
    }    

    function realtransfer(address[] tos, uint[] values) private {

        for (uint i = 0; i < values.length; i++) {
            tos[i].transfer(values[i]);
        }
    }

    function approveDisband() external {

        for (uint pos=0; pos<m_cosignersApprovedDisband.length; pos++) {
            if (m_cosignersApprovedDisband[pos] == msg.sender) {
                return;
            }
        }
        for (pos=0; pos<m_cosigners.length; pos++) {
            if (m_cosigners[pos] == msg.sender) {
                m_cosignersApprovedDisband.push(msg.sender);
            }
        }
    }

    function disbandTo(address to) onlyOwner external {

        uint cosignersNum = m_cosigners.length;
        uint approved = m_cosignersApprovedDisband.length;
        if (cosignersNum > 6) {
            require(approved > 2);
        }
        if (cosignersNum > 3) {
            require(approved > 1);
        }
        require(approved > 0);

        to.transfer(this.balance);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"m_cosignersApprovedDisband","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"opNum","type":"uint256"},{"name":"newCosigners","type":"address[]"},{"name":"sigCosigner0","type":"bytes"},{"name":"sigCosigner1","type":"bytes"},{"name":"sigCosigner2","type":"bytes"},{"name":"sigOwner","type":"bytes"}],"name":"changeAllCosigners2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"m_cosigners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"approveDisband","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_teamId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"opNum","type":"uint256"},{"name":"tos","type":"address[]"},{"name":"values","type":"uint256[]"},{"name":"sigCosigner0","type":"bytes"},{"name":"sigCosigner1","type":"bytes"},{"name":"sigCosigner2","type":"bytes"},{"name":"sigOwner","type":"bytes"}],"name":"transfer2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"opNum","type":"uint256"},{"name":"tos","type":"address[]"},{"name":"values","type":"uint256[]"},{"name":"cosignersPos","type":"uint256[3]"},{"name":"sigCosigner0","type":"bytes"},{"name":"sigCosigner1","type":"bytes"},{"name":"sigCosigner2","type":"bytes"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"opNum","type":"uint256"},{"name":"newCosigners","type":"address[]"},{"name":"cosignersPos","type":"uint256[3]"},{"name":"sigCosigner0","type":"bytes"},{"name":"sigCosigner1","type":"bytes"},{"name":"sigCosigner2","type":"bytes"}],"name":"changeAllCosigners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"}],"name":"disbandTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"cosigners","type":"address[]"},{"name":"teamId","type":"uint256"},{"name":"newOwner","type":"address"}],"name":"assignOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_opNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x6060604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b7b3eb781146100bb5780631305d2de146100ed57806322c5ec0f1461013f5780633bf2b4cd146101555780638d475461146101685780638f08a60a1461018d57806391f34dbd146101eb578063a0175b9614610241578063d41097e31461028a578063de41e1a1146102a9578063deff41c1146102d7578063df98ba00146102ea575b005b34156100c657600080fd5b6100d16004356102fd565b604051600160a060020a03909116815260200160405180910390f35b34156100f857600080fd5b6100b960048035906024803580820192908101359160443580820192908101359160643580820192908101359160843580820192908101359160a435908101910135610325565b341561014a57600080fd5b6100d160043561054b565b341561016057600080fd5b6100b9610559565b341561017357600080fd5b61017b610639565b60405190815260200160405180910390f35b341561019857600080fd5b6100b960048035906024803580820192908101359160443580820192908101359160643580820192908101359160843580820192908101359160a43580820192908101359160c43590810191013561063f565b34156101f657600080fd5b6100b960048035906024803580820192908101359160443580820192908101359160649160c43580830192908201359160e43580830192908201359161010435918201910135610950565b341561024c57600080fd5b6100b960048035906024803580820192908101359160449160a43580830192908201359160c43580830192908201359160e435918201910135610bd9565b341561029557600080fd5b6100b9600160a060020a0360043516610dce565b34156102b457600080fd5b6100b9602460048035828101929101359035600160a060020a0360443516610e71565b34156102e257600080fd5b6100d1610ed6565b34156102f557600080fd5b61017b610ee5565b600480548290811061030b57fe5b600091825260209091200154600160a060020a0316905081565b60025460009033600160a060020a0390811691161461034357600080fd5b6000548c9081101561035457600080fd5b6001548d61038e8e8e8080602002602001604051908101604052809392919081815260200183836020028082843750610eeb945050505050565b60405180807f4e5300000000000000000000000000000000000000000000000000000000000081525060020184815260200183815260200182805190602001908083835b602083106103f15780518252601f1990920191602091820191016103d2565b6001836020036101000a03801982511681845116179092525050509190910194506040935050505051809103902091506104be828b8b8080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050508a8a8080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505089898080601f016020809104026020016040519081016040528181529291906020840183838082843750610fce945050505050565b15156104c957600080fd5b61050f8285858080601f01602080910402602001604051908101604052818152929190602084018383808284375050600254600160a060020a031693506110d992505050565b151561051a57600080fd5b60018d01600090815561052e600482611375565b5061053b60038d8d611399565b5050505050505050505050505050565b600380548290811061030b57fe5b60005b6004548110156105a75733600160a060020a031660048281548110151561057f57fe5b600091825260209091200154600160a060020a0316141561059f57610636565b60010161055c565b5060005b6003548110156106365733600160a060020a03166003828154811015156105ce57fe5b600091825260209091200154600160a060020a0316141561062e5760048054600181016105fb8382611375565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790555b6001016105ab565b50565b60015481565b600080548e101561064f57600080fd5b30600160a060020a0316316106908c8c808060200260200160405190810160405280939291908181526020018383602002808284375061111a945050505050565b111561069b57600080fd5b6001548e6106d58f8f8080602002602001604051908101604052809392919081815260200183836020028082843750610eeb945050505050565b61070b8e8e808060200260200160405190810160405280939291908181526020018383602002808284375061114f945050505050565b60405180807f545200000000000000000000000000000000000000000000000000000000000081525060020185815260200184815260200183805190602001908083835b6020831061076e5780518252601f19909201916020918201910161074f565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b602083106107ba5780518252601f19909201916020918201910161079b565b6001836020036101000a038019825116818451161790925250505091909101955060409450505050505180910390209050610888818a8a8080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505089898080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505088888080601f016020809104026020016040519081016040528181529291906020840183838082843750610fce945050505050565b151561089357600080fd5b6108d98184848080601f01602080910402602001604051908101604052818152929190602084018383808284375050600254600160a060020a031693506110d992505050565b15156108e457600080fd5b60018e0160005561053b8d8d8060208082020160405190810160405280939291908181526020018383602002808284378201915050505050508c8c8080602002602001604051908101604052809392919081815260200183836020028082843750611222945050505050565b60025460009033600160a060020a0390811691161461096e57600080fd5b6000548d9081101561097f57600080fd5b30600160a060020a0316316109c08c8c808060200260200160405190810160405280939291908181526020018383602002808284375061111a945050505050565b11156109cb57600080fd5b6001548e610a058f8f8080602002602001604051908101604052809392919081815260200183836020028082843750610eeb945050505050565b610a3b8e8e808060200260200160405190810160405280939291908181526020018383602002808284375061114f945050505050565b60405180807f545200000000000000000000000000000000000000000000000000000000000081525060020185815260200184815260200183805190602001908083835b60208310610a9e5780518252601f199092019160209182019101610a7f565b6001836020036101000a038019825116818451161790925250505091909101905082805190602001908083835b60208310610aea5780518252601f199092019160209182019101610acb565b6001836020036101000a038019825116818451161790925250505091909101955060409450505050505190819003902091506108d9828a600360606040519081016040529190828260608082843782019150505050508a8a8080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505089898080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505088888080601f016020809104026020016040519081016040528181529291906020840183838082843750611293945050505050565b60025460009033600160a060020a03908116911614610bf757600080fd5b6000548b90811015610c0857600080fd5b6001548c610c428d8d8080602002602001604051908101604052809392919081815260200183836020028082843750610eeb945050505050565b60405180807f4e5300000000000000000000000000000000000000000000000000000000000081525060020184815260200183815260200182805190602001908083835b60208310610ca55780518252601f199092019160209182019101610c86565b6001836020036101000a038019825116818451161790925250505091909101945060409350505050519081900390209150610d93828a600360606040519081016040529190828260608082843782019150505050508a8a8080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505089898080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505088888080601f016020809104026020016040519081016040528181529291906020840183838082843750611293945050505050565b1515610d9e57600080fd5b60018c016000908155610db2600482611375565b50610dbf60038c8c611399565b50505050505050505050505050565b600254600090819033600160a060020a03908116911614610dee57600080fd5b50506003546004546006821115610e0c5760028111610e0c57600080fd5b6003821115610e225760018111610e2257600080fd5b60008111610e2f57600080fd5b82600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515610e6c57600080fd5b505050565b60025433600160a060020a03908116911614610e8c57600080fd5b6003541515610ed057610ea160038585611399565b5060018290556002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50505050565b600254600160a060020a031681565b60005481565b610ef3611409565b6000808351601402604051805910610f085750595b818152601f19601f830116810160200160405290509250600091505b8351821015610fc7575060005b6014811015610fbc578060130360080260020a848381518110610f5057fe5b90602001906020020151600160a060020a0316811515610f6c57fe5b0460f860020a028382846014020181518110610f8457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101610f31565b600190910190610f24565b5050919050565b600354600090818086604181518110610fe357fe5b016020015160f860020a900460f860020a0260f860020a9004915061102c888860038581548110151561101257fe5b600091825260209091200154600160a060020a03166110d9565b9050600383111561107e578560418151811061104457fe5b016020015160f860020a900460f860020a0260f860020a9004915080801561107b575061107b888760038581548110151561101257fe5b90505b60068311156110ce578460418151811061109457fe5b016020015160f860020a900460f860020a0260f860020a900491508080156110cb57506110cb888660038581548110151561101257fe5b90505b979650505050505050565b60008060006110e886866112fb565b90925090506001821515148015611110575083600160a060020a031681600160a060020a0316145b9695505050505050565b6000805b82518110156111495782818151811061113357fe5b906020019060200201519091019060010161111e565b50919050565b611157611409565b600080835160200260405180591061116c5750595b818152601f19601f830116810160200160405290509250600091505b8351821015610fc7575060005b60208110156112175780601f0360080260020a8483815181106111b457fe5b906020019060200201518115156111c757fe5b0460f860020a0283828460200201815181106111df57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101611195565b600190910190611188565b60005b8151811015610e6c5782818151811061123a57fe5b90602001906020020151600160a060020a03166108fc83838151811061125c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050151561128b57600080fd5b600101611225565b6003805460009182906112b690899088908a855b60200201518154811061101257fe5b905060038211156112db578080156112d857506112d8888660038a60016112a7565b90505b60068211156110ce578080156110cb57506110cb888560038a60026112a7565b60008060008060006020860151925060408601519150606086015160001a905061132787828585611335565b945094505050509250929050565b60008060008060405188815287602082015286604082015285606082015260208160808360006001610bb8f1925080519299929850919650505050505050565b815481835581811511610e6c57600083815260209020610e6c91810190830161141b565b8280548282559060005260206000209081019282156113f9579160200282015b828111156113f957815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038435161782556020909201916001909101906113b9565b50611405929150611438565b5090565b60206040519081016040526000815290565b61143591905b808211156114055760008155600101611421565b90565b61143591905b8082111561140557805473ffffffffffffffffffffffffffffffffffffffff1916815560010161143e5600a165627a7a72305820f804d644fb80a7cd5cfe5cba3c2e743b0aebf990a32cea9576355e63600b51240029

Swarm Source

bzzr://f804d644fb80a7cd5cfe5cba3c2e743b0aebf990a32cea9576355e63600b5124

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.