ETH Price: $2,249.14 (-4.28%)
Gas: 26 Gwei

Contract

0xa9cEaA10c12dcB33BAbC2D779e37732311504652
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multi Chain

Multichain Addresses

1 address found via
Transaction Hash
Method
Block
From
To
Value
Submit Hash175618112023-06-26 6:25:59168 days 6 hrs ago1687760759IN
0xa9cEaA...11504652
0.00046524 ETH0.0007910114.74315437
Submit Hash158400342022-10-27 14:33:35409 days 22 hrs ago1666881215IN
0xa9cEaA...11504652
0.00046524 ETH0.0010438319.45523236
Submit Hash155306642022-09-14 3:14:09453 days 9 hrs ago1663125249IN
0xa9cEaA...11504652
0.00046524 ETH0.0007243113.5
Submit Hash150458262022-06-29 16:17:39529 days 20 hrs ago1656519459IN
0xa9cEaA...11504652
0.00046524 ETH0.0042922480
Submit Hash148849262022-06-01 12:59:34557 days 23 hrs ago1654088374IN
0xa9cEaA...11504652
0.00046524 ETH0.0022534242
Submit Hash147510532022-05-10 21:58:42579 days 14 hrs ago1652219922IN
0xa9cEaA...11504652
0.00046524 ETH0.0029509155
Submit Hash147510472022-05-10 21:57:48579 days 14 hrs ago1652219868IN
0xa9cEaA...11504652
0.00046524 ETH0.0039703274
Submit Hash147509282022-05-10 21:32:36579 days 15 hrs ago1652218356IN
0xa9cEaA...11504652
0.00046524 ETH0.0042922480
Submit Hash147508312022-05-10 21:11:10579 days 15 hrs ago1652217070IN
0xa9cEaA...11504652
0.00046524 ETH0.0026826550
Submit Hash147493022022-05-10 15:14:34579 days 21 hrs ago1652195674IN
0xa9cEaA...11504652
0.00046524 ETH0.0023607344
Submit Hash146659962022-04-27 10:40:19593 days 1 hr ago1651056019IN
0xa9cEaA...11504652
0.00046524 ETH0.001931536
Submit Hash142549832022-02-22 9:16:41657 days 3 hrs ago1645521401IN
0xa9cEaA...11504652
0.00046524 ETH0.0037557170
Submit Hash141797312022-02-10 17:48:55668 days 18 hrs ago1644515335IN
0xa9cEaA...11504652
0.00046524 ETH0.01577398294
Submit Hash141576322022-02-07 7:31:24672 days 5 hrs ago1644219084IN
0xa9cEaA...11504652
0.00046524 ETH0.00557991104
Submit Hash140954412022-01-28 17:12:22681 days 19 hrs ago1643389942IN
0xa9cEaA...11504652
0.00046524 ETH0.01314498245
Submit Hash139057162021-12-30 8:52:30711 days 3 hrs ago1640854350IN
0xa9cEaA...11504652
0.00046524 ETH0.00686758128
Submit Hash139057152021-12-30 8:52:25711 days 3 hrs ago1640854345IN
0xa9cEaA...11504652
0.00046524 ETH0.00708219132
Submit Hash137984182021-12-13 18:07:54727 days 18 hrs ago1639418874IN
0xa9cEaA...11504652
0.00046524 ETH0.00606278113
Submit Hash137861452021-12-11 20:59:33729 days 15 hrs ago1639256373IN
0xa9cEaA...11504652
0.00046524 ETH0.0048276990
Submit Hash137765522021-12-10 9:25:37731 days 3 hrs ago1639128337IN
0xa9cEaA...11504652
0.00046524 ETH0.01212557226
Submit Hash137491672021-12-06 0:32:28735 days 12 hrs ago1638750748IN
0xa9cEaA...11504652
0.00046524 ETH0.00584817109
Submit Hash137207762021-12-01 11:25:17740 days 1 hr ago1638357917IN
0xa9cEaA...11504652
0.00046524 ETH0.00686758128
Submit Hash137153262021-11-30 14:35:48740 days 21 hrs ago1638282948IN
0xa9cEaA...11504652
0.00046524 ETH0.00590183110
Submit Hash137026592021-11-28 13:33:24742 days 23 hrs ago1638106404IN
0xa9cEaA...11504652
0.00046524 ETH0.00574087107
Submit Hash137026462021-11-28 13:30:16742 days 23 hrs ago1638106216IN
0xa9cEaA...11504652
0.00046524 ETH0.01824202340
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
175618112023-06-26 6:25:59168 days 6 hrs ago1687760759
0xa9cEaA...11504652
0.00046524 ETH
158400342022-10-27 14:33:35409 days 22 hrs ago1666881215
0xa9cEaA...11504652
0.00046524 ETH
155306642022-09-14 3:14:09453 days 9 hrs ago1663125249
0xa9cEaA...11504652
0.00046524 ETH
150458262022-06-29 16:17:39529 days 20 hrs ago1656519459
0xa9cEaA...11504652
0.00046524 ETH
148849262022-06-01 12:59:34557 days 23 hrs ago1654088374
0xa9cEaA...11504652
0.00046524 ETH
147510532022-05-10 21:58:42579 days 14 hrs ago1652219922
0xa9cEaA...11504652
0.00046524 ETH
147510472022-05-10 21:57:48579 days 14 hrs ago1652219868
0xa9cEaA...11504652
0.00046524 ETH
147509282022-05-10 21:32:36579 days 15 hrs ago1652218356
0xa9cEaA...11504652
0.00046524 ETH
147508312022-05-10 21:11:10579 days 15 hrs ago1652217070
0xa9cEaA...11504652
0.00046524 ETH
147493022022-05-10 15:14:34579 days 21 hrs ago1652195674
0xa9cEaA...11504652
0.00046524 ETH
146659962022-04-27 10:40:19593 days 1 hr ago1651056019
0xa9cEaA...11504652
0.00046524 ETH
142549832022-02-22 9:16:41657 days 3 hrs ago1645521401
0xa9cEaA...11504652
0.00046524 ETH
141797312022-02-10 17:48:55668 days 18 hrs ago1644515335
0xa9cEaA...11504652
0.00046524 ETH
141576322022-02-07 7:31:24672 days 5 hrs ago1644219084
0xa9cEaA...11504652
0.00046524 ETH
140954412022-01-28 17:12:22681 days 19 hrs ago1643389942
0xa9cEaA...11504652
0.00046524 ETH
139057162021-12-30 8:52:30711 days 3 hrs ago1640854350
0xa9cEaA...11504652
0.00046524 ETH
139057152021-12-30 8:52:25711 days 3 hrs ago1640854345
0xa9cEaA...11504652
0.00046524 ETH
137984182021-12-13 18:07:54727 days 18 hrs ago1639418874
0xa9cEaA...11504652
0.00046524 ETH
137861452021-12-11 20:59:33729 days 15 hrs ago1639256373
0xa9cEaA...11504652
0.00046524 ETH
137765522021-12-10 9:25:37731 days 3 hrs ago1639128337
0xa9cEaA...11504652
0.00046524 ETH
137491672021-12-06 0:32:28735 days 12 hrs ago1638750748
0xa9cEaA...11504652
0.00046524 ETH
137207762021-12-01 11:25:17740 days 1 hr ago1638357917
0xa9cEaA...11504652
0.00046524 ETH
137153262021-11-30 14:35:48740 days 21 hrs ago1638282948
0xa9cEaA...11504652
0.00046524 ETH
137026592021-11-28 13:33:24742 days 23 hrs ago1638106404
0xa9cEaA...11504652
0.00046524 ETH
137026462021-11-28 13:30:16742 days 23 hrs ago1638106216
0xa9cEaA...11504652
0.00046524 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RequestOpenHashSubmitter

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-07-26
*/

/**
 *Submitted for verification at Etherscan.io on 2019-07-16
*/

pragma solidity ^0.5.0;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
    * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
    * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev give an account access to this role
     */
    function add(Role storage role, address account) internal {
        require(account != address(0));
        require(!has(role, account));

        role.bearer[account] = true;
    }

    /**
     * @dev remove an account's access to this role
     */
    function remove(Role storage role, address account) internal {
        require(account != address(0));
        require(has(role, account));

        role.bearer[account] = false;
    }

    /**
     * @dev check if an account has this role
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0));
        return role.bearer[account];
    }
}


/**
 * @title WhitelistAdminRole
 * @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts.
 */
contract WhitelistAdminRole {
    using Roles for Roles.Role;

    event WhitelistAdminAdded(address indexed account);
    event WhitelistAdminRemoved(address indexed account);

    Roles.Role private _whitelistAdmins;

    constructor () internal {
        _addWhitelistAdmin(msg.sender);
    }

    modifier onlyWhitelistAdmin() {
        require(isWhitelistAdmin(msg.sender));
        _;
    }

    function isWhitelistAdmin(address account) public view returns (bool) {
        return _whitelistAdmins.has(account);
    }

    function addWhitelistAdmin(address account) public onlyWhitelistAdmin {
        _addWhitelistAdmin(account);
    }

    function renounceWhitelistAdmin() public {
        _removeWhitelistAdmin(msg.sender);
    }

    function _addWhitelistAdmin(address account) internal {
        _whitelistAdmins.add(account);
        emit WhitelistAdminAdded(account);
    }

    function _removeWhitelistAdmin(address account) internal {
        _whitelistAdmins.remove(account);
        emit WhitelistAdminRemoved(account);
    }
}


/**
 * @title WhitelistedRole
 * @dev Whitelisted accounts have been approved by a WhitelistAdmin to perform certain actions (e.g. participate in a
 * crowdsale). This role is special in that the only accounts that can add it are WhitelistAdmins (who can also remove
 * it), and not Whitelisteds themselves.
 */
contract WhitelistedRole is WhitelistAdminRole {
    using Roles for Roles.Role;

    event WhitelistedAdded(address indexed account);
    event WhitelistedRemoved(address indexed account);

    Roles.Role private _whitelisteds;

    modifier onlyWhitelisted() {
        require(isWhitelisted(msg.sender));
        _;
    }

    function isWhitelisted(address account) public view returns (bool) {
        return _whitelisteds.has(account);
    }

    function addWhitelisted(address account) public onlyWhitelistAdmin {
        _addWhitelisted(account);
    }

    function removeWhitelisted(address account) public onlyWhitelistAdmin {
        _removeWhitelisted(account);
    }

    function renounceWhitelisted() public {
        _removeWhitelisted(msg.sender);
    }

    function _addWhitelisted(address account) internal {
        _whitelisteds.add(account);
        emit WhitelistedAdded(account);
    }

    function _removeWhitelisted(address account) internal {
        _whitelisteds.remove(account);
        emit WhitelistedRemoved(account);
    }
}

/**
 * @title RequestHashStorage
 * @notice This contract is the entry point to retrieve all the hashes of the request network system.
  */
contract RequestHashStorage is WhitelistedRole {

  // Event to declare a new hash
  event NewHash(string hash, address hashSubmitter, bytes feesParameters);

  /**
   * @notice Declare a new hash
   * @param _hash hash to store
   * @param _feesParameters Parameters use to compute the fees. This is a bytes to stay generic, the structure is on the charge of the hashSubmitter contracts.
   */
  function declareNewHash(string calldata _hash, bytes calldata _feesParameters)
    external
    onlyWhitelisted
  {
    // Emit event for log
    emit NewHash(_hash, msg.sender, _feesParameters);
  }

  // Fallback function returns funds to the sender
  function()
    external
  {
    revert("not payable fallback");
  }
}


/**
 * @title Bytes util library.
 * @notice Collection of utility functions to manipulate bytes for Request.
 */
library Bytes {
  /**
    * @notice Extract a bytes32 from a bytes.
    * @param data bytes from where the bytes32 will be extract
    * @param offset position of the first byte of the bytes32
    * @return address
    */
  function extractBytes32(bytes memory data, uint offset)
    internal
    pure
    returns (bytes32 bs)
  {
    require(offset >= 0 && offset + 32 <= data.length, "offset value should be in the correct range");

    // solium-disable-next-line security/no-inline-assembly
    assembly {
        bs := mload(add(data, add(32, offset)))
    }
  }
}

/**
 * @title StorageFeeCollector
 *
 * @notice StorageFeeCollector is a contract managing the fees
 */
contract StorageFeeCollector is WhitelistAdminRole {
  using SafeMath for uint256;

  /**
   * Fee computation for storage are based on four parameters:
   * minimumFee (wei) fee that will be applied for any size of storage
   * rateFeesNumerator (wei) and rateFeesDenominator (byte) define the variable fee,
   * for each <rateFeesDenominator> bytes above threshold, <rateFeesNumerator> wei will be charged
   *
   * Example:
   * If the size to store is 50 bytes, the threshold is 100 bytes and the minimum fee is 300 wei,
   * then 300 will be charged
   *
   * If rateFeesNumerator is 2 and rateFeesDenominator is 1 then 2 wei will be charged for every bytes above threshold,
   * if the size to store is 150 bytes then the fee will be 300 + (150-100)*2 = 400 wei
   */
  uint256 public minimumFee;
  uint256 public rateFeesNumerator;
  uint256 public rateFeesDenominator;

  // address of the contract that will burn req token
  address payable public requestBurnerContract;

  event UpdatedFeeParameters(uint256 minimumFee, uint256 rateFeesNumerator, uint256 rateFeesDenominator);
  event UpdatedMinimumFeeThreshold(uint256 threshold);
  event UpdatedBurnerContract(address burnerAddress);

  /**
   * @param _requestBurnerContract Address of the contract where to send the ether.
   * This burner contract will have a function that can be called by anyone and will exchange ether to req via Kyber and burn the REQ
   */
  constructor(address payable _requestBurnerContract)
    public
  {
    requestBurnerContract = _requestBurnerContract;
  }

  /**
    * @notice Sets the fees rate and minimum fee.
    * @dev if the _rateFeesDenominator is 0, it will be treated as 1. (in other words, the computation of the fees will not use it)
    * @param _minimumFee minimum fixed fee
    * @param _rateFeesNumerator numerator rate
    * @param _rateFeesDenominator denominator rate
    */
  function setFeeParameters(uint256 _minimumFee, uint256 _rateFeesNumerator, uint256 _rateFeesDenominator)
    external
    onlyWhitelistAdmin
  {
    minimumFee = _minimumFee;
    rateFeesNumerator = _rateFeesNumerator;
    rateFeesDenominator = _rateFeesDenominator;
    emit UpdatedFeeParameters(minimumFee, rateFeesNumerator, rateFeesDenominator);
  }


  /**
    * @notice Set the request burner address.
    * @param _requestBurnerContract address of the contract that will burn req token (probably through Kyber)
    */
  function setRequestBurnerContract(address payable _requestBurnerContract)
    external
    onlyWhitelistAdmin
  {
    requestBurnerContract = _requestBurnerContract;
    emit UpdatedBurnerContract(requestBurnerContract);
  }

  /**
    * @notice Computes the fees.
    * @param _contentSize Size of the content of the block to be stored
    * @return the expected amount of fees in wei
    */
  function getFeesAmount(uint256 _contentSize)
    public
    view
    returns(uint256)
  {
    // Transactions fee
    uint256 computedAllFee = _contentSize.mul(rateFeesNumerator);

    if (rateFeesDenominator != 0) {
      computedAllFee = computedAllFee.div(rateFeesDenominator);
    }

    if (computedAllFee <= minimumFee) {
      return minimumFee;
    } else {
      return computedAllFee;
    }
  }

  /**
    * @notice Sends fees to the request burning address.
    * @param _amount amount to send to the burning address
    */
  function collectForREQBurning(uint256 _amount)
    internal
  {
    // .transfer throws on failure
    requestBurnerContract.transfer(_amount);
  }
}

/**
 * @title RequestOpenHashSubmitter
 * @notice Contract declares data hashes and collects the fees.
 * @notice The hash is declared to the whole request network system through the RequestHashStorage contract.
 * @notice Anyone can submit hashes.
 */
contract RequestOpenHashSubmitter is StorageFeeCollector {

  RequestHashStorage public requestHashStorage;
  
  /**
   * @param _addressRequestHashStorage contract address which manages the hashes declarations
   * @param _addressBurner Burner address
   */
  constructor(address _addressRequestHashStorage, address payable _addressBurner)
    StorageFeeCollector(_addressBurner)
    public
  {
    requestHashStorage = RequestHashStorage(_addressRequestHashStorage);
  }

  /**
   * @notice Submit a new hash to the blockchain.
   *
   * @param _hash Hash of the request to be stored
   * @param _feesParameters fees parameters used to compute the fees. Here, it is the content size in an uint256
   */
  function submitHash(string calldata _hash, bytes calldata _feesParameters)
    external
    payable
  {
    // extract the contentSize from the _feesParameters
    uint256 contentSize = uint256(Bytes.extractBytes32(_feesParameters, 0));

    // Check fees are paid
    require(getFeesAmount(contentSize) == msg.value, "msg.value does not match the fees");

    // Send fees to burner, throws on failure
    collectForREQBurning(msg.value);

    // declare the hash to the whole system through to RequestHashStorage
    requestHashStorage.declareNewHash(_hash, _feesParameters);
  }

  // Fallback function returns funds to the sender
  function()
    external
    payable
  {
    revert("not payable fallback");
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"minimumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateFeesNumerator","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"string"},{"name":"_feesParameters","type":"bytes"}],"name":"submitHash","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_requestBurnerContract","type":"address"}],"name":"setRequestBurnerContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rateFeesDenominator","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_contentSize","type":"uint256"}],"name":"getFeesAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minimumFee","type":"uint256"},{"name":"_rateFeesNumerator","type":"uint256"},{"name":"_rateFeesDenominator","type":"uint256"}],"name":"setFeeParameters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"requestBurnerContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"requestHashStorage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_addressRequestHashStorage","type":"address"},{"name":"_addressBurner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"minimumFee","type":"uint256"},{"indexed":false,"name":"rateFeesNumerator","type":"uint256"},{"indexed":false,"name":"rateFeesDenominator","type":"uint256"}],"name":"UpdatedFeeParameters","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"threshold","type":"uint256"}],"name":"UpdatedMinimumFeeThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burnerAddress","type":"address"}],"name":"UpdatedBurnerContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"WhitelistAdminRemoved","type":"event"}]

608060405234801561001057600080fd5b506040516040806110738339810180604052604081101561003057600080fd5b81019080805190602001909291908051906020019092919050505080610064336100ee640100000000026401000000009004565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102a8565b61010f81600061015564010000000002610ce0179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019157600080fd5b6101aa8282610214640100000000026401000000009004565b1515156101b657600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561025157600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610dbc806102b76000396000f3fe6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631a7626e714610128578063263f6a42146101535780634c5a628c1461017e57806351a58abb14610195578063524eb29c146102635780637362d9c8146102b457806375c268f3146103055780638f5b87e114610330578063bb5f747b1461037f578063cb2537cb146103e8578063e40e845714610437578063f76f22561461048e575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f742070617961626c652066616c6c6261636b00000000000000000000000081525060200191505060405180910390fd5b34801561013457600080fd5b5061013d6104e5565b6040518082815260200191505060405180910390f35b34801561015f57600080fd5b506101686104eb565b6040518082815260200191505060405180910390f35b34801561018a57600080fd5b506101936104f1565b005b610261600480360360408110156101ab57600080fd5b81019080803590602001906401000000008111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111640100000000831117156101fc57600080fd5b90919293919293908035906020019064010000000081111561021d57600080fd5b82018360208201111561022f57600080fd5b8035906020019184600183028401116401000000008311171561025157600080fd5b90919293919293905050506104fc565b005b34801561026f57600080fd5b506102b26004803603602081101561028657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610711565b005b3480156102c057600080fd5b50610303600480360360208110156102d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ee565b005b34801561031157600080fd5b5061031a61080e565b6040518082815260200191505060405180910390f35b34801561033c57600080fd5b506103696004803603602081101561035357600080fd5b8101908080359060200190929190505050610814565b6040518082815260200191505060405180910390f35b34801561038b57600080fd5b506103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610872565b604051808215151515815260200191505060405180910390f35b3480156103f457600080fd5b506104356004803603606081101561040b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919050505061088f565b005b34801561044357600080fd5b5061044c61090a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049a57600080fd5b506104a3610930565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60015481565b60025481565b6104fa33610956565b565b600061054d83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060006109b0565b6001900490503461055d82610814565b1415156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f6d73672e76616c756520646f6573206e6f74206d61746368207468652066656581526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61060134610a6f565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8cc962868686866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156106f257600080fd5b505af1158015610706573d6000803e3d6000fd5b505050505050505050565b61071a33610872565b151561072557600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fb2c87fdcc342ca09b09df1fb16a153b7ceb0a4b56ad223f12c8fbff63f98ccd8600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6107f733610872565b151561080257600080fd5b61080b81610adb565b50565b60035481565b60008061082c60025484610b3590919063ffffffff16565b905060006003541415156108525761084f60035482610b7390919063ffffffff16565b90505b600154811115156108685760015491505061086d565b809150505b919050565b6000610888826000610b9d90919063ffffffff16565b9050919050565b61089833610872565b15156108a357600080fd5b8260018190555081600281905550806003819055507f741cafcfc8058975fab7ed6bdaf402b47dca8aa9826990c454c058a6f9b06d1660015460025460035460405180848152602001838152602001828152602001935050505060405180910390a1505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61096a816000610c3190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b60008082101580156109c6575082516020830111155b1515610a60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f6f66667365742076616c75652073686f756c6420626520696e2074686520636f81526020017f72726563742072616e676500000000000000000000000000000000000000000081525060400191505060405180910390fd5b81602001830151905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad7573d6000803e3d6000fd5b5050565b610aef816000610ce090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b600080831415610b485760009050610b6d565b60008284029050828482811515610b5b57fe5b04141515610b6857600080fd5b809150505b92915050565b60008082111515610b8357600080fd5b60008284811515610b9057fe5b0490508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610bda57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c6d57600080fd5b610c778282610b9d565b1515610c8257600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d1c57600080fd5b610d268282610b9d565b151515610d3257600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a72305820cac196a65b33835bae4a2d5c12524ad94c6d0c66e9a035a1a6141cafb4ebe148002900000000000000000000000024a66afda3666fb0202f439708ece45c8121a9bb0000000000000000000000007b3c4d90e8af6030d66c07f8f815f9505e379d6f

Deployed Bytecode

0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631a7626e714610128578063263f6a42146101535780634c5a628c1461017e57806351a58abb14610195578063524eb29c146102635780637362d9c8146102b457806375c268f3146103055780638f5b87e114610330578063bb5f747b1461037f578063cb2537cb146103e8578063e40e845714610437578063f76f22561461048e575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f742070617961626c652066616c6c6261636b00000000000000000000000081525060200191505060405180910390fd5b34801561013457600080fd5b5061013d6104e5565b6040518082815260200191505060405180910390f35b34801561015f57600080fd5b506101686104eb565b6040518082815260200191505060405180910390f35b34801561018a57600080fd5b506101936104f1565b005b610261600480360360408110156101ab57600080fd5b81019080803590602001906401000000008111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111640100000000831117156101fc57600080fd5b90919293919293908035906020019064010000000081111561021d57600080fd5b82018360208201111561022f57600080fd5b8035906020019184600183028401116401000000008311171561025157600080fd5b90919293919293905050506104fc565b005b34801561026f57600080fd5b506102b26004803603602081101561028657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610711565b005b3480156102c057600080fd5b50610303600480360360208110156102d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107ee565b005b34801561031157600080fd5b5061031a61080e565b6040518082815260200191505060405180910390f35b34801561033c57600080fd5b506103696004803603602081101561035357600080fd5b8101908080359060200190929190505050610814565b6040518082815260200191505060405180910390f35b34801561038b57600080fd5b506103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610872565b604051808215151515815260200191505060405180910390f35b3480156103f457600080fd5b506104356004803603606081101561040b57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919050505061088f565b005b34801561044357600080fd5b5061044c61090a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049a57600080fd5b506104a3610930565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60015481565b60025481565b6104fa33610956565b565b600061054d83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060006109b0565b6001900490503461055d82610814565b1415156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f6d73672e76616c756520646f6573206e6f74206d61746368207468652066656581526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61060134610a6f565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe8cc962868686866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156106f257600080fd5b505af1158015610706573d6000803e3d6000fd5b505050505050505050565b61071a33610872565b151561072557600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fb2c87fdcc342ca09b09df1fb16a153b7ceb0a4b56ad223f12c8fbff63f98ccd8600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6107f733610872565b151561080257600080fd5b61080b81610adb565b50565b60035481565b60008061082c60025484610b3590919063ffffffff16565b905060006003541415156108525761084f60035482610b7390919063ffffffff16565b90505b600154811115156108685760015491505061086d565b809150505b919050565b6000610888826000610b9d90919063ffffffff16565b9050919050565b61089833610872565b15156108a357600080fd5b8260018190555081600281905550806003819055507f741cafcfc8058975fab7ed6bdaf402b47dca8aa9826990c454c058a6f9b06d1660015460025460035460405180848152602001838152602001828152602001935050505060405180910390a1505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61096a816000610c3190919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b60008082101580156109c6575082516020830111155b1515610a60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f6f66667365742076616c75652073686f756c6420626520696e2074686520636f81526020017f72726563742072616e676500000000000000000000000000000000000000000081525060400191505060405180910390fd5b81602001830151905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad7573d6000803e3d6000fd5b5050565b610aef816000610ce090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b600080831415610b485760009050610b6d565b60008284029050828482811515610b5b57fe5b04141515610b6857600080fd5b809150505b92915050565b60008082111515610b8357600080fd5b60008284811515610b9057fe5b0490508091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610bda57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c6d57600080fd5b610c778282610b9d565b1515610c8257600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d1c57600080fd5b610d268282610b9d565b151515610d3257600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fea165627a7a72305820cac196a65b33835bae4a2d5c12524ad94c6d0c66e9a035a1a6141cafb4ebe1480029

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

00000000000000000000000024a66afda3666fb0202f439708ece45c8121a9bb0000000000000000000000007b3c4d90e8af6030d66c07f8f815f9505e379d6f

-----Decoded View---------------
Arg [0] : _addressRequestHashStorage (address): 0x24A66AfdA3666FB0202f439708ECE45c8121a9bB
Arg [1] : _addressBurner (address): 0x7b3C4D90e8AF6030d66c07F8F815f9505E379d6F

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000024a66afda3666fb0202f439708ece45c8121a9bb
Arg [1] : 0000000000000000000000007b3c4d90e8af6030d66c07f8f815f9505e379d6f


Deployed Bytecode Sourcemap

11179:1469:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12609:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8108:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8108:25:0;;;;;;;;;;;;;;;;;;;;;;;8138:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8138:32:0;;;;;;;;;;;;;;;;;;;;;;;3764:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3764:93:0;;;;;;11907:596;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11907:596:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11907:596:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11907:596:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11907:596:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11907:596:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11907:596:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11907:596:0;;;;;;;;;;;;;;;9793:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9793:230:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9793:230:0;;;;;;;;;;;;;;;;;;;;;;3640:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3640:116:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3640:116:0;;;;;;;;;;;;;;;;;;;;;;8175:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8175:34:0;;;;;;;;;;;;;;;;;;;;;;;10201:421;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10201:421:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10201:421:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3507:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3507:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3507:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9251:361;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9251:361:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9251:361:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8271:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8271:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11243:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8108:25;;;;:::o;8138:32::-;;;;:::o;3764:93::-;3816:33;3838:10;3816:21;:33::i;:::-;3764:93::o;11907:596::-;12076:19;12106:40;12127:15;;12106:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;12106:40:0;;;;;;12144:1;12106:20;:40::i;:::-;12098:49;;;12076:71;;12222:9;12192:26;12206:11;12192:13;:26::i;:::-;:39;12184:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12325:31;12346:9;12325:20;:31::i;:::-;12440:18;;;;;;;;;;;:33;;;12474:5;;12481:15;;12440:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;12440:57:0;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;12440:57:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12440:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12440:57:0;;;;11907:596;;;;;:::o;9793:230::-;3450:28;3467:10;3450:16;:28::i;:::-;3442:37;;;;;;;;9939:22;9915:21;;:46;;;;;;;;;;;;;;;;;;9973:44;9995:21;;;;;;;;;;;9973:44;;;;;;;;;;;;;;;;;;;;;;9793:230;:::o;3640:116::-;3450:28;3467:10;3450:16;:28::i;:::-;3442:37;;;;;;;;3721:27;3740:7;3721:18;:27::i;:::-;3640:116;:::o;8175:34::-;;;;:::o;10201:421::-;10281:7;10325:22;10350:35;10367:17;;10350:12;:16;;:35;;;;:::i;:::-;10325:60;;10421:1;10398:19;;:24;;10394:103;;;10450:39;10469:19;;10450:14;:18;;:39;;;;:::i;:::-;10433:56;;10394:103;10527:10;;10509:14;:28;;10505:112;;;10555:10;;10548:17;;;;;10505:112;10595:14;10588:21;;;10201:421;;;;:::o;3507:125::-;3571:4;3595:29;3616:7;3595:16;:20;;:29;;;;:::i;:::-;3588:36;;3507:125;;;:::o;9251:361::-;3450:28;3467:10;3450:16;:28::i;:::-;3442:37;;;;;;;;9417:11;9404:10;:24;;;;9455:18;9435:17;:38;;;;9502:20;9480:19;:42;;;;9534:72;9555:10;;9567:17;;9586:19;;9534:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9251:361;;;:::o;8271:44::-;;;;;;;;;;;;;:::o;11243:::-;;;;;;;;;;;;;:::o;4019:154::-;4087:32;4111:7;4087:16;:23;;:32;;;;:::i;:::-;4157:7;4135:30;;;;;;;;;;;;4019:154;:::o;6846:354::-;6940:10;6980:1;6970:6;:11;;:41;;;;;7000:4;:11;6994:2;6985:6;:11;:26;;6970:41;6962:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7179:6;7175:2;7171:15;7165:4;7161:26;7155:33;7149:39;;7138:57;;;;:::o;10761:152::-;10868:21;;;;;;;;;;;:30;;:39;10899:7;10868:39;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10868:39:0;10761:152;:::o;3865:146::-;3930:29;3951:7;3930:16;:20;;:29;;;;:::i;:::-;3995:7;3975:28;;;;;;;;;;;;3865:146;:::o;310:433::-;368:7;617:1;612;:6;608:47;;;642:1;635:8;;;;608:47;667:9;683:1;679;:5;667:17;;712:1;707;703;:5;;;;;;;;:10;695:19;;;;;;;;734:1;727:8;;;310:433;;;;;:::o;876:303::-;934:7;1033:1;1029;:5;1021:14;;;;;;;;1046:9;1062:1;1058;:5;;;;;;;;1046:17;;1170:1;1163:8;;;876:303;;;;:::o;2784:165::-;2856:4;2900:1;2881:21;;:7;:21;;;;2873:30;;;;;;;;2921:4;:11;;:20;2933:7;2921:20;;;;;;;;;;;;;;;;;;;;;;;;;2914:27;;2784:165;;;;:::o;2501:189::-;2600:1;2581:21;;:7;:21;;;;2573:30;;;;;;;;2622:18;2626:4;2632:7;2622:3;:18::i;:::-;2614:27;;;;;;;;2677:5;2654:4;:11;;:20;2666:7;2654:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;2501:189;;:::o;2236:186::-;2332:1;2313:21;;:7;:21;;;;2305:30;;;;;;;;2355:18;2359:4;2365:7;2355:3;:18::i;:::-;2354:19;2346:28;;;;;;;;2410:4;2387;:11;;:20;2399:7;2387:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;2236:186;;:::o

Swarm Source

bzzr://cac196a65b33835bae4a2d5c12524ad94c6d0c66e9a035a1a6141cafb4ebe148

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.