ETH Price: $3,619.50 (+8.93%)

Contract

0x60bf91ac87fEE5A78c28F7b67701FBCFA79C18EC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Immortality160648632022-11-28 0:21:47730 days ago1669594907IN
0x60bf91ac...FA79C18EC
0 ETH0.0003082810.60639923
Remove160226092022-11-22 2:36:59736 days ago1669084619IN
0x60bf91ac...FA79C18EC
0 ETH0.0003292511.35359213
0x8a2fde8a122721232021-04-19 18:33:001318 days ago1618857180IN
0x60bf91ac...FA79C18EC
0 ETH0.01160478165
Add Emitter122721202021-04-19 18:32:331318 days ago1618857153IN
0x60bf91ac...FA79C18EC
0 ETH0.01097662165
0x8a2fde8a121858222021-04-06 11:08:201331 days ago1617707300IN
0x60bf91ac...FA79C18EC
0 ETH0.14020572120
0x8a2fde8a121858152021-04-06 11:06:211331 days ago1617707181IN
0x60bf91ac...FA79C18EC
0 ETH0.00269868120
Add Emitter121858152021-04-06 11:06:211331 days ago1617707181IN
0x60bf91ac...FA79C18EC
0 ETH0.00668556120
Add Version121858152021-04-06 11:06:211331 days ago1617707181IN
0x60bf91ac...FA79C18EC
0 ETH0.0322524120
Add Version98822752020-04-16 7:58:141686 days ago1587023894IN
0x60bf91ac...FA79C18EC
0 ETH0.000280088
Set Ambi Address98822752020-04-16 7:58:141686 days ago1587023894IN
0x60bf91ac...FA79C18EC
0 ETH0.000184758
Setup Stack Dept...98822752020-04-16 7:58:141686 days ago1587023894IN
0x60bf91ac...FA79C18EC
0 ETH0.00034788
Immortality60808942018-08-03 13:03:332308 days ago1533301413IN
0x60bf91ac...FA79C18EC
0 ETH0.000096553
Transfer41633522017-08-16 3:09:112660 days ago1502852951IN
0x60bf91ac...FA79C18EC
0.0001 ETH0.0007660126.36079684
Add Version33901572017-03-21 4:20:552808 days ago1490070055IN
0x60bf91ac...FA79C18EC
0 ETH0.0071456420
Add Emitter33901282017-03-21 4:15:122808 days ago1490069712IN
0x60bf91ac...FA79C18EC
0 ETH0.0009876220
Add Version19092822016-07-18 18:54:323054 days ago1468868072IN
0x60bf91ac...FA79C18EC
0 ETH0.0037234221.89399999
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Add Emitter19092632016-07-18 18:50:553054 days ago1468867855IN
0x60bf91ac...FA79C18EC
0 ETH0.0009282220
Set Ambi Address19092552016-07-18 18:48:453054 days ago1468867725IN
0x60bf91ac...FA79C18EC
0 ETH0.0030777820
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212813052024-11-27 19:54:5934 mins ago1732737299
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812612024-11-27 19:46:1143 mins ago1732736771
0x60bf91ac...FA79C18EC
0 ETH
212812232024-11-27 19:38:2350 mins ago1732736303
0x60bf91ac...FA79C18EC
0x60bf91ac...FA79C18EC
0 ETH
212812232024-11-27 19:38:2350 mins ago1732736303
0x60bf91ac...FA79C18EC
0 ETH
212812232024-11-27 19:38:2350 mins ago1732736303
0x60bf91ac...FA79C18EC
0 ETH
212812232024-11-27 19:38:2350 mins ago1732736303
0x60bf91ac...FA79C18EC
0 ETH
212812232024-11-27 19:38:2350 mins ago1732736303
0x60bf91ac...FA79C18EC
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EventsHistory

Compiler Version
v0.3.5-nightly.2016.7.1+commit.48238c9

Optimization Enabled:
Yes with 200 runs

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

// This software is a subject to Ambisafe License Agreement.
// No use or distribution is allowed without written permission from Ambisafe.
// https://ambisafe.com/terms.pdf

contract Ambi {
    function getNodeAddress(bytes32 _nodeName) constant returns(address);
    function hasRelation(bytes32 _nodeName, bytes32 _relation, address _to) constant returns(bool);
    function addNode(bytes32 _nodeName, address _nodeAddress) constant returns(bool);
}

contract AmbiEnabled {
    Ambi public ambiC;
    bool public isImmortal;
    bytes32 public name;

    modifier checkAccess(bytes32 _role) {
        if(address(ambiC) != 0x0 && ambiC.hasRelation(name, _role, msg.sender)){
            _
        }
    }
    
    function getAddress(bytes32 _name) constant returns (address) {
        return ambiC.getNodeAddress(_name);
    }

    function setAmbiAddress(address _ambi, bytes32 _name) returns (bool){
        if(address(ambiC) != 0x0){
            return false;
        }
        Ambi ambiContract = Ambi(_ambi);
        if(ambiContract.getNodeAddress(_name)!=address(this)) {
            if (!ambiContract.addNode(_name, address(this))){
                return false;
            }
        }
        name = _name;
        ambiC = ambiContract;
        return true;
    }

    function immortality() checkAccess("owner") returns(bool) {
        isImmortal = true;
        return true;
    }

    function remove() checkAccess("owner") returns(bool) {
        if (isImmortal) {
            return false;
        }
        selfdestruct(msg.sender);
        return true;
    }
}

library StackDepthLib {
    // This will probably work with a value of 390 but no need to cut it
    // that close in the case that the optimizer changes slightly or
    // something causing that number to rise slightly.
    uint constant GAS_PER_DEPTH = 400;

    function checkDepth(address self, uint n) constant returns(bool) {
        if (n == 0) return true;
        return self.call.gas(GAS_PER_DEPTH * n)(0x21835af6, n - 1);
    }

    function __dig(uint n) constant {
        if (n == 0) return;
        if (!address(this).delegatecall(0x21835af6, n - 1)) throw;
    }
}

contract Safe {
    // Should always be placed as first modifier!
    modifier noValue {
        if (msg.value > 0) {
            // Internal Out Of Gas/Throw: revert this transaction too;
            // Call Stack Depth Limit reached: revert this transaction too;
            // Recursive Call: safe, no any changes applied yet, we are inside of modifier.
            _safeSend(msg.sender, msg.value);
        }
        _
    }

    modifier onlyHuman {
        if (_isHuman()) {
            _
        }
    }

    modifier noCallback {
        if (!isCall) {
            _
        }
    }

    modifier immutable(address _address) {
        if (_address == 0) {
            _
        }
    }

    address stackDepthLib;
    function setupStackDepthLib(address _stackDepthLib) immutable(address(stackDepthLib)) returns(bool) {
        stackDepthLib = _stackDepthLib;
        return true;
    }

    modifier requireStackDepth(uint16 _depth) {
        if (stackDepthLib == 0x0) {
            throw;
        }
        if (_depth > 1023) {
            throw;
        }
        if (!stackDepthLib.delegatecall(0x32921690, stackDepthLib, _depth)) {
            throw;
        }
        _
    }

    // Must not be used inside the functions that have noValue() modifier!
    function _safeFalse() internal noValue() returns(bool) {
        return false;
    }

    function _safeSend(address _to, uint _value) internal {
        if (!_unsafeSend(_to, _value)) {
            throw;
        }
    }

    function _unsafeSend(address _to, uint _value) internal returns(bool) {
        return _to.call.value(_value)();
    }

    function _isContract() constant internal returns(bool) {
        return msg.sender != tx.origin;
    }

    function _isHuman() constant internal returns(bool) {
        return !_isContract();
    }

    bool private isCall = false;
    function _setupNoCallback() internal {
        isCall = true;
    }

    function _finishNoCallback() internal {
        isCall = false;
    }
}

/**
 * @title Events History universal contract.
 *
 * Contract serves as an Events storage and version history for a particular contract type.
 * Events appear on this contract address but their definitions provided by other contracts/libraries.
 * Version info is provided for historical and informational purposes.
 *
 * Note: all the non constant functions return false instead of throwing in case if state change
 * didn't happen yet.
 */
contract EventsHistory is AmbiEnabled, Safe {
    // Event emitter signature to address with Event definiton mapping.
    mapping(bytes4 => address) public emitters;

    // Calling contract address to version mapping.
    mapping(address => uint) public versions;

    // Version to info mapping.
    mapping(uint => VersionInfo) public versionInfo;

    // Latest verion number.
    uint public latestVersion;

    struct VersionInfo {
        uint block;        // Block number in which version has been introduced.
        address by;        // Contract owner address who added version.
        address caller;    // Address of this version calling contract.
        string name;       // Version name, informative.
        string changelog;  // Version changelog, informative.
    }

    /**
     * Assign emitter address to a specified emit function signature.
     *
     * Can be set only once for each signature, and only by contract owner.
     * Caller contract should be sure that emitter for a particular signature will never change.
     *
     * @param _eventSignature signature of the event emitting function.
     * @param _emitter address with Event definition.
     *
     * @return success.
     */
    function addEmitter(bytes4 _eventSignature, address _emitter) noValue() checkAccess("admin") returns(bool) {
        if (emitters[_eventSignature] != 0x0) {
            return false;
        }
        emitters[_eventSignature] = _emitter;
        return true;
    }

    /**
     * Introduce new caller contract version specifing version information.
     *
     * Can be set only once for each caller, and only by contract owner.
     * Name and changelog should not be empty.
     *
     * @param _caller address of the new caller.
     * @param _name version name.
     * @param _changelog version changelog.
     *
     * @return success.
     */
    function addVersion(address _caller, string _name, string _changelog) noValue() checkAccess("admin") returns(bool) {
        if (versions[_caller] != 0) {
            return false;
        }
        if (bytes(_name).length == 0) {
            return false;
        }
        if (bytes(_changelog).length == 0) {
            return false;
        }
        uint version = ++latestVersion;
        versions[_caller] = version;
        versionInfo[version] = VersionInfo(block.number, msg.sender, _caller, _name, _changelog);
        return true;
    }

    /**
     * Event emitting fallback.
     *
     * Can be and only called caller with assigned version.
     * Resolves msg.sig to an emitter address, and calls it to emit an event.
     *
     * Throws if emit function signature is not registered, or call failed.
     */
    function () noValue() {
        if (versions[msg.sender] == 0) {
            return;
        }
        // Internal Out Of Gas/Throw: revert this transaction too;
        // Call Stack Depth Limit reached: revert this transaction too;
        // Recursive Call: safe, all changes already made.
        if (!emitters[msg.sig].delegatecall(msg.data)) {
            throw;
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"constant":false,"inputs":[{"name":"_stackDepthLib","type":"address"}],"name":"setupStackDepthLib","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_eventSignature","type":"bytes4"},{"name":"_emitter","type":"address"}],"name":"addEmitter","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"versions","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"ambiC","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_caller","type":"address"},{"name":"_name","type":"string"},{"name":"_changelog","type":"string"}],"name":"addVersion","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"isImmortal","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_ambi","type":"address"},{"name":"_name","type":"bytes32"}],"name":"setAmbiAddress","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"versionInfo","outputs":[{"name":"block","type":"uint256"},{"name":"by","type":"address"},{"name":"caller","type":"address"},{"name":"name","type":"string"},{"name":"changelog","type":"string"}],"type":"function"},{"constant":false,"inputs":[],"name":"remove","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"latestVersion","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes4"}],"name":"emitters","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[],"name":"immortality","outputs":[{"name":"","type":"bool"}],"type":"function"}]

60606040526002805460a060020a60ff0219169055610b55806100226000396000f3606060405236156100ae5760e060020a600035046306fdde0381146100ef57806312ab7242146100f857806313426d871461013057806321f8a7211461014e578063488725a0146101c657806352959d16146101de57806362d020d9146101f057806377f18ed3146102905780637948f523146102a357806387114b8c146102c6578063a7f4377914610303578063c07f47d4146103b1578063e33dafbf146103ba578063f7c3ee7a146103db575b61049b600034111561049d5761049d33345b61068e8282604051600090600160a060020a0384169083908381818185876185025a03f19250505090506106c0565b61052460015481565b610536600435600254600090600160a060020a03168082141561069d57505060028054600160a060020a03191682179055600161069f565b610536600435602435600060003411156106c6576106c633346100c0565b61054a60043560408051600080547f2ade6c360000000000000000000000000000000000000000000000000000000083526004830185905292519092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061069f9050565b61052460043560046020526000908152604090205481565b61054a600054600160a060020a031681565b60408051602060248035600481810135601f81018590048502860185019096528585526105369581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a0190935282825296989760649791965060249190910194509092508291508401838280828437509496505050505050506000600060003411156107c6576107c633346100c0565b61053660005460a060020a900460ff1681565b610536600435602435600080548190600160a060020a03168114610a74576106be565b61056760043560056020526000908152604090208054600182015460028301549192600160a060020a039182169290911690600381019060040185565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610391575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315760005460a060020a900460ff1615610b495760009150505b90565b61052460065481565b61054a600435600360205260009081526040902054600160a060020a031681565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610469575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315750506000805474ff0000000000000000000000000000000000000000191660a060020a17905560016103ae565b005b600160a060020a03331660009081526004602052604081205414156104bf575b565b600160e060020a03196000803591909116815260036020526040808220549051600160a060020a039190911691903690808383808284378201915050925050506020604051808303818560325a03f4156100025750506040515115156104bd57610002565b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051868152600160a060020a03868116602083015285169181019190915260a06060820181815284546002600182161561010002600019019091160491830182905290608083019060c0840190869080156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b50508381038252845460026001821615610100026000190190911604808252602091909101908590801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505097505050505050505060405180910390f35b151561069957610002565b5050565b505b919050565b600183815560008054600160a060020a0319168317905591505b505b92915050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906107535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156106be57600160e060020a03198416600090815260036020526040812054600160a060020a03161461078a5760009150506106c0565b5050600160e060020a0319821660009081526003602052604090208054600160a060020a0319168217905560016106c0565b505b509392505050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906108535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156107bc57600160a060020a038616600090815260046020526040812054146108805760009250506107be565b8451600014156108945760009250506107be565b8351600014156108a85760009250506107be565b60068054600190810191829055600160a060020a0388166000908152600460209081526040808320859055805160a081018252438152338184019081528183018d8152606083018d8152608084018d9052888752600586529386208351815591518288018054600160a060020a031990811690921790559051600283810180549093169091179091559251805160038301805481895297879020999b5093989297939693841615610100026000190190931693909304601f9081018590048201949293919291909101908390106109a257805160ff19168380011785555b506109d29291505b80821115610a31576000815560010161098e565b82800160010185558215610986579182015b828111156109865782518260005055916020019190600101906109b4565b50506080820151816004016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a3557805160ff19168380011785555b50610a6592915061098e565b5090565b82800160010185558215610a25579182015b82811115610a25578251826000505591602001919060010190610a47565b505090505060019250506107be565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a031690911490506106a45780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f11561000257505060405151151590506106a457600091506106be565b33600160a060020a0316ff

Deployed Bytecode

0x606060405236156100ae5760e060020a600035046306fdde0381146100ef57806312ab7242146100f857806313426d871461013057806321f8a7211461014e578063488725a0146101c657806352959d16146101de57806362d020d9146101f057806377f18ed3146102905780637948f523146102a357806387114b8c146102c6578063a7f4377914610303578063c07f47d4146103b1578063e33dafbf146103ba578063f7c3ee7a146103db575b61049b600034111561049d5761049d33345b61068e8282604051600090600160a060020a0384169083908381818185876185025a03f19250505090506106c0565b61052460015481565b610536600435600254600090600160a060020a03168082141561069d57505060028054600160a060020a03191682179055600161069f565b610536600435602435600060003411156106c6576106c633346100c0565b61054a60043560408051600080547f2ade6c360000000000000000000000000000000000000000000000000000000083526004830185905292519092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061069f9050565b61052460043560046020526000908152604090205481565b61054a600054600160a060020a031681565b60408051602060248035600481810135601f81018590048502860185019096528585526105369581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a0190935282825296989760649791965060249190910194509092508291508401838280828437509496505050505050506000600060003411156107c6576107c633346100c0565b61053660005460a060020a900460ff1681565b610536600435602435600080548190600160a060020a03168114610a74576106be565b61056760043560056020526000908152604090208054600182015460028301549192600160a060020a039182169290911690600381019060040185565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610391575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315760005460a060020a900460ff1615610b495760009150505b90565b61052460065481565b61054a600435600360205260009081526040902054600160a060020a031681565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610469575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315750506000805474ff0000000000000000000000000000000000000000191660a060020a17905560016103ae565b005b600160a060020a03331660009081526004602052604081205414156104bf575b565b600160e060020a03196000803591909116815260036020526040808220549051600160a060020a039190911691903690808383808284378201915050925050506020604051808303818560325a03f4156100025750506040515115156104bd57610002565b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051868152600160a060020a03868116602083015285169181019190915260a06060820181815284546002600182161561010002600019019091160491830182905290608083019060c0840190869080156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b50508381038252845460026001821615610100026000190190911604808252602091909101908590801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505097505050505050505060405180910390f35b151561069957610002565b5050565b505b919050565b600183815560008054600160a060020a0319168317905591505b505b92915050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906107535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156106be57600160e060020a03198416600090815260036020526040812054600160a060020a03161461078a5760009150506106c0565b5050600160e060020a0319821660009081526003602052604090208054600160a060020a0319168217905560016106c0565b505b509392505050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906108535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156107bc57600160a060020a038616600090815260046020526040812054146108805760009250506107be565b8451600014156108945760009250506107be565b8351600014156108a85760009250506107be565b60068054600190810191829055600160a060020a0388166000908152600460209081526040808320859055805160a081018252438152338184019081528183018d8152606083018d8152608084018d9052888752600586529386208351815591518288018054600160a060020a031990811690921790559051600283810180549093169091179091559251805160038301805481895297879020999b5093989297939693841615610100026000190190931693909304601f9081018590048201949293919291909101908390106109a257805160ff19168380011785555b506109d29291505b80821115610a31576000815560010161098e565b82800160010185558215610986579182015b828111156109865782518260005055916020019190600101906109b4565b50506080820151816004016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a3557805160ff19168380011785555b50610a6592915061098e565b5090565b82800160010185558215610a25579182015b82811115610a25578251826000505591602001919060010190610a47565b505090505060019250506107be565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a031690911490506106a45780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f11561000257505060405151151590506106a457600091506106be565b33600160a060020a0316ff

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.