Contract 0x52Ae12ABe5D8BD778BD5397F99cA900624CfADD4

Bancor 
 

Contract Overview

Bancor: Contract Registry
Balance:
0 Ether

EtherValue:
$0.00

Token:
Ad
Ad
Txn Hash Method
Block
From
To
Value
0x877ab1cd09594ab770d73688d9aa1327820df8f7a6803312324cbcdae57b857dRegister Address122915072021-04-22 18:02:0215 days 19 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.005929536178
0xbd398b41f6b0c808fe03fb55b1025e7d11ae12eb0243bfc26bcb914bf54b5852Register Address121745822021-04-04 17:48:0233 days 20 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00391344124
0x1d35e93cb9e1ecd46fc926e68cc1671e67690475b70b3d95a0b2382d0652f3b5Register Address121745502021-04-04 17:40:1933 days 20 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.016266216116
0xb8a85674b765b29b9fcb623d47aa6ab1e9b07f489d7bdb1424e83754b24b57f1Register Address120683982021-03-19 9:37:0150 days 4 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.0047178150
0xd943dba8deeb5c4ca42187e1498b448fba72b2df60bd2adce7cd76f7cf0bd688Register Address120569102021-03-17 15:10:1151 days 22 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.007296864232
0xee3822d7f69e94c48e212114987193db24490a94e91d776d343c4818705f3348Register Address120189482021-03-11 18:42:1857 days 19 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.004371828139
0xac388fee6682946d004340405ec692e0b1a13a104f427f089fb20b03c12f30b8Register Address118158552021-02-08 12:39:3689 days 1 hr agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.006428448204
0x7404f1fa165a6c12855d79665e0b443fddd53c97e81845fb333cdac431d404f4Register Address117776702021-02-02 15:39:1194 days 22 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.009513302
0x247401e6c37ccfeb866885cc36b26d3c2a22a4b0d78a22ba2fccb7c4e00027f4Register Address117582432021-01-30 16:02:4597 days 21 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00591072188
0x6b9b88449e293710f999710b36e9fdc891bb036c0214b7799877b914f5b8bba5Register Address117378702021-01-27 12:35:23101 days 1 hr agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.01233883288
0x7501f9a8af60039ce77d2322db1665e0154ce5ff6a60e42e87d17978784f9937Register Address116730022021-01-17 13:32:24111 days 28 mins agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00195374462
0xaa1d981ceee76f2e05ae26f4efa048a8d3ac9e58470544cee71e37cdb83ef2ffUnregister Addre...115436232020-12-28 16:55:20130 days 21 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00729144234
0x8a77efe18cb0cd4b0f78e62868cabd82cface491233febc04e820792d6504deaRegister Address115436022020-12-28 16:47:37130 days 21 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.005861232186
0x176742af1b5e4509fa5d0ddd0d3c4254b0dec2285fac1ce86ff79be68601d7afRegister Address114520112020-12-14 15:47:51144 days 22 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.0138966399
0xe11dfa2c95dafd7cb17d1a5ce5ba08e3afcbd66c63cb7232088831998fc29699Register Address114519622020-12-14 15:35:17144 days 22 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.002905406492.2
0xe73124c6a0092b0e9581a441cc313fce17756112d8a564a8e311c14f1d0a1bddRegister Address114515302020-12-14 13:53:30145 days 7 mins agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.0028088489
0x191772e59bca278d7399e45271623d0c819513680de07b5c2da876befbbbe449Register Address114515112020-12-14 13:50:22145 days 10 mins agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.0028088489
0x64ad63754789f5120aabad58d7f8ebb18891e3e0429956468acc211cf2a76093Register Address112695922020-11-16 15:06:25172 days 22 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00192223261
0x7a99170b9c5cfa4aab0554b622c6ec9e32c955dee9e78df4c339ebfe1fdfc958Register Address112388512020-11-11 21:54:13177 days 16 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00255247281
0x75c047b5996f5feaab4be1b4a4a88884d1749c35a9a11d3bd17c46345b06cc9fRegister Address112326622020-11-10 23:08:36178 days 14 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00135501643
0x75d61f0ecb99d6ab43b1bde9038e834cfad892235bcf7de405cf4aaaf23342cbRegister Address112298012020-11-10 12:25:58179 days 1 hr agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00103989633
0x1531e5646048f5a967a067b6e534b2a4e9a2cf5f7f21a65fc2ac04072b8f64e9Register Address110935122020-10-20 14:18:18199 days 23 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00378144120
0x5d83c992188e04ea6c63c225fe20fac6bc06a9fd23a6fd65cd4babb3bbea9d3cRegister Address110548732020-10-14 16:22:49205 days 21 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.0042525135
0x5d61659181d034e2a4cb4b9ee614b4b7cf22667546f19f8869d99e29192ffde9Register Address110401962020-10-12 10:22:10208 days 3 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00827616659
0xafcac79fce740eac5b6f9899a7dcf0cb842210355771b12868dd9eaf43c8b11cRegister Address110401932020-10-12 10:20:55208 days 3 hrs agoBancor: Deployer IN  Bancor: Contract Registry0 Ether0.00827970659
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ContractRegistry

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.24;

// File: contracts/utility/interfaces/IOwned.sol

/*
    Owned contract interface
*/
contract IOwned {
    // this function isn't abstract since the compiler emits automatically generated getter functions as external
    function owner() public view returns (address) {}

    function transferOwnership(address _newOwner) public;
    function acceptOwnership() public;
}

// File: contracts/utility/Owned.sol

/*
    Provides support and utilities for contract ownership
*/
contract Owned is IOwned {
    address public owner;
    address public newOwner;

    event OwnerUpdate(address indexed _prevOwner, address indexed _newOwner);

    /**
        @dev constructor
    */
    constructor() public {
        owner = msg.sender;
    }

    // allows execution by the owner only
    modifier ownerOnly {
        require(msg.sender == owner);
        _;
    }

    /**
        @dev allows transferring the contract ownership
        the new owner still needs to accept the transfer
        can only be called by the contract owner

        @param _newOwner    new contract owner
    */
    function transferOwnership(address _newOwner) public ownerOnly {
        require(_newOwner != owner);
        newOwner = _newOwner;
    }

    /**
        @dev used by a new owner to accept an ownership transfer
    */
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

// File: contracts/utility/Utils.sol

/*
    Utilities & Common Modifiers
*/
contract Utils {
    /**
        constructor
    */
    constructor() public {
    }

    // verifies that an amount is greater than zero
    modifier greaterThanZero(uint256 _amount) {
        require(_amount > 0);
        _;
    }

    // validates an address - currently only checks that it isn't null
    modifier validAddress(address _address) {
        require(_address != address(0));
        _;
    }

    // verifies that the address is different than this contract address
    modifier notThis(address _address) {
        require(_address != address(this));
        _;
    }

    // Overflow protected math functions

    /**
        @dev returns the sum of _x and _y, asserts if the calculation overflows

        @param _x   value 1
        @param _y   value 2

        @return sum
    */
    function safeAdd(uint256 _x, uint256 _y) internal pure returns (uint256) {
        uint256 z = _x + _y;
        assert(z >= _x);
        return z;
    }

    /**
        @dev returns the difference of _x minus _y, asserts if the subtraction results in a negative number

        @param _x   minuend
        @param _y   subtrahend

        @return difference
    */
    function safeSub(uint256 _x, uint256 _y) internal pure returns (uint256) {
        assert(_x >= _y);
        return _x - _y;
    }

    /**
        @dev returns the product of multiplying _x by _y, asserts if the calculation overflows

        @param _x   factor 1
        @param _y   factor 2

        @return product
    */
    function safeMul(uint256 _x, uint256 _y) internal pure returns (uint256) {
        uint256 z = _x * _y;
        assert(_x == 0 || z / _x == _y);
        return z;
    }
}

// File: contracts/utility/interfaces/IContractRegistry.sol

/*
    Contract Registry interface
*/
contract IContractRegistry {
    function addressOf(bytes32 _contractName) public view returns (address);

    // deprecated, backward compatibility
    function getAddress(bytes32 _contractName) public view returns (address);
}

// File: contracts/ContractIds.sol

/**
    Id definitions for bancor contracts

    Can be used in conjunction with the contract registry to get contract addresses
*/
contract ContractIds {
    // generic
    bytes32 public constant CONTRACT_FEATURES = "ContractFeatures";
    bytes32 public constant CONTRACT_REGISTRY = "ContractRegistry";

    // bancor logic
    bytes32 public constant BANCOR_NETWORK = "BancorNetwork";
    bytes32 public constant BANCOR_FORMULA = "BancorFormula";
    bytes32 public constant BANCOR_GAS_PRICE_LIMIT = "BancorGasPriceLimit";
    bytes32 public constant BANCOR_CONVERTER_UPGRADER = "BancorConverterUpgrader";
    bytes32 public constant BANCOR_CONVERTER_FACTORY = "BancorConverterFactory";

    // Ids of BNT converter and BNT token
    bytes32 public constant BNT_TOKEN = "BNTToken";
    bytes32 public constant BNT_CONVERTER = "BNTConverter";

    // Id of BancorX contract
    bytes32 public constant BANCOR_X = "BancorX";
}

// File: contracts/utility/ContractRegistry.sol

/**
    Contract Registry

    The contract registry keeps contract addresses by name.
    The owner can update contract addresses so that a contract name always points to the latest version
    of the given contract.
    Other contracts can query the registry to get updated addresses instead of depending on specific
    addresses.

    Note that contract names are limited to 32 bytes UTF8 encoded ASCII strings to optimize gas costs
*/
contract ContractRegistry is IContractRegistry, Owned, Utils, ContractIds {
    struct RegistryItem {
        address contractAddress;    // contract address
        uint256 nameIndex;          // index of the item in the list of contract names
        bool isSet;                 // used to tell if the mapping element is defined
    }

    mapping (bytes32 => RegistryItem) private items;    // name -> RegistryItem mapping
    string[] public contractNames;                      // list of all registered contract names

    // triggered when an address pointed to by a contract name is modified
    event AddressUpdate(bytes32 indexed _contractName, address _contractAddress);

    /**
        @dev constructor
    */
    constructor() public {
        registerAddress(ContractIds.CONTRACT_REGISTRY, address(this));
    }

    /**
        @dev returns the number of items in the registry

        @return number of items
    */
    function itemCount() public view returns (uint256) {
        return contractNames.length;
    }

    /**
        @dev returns the address associated with the given contract name

        @param _contractName    contract name

        @return contract address
    */
    function addressOf(bytes32 _contractName) public view returns (address) {
        return items[_contractName].contractAddress;
    }

    /**
        @dev registers a new address for the contract name in the registry

        @param _contractName     contract name
        @param _contractAddress  contract address
    */
    function registerAddress(bytes32 _contractName, address _contractAddress)
        public
        ownerOnly
        validAddress(_contractAddress)
    {
        require(_contractName.length > 0); // validate input

        // update the address in the registry
        items[_contractName].contractAddress = _contractAddress;

        if (!items[_contractName].isSet) {
            // mark the item as set
            items[_contractName].isSet = true;
            // add the contract name to the name list
            uint256 i = contractNames.push(bytes32ToString(_contractName));
            // update the item's index in the list
            items[_contractName].nameIndex = i - 1;
        }

        // dispatch the address update event
        emit AddressUpdate(_contractName, _contractAddress);
    }

    /**
        @dev removes an existing contract address from the registry

        @param _contractName contract name
    */
    function unregisterAddress(bytes32 _contractName) public ownerOnly {
        require(_contractName.length > 0); // validate input

        // remove the address from the registry
        items[_contractName].contractAddress = address(0);

        // if there are multiple items in the registry, move the last element to the deleted element's position
        // and modify last element's registryItem.nameIndex in the items collection to point to the right position in contractNames
        if (contractNames.length > 1) {
            string memory lastContractNameString = contractNames[contractNames.length - 1];
            uint256 unregisterIndex = items[_contractName].nameIndex;

            contractNames[unregisterIndex] = lastContractNameString;
            bytes32 lastContractName = stringToBytes32(lastContractNameString);
            RegistryItem storage registryItem = items[lastContractName];
            registryItem.nameIndex = unregisterIndex;
        }

        // remove the last element from the name list
        contractNames.length--;
        // zero the deleted element's index
        items[_contractName].nameIndex = 0;

        // dispatch the address update event
        emit AddressUpdate(_contractName, address(0));
    }

    /**
        @dev utility, converts bytes32 to a string
        note that the bytes32 argument is assumed to be UTF8 encoded ASCII string

        @return string representation of the given bytes32 argument
    */
    function bytes32ToString(bytes32 _bytes) private pure returns (string) {
        bytes memory byteArray = new bytes(32);
        for (uint256 i; i < 32; i++) {
            byteArray[i] = _bytes[i];
        }

        return string(byteArray);
    }

    // @dev utility, converts string to bytes32
    function stringToBytes32(string memory _string) private pure returns (bytes32) {
        bytes32 result;
        assembly {
            result := mload(add(_string,32))
        }
        return result;
    }

    // deprecated, backward compatibility
    function getAddress(bytes32 _contractName) public view returns (address) {
        return addressOf(_contractName);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"BANCOR_CONVERTER_UPGRADER","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BNT_TOKEN","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_contractName","type":"bytes32"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_REGISTRY","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contractName","type":"bytes32"}],"name":"unregisterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"contractNames","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANCOR_CONVERTER_FACTORY","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BNT_CONVERTER","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contractName","type":"bytes32"},{"name":"_contractAddress","type":"address"}],"name":"registerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"itemCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANCOR_FORMULA","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CONTRACT_FEATURES","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANCOR_NETWORK","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANCOR_GAS_PRICE_LIMIT","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_contractName","type":"bytes32"}],"name":"addressOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANCOR_X","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_contractName","type":"bytes32"},{"indexed":false,"name":"_contractAddress","type":"address"}],"name":"AddressUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_prevOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]

60806040523480156200001157600080fd5b5060008054600160a060020a03191633179055620000597f436f6e7472616374526567697374727900000000000000000000000000000000306401000000006200005f810204565b620002c2565b60008054600160a060020a031633146200007857600080fd5b81600160a060020a03811615156200008f57600080fd5b60008481526002602081905260409091208054600160a060020a031916600160a060020a038616178155015460ff1615156200013f57600084815260026020819052604090912001805460ff191660011790556003620000f88564010000000062000184810204565b8154600181018084556000938452602093849020835191946200012294919093019201906200021d565b506000858152600260205260409020600019820160019091015591505b60408051600160a060020a0385168152905185917ffc08d1253c81bcd5444fc7056ef1f5a5df4c9220b6fd70d7449267f1f0f29918919081900360200190a250505050565b6040805160208082528183019092526060918291600091808201610400803883390190505091505b60208110156200021657838160208110620001c357fe5b1a7f0100000000000000000000000000000000000000000000000000000000000000028282815181101515620001f557fe5b906020010190600160f860020a031916908160001a905350600101620001ac565b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026057805160ff191683800117855562000290565b8280016001018555821562000290579182015b828111156200029057825182559160200191906001019062000273565b506200029e929150620002a2565b5090565b620002bf91905b808211156200029e5760008155600101620002a9565b90565b610bc480620002d26000396000f3006080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c87355e81146101165780631d000b611461013d57806321f8a7211461015257806325f9bfef146101865780632bbd95301461019b5780633ca6bb92146101b55780635a46f06c1461024257806362614ae614610257578063662de3791461026c5780636bfb0d01146102905780636d7bd3fc146102a557806379ba5097146102ba57806383315b6e146102cf5780638da5cb5b146102e45780639232494e146102f95780639249993a1461030e578063bb34534c14610323578063c4a8598e1461033b578063d4ee1d9014610350578063f2fde38b14610365575b600080fd5b34801561012257600080fd5b5061012b610386565b60408051918252519081900360200190f35b34801561014957600080fd5b5061012b6103aa565b34801561015e57600080fd5b5061016a6004356103ce565b60408051600160a060020a039092168252519081900360200190f35b34801561019257600080fd5b5061012b6103df565b3480156101a757600080fd5b506101b3600435610403565b005b3480156101c157600080fd5b506101cd6004356105cb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102075781810151838201526020016101ef565b50505050905090810190601f1680156102345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024e57600080fd5b5061012b610672565b34801561026357600080fd5b5061012b610696565b34801561027857600080fd5b506101b3600435600160a060020a03602435166106ba565b34801561029c57600080fd5b5061012b6107dc565b3480156102b157600080fd5b5061012b6107e3565b3480156102c657600080fd5b506101b3610807565b3480156102db57600080fd5b5061012b61088f565b3480156102f057600080fd5b5061016a6108b3565b34801561030557600080fd5b5061012b6108c2565b34801561031a57600080fd5b5061012b6108e6565b34801561032f57600080fd5b5061016a60043561090a565b34801561034757600080fd5b5061012b610925565b34801561035c57600080fd5b5061016a610949565b34801561037157600080fd5b506101b3600160a060020a0360043516610958565b7f42616e636f72436f6e766572746572557067726164657200000000000000000081565b7f424e54546f6b656e00000000000000000000000000000000000000000000000081565b60006103d98261090a565b92915050565b7f436f6e747261637452656769737472790000000000000000000000000000000081565b600080546060919081908190600160a060020a0316331461042357600080fd5b6000858152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055600354600110156105685760038054600019810190811061046957fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156104f75780601f106104cc576101008083540402835291602001916104f7565b820191906000526020600020905b8154815290600101906020018083116104da57829003601f168201915b505050600088815260026020526040902060010154600380549498509096508793909250869150811061052657fe5b906000526020600020019080519060200190610543929190610a6d565b5061054d846109b9565b60008181526002602052604090206001810185905590925090505b600380549061057b906000198301610aeb565b50600085815260026020908152604080832060010183905580519283525187927ffc08d1253c81bcd5444fc7056ef1f5a5df4c9220b6fd70d7449267f1f0f2991892908290030190a25050505050565b60038054829081106105d957fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529350909183018282801561066a5780601f1061063f5761010080835404028352916020019161066a565b820191906000526020600020905b81548152906001019060200180831161064d57829003601f168201915b505050505081565b7f42616e636f72436f6e766572746572466163746f72790000000000000000000081565b7f424e54436f6e766572746572000000000000000000000000000000000000000081565b60008054600160a060020a031633146106d257600080fd5b81600160a060020a03811615156106e857600080fd5b6000848152600260208190526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038616178155015460ff16151561079757600084815260026020819052604090912001805460ff191660011790556003610752856109c0565b81546001810180845560009384526020938490208351919461077a9491909301920190610a6d565b506000858152600260205260409020600019820160019091015591505b60408051600160a060020a0385168152905185917ffc08d1253c81bcd5444fc7056ef1f5a5df4c9220b6fd70d7449267f1f0f29918919081900360200190a250505050565b6003545b90565b7f42616e636f72466f726d756c610000000000000000000000000000000000000081565b600154600160a060020a0316331461081e57600080fd5b60015460008054604051600160a060020a0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b7f436f6e747261637446656174757265730000000000000000000000000000000081565b600054600160a060020a031681565b7f42616e636f724e6574776f726b0000000000000000000000000000000000000081565b7f42616e636f7247617350726963654c696d69740000000000000000000000000081565b600090815260026020526040902054600160a060020a031690565b7f42616e636f72580000000000000000000000000000000000000000000000000081565b600154600160a060020a031681565b600054600160a060020a0316331461096f57600080fd5b600054600160a060020a038281169116141561098a57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6020015190565b6040805160208082528183019092526060918291600091808201610400803883390190505091505b6020811015610a66578381602081106109fd57fe5b1a7f0100000000000000000000000000000000000000000000000000000000000000028282815181101515610a2e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001016109e8565b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610aae57805160ff1916838001178555610adb565b82800160010185558215610adb579182015b82811115610adb578251825591602001919060010190610ac0565b50610ae7929150610b14565b5090565b815481835581811115610b0f57600083815260209020610b0f918101908301610b2e565b505050565b6107e091905b80821115610ae75760008155600101610b1a565b6107e091905b80821115610ae7576000610b488282610b51565b50600101610b34565b50805460018160011615610100020316600290046000825580601f10610b775750610b95565b601f016020900490600052602060002090810190610b959190610b14565b505600a165627a7a72305820cd3e000b182ad7232346065f3c16b88629e59a9c082589a00b58e7f1fca33cab0029

Swarm Source

bzzr://cd3e000b182ad7232346065f3c16b88629e59a9c082589a00b58e7f1fca33cab
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.