ETH Price: $2,605.92 (+1.18%)

Contract

0xea7938985898AF7FD945b03b7bC2e405e744e913
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Owner127346352021-06-30 9:59:121148 days ago1625047152IN
0xea793898...5e744e913
0 ETH0.0003139711.1
Add Supported To...111441632020-10-28 8:46:051393 days ago1603874765IN
0xea793898...5e744e913
0 ETH0.0012248828
Add Supported To...111441632020-10-28 8:46:051393 days ago1603874765IN
0xea793898...5e744e913
0 ETH0.0012248828
0x60806040111439132020-10-28 7:59:391393 days ago1603871979IN
 Create: Issuing
0 ETH0.0262711529

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Issuing

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-28
*/

// File: contracts/interfaces/IAuthority.sol

pragma solidity ^0.4.24;

contract IAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) public view returns (bool);
}

// File: contracts/DSAuth.sol

pragma solidity ^0.4.24;


contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

/**
 * @title DSAuth
 * @dev The DSAuth contract is reference implement of https://github.com/dapphub/ds-auth
 * But in the isAuthorized method, the src from address(this) is remove for safty concern.
 */
contract DSAuth is DSAuthEvents {
    IAuthority   public  authority;
    address      public  owner;

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        public
        auth
    {
        owner = owner_;
        emit LogSetOwner(owner);
    }

    function setAuthority(IAuthority authority_)
        public
        auth
    {
        authority = authority_;
        emit LogSetAuthority(authority);
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig));
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
        if (src == owner) {
            return true;
        } else if (authority == IAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }
}

// File: contracts/PausableDSAuth.sol

pragma solidity ^0.4.24;



/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract PausableDSAuth is DSAuth {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() public onlyOwner whenNotPaused {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() public onlyOwner whenPaused {
    paused = false;
    emit Unpause();
  }
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol

pragma solidity ^0.4.24;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * See https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address _who) public view returns (uint256);
  function transfer(address _to, uint256 _value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.4.24;



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  function approve(address _spender, uint256 _value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

// File: contracts/interfaces/IBurnableERC20.sol

pragma solidity ^0.4.23;

contract IBurnableERC20 {
    function burn(address _from, uint _value) public;
}

// File: contracts/interfaces/ISettingsRegistry.sol

pragma solidity ^0.4.24;

contract ISettingsRegistry {
    enum SettingsValueTypes { NONE, UINT, STRING, ADDRESS, BYTES, BOOL, INT }

    function uintOf(bytes32 _propertyName) public view returns (uint256);

    function stringOf(bytes32 _propertyName) public view returns (string);

    function addressOf(bytes32 _propertyName) public view returns (address);

    function bytesOf(bytes32 _propertyName) public view returns (bytes);

    function boolOf(bytes32 _propertyName) public view returns (bool);

    function intOf(bytes32 _propertyName) public view returns (int);

    function setUintProperty(bytes32 _propertyName, uint _value) public;

    function setStringProperty(bytes32 _propertyName, string _value) public;

    function setAddressProperty(bytes32 _propertyName, address _value) public;

    function setBytesProperty(bytes32 _propertyName, bytes _value) public;

    function setBoolProperty(bytes32 _propertyName, bool _value) public;

    function setIntProperty(bytes32 _propertyName, int _value) public;

    function getValueTypeOf(bytes32 _propertyName) public view returns (uint /* SettingsValueTypes */ );

    event ChangeProperty(bytes32 indexed _propertyName, uint256 _type);
}

// File: contracts/Issuing.sol

pragma solidity ^0.4.24;





contract Issuing is PausableDSAuth {
    // claimedToken event
    event ClaimedTokens(
        address indexed token,
        address indexed owner,
        uint256 amount
    );

    event BurnAndRedeem(
        address indexed token,
        address indexed from,
        uint256 amount,
        bytes receiver
    );

    ISettingsRegistry public registry;

    mapping(address => bool) public supportedTokens;

    constructor(address _registry) public{
        registry = ISettingsRegistry(_registry);
    }

    /**
     * @dev ERC223 fallback function, make sure to check the msg.sender is from target token contracts
     * @param _from - person who transfer token in for deposits or claim deposit with penalty KTON.
     * @param _amount - amount of token.
     * @param _data - data which indicate the operations.
     */
    function tokenFallback(
        address _from,
        uint256 _amount,
        bytes _data
    ) public whenNotPaused {
        bytes32 darwiniaAddress;

        assembly {
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize)
            darwiniaAddress := mload(add(ptr, 132))
        }

        //  Only supported tokens can be called
        require(supportedTokens[msg.sender], "Permission denied");
        require(
            _data.length == 32,
            "The address (Darwinia Network) must be in a 32 bytes hexadecimal format"
        );
        require(
            darwiniaAddress != bytes32(0),
            "Darwinia Network Address can't be empty"
        );

        // SettingIds.UINT_BRIDGE_FEE
        uint256 bridgeFee = registry.uintOf(
            0x55494e545f4252494447455f4645450000000000000000000000000000000000
        );

        // SettingIds.CONTRACT_BRIDGE_POOL
        address bridgePool = registry.addressOf(
            0x434f4e54524143545f4252494447455f504f4f4c000000000000000000000000
        );

        // SettingIds.CONTRACT_RING_ERC20_TOKEN
        address ring = registry.addressOf(
            0x434f4e54524143545f52494e475f45524332305f544f4b454e00000000000000
        );

        // BridgeFee will be paid to the relayer
        if (bridgeFee > 0) {
            require(
                ERC20(ring).transferFrom(_from, bridgePool, bridgeFee),
                "Error when paying transaction fees"
            );
        }

        IBurnableERC20(msg.sender).burn(address(this), _amount);
        emit BurnAndRedeem(msg.sender, _from, _amount, _data);
    }

    function addSupportedTokens(address _token) public auth {
        supportedTokens[_token] = true;
    }

    function removeSupportedTokens(address _token) public auth {
        supportedTokens[_token] = false;
    }

    /// @notice This method can be used by the owner to extract mistakenly
    ///  sent tokens to this contract.
    /// @param _token The address of the token contract that you want to recover
    ///  set to 0 in case you want to extract ether.
    function claimTokens(address _token) public auth {
        if (_token == 0x0) {
            owner.transfer(address(this).balance);
            return;
        }
        ERC20 token = ERC20(_token);
        uint256 balance = token.balanceOf(address(this));
        token.transfer(owner, balance);

        emit ClaimedTokens(_token, owner, balance);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"addSupportedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"supportedTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","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":"pause","outputs":[],"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":"_token","type":"address"}],"name":"removeSupportedTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"token","type":"address"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"token","type":"address"},{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"receiver","type":"bytes"}],"name":"BurnAndRedeem","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]

60806040526001805460a060020a60ff021916905534801561002057600080fd5b50604051602080610f4b833981016040819052905160018054600160a060020a0319163390811790915590917fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a260028054600160a060020a031916600160a060020a0392909216919091179055610eaa806100a16000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146100c95780633f4ba83a146100ec5780635c975abb1461010157806362a2f9cc1461012a57806368c4ac261461014b5780637a9e5e4b1461016c5780637b1039991461018d5780638456cb59146101be5780638da5cb5b146101d3578063a6583082146101e8578063bf7e214f14610209578063c0ee0b8a1461021e578063df8de3e714610287575b600080fd5b3480156100d557600080fd5b506100ea600160a060020a03600435166102a8565b005b3480156100f857600080fd5b506100ea610326565b34801561010d57600080fd5b5061011661039e565b604080519115158252519081900360200190f35b34801561013657600080fd5b506100ea600160a060020a03600435166103ae565b34801561015757600080fd5b50610116600160a060020a03600435166103f3565b34801561017857600080fd5b506100ea600160a060020a0360043516610408565b34801561019957600080fd5b506101a2610482565b60408051600160a060020a039092168252519081900360200190f35b3480156101ca57600080fd5b506100ea610491565b3480156101df57600080fd5b506101a261050e565b3480156101f457600080fd5b506100ea600160a060020a036004351661051d565b34801561021557600080fd5b506101a261055f565b34801561022a57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100ea948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061056e9650505050505050565b34801561029357600080fd5b506100ea600160a060020a0360043516610b9f565b6102be33600035600160e060020a031916610d8d565b15156102c957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600154600160a060020a0316331461033d57600080fd5b60015460a060020a900460ff16151561035557600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460a060020a900460ff1681565b6103c433600035600160e060020a031916610d8d565b15156103cf57600080fd5b600160a060020a03166000908152600360205260409020805460ff19166001179055565b60036020526000908152604090205460ff1681565b61041e33600035600160e060020a031916610d8d565b151561042957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600254600160a060020a031681565b600154600160a060020a031633146104a857600080fd5b60015460a060020a900460ff16156104bf57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600154600160a060020a031681565b61053333600035600160e060020a031916610d8d565b151561053e57600080fd5b600160a060020a03166000908152600360205260409020805460ff19169055565b600054600160a060020a031681565b60015460009081908190819060a060020a900460ff161561058e57600080fd5b6040513660008237608401513360009081526003602052604090205490945060ff161515610606576040805160e560020a62461bcd02815260206004820152601160248201527f5065726d697373696f6e2064656e696564000000000000000000000000000000604482015290519081900360640190fd5b84516020146106ab576040805160e560020a62461bcd02815260206004820152604760248201527f5468652061646472657373202844617277696e6961204e6574776f726b29206d60448201527f75737420626520696e20612033322062797465732068657861646563696d616c60648201527f20666f726d617400000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b831515610728576040805160e560020a62461bcd02815260206004820152602760248201527f44617277696e6961204e6574776f726b20416464726573732063616e2774206260448201527f6520656d70747900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254604080517f32ee4faa0000000000000000000000000000000000000000000000000000000081527f55494e545f4252494447455f464545000000000000000000000000000000000060048201529051600160a060020a03909216916332ee4faa916024808201926020929091908290030181600087803b1580156107ae57600080fd5b505af11580156107c2573d6000803e3d6000fd5b505050506040513d60208110156107d857600080fd5b5051600254604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f434f4e54524143545f4252494447455f504f4f4c00000000000000000000000060048201529051929550600160a060020a039091169163bb34534c916024808201926020929091908290030181600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d602081101561088d57600080fd5b5051600254604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f434f4e54524143545f52494e475f45524332305f544f4b454e0000000000000060048201529051929450600160a060020a039091169163bb34534c916024808201926020929091908290030181600087803b15801561091857600080fd5b505af115801561092c573d6000803e3d6000fd5b505050506040513d602081101561094257600080fd5b505190506000831115610a6b57604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0389811660048301528481166024830152604482018690529151918316916323b872dd916064808201926020929091908290030181600087803b1580156109c357600080fd5b505af11580156109d7573d6000803e3d6000fd5b505050506040513d60208110156109ed57600080fd5b50511515610a6b576040805160e560020a62461bcd02815260206004820152602260248201527f4572726f72207768656e20706179696e67207472616e73616374696f6e20666560448201527f6573000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080517f9dc29fac0000000000000000000000000000000000000000000000000000000081523060048201526024810188905290513391639dc29fac91604480830192600092919082900301818387803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b5050505086600160a060020a031633600160a060020a03167fc9dcda609937876978d7e0aa29857cb187aea06ad9e843fd23fd32108da73f1088886040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b5b578181015183820152602001610b43565b50505050905090810190601f168015610b885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350505050505050565b600080610bb833600035600160e060020a031916610d8d565b1515610bc357600080fd5b600160a060020a0383161515610c1357600154604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610c0d573d6000803e3d6000fd5b50610d88565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610c7757600080fd5b505af1158015610c8b573d6000803e3d6000fd5b505050506040513d6020811015610ca157600080fd5b5051600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050506040513d6020811015610d3f57600080fd5b5050600154604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600154600090600160a060020a0384811691161415610dae57506001610e78565b600054600160a060020a03161515610dc857506000610e78565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152306024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b158015610e4957600080fd5b505af1158015610e5d573d6000803e3d6000fd5b505050506040513d6020811015610e7357600080fd5b505190505b929150505600a165627a7a723058201f7651ee272bbaf7369ba4fb4d172b3b48ee72e83a63bf5e40badf2833b73b4e00290000000000000000000000006b0940772516b69088904564a56d09cfe6bb3d85

Deployed Bytecode

0x6080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af403581146100c95780633f4ba83a146100ec5780635c975abb1461010157806362a2f9cc1461012a57806368c4ac261461014b5780637a9e5e4b1461016c5780637b1039991461018d5780638456cb59146101be5780638da5cb5b146101d3578063a6583082146101e8578063bf7e214f14610209578063c0ee0b8a1461021e578063df8de3e714610287575b600080fd5b3480156100d557600080fd5b506100ea600160a060020a03600435166102a8565b005b3480156100f857600080fd5b506100ea610326565b34801561010d57600080fd5b5061011661039e565b604080519115158252519081900360200190f35b34801561013657600080fd5b506100ea600160a060020a03600435166103ae565b34801561015757600080fd5b50610116600160a060020a03600435166103f3565b34801561017857600080fd5b506100ea600160a060020a0360043516610408565b34801561019957600080fd5b506101a2610482565b60408051600160a060020a039092168252519081900360200190f35b3480156101ca57600080fd5b506100ea610491565b3480156101df57600080fd5b506101a261050e565b3480156101f457600080fd5b506100ea600160a060020a036004351661051d565b34801561021557600080fd5b506101a261055f565b34801561022a57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526100ea948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061056e9650505050505050565b34801561029357600080fd5b506100ea600160a060020a0360043516610b9f565b6102be33600035600160e060020a031916610d8d565b15156102c957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600154600160a060020a0316331461033d57600080fd5b60015460a060020a900460ff16151561035557600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460a060020a900460ff1681565b6103c433600035600160e060020a031916610d8d565b15156103cf57600080fd5b600160a060020a03166000908152600360205260409020805460ff19166001179055565b60036020526000908152604090205460ff1681565b61041e33600035600160e060020a031916610d8d565b151561042957600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600254600160a060020a031681565b600154600160a060020a031633146104a857600080fd5b60015460a060020a900460ff16156104bf57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600154600160a060020a031681565b61053333600035600160e060020a031916610d8d565b151561053e57600080fd5b600160a060020a03166000908152600360205260409020805460ff19169055565b600054600160a060020a031681565b60015460009081908190819060a060020a900460ff161561058e57600080fd5b6040513660008237608401513360009081526003602052604090205490945060ff161515610606576040805160e560020a62461bcd02815260206004820152601160248201527f5065726d697373696f6e2064656e696564000000000000000000000000000000604482015290519081900360640190fd5b84516020146106ab576040805160e560020a62461bcd02815260206004820152604760248201527f5468652061646472657373202844617277696e6961204e6574776f726b29206d60448201527f75737420626520696e20612033322062797465732068657861646563696d616c60648201527f20666f726d617400000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b831515610728576040805160e560020a62461bcd02815260206004820152602760248201527f44617277696e6961204e6574776f726b20416464726573732063616e2774206260448201527f6520656d70747900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600254604080517f32ee4faa0000000000000000000000000000000000000000000000000000000081527f55494e545f4252494447455f464545000000000000000000000000000000000060048201529051600160a060020a03909216916332ee4faa916024808201926020929091908290030181600087803b1580156107ae57600080fd5b505af11580156107c2573d6000803e3d6000fd5b505050506040513d60208110156107d857600080fd5b5051600254604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f434f4e54524143545f4252494447455f504f4f4c00000000000000000000000060048201529051929550600160a060020a039091169163bb34534c916024808201926020929091908290030181600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d602081101561088d57600080fd5b5051600254604080517fbb34534c0000000000000000000000000000000000000000000000000000000081527f434f4e54524143545f52494e475f45524332305f544f4b454e0000000000000060048201529051929450600160a060020a039091169163bb34534c916024808201926020929091908290030181600087803b15801561091857600080fd5b505af115801561092c573d6000803e3d6000fd5b505050506040513d602081101561094257600080fd5b505190506000831115610a6b57604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0389811660048301528481166024830152604482018690529151918316916323b872dd916064808201926020929091908290030181600087803b1580156109c357600080fd5b505af11580156109d7573d6000803e3d6000fd5b505050506040513d60208110156109ed57600080fd5b50511515610a6b576040805160e560020a62461bcd02815260206004820152602260248201527f4572726f72207768656e20706179696e67207472616e73616374696f6e20666560448201527f6573000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080517f9dc29fac0000000000000000000000000000000000000000000000000000000081523060048201526024810188905290513391639dc29fac91604480830192600092919082900301818387803b158015610ac957600080fd5b505af1158015610add573d6000803e3d6000fd5b5050505086600160a060020a031633600160a060020a03167fc9dcda609937876978d7e0aa29857cb187aea06ad9e843fd23fd32108da73f1088886040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b5b578181015183820152602001610b43565b50505050905090810190601f168015610b885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a350505050505050565b600080610bb833600035600160e060020a031916610d8d565b1515610bc357600080fd5b600160a060020a0383161515610c1357600154604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610c0d573d6000803e3d6000fd5b50610d88565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610c7757600080fd5b505af1158015610c8b573d6000803e3d6000fd5b505050506040513d6020811015610ca157600080fd5b5051600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050506040513d6020811015610d3f57600080fd5b5050600154604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b600154600090600160a060020a0384811691161415610dae57506001610e78565b600054600160a060020a03161515610dc857506000610e78565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152306024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b158015610e4957600080fd5b505af1158015610e5d573d6000803e3d6000fd5b505050506040513d6020811015610e7357600080fd5b505190505b929150505600a165627a7a723058201f7651ee272bbaf7369ba4fb4d172b3b48ee72e83a63bf5e40badf2833b73b4e0029

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

0000000000000000000000006b0940772516b69088904564a56d09cfe6bb3d85

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006b0940772516b69088904564a56d09cfe6bb3d85


Deployed Bytecode Sourcemap

5302:3400:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;835:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;835:136:0;-1:-1:-1;;;;;835:136:0;;;;;;;2530:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2530:95:0;;;;1909:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1909:26:0;;;;;;;;;;;;;;;;;;;;;;7853:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7853:105:0;-1:-1:-1;;;;;7853:105:0;;;;;5685:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5685:47:0;-1:-1:-1;;;;;5685:47:0;;;;;979:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;979:163:0;-1:-1:-1;;;;;979:163:0;;;;;5643:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5643:33:0;;;;;;;;-1:-1:-1;;;;;5643:33:0;;;;;;;;;;;;;;2350:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2350:93:0;;;;695:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;695:26:0;;;;7966:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7966:109:0;-1:-1:-1;;;;;7966:109:0;;;;;658:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;658:30:0;;;;6168:1677;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6168:1677:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6168:1677:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6168:1677:0;;-1:-1:-1;6168:1677:0;;-1:-1:-1;;;;;;;6168:1677:0;8335:364;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8335:364:0;-1:-1:-1;;;;;8335:364:0;;;;;835:136;1183:33;1196:10;1208:7;;-1:-1:-1;;;;;;1208:7:0;1183:12;:33::i;:::-;1175:42;;;;;;;;915:5;:14;;-1:-1:-1;;915:14:0;-1:-1:-1;;;;;915:14:0;;;;;;;;;;;945:18;;957:5;;;945:18;;-1:-1:-1;;945:18:0;835:136;:::o;2530:95::-;1299:5;;-1:-1:-1;;;;;1299:5:0;1285:10;:19;1277:28;;;;;;2245:6;;-1:-1:-1;;;2245:6:0;;;;2237:15;;;;;;;;2584:6;:14;;-1:-1:-1;;2584:14:0;;;2610:9;;;;2593:5;;2610:9;2530:95::o;1909:26::-;;;-1:-1:-1;;;1909:26:0;;;;;:::o;7853:105::-;1183:33;1196:10;1208:7;;-1:-1:-1;;;;;;1208:7:0;1183:12;:33::i;:::-;1175:42;;;;;;;;-1:-1:-1;;;;;7920:23:0;;;;;:15;:23;;;;;:30;;-1:-1:-1;;7920:30:0;7946:4;7920:30;;;7853:105::o;5685:47::-;;;;;;;;;;;;;;;:::o;979:163::-;1183:33;1196:10;1208:7;;-1:-1:-1;;;;;;1208:7:0;1183:12;:33::i;:::-;1175:42;;;;;;;;1070:9;:22;;-1:-1:-1;;1070:22:0;-1:-1:-1;;;;;1070:22:0;;;;;;;;;;1108:26;;1124:9;;;1108:26;;;979:163;:::o;5643:33::-;;;-1:-1:-1;;;;;5643:33:0;;:::o;2350:93::-;1299:5;;-1:-1:-1;;;;;1299:5:0;1285:10;:19;1277:28;;;;;;2085:6;;-1:-1:-1;;;2085:6:0;;;;2084:7;2076:16;;;;;;2414:4;2405:13;;-1:-1:-1;;2405:13:0;-1:-1:-1;;;2405:13:0;;;2430:7;;;;2405:13;;2430:7;2350:93::o;695:26::-;;;-1:-1:-1;;;;;695:26:0;;:::o;7966:109::-;1183:33;1196:10;1208:7;;-1:-1:-1;;;;;;1208:7:0;1183:12;:33::i;:::-;1175:42;;;;;;;;-1:-1:-1;;;;;8036:23:0;8062:5;8036:23;;;:15;:23;;;;;:31;;-1:-1:-1;;8036:31:0;;;7966:109::o;658:30::-;;;-1:-1:-1;;;;;658:30:0;;:::o;6168:1677::-;2085:6;;6302:23;;;;;;;;-1:-1:-1;;;2085:6:0;;;;2084:7;2076:16;;;;;;6379:4;6373:11;6419:12;6416:1;6411:3;6398:34;6480:3;6471:13;6465:20;6581:10;6565:27;;;;:15;:27;;;;;;6465:20;;-1:-1:-1;6565:27:0;;6557:57;;;;;;;-1:-1:-1;;;;;6557:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6647:12;;6663:2;6647:18;6625:139;;;;;-1:-1:-1;;;;;6625:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6797:29;;;6775:118;;;;;-1:-1:-1;;;;;6775:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6965:8;;:107;;;;;;6995:66;6965:107;;;;;;-1:-1:-1;;;;;6965:8:0;;;;:15;;:107;;;;;;;;;;;;;;;:8;;:107;;;5:2:-1;;;;30:1;27;20:12;5:2;6965:107:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6965:107:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6965:107:0;7150:8;;:110;;;;;;7183:66;7150:110;;;;;;6965:107;;-1:-1:-1;;;;;;7150:8:0;;;;:18;;:110;;;;;6965:107;;7150:110;;;;;;;;:8;;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;7150:110:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7150:110:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7150:110:0;7337:8;;:110;;;;;;7370:66;7337:110;;;;;;7150;;-1:-1:-1;;;;;;7337:8:0;;;;:18;;:110;;;;;7150;;7337;;;;;;;;:8;;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;7337:110:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7337:110:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7337:110:0;;-1:-1:-1;7526:1:0;7514:13;;7510:196;;;7570:54;;;;;;-1:-1:-1;;;;;7570:54:0;;;;;;;;;;;;;;;;;;;;;;:24;;;;;;:54;;;;;;;;;;;;;;;-1:-1:-1;7570:24:0;:54;;;5:2:-1;;;;30:1;27;20:12;5:2;7570:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7570:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7570:54:0;7544:150;;;;;;;-1:-1:-1;;;;;7544:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:55;;;;;;7758:4;7718:55;;;;;;;;;;;;7733:10;;7718:31;;:55;;;;;-1:-1:-1;;7718:55:0;;;;;;;-1:-1:-1;7733:10:0;7718:55;;;5:2:-1;;;;30:1;27;20:12;5:2;7718:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7718:55:0;;;;7815:5;-1:-1:-1;;;;;7789:48:0;7803:10;-1:-1:-1;;;;;7789:48:0;;7822:7;7831:5;7789:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7789:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6168:1677;;;;;;;:::o;8335:364::-;8509:11;8547:15;1183:33;1196:10;1208:7;;-1:-1:-1;;;;;;1208:7:0;1183:12;:33::i;:::-;1175:42;;;;;;;;-1:-1:-1;;;;;8399:13:0;;;8395:104;;;8429:5;;:37;;-1:-1:-1;;;;;8429:5:0;;;;8452:4;8444:21;8429:37;;;;;:5;:37;:5;:37;8444:21;8429:5;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8429:37:0;8481:7;;8395:104;8565:30;;;;;;8589:4;8565:30;;;;;;8529:6;;-1:-1:-1;;;;;;8565:15:0;;;;;:30;;;;;;;;;;;;;;-1:-1:-1;8565:15:0;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;8565:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8565:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8565:30:0;8621:5;;8606:30;;;;;;-1:-1:-1;;;;;8621:5:0;;;8606:30;;;;;;;;;;;;8565;;-1:-1:-1;8606:14:0;;;;;;:30;;;;;8565;;8606;;;;;;;;8621:5;8606:14;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;8606:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8606:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;8676:5:0;;8654:37;;;;;;;;-1:-1:-1;;;;;8676:5:0;;;;8654:37;;;;;;;;;8606:30;8654:37;;;1228:1;8335:364;;;:::o;1333:300::-;1431:5;;1403:4;;-1:-1:-1;;;;;1424:12:0;;;1431:5;;1424:12;1420:206;;;-1:-1:-1;1460:4:0;1453:11;;1420:206;1510:1;1486:9;-1:-1:-1;;;;;1486:9:0;:26;1482:144;;;-1:-1:-1;1536:5:0;1529:12;;1482:144;1581:9;;;:33;;;;;;-1:-1:-1;;;;;1581:33:0;;;;;;;1604:4;1581:33;;;;-1:-1:-1;;;;;;1581:33:0;;;;;;;;:9;;;;;:17;;:33;;;;;;;;;;;;;;;;;;:9;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;1581:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1581:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1581:33:0;;-1:-1:-1;1482:144:0;1333:300;;;;:::o

Swarm Source

bzzr://1f7651ee272bbaf7369ba4fb4d172b3b48ee72e83a63bf5e40badf2833b73b4e

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.