ETH Price: $1,981.50 (-3.53%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
X Convert122653592021-04-18 17:10:201780 days ago1618765820IN
0x984384E2...Da4B5Ba4b
0.78275741 ETH0.02053505109
Complete X Conve...122160872021-04-11 2:57:161787 days ago1618109836IN
0x984384E2...Da4B5Ba4b
0 ETH0.06506253132.00000145
Complete X Conve...122052612021-04-09 11:03:511789 days ago1617966231IN
0x984384E2...Da4B5Ba4b
0 ETH0.0458116594
Complete X Conve...119738232021-03-04 20:00:581825 days ago1614888058IN
0x984384E2...Da4B5Ba4b
0 ETH0.0433748689
Complete X Conve...119310972021-02-26 6:05:381831 days ago1614319538IN
0x984384E2...Da4B5Ba4b
0 ETH0.07017969144
Complete X Conve...117801912021-02-03 0:59:441854 days ago1612313984IN
0x984384E2...Da4B5Ba4b
0 ETH0.05604617115
Complete X Conve...117055432021-01-22 13:22:401866 days ago1611321760IN
0x984384E2...Da4B5Ba4b
0 ETH0.0453730293.1
X Convert115699472021-01-01 17:59:461887 days ago1609523986IN
0x984384E2...Da4B5Ba4b
5 ETH0.0175746295.00000145
X Convert114896802020-12-20 10:24:161899 days ago1608459856IN
0x984384E2...Da4B5Ba4b
0.2 ETH0.0049449426.73
Complete X Conve...114893852020-12-20 9:23:391899 days ago1608456219IN
0x984384E2...Da4B5Ba4b
0 ETH0.0113115723.21
X Convert114743482020-12-18 2:06:211901 days ago1608257181IN
0x984384E2...Da4B5Ba4b
4 ETH0.0154190484
X Convert114296112020-12-11 4:56:331908 days ago1607662593IN
0x984384E2...Da4B5Ba4b
7 ETH0.0054334423.1
X Convert114290822020-12-11 3:01:431908 days ago1607655703IN
0x984384E2...Da4B5Ba4b
2 ETH0.0107733545.80000023
Complete X Conve...113725812020-12-02 10:43:561917 days ago1606905836IN
0x984384E2...Da4B5Ba4b
0 ETH0.0117940824.2
Complete X Conve...113135522020-11-23 9:04:391926 days ago1606122279IN
0x984384E2...Da4B5Ba4b
0 ETH0.026804855
Complete X Conve...112366612020-11-11 13:43:341938 days ago1605102214IN
0x984384E2...Da4B5Ba4b
0 ETH0.0075053215.4
X Convert112194442020-11-08 22:19:031940 days ago1604873943IN
0x984384E2...Da4B5Ba4b
0.00561488 ETH0.0039367116.5
Complete X Conve...111865332020-11-03 21:09:331946 days ago1604437773IN
0x984384E2...Da4B5Ba4b
0 ETH0.0085775117.6
Complete X Conve...110049932020-10-06 22:54:271973 days ago1602024867IN
0x984384E2...Da4B5Ba4b
0 ETH0.0253433452
X Convert110030242020-10-06 15:35:121974 days ago1601998512IN
0x984384E2...Da4B5Ba4b
4 ETH0.03360828153
Complete X Conve...109948722020-10-05 9:18:351975 days ago1601889515IN
0x984384E2...Da4B5Ba4b
0 ETH0.033145368
Complete X Conve...109717892020-10-01 18:26:381979 days ago1601576798IN
0x984384E2...Da4B5Ba4b
0 ETH0.0414293485
X Convert109713062020-10-01 16:48:321979 days ago1601570912IN
0x984384E2...Da4B5Ba4b
20 ETH0.04437899202
X Convert109689842020-10-01 8:02:531979 days ago1601539373IN
0x984384E2...Da4B5Ba4b
1 ETH0.0147173567
Complete X Conve...109635852020-09-30 11:53:541980 days ago1601466834IN
0x984384E2...Da4B5Ba4b
0 ETH0.0394771381.00000148
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-122653592021-04-18 17:10:201780 days ago1618765820
0x984384E2...Da4B5Ba4b
0.78275741 ETH
-115699472021-01-01 17:59:461887 days ago1609523986
0x984384E2...Da4B5Ba4b
5 ETH
-114896802020-12-20 10:24:161899 days ago1608459856
0x984384E2...Da4B5Ba4b
0.2 ETH
-114743482020-12-18 2:06:211901 days ago1608257181
0x984384E2...Da4B5Ba4b
4 ETH
-114296112020-12-11 4:56:331908 days ago1607662593
0x984384E2...Da4B5Ba4b
7 ETH
-114290822020-12-11 3:01:431908 days ago1607655703
0x984384E2...Da4B5Ba4b
2 ETH
-112194442020-11-08 22:19:031940 days ago1604873943
0x984384E2...Da4B5Ba4b
0.00561488 ETH
-110030242020-10-06 15:35:121974 days ago1601998512
0x984384E2...Da4B5Ba4b
4 ETH
-109713062020-10-01 16:48:321979 days ago1601570912
0x984384E2...Da4B5Ba4b
20 ETH
-109689842020-10-01 8:02:531979 days ago1601539373
0x984384E2...Da4B5Ba4b
1 ETH
-108855142020-09-18 10:08:511992 days ago1600423731
0x984384E2...Da4B5Ba4b
12 ETH
-107859192020-09-03 3:25:262007 days ago1599103526
0x984384E2...Da4B5Ba4b
2 ETH
-107764002020-09-01 16:32:162009 days ago1598977936
0x984384E2...Da4B5Ba4b
10 ETH
-107657942020-08-31 1:45:312010 days ago1598838331
0x984384E2...Da4B5Ba4b
8 ETH
-107644642020-08-30 20:50:552011 days ago1598820655
0x984384E2...Da4B5Ba4b
8 ETH
-107610232020-08-30 8:08:412011 days ago1598774921
0x984384E2...Da4B5Ba4b
7 ETH
-106891012020-08-19 7:04:232022 days ago1597820663
0x984384E2...Da4B5Ba4b
0.01 ETH
-106890632020-08-19 6:54:302022 days ago1597820070
0x984384E2...Da4B5Ba4b
0.3 ETH
-106890262020-08-19 6:44:342022 days ago1597819474
0x984384E2...Da4B5Ba4b
3 ETH
-106884302020-08-19 4:33:032022 days ago1597811583
0x984384E2...Da4B5Ba4b
6 ETH
-106880322020-08-19 3:05:052022 days ago1597806305
0x984384E2...Da4B5Ba4b
6 ETH
-106448642020-08-12 11:27:232029 days ago1597231643
0x984384E2...Da4B5Ba4b
1.5 ETH
-106448082020-08-12 11:15:302029 days ago1597230930
0x984384E2...Da4B5Ba4b
4 ETH
-106447442020-08-12 11:01:502029 days ago1597230110
0x984384E2...Da4B5Ba4b
5 ETH
-105713312020-08-01 3:14:432040 days ago1596251683
0x984384E2...Da4B5Ba4b
4.9 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BancorXHelper

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-05-29
*/

// File: contracts/token/interfaces/IERC20Token.sol

pragma solidity 0.4.26;

/*
    ERC20 Standard Token interface
*/
contract IERC20Token {
    // these functions aren't abstract since the compiler emits automatically generated getter functions as external
    function name() public view returns (string) {this;}
    function symbol() public view returns (string) {this;}
    function decimals() public view returns (uint8) {this;}
    function totalSupply() public view returns (uint256) {this;}
    function balanceOf(address _owner) public view returns (uint256) {_owner; this;}
    function allowance(address _owner, address _spender) public view returns (uint256) {_owner; _spender; this;}

    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
}

// File: contracts/IBancorNetwork.sol

pragma solidity 0.4.26;


/*
    Bancor Network interface
*/
contract IBancorNetwork {
    function convert2(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _affiliateAccount,
        uint256 _affiliateFee
    ) public payable returns (uint256);

    function claimAndConvert2(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _affiliateAccount,
        uint256 _affiliateFee
    ) public returns (uint256);

    function convertFor2(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        address _affiliateAccount,
        uint256 _affiliateFee
    ) public payable returns (uint256);

    function claimAndConvertFor2(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        address _affiliateAccount,
        uint256 _affiliateFee
    ) public returns (uint256);

    // deprecated, backward compatibility
    function convert(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn
    ) public payable returns (uint256);

    // deprecated, backward compatibility
    function claimAndConvert(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn
    ) public returns (uint256);

    // deprecated, backward compatibility
    function convertFor(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for
    ) public payable returns (uint256);

    // deprecated, backward compatibility
    function claimAndConvertFor(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for
    ) public returns (uint256);

    // deprecated, backward compatibility
    function convertForPrioritized4(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        uint256[] memory _signature,
        address _affiliateAccount,
        uint256 _affiliateFee
    ) public payable returns (uint256);

    // deprecated, backward compatibility
    function convertForPrioritized3(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        uint256 _customVal,
        uint256 _block,
        uint8 _v,
        bytes32 _r,
        bytes32 _s
    ) public payable returns (uint256);

    // deprecated, backward compatibility
    function convertForPrioritized2(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        uint256 _block,
        uint8 _v,
        bytes32 _r,
        bytes32 _s
    ) public payable returns (uint256);

    // deprecated, backward compatibility
    function convertForPrioritized(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        address _for,
        uint256 _block,
        uint256 _nonce,
        uint8 _v,
        bytes32 _r,
        bytes32 _s
    ) public payable returns (uint256);
}

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

pragma solidity 0.4.26;

/*
    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) {this;}

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

// File: contracts/utility/Owned.sol

pragma solidity 0.4.26;


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

    /**
      * @dev triggered when the owner is updated
      * 
      * @param _prevOwner previous owner
      * @param _newOwner  new owner
    */
    event OwnerUpdate(address indexed _prevOwner, address indexed _newOwner);

    /**
      * @dev initializes a new Owned instance
    */
    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

pragma solidity 0.4.26;

/**
  * @dev 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));
        _;
    }

}

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

pragma solidity 0.4.26;

/*
    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/utility/ContractRegistryClient.sol

pragma solidity 0.4.26;




/**
  * @dev Base contract for ContractRegistry clients
*/
contract ContractRegistryClient is Owned, Utils {
    bytes32 internal constant CONTRACT_FEATURES = "ContractFeatures";
    bytes32 internal constant CONTRACT_REGISTRY = "ContractRegistry";
    bytes32 internal constant BANCOR_NETWORK = "BancorNetwork";
    bytes32 internal constant BANCOR_FORMULA = "BancorFormula";
    bytes32 internal constant BANCOR_CONVERTER_FACTORY = "BancorConverterFactory";
    bytes32 internal constant BANCOR_CONVERTER_UPGRADER = "BancorConverterUpgrader";
    bytes32 internal constant BANCOR_CONVERTER_REGISTRY = "BancorConverterRegistry";
    bytes32 internal constant BANCOR_CONVERTER_REGISTRY_DATA = "BancorConverterRegistryData";
    bytes32 internal constant BNT_TOKEN = "BNTToken";
    bytes32 internal constant BANCOR_X = "BancorX";
    bytes32 internal constant BANCOR_X_UPGRADER = "BancorXUpgrader";

    IContractRegistry public registry;      // address of the current contract-registry
    IContractRegistry public prevRegistry;  // address of the previous contract-registry
    bool public onlyOwnerCanUpdateRegistry; // only an owner can update the contract-registry

    /**
      * @dev verifies that the caller is mapped to the given contract name
      * 
      * @param _contractName    contract name
    */
    modifier only(bytes32 _contractName) {
        require(msg.sender == addressOf(_contractName));
        _;
    }

    /**
      * @dev initializes a new ContractRegistryClient instance
      * 
      * @param  _registry   address of a contract-registry contract
    */
    constructor(IContractRegistry _registry) internal validAddress(_registry) {
        registry = IContractRegistry(_registry);
        prevRegistry = IContractRegistry(_registry);
    }

    /**
      * @dev updates to the new contract-registry
     */
    function updateRegistry() public {
        // verify that this function is permitted
        require(msg.sender == owner || !onlyOwnerCanUpdateRegistry);

        // get the new contract-registry
        address newRegistry = addressOf(CONTRACT_REGISTRY);

        // verify that the new contract-registry is different and not zero
        require(newRegistry != address(registry) && newRegistry != address(0));

        // verify that the new contract-registry is pointing to a non-zero contract-registry
        require(IContractRegistry(newRegistry).addressOf(CONTRACT_REGISTRY) != address(0));

        // save a backup of the current contract-registry before replacing it
        prevRegistry = registry;

        // replace the current contract-registry with the new contract-registry
        registry = IContractRegistry(newRegistry);
    }

    /**
      * @dev restores the previous contract-registry
    */
    function restoreRegistry() public ownerOnly {
        // restore the previous contract-registry
        registry = prevRegistry;
    }

    /**
      * @dev restricts the permission to update the contract-registry
      * 
      * @param _onlyOwnerCanUpdateRegistry  indicates whether or not permission is restricted to owner only
    */
    function restrictRegistryUpdate(bool _onlyOwnerCanUpdateRegistry) ownerOnly public {
        // change the permission to update the contract-registry
        onlyOwnerCanUpdateRegistry = _onlyOwnerCanUpdateRegistry;
    }

    /**
      * @dev returns the address associated with the given contract name
      * 
      * @param _contractName    contract name
      * 
      * @return contract address
    */
    function addressOf(bytes32 _contractName) internal view returns (address) {
        return registry.addressOf(_contractName);
    }
}

// File: contracts/bancorx/interfaces/IBancorX.sol

pragma solidity 0.4.26;

contract IBancorX {
    function xTransfer(bytes32 _toBlockchain, bytes32 _to, uint256 _amount, uint256 _id) public;
    function getXTransferAmount(uint256 _xTransferId, address _for) public view returns (uint256);
}

// File: contracts/converter/BancorXHelper.sol

pragma solidity 0.4.26;




/**
  * @dev BancorX Helper
  * 
*/
contract BancorXHelper is ContractRegistryClient {
    constructor(IContractRegistry _registry) ContractRegistryClient(_registry) public {
    }

    /**
      * @dev converts any other token to BNT in the bancor network
      * by following a predefined conversion path and transfers the resulting
      * tokens to BancorX.
      * note that the contract should already have been given allowance for the source token (if not ETH)
      * 
      * @param _path                conversion path, see conversion path format above
      * @param _amount              amount to convert from (in the initial source token)
      * @param _minReturn           if the conversion results in an amount smaller than the minimum return - it is cancelled, must be nonzero
      * @param _toBlockchain        blockchain BNT will be issued on
      * @param _to                  address/account on _toBlockchain to send the BNT to
      * @param _conversionId        pre-determined unique (if non zero) id which refers to this transaction 
      * @param _affiliateAccount    affiliate account
      * @param _affiliateFee        affiliate fee in PPM
      * 
      * @return the amount of BNT received from this conversion
    */
    function xConvert(
        IERC20Token[] _path,
        uint256 _amount,
        uint256 _minReturn,
        bytes32 _toBlockchain,
        bytes32 _to,
        uint256 _conversionId,
        address _affiliateAccount,
        uint256 _affiliateFee
    )
        public
        payable
        returns (uint256)
    {
        IBancorX bancorX = IBancorX(addressOf(BANCOR_X));
        IBancorNetwork bancorNetwork = IBancorNetwork(addressOf(BANCOR_NETWORK));
        IERC20Token targetToken = _path[_path.length - 1];

        // verify that the destination token is BNT
        require(targetToken == addressOf(BNT_TOKEN));

        // we need to transfer the source tokens from the caller to the BancorNetwork contract,
        // so it can execute the conversion on behalf of the caller

        // not ETH, transfer the tokens directly to the BancorNetwork contract
        if (msg.value == 0)
            require(_path[0].transferFrom(msg.sender, bancorNetwork, _amount));

        // execute the conversion and pass on the ETH with the call
        uint256 result = bancorNetwork.convertFor2.value(msg.value)(_path, _amount, _minReturn, this, _affiliateAccount, _affiliateFee);

        // grant BancorX allowance
        ensureAllowance(targetToken, bancorX, result);

        // transfer the resulting amount to BancorX
        IBancorX(bancorX).xTransfer(_toBlockchain, _to, result, _conversionId);

        return result;
    }

    /**
      * @dev allows a user to convert BNT that was sent from another blockchain into any other
      * token on the Bancor Network without specifying the amount of BNT to be converted, but
      * rather by providing the xTransferId which allows us to get the amount from BancorX.
      * 
      * @param _path            conversion path, see conversion path format in the BancorNetwork contract
      * @param _minReturn       if the conversion results in an amount smaller than the minimum return - it is cancelled, must be nonzero
      * @param _conversionId    pre-determined unique (if non zero) id which refers to this transaction 
      * 
      * @return tokens issued in return
    */
    function completeXConversion(IERC20Token[] _path, uint256 _minReturn, uint256 _conversionId) public returns (uint256) {
        IBancorX bancorX = IBancorX(addressOf(BANCOR_X));
        IBancorNetwork bancorNetwork = IBancorNetwork(addressOf(BANCOR_NETWORK));

        // verify that the source token is BNT
        require(_path[0] == addressOf(BNT_TOKEN));

        // get conversion amount from BancorX contract
        uint256 amount = bancorX.getXTransferAmount(_conversionId, msg.sender);

        // transfer the tokens directly to the BancorNetwork contract
        require(_path[0].transferFrom(msg.sender, bancorNetwork, amount));

        // execute the conversion and transfer the result back to the sender
        return bancorNetwork.convertFor2(_path, amount, _minReturn, msg.sender, address(0), 0);
    }

    /**
      * @dev utility, checks whether allowance for the given spender exists and approves one if it doesn't.
      * Note that we use the non standard erc-20 interface in which `approve` has no return value so that
      * this function will work for both standard and non standard tokens
      * 
      * @param _token   token to check the allowance in
      * @param _spender approved address
      * @param _value   allowance amount
    */
    function ensureAllowance(IERC20Token _token, address _spender, uint256 _value) private {
        uint256 allowance = _token.allowance(this, _spender);
        if (allowance < _value) {
            if (allowance > 0)
                require(_token.approve(_spender, 0));
            require(_token.approve(_spender, _value));
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_onlyOwnerCanUpdateRegistry","type":"bool"}],"name":"restrictRegistryUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"onlyOwnerCanUpdateRegistry","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"updateRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_path","type":"address[]"},{"name":"_amount","type":"uint256"},{"name":"_minReturn","type":"uint256"},{"name":"_toBlockchain","type":"bytes32"},{"name":"_to","type":"bytes32"},{"name":"_conversionId","type":"uint256"},{"name":"_affiliateAccount","type":"address"},{"name":"_affiliateFee","type":"uint256"}],"name":"xConvert","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"prevRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_path","type":"address[]"},{"name":"_minReturn","type":"uint256"},{"name":"_conversionId","type":"uint256"}],"name":"completeXConversion","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"restoreRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","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":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_prevOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]

608060405234801561001057600080fd5b50604051602080610fa6833981016040525160008054600160a060020a031916331790558080600160a060020a038116151561004b57600080fd5b5060028054600160a060020a03909216600160a060020a031992831681179091556003805490921617905550610f20806100866000396000f3006080604052600436106100a05763ffffffff60e060020a600035041663024c7ec781146100a55780632fe8a6ad146100c157806349d10b64146100ea5780635016f7aa146100ff57806361cd756e1461018557806379ba5097146101b65780637b103999146101cb5780638c7b56da146101e05780638da5cb5b1461023e578063b4a176d314610253578063d4ee1d9014610268578063f2fde38b1461027d575b600080fd5b3480156100b157600080fd5b506100bf600435151561029e565b005b3480156100cd57600080fd5b506100d66102f5565b604080519115158252519081900360200190f35b3480156100f657600080fd5b506100bf610316565b6040805160206004803580820135838102808601850190965280855261017395369593946024949385019291829185019084908082843750949750508435955050506020830135926040810135925060608101359150608081013590600160a060020a0360a0820135169060c001356104b4565b60408051918252519081900360200190f35b34801561019157600080fd5b5061019a6107ef565b60408051600160a060020a039092168252519081900360200190f35b3480156101c257600080fd5b506100bf6107fe565b3480156101d757600080fd5b5061019a610886565b3480156101ec57600080fd5b5060408051602060048035808201358381028086018501909652808552610173953695939460249493850192918291850190849080828437509497505084359550505060209092013591506108959050565b34801561024a57600080fd5b5061019a610bb0565b34801561025f57600080fd5b506100bf610bbf565b34801561027457600080fd5b5061019a610c07565b34801561028957600080fd5b506100bf600160a060020a0360043516610c16565b600054600160a060020a031633146102b557600080fd5b60038054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b60035474010000000000000000000000000000000000000000900460ff1681565b60008054600160a060020a031633148061034b575060035474010000000000000000000000000000000000000000900460ff16155b151561035657600080fd5b61037f7f436f6e7472616374526567697374727900000000000000000000000000000000610c77565b600254909150600160a060020a038083169116148015906103a85750600160a060020a03811615155b15156103b357600080fd5b604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f436f6e747261637452656769737472790000000000000000000000000000000060048201529051600091600160a060020a0384169163bb34534c9160248082019260209290919082900301818787803b15801561043757600080fd5b505af115801561044b573d6000803e3d6000fd5b505050506040513d602081101561046157600080fd5b5051600160a060020a0316141561047757600080fd5b6002805460038054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff19928316179092559091169216919091179055565b60008060008060006104e57f42616e636f725800000000000000000000000000000000000000000000000000610c77565b93506105107f42616e636f724e6574776f726b00000000000000000000000000000000000000610c77565b92508c60018e510381518110151561052457fe5b9060200190602002015191506105597f424e54546f6b656e000000000000000000000000000000000000000000000000610c77565b600160a060020a0383811691161461057057600080fd5b341515610643578c600081518110151561058657fe5b90602001906020020151600160a060020a03166323b872dd33858f6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b15801561060c57600080fd5b505af1158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b5051151561064357600080fd5b82600160a060020a031663ab6214ce348f8f8f308d8d6040518863ffffffff1660e060020a028152600401808060200187815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a03168152602001838152602001828103825288818151815260200191508051906020019060200280838360005b838110156106ed5781810151838201526020016106d5565b505050509050019750505050505050506020604051808303818588803b15801561071657600080fd5b505af115801561072a573d6000803e3d6000fd5b50505050506040513d602081101561074157600080fd5b50519050610750828583610d0f565b604080517f427c0374000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905260448101839052606481018a90529051600160a060020a0386169163427c037491608480830192600092919082900301818387803b1580156107c657600080fd5b505af11580156107da573d6000803e3d6000fd5b50929f9e505050505050505050505050505050565b600354600160a060020a031681565b600154600160a060020a0316331461081557600080fd5b60015460008054604051600160a060020a0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a031681565b6000806000806108c47f42616e636f725800000000000000000000000000000000000000000000000000610c77565b92506108ef7f42616e636f724e6574776f726b00000000000000000000000000000000000000610c77565b915061091a7f424e54546f6b656e000000000000000000000000000000000000000000000000610c77565b600160a060020a031687600081518110151561093257fe5b60209081029091010151600160a060020a03161461094f57600080fd5b604080517faafd6b76000000000000000000000000000000000000000000000000000000008152600481018790523360248201529051600160a060020a0385169163aafd6b769160448083019260209291908290030181600087803b1580156109b757600080fd5b505af11580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50518751909150879060009081106109f557fe5b6020908102909101810151604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03868116602483015260448201869052915191909216926323b872dd92606480820193918290030181600087803b158015610a6e57600080fd5b505af1158015610a82573d6000803e3d6000fd5b505050506040513d6020811015610a9857600080fd5b50511515610aa557600080fd5b81600160a060020a031663ab6214ce888389336000806040518763ffffffff1660e060020a028152600401808060200187815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a03168152602001838152602001828103825288818151815260200191508051906020019060200280838360005b83811015610b4f578181015183820152602001610b37565b50505050905001975050505050505050602060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b505050506040513d6020811015610ba357600080fd5b5051979650505050505050565b600054600160a060020a031681565b600054600160a060020a03163314610bd657600080fd5b6003546002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a031681565b600054600160a060020a03163314610c2d57600080fd5b600054600160a060020a0382811691161415610c4857600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254604080517fbb34534c000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163bb34534c91602480830192602092919082900301818787803b158015610cdd57600080fd5b505af1158015610cf1573d6000803e3d6000fd5b505050506040513d6020811015610d0757600080fd5b505192915050565b604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a038481166024830152915160009286169163dd62ed3e91604480830192602092919082900301818787803b158015610d7a57600080fd5b505af1158015610d8e573d6000803e3d6000fd5b505050506040513d6020811015610da457600080fd5b5051905081811015610eee576000811115610e545783600160a060020a031663095ea7b38460006040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610e1d57600080fd5b505af1158015610e31573d6000803e3d6000fd5b505050506040513d6020811015610e4757600080fd5b50511515610e5457600080fd5b83600160a060020a031663095ea7b384846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610eb757600080fd5b505af1158015610ecb573d6000803e3d6000fd5b505050506040513d6020811015610ee157600080fd5b50511515610eee57600080fd5b505050505600a165627a7a7230582046037d8ada9fbd111fe793899422c7abc917111f212a27816e48f5c560d71ac1002900000000000000000000000052ae12abe5d8bd778bd5397f99ca900624cfadd4

Deployed Bytecode

0x6080604052600436106100a05763ffffffff60e060020a600035041663024c7ec781146100a55780632fe8a6ad146100c157806349d10b64146100ea5780635016f7aa146100ff57806361cd756e1461018557806379ba5097146101b65780637b103999146101cb5780638c7b56da146101e05780638da5cb5b1461023e578063b4a176d314610253578063d4ee1d9014610268578063f2fde38b1461027d575b600080fd5b3480156100b157600080fd5b506100bf600435151561029e565b005b3480156100cd57600080fd5b506100d66102f5565b604080519115158252519081900360200190f35b3480156100f657600080fd5b506100bf610316565b6040805160206004803580820135838102808601850190965280855261017395369593946024949385019291829185019084908082843750949750508435955050506020830135926040810135925060608101359150608081013590600160a060020a0360a0820135169060c001356104b4565b60408051918252519081900360200190f35b34801561019157600080fd5b5061019a6107ef565b60408051600160a060020a039092168252519081900360200190f35b3480156101c257600080fd5b506100bf6107fe565b3480156101d757600080fd5b5061019a610886565b3480156101ec57600080fd5b5060408051602060048035808201358381028086018501909652808552610173953695939460249493850192918291850190849080828437509497505084359550505060209092013591506108959050565b34801561024a57600080fd5b5061019a610bb0565b34801561025f57600080fd5b506100bf610bbf565b34801561027457600080fd5b5061019a610c07565b34801561028957600080fd5b506100bf600160a060020a0360043516610c16565b600054600160a060020a031633146102b557600080fd5b60038054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b60035474010000000000000000000000000000000000000000900460ff1681565b60008054600160a060020a031633148061034b575060035474010000000000000000000000000000000000000000900460ff16155b151561035657600080fd5b61037f7f436f6e7472616374526567697374727900000000000000000000000000000000610c77565b600254909150600160a060020a038083169116148015906103a85750600160a060020a03811615155b15156103b357600080fd5b604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f436f6e747261637452656769737472790000000000000000000000000000000060048201529051600091600160a060020a0384169163bb34534c9160248082019260209290919082900301818787803b15801561043757600080fd5b505af115801561044b573d6000803e3d6000fd5b505050506040513d602081101561046157600080fd5b5051600160a060020a0316141561047757600080fd5b6002805460038054600160a060020a0380841673ffffffffffffffffffffffffffffffffffffffff19928316179092559091169216919091179055565b60008060008060006104e57f42616e636f725800000000000000000000000000000000000000000000000000610c77565b93506105107f42616e636f724e6574776f726b00000000000000000000000000000000000000610c77565b92508c60018e510381518110151561052457fe5b9060200190602002015191506105597f424e54546f6b656e000000000000000000000000000000000000000000000000610c77565b600160a060020a0383811691161461057057600080fd5b341515610643578c600081518110151561058657fe5b90602001906020020151600160a060020a03166323b872dd33858f6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050602060405180830381600087803b15801561060c57600080fd5b505af1158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b5051151561064357600080fd5b82600160a060020a031663ab6214ce348f8f8f308d8d6040518863ffffffff1660e060020a028152600401808060200187815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a03168152602001838152602001828103825288818151815260200191508051906020019060200280838360005b838110156106ed5781810151838201526020016106d5565b505050509050019750505050505050506020604051808303818588803b15801561071657600080fd5b505af115801561072a573d6000803e3d6000fd5b50505050506040513d602081101561074157600080fd5b50519050610750828583610d0f565b604080517f427c0374000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905260448101839052606481018a90529051600160a060020a0386169163427c037491608480830192600092919082900301818387803b1580156107c657600080fd5b505af11580156107da573d6000803e3d6000fd5b50929f9e505050505050505050505050505050565b600354600160a060020a031681565b600154600160a060020a0316331461081557600080fd5b60015460008054604051600160a060020a0393841693909116917f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a031681565b6000806000806108c47f42616e636f725800000000000000000000000000000000000000000000000000610c77565b92506108ef7f42616e636f724e6574776f726b00000000000000000000000000000000000000610c77565b915061091a7f424e54546f6b656e000000000000000000000000000000000000000000000000610c77565b600160a060020a031687600081518110151561093257fe5b60209081029091010151600160a060020a03161461094f57600080fd5b604080517faafd6b76000000000000000000000000000000000000000000000000000000008152600481018790523360248201529051600160a060020a0385169163aafd6b769160448083019260209291908290030181600087803b1580156109b757600080fd5b505af11580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b50518751909150879060009081106109f557fe5b6020908102909101810151604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03868116602483015260448201869052915191909216926323b872dd92606480820193918290030181600087803b158015610a6e57600080fd5b505af1158015610a82573d6000803e3d6000fd5b505050506040513d6020811015610a9857600080fd5b50511515610aa557600080fd5b81600160a060020a031663ab6214ce888389336000806040518763ffffffff1660e060020a028152600401808060200187815260200186815260200185600160a060020a0316600160a060020a0316815260200184600160a060020a0316600160a060020a03168152602001838152602001828103825288818151815260200191508051906020019060200280838360005b83811015610b4f578181015183820152602001610b37565b50505050905001975050505050505050602060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b505050506040513d6020811015610ba357600080fd5b5051979650505050505050565b600054600160a060020a031681565b600054600160a060020a03163314610bd657600080fd5b6003546002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a031681565b600054600160a060020a03163314610c2d57600080fd5b600054600160a060020a0382811691161415610c4857600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600254604080517fbb34534c000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163bb34534c91602480830192602092919082900301818787803b158015610cdd57600080fd5b505af1158015610cf1573d6000803e3d6000fd5b505050506040513d6020811015610d0757600080fd5b505192915050565b604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a038481166024830152915160009286169163dd62ed3e91604480830192602092919082900301818787803b158015610d7a57600080fd5b505af1158015610d8e573d6000803e3d6000fd5b505050506040513d6020811015610da457600080fd5b5051905081811015610eee576000811115610e545783600160a060020a031663095ea7b38460006040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610e1d57600080fd5b505af1158015610e31573d6000803e3d6000fd5b505050506040513d6020811015610e4757600080fd5b50511515610e5457600080fd5b83600160a060020a031663095ea7b384846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610eb757600080fd5b505af1158015610ecb573d6000803e3d6000fd5b505050506040513d6020811015610ee157600080fd5b50511515610eee57600080fd5b505050505600a165627a7a7230582046037d8ada9fbd111fe793899422c7abc917111f212a27816e48f5c560d71ac10029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000052ae12abe5d8bd778bd5397f99ca900624cfadd4

-----Decoded View---------------
Arg [0] : _registry (address): 0x52Ae12ABe5D8BD778BD5397F99cA900624CfADD4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000052ae12abe5d8bd778bd5397f99ca900624cfadd4


Deployed Bytecode Sourcemap

11403:5088:0:-;;;;;;;;;-1:-1:-1;;;11403:5088:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10411:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10411:224:0;;;;;;;;;8322:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8322:38:0;;;;;;;;;;;;;;;;;;;;;;9115:865;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9115:865:0;;;;12643:1474;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12643:1474:0;;-1:-1:-1;;12643:1474:0;;;-1:-1:-1;;;12643:1474:0;;;;;;;;;;-1:-1:-1;12643:1474:0;;;;;-1:-1:-1;12643:1474:0;;;;;-1:-1:-1;;;;;12643:1474:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8232:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8232:37:0;;;;;;;;-1:-1:-1;;;;;8232:37:0;;;;;;;;;;;;;;5840:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5840:187:0;;;;8143:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8143:33:0;;;;14839:835;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14839:835:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14839:835:0;;-1:-1:-1;;14839:835:0;;;-1:-1:-1;;;14839:835:0;;;;;;-1:-1:-1;14839:835:0;;-1:-1:-1;14839:835:0;4814:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:20:0;;;;10059:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10059:137:0;;;;4841:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4841:23:0;;;;5609:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5609:140:0;-1:-1:-1;;;;;5609:140:0;;;;;10411:224;5335:5;;-1:-1:-1;;;;;5335:5:0;5321:10;:19;5313:28;;;;;;10571:26;:56;;;;;;;-1:-1:-1;;10571:56:0;;;;;;;;;10411:224::o;8322:38::-;;;;;;;;;:::o;9115:865::-;9324:19;9232:5;;-1:-1:-1;;;;;9232:5:0;9218:10;:19;;:50;;-1:-1:-1;9242:26:0;;;;;;;9241:27;9218:50;9210:59;;;;;;;;9346:28;9356:17;9346:9;:28::i;:::-;9494:8;;9324:50;;-1:-1:-1;;;;;;9471:32:0;;;9494:8;;9471:32;;;;:61;;-1:-1:-1;;;;;;9507:25:0;;;;9471:61;9463:70;;;;;;;;9648:59;;;;;;9689:17;9648:59;;;;;;9719:1;;-1:-1:-1;;;;;9648:40:0;;;;;:59;;;;;;;;;;;;;;;9719:1;9648:40;:59;;;5:2:-1;;;;30:1;27;20:12;5:2;9648:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9648:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9648:59:0;-1:-1:-1;;;;;9648:73:0;;;9640:82;;;;;;9829:8;;;9814:12;:23;;-1:-1:-1;;;;;9829:8:0;;;-1:-1:-1;;9814:23:0;;;;;;;9931:41;;;;;;;;;;;9115:865::o;12643:1474::-;12958:7;12983:16;13042:28;13125:23;13726:14;13011:19;13021:8;13011:9;:19::i;:::-;12983:48;;13088:25;13098:14;13088:9;:25::i;:::-;13042:72;;13151:5;13172:1;13157:5;:12;:16;13151:23;;;;;;;;;;;;;;;;;;13125:49;;13263:20;13273:9;13263;:20::i;:::-;-1:-1:-1;;;;;13248:35:0;;;;;;13240:44;;;;;;13549:9;:14;13545:99;;;13586:5;13592:1;13586:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13586:21:0;;13608:10;13620:13;13635:7;13586:57;;;;;-1:-1:-1;;;13586:57:0;;;;;;;-1:-1:-1;;;;;13586:57:0;-1:-1:-1;;;;;13586:57:0;;;;;;-1:-1:-1;;;;;13586:57:0;-1:-1:-1;;;;;13586:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13586:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13586:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13586:57:0;13578:66;;;;;;;;13743:13;-1:-1:-1;;;;;13743:25:0;;13775:9;13786:5;13793:7;13802:10;13814:4;13820:17;13839:13;13743:110;;;;;-1:-1:-1;;;13743:110:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13743:110:0;-1:-1:-1;;;;;13743:110:0;;;;;;-1:-1:-1;;;;;13743:110:0;-1:-1:-1;;;;;13743:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13743:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13743:110:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13743:110:0;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13743:110:0;;-1:-1:-1;13902:45:0;13918:11;13931:7;13743:110;13902:15;:45::i;:::-;14013:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14013:27:0;;;;;:70;;;;;;;;;;;;;;;:27;:70;;;5:2:-1;;;;30:1;27;20:12;5:2;14013:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;14103:6:0;;12643:1474;-1:-1:-1;;;;;;;;;;;;;;;12643:1474:0:o;8232:37::-;;;-1:-1:-1;;;;;8232:37:0;;:::o;5840:187::-;5907:8;;-1:-1:-1;;;;;5907:8:0;5893:10;:22;5885:31;;;;;;5951:8;;;5944:5;;5932:28;;-1:-1:-1;;;;;5951:8:0;;;;5944:5;;;;5932:28;;;5979:8;;;;5971:16;;-1:-1:-1;;5971:16:0;;;-1:-1:-1;;;;;5979:8:0;;5971:16;;;;5998:21;;;5840:187::o;8143:33::-;;;-1:-1:-1;;;;;8143:33:0;;:::o;14839:835::-;14948:7;14968:16;15027:28;15270:14;14996:19;15006:8;14996:9;:19::i;:::-;14968:48;;15073:25;15083:14;15073:9;:25::i;:::-;15027:72;;15180:20;15190:9;15180;:20::i;:::-;-1:-1:-1;;;;;15168:32:0;:5;15174:1;15168:8;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15168:32:0;;15160:41;;;;;;15287:53;;;;;;;;;;;;15329:10;15287:53;;;;;;-1:-1:-1;;;;;15287:26:0;;;;;:53;;;;;;;;;;;;;;-1:-1:-1;15287:26:0;:53;;;5:2:-1;;;;30:1;27;20:12;5:2;15287:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15287:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15287:53:0;15432:8;;15287:53;;-1:-1:-1;15432:5:0;;15438:1;;15432:8;;;;;;;;;;;;;;;;:56;;;;;;15454:10;15432:56;;;;-1:-1:-1;;;;;15432:56:0;;;;;;;;;;;;;;;:21;;;;;;;:56;;;;;;;;;;;-1:-1:-1;15432:21:0;:56;;;5:2:-1;;;;30:1;27;20:12;5:2;15432:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15432:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15432:56:0;15424:65;;;;;;;;15587:13;-1:-1:-1;;;;;15587:25:0;;15613:5;15620:6;15628:10;15640;15660:1;15664;15587:79;;;;;-1:-1:-1;;;15587:79:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15587:79:0;-1:-1:-1;;;;;15587:79:0;;;;;;-1:-1:-1;;;;;15587:79:0;-1:-1:-1;;;;;15587:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15587:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15587:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15587:79:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15587:79:0;;14839:835;-1:-1:-1;;;;;;;14839:835:0:o;4814:20::-;;;-1:-1:-1;;;;;4814:20:0;;:::o;10059:137::-;5335:5;;-1:-1:-1;;;;;5335:5:0;5321:10;:19;5313:28;;;;;;10176:12;;10165:8;:23;;-1:-1:-1;;10165:23:0;-1:-1:-1;;;;;10176:12:0;;;10165:23;;;;;;10059:137::o;4841:23::-;;;-1:-1:-1;;;;;4841:23:0;;:::o;5609:140::-;5335:5;;-1:-1:-1;;;;;5335:5:0;5321:10;:19;5313:28;;;;;;5704:5;;-1:-1:-1;;;;;5691:18:0;;;5704:5;;5691:18;;5683:27;;;;;;5721:8;:20;;-1:-1:-1;;5721:20:0;-1:-1:-1;;;;;5721:20:0;;;;;;;;;;5609:140::o;10835:133::-;10927:8;;:33;;;;;;;;;;;;;;10900:7;;-1:-1:-1;;;;;10927:8:0;;:18;;:33;;;;;;;;;;;;;;10900:7;10927:8;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;10927:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10927:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10927:33:0;;10835:133;-1:-1:-1;;10835:133:0:o;16141:347::-;16259:32;;;;;;16276:4;16259:32;;;;-1:-1:-1;;;;;16259:32:0;;;;;;;;;16239:17;;16259:16;;;;;:32;;;;;;;;;;;;;;16239:17;16259:16;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;16259:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16259:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16259:32:0;;-1:-1:-1;16306:18:0;;;16302:179;;;16357:1;16345:9;:13;16341:72;;;16385:6;-1:-1:-1;;;;;16385:14:0;;16400:8;16410:1;16385:27;;;;;-1:-1:-1;;;16385:27:0;;;;;;;-1:-1:-1;;;;;16385:27:0;-1:-1:-1;;;;;16385:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16385:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16385:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16385:27:0;16377:36;;;;;;;;16436:6;-1:-1:-1;;;;;16436:14:0;;16451:8;16461:6;16436:32;;;;;-1:-1:-1;;;16436:32:0;;;;;;;-1:-1:-1;;;;;16436:32:0;-1:-1:-1;;;;;16436:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16436:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16436:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16436:32:0;16428:41;;;;;;;;16141:347;;;;:::o

Swarm Source

bzzr://46037d8ada9fbd111fe793899422c7abc917111f212a27816e48f5c560d71ac1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.