MATIC Price: $0.99 (-3.61%)
Gas: 92 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

Sponsored

Transaction Hash
Method
Block
From
To
Value
Update Informati...546892022024-03-15 13:29:2613 days ago1710509366IN
0xEFF4fC40...158E1E363
0 MATIC0.0178046109
Update Informati...543369772024-03-06 14:50:2922 days ago1709736629IN
0xEFF4fC40...158E1E363
0 MATIC0.03234706198
Update Informati...502554252023-11-22 14:32:25127 days ago1700663545IN
0xEFF4fC40...158E1E363
0 MATIC0.0024446144.4
Update Informati...502061912023-11-21 8:58:16128 days ago1700557096IN
0xEFF4fC40...158E1E363
0 MATIC0.01841719112.8
Update Informati...501675632023-11-20 9:39:26129 days ago1700473166IN
0xEFF4fC40...158E1E363
0 MATIC0.0154782894.8
Update Informati...486701512023-10-13 13:29:03167 days ago1697203743IN
0xEFF4fC40...158E1E363
0 MATIC0.01743499106.8
Update Informati...482807602023-10-03 14:48:15177 days ago1696344495IN
0xEFF4fC40...158E1E363
0 MATIC0.02017016123.6
Update Informati...478113832023-09-21 13:39:34189 days ago1695303574IN
0xEFF4fC40...158E1E363
0 MATIC0.02331538142.8
Update Informati...466886362023-08-24 7:52:04218 days ago1692863524IN
0xEFF4fC40...158E1E363
0 MATIC0.01939968118.8
Update Informati...457723672023-08-01 7:55:25241 days ago1690876525IN
0xEFF4fC40...158E1E363
0 MATIC0.01763607108
Update Informati...457498862023-07-31 18:28:51241 days ago1690828131IN
0xEFF4fC40...158E1E363
0 MATIC0.02174476133.2
Update Informati...457495822023-07-31 18:18:05241 days ago1690827485IN
0xEFF4fC40...158E1E363
0 MATIC0.0174414106.8
Update Informati...442012842023-06-22 9:35:12280 days ago1687426512IN
0xEFF4fC40...158E1E363
0 MATIC0.02939562180
Update Informati...441343682023-06-20 15:44:57282 days ago1687275897IN
0xEFF4fC40...158E1E363
0 MATIC0.03567978218.4
Update Informati...438944872023-06-14 7:38:14289 days ago1686728294IN
0xEFF4fC40...158E1E363
0 MATIC0.01153028209.28
Update Informati...438941342023-06-14 7:25:36289 days ago1686727536IN
0xEFF4fC40...158E1E363
0 MATIC0.03437327210.48
Update Informati...438707212023-06-13 16:42:07289 days ago1686674527IN
0xEFF4fC40...158E1E363
0 MATIC0.08156304499.44
Update Informati...433989182023-06-01 7:26:23302 days ago1685604383IN
0xEFF4fC40...158E1E363
0 MATIC0.02975484182.28
Update Informati...433752902023-05-31 17:01:54302 days ago1685552514IN
0xEFF4fC40...158E1E363
0 MATIC0.03213212196.8
Update Informati...426088052023-05-12 9:17:13321 days ago1683883033IN
0xEFF4fC40...158E1E363
0 MATIC0.0503142308.16
Update Informati...403489502023-03-14 20:50:19380 days ago1678827019IN
0xEFF4fC40...158E1E363
0 MATIC0.00771568175.68
Update Informati...403489192023-03-14 20:48:41380 days ago1678826921IN
0xEFF4fC40...158E1E363
0 MATIC0.00599757136.56
Update Informati...403488762023-03-14 20:47:09380 days ago1678826829IN
0xEFF4fC40...158E1E363
0 MATIC0.00896474204.12
Update Informati...403488762023-03-14 20:47:09380 days ago1678826829IN
0xEFF4fC40...158E1E363
0 MATIC0.00896474204.12
Update Informati...403488762023-03-14 20:47:09380 days ago1678826829IN
0xEFF4fC40...158E1E363
0 MATIC0.01039299236.64
View all transactions

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArianeeIdentity

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2022-02-21
*/

// File: @0xcert/ethereum-utils-contracts/src/contracts/permission/ownable.sol

// SPDX-License-Identifier: MIT

pragma solidity 0.8.0;

/**
 * @dev The contract has an owner address, and provides basic authorization control which
 * simplifies the implementation of user permissions. This contract is based on the source code at:
 * https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
 */
contract Ownable
{

  /**
   * @dev Error constants.
   */
  string constant NOT_OWNER = "018001";
  string constant ZERO_ADDRESS_NOT_ALLOWED = "018002";

  /**
   * @dev Address of the owner.
   */
  address public owner;

  /**
   * @dev An event which is triggered when the owner is changed.
   * @param previousOwner The address of the previous owner.
   * @param newOwner The address of the new owner.
   */
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );

  /**
   * @dev The constructor sets the original `owner` of the contract to the sender account.
   */
  constructor()
  {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner()
  {
    require(msg.sender == owner, NOT_OWNER);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(
    address _newOwner
  )
    public
    virtual
    onlyOwner
  {
    require(_newOwner != address(0), ZERO_ADDRESS_NOT_ALLOWED);
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }

}

// File: contracts/ArianeeIdentity/ArianeeIdentity.sol

pragma solidity 0.8.0;

contract ArianeeIdentity is
Ownable
{

  /**
   * @dev A descriptive name.
   */
  string internal name;

  /**
   * @dev An abbreviated name.
   */
  string internal symbol;

  /**
   * @dev Mapping from address to approvedList boolean
   */
  mapping(address => bool) internal approvedList;

  /**
   * @dev Mapping from address to URI.
   */
  mapping(address => string) internal addressToUri;

  /**
   * @dev Mapping from address to imprint.
   */
  mapping(address => bytes32) internal addressToImprint;

  /**
   * @dev Mapping from address to URI.
   */
  mapping(address => string) internal addressToWaitingUri;

  /**
   * @dev Mapping from address to imprint.
   */
  mapping(address => bytes32) internal addressToWaitingImprint;

  /**
   * @dev Mapping from address to compromise date.
   */
  mapping(address => uint256) internal compromiseDate;

  /**
   * @dev Mapping from addressId to address.
   */
  mapping(bytes3=>address) internal addressListing;
  
  address public bouncerAddress;
  address public validatorAddress;
   
  /**
   * @dev This emits when a new address is approved.
   */
  event AddressApprovedAdded(address _newIdentity, bytes3 _addressId);
   
  /**
   * @dev This emits when an address is removed from approvedList.
   */
  event AddressApprovedRemoved(address _newIdentity);
   
  /**
   * @dev This emits when a new address is approved.
   */
  event URIUpdated(address _identity, string _uri, bytes32 _imprint);

  /**
   * @dev This emits when an identity change its URI and Imprint.
   */
  event URIValidate(address _identity, string _uri, bytes32 _imprint);

  /**
   * @dev This emits when an identity change is validated by the contract owner.
   */
  event IdentityCompromised(address _identity, uint256 _compromiseDate);
  
  /**
   * @dev This emits when a new address is set.
   */
  event SetAddress(string _addressType, address _newAddress);
   
  /**
    * @dev Initialize this contract. Acts as a constructor
    * @param _newBouncerAddress Address of the bouncer.
    * @param _newValidatorAddress Address of the validator.
    */
  constructor(address _newBouncerAddress, address _newValidatorAddress) {
    name = "Arianee Identity";
    symbol = "AriaID";
    updateBouncerAddress(_newBouncerAddress);
    updateValidatorAddress(_newValidatorAddress);
  }
  
  /**
   * @dev Add a new address to approvedList
   * @notice allow an address to create/update his URI and Imprint.
   * @notice Can only be called by the bouncer.
   * @param _newIdentity Address to authorize.
   * @return Id for address in bytes3.
   */
  function addAddressToApprovedList(address _newIdentity) external returns (bytes3) {
    require(msg.sender == bouncerAddress);
    approvedList[_newIdentity] = true;
    
    bytes memory _bytesAddress = abi.encodePacked(_newIdentity);
    bytes3 _addressId = _convertBytesToBytes3(_bytesAddress);
    
    addressListing[_addressId] = _newIdentity;
    
    emit AddressApprovedAdded(_newIdentity, _addressId);
    
    return _addressId;
  }
  
  /**
   * @dev Remove an address from approvedList.
   * @notice Can only be called by the bouncer.
   * @param _identity to delete from the approvedList.
   */
  function removeAddressFromApprovedList(address _identity) external {
    require(msg.sender == bouncerAddress);
    approvedList[_identity] = false;
    emit AddressApprovedRemoved(_identity);
  }

  /**
   * @dev Update URI and Imprint of an address.
   * @param _uri URI to update.
   * @param _imprint Imprint to update
   */
  function updateInformations(string calldata _uri, bytes32 _imprint) external isApproved(msg.sender) {
    addressToWaitingUri[msg.sender] = _uri;
    addressToWaitingImprint[msg.sender] = _imprint;
    
    emit URIUpdated(msg.sender, _uri, _imprint);
  }
  
  
  /**
   * @dev Validate waiting informations provided by the identity.
   * @notice Can only be called by the validator.
   * @param _uriToValidate uri to be validated.
   * @param _identity address to be validated.
   */
  function validateInformation(address _identity, string calldata _uriToValidate, bytes32 _imprintToValidate) external {
    require(msg.sender == validatorAddress);
    require(addressToWaitingImprint[_identity] == _imprintToValidate);
    require(keccak256(abi.encodePacked(addressToWaitingUri[_identity])) == keccak256(abi.encodePacked(_uriToValidate)));
    
    addressToUri[_identity] = addressToWaitingUri[_identity];
    addressToImprint[_identity] =  addressToWaitingImprint[_identity];

    emit URIValidate(_identity, addressToWaitingUri[_identity], addressToWaitingImprint[_identity]);

    delete addressToWaitingUri[_identity];
    delete addressToWaitingImprint[_identity];
  }

  /**
   * @notice Add a compromise date to an identity.
   * @dev Can only be called by the bouncer.
   * @param _identity address compromise
   * @param _compromiseDate compromise date
   */
  function updateCompromiseDate(address _identity, uint256 _compromiseDate) external {
    require(msg.sender == bouncerAddress);
    compromiseDate[_identity] = _compromiseDate;
    emit IdentityCompromised(_identity, _compromiseDate);
  }
  
  /**
   * @notice Check if an address is approved.
   * @param _identity address of the identity.
   * @return _isApproved true if approved.
   */
  function addressIsApproved(address _identity) external view returns (bool _isApproved) {
      _isApproved = approvedList[_identity];
  }
  
  /**
   * @notice The uri of a given identity.
   * @param _identity address of the identity.
   * @return _uri the uri.
   */
  function addressURI(address _identity) external view returns (string memory _uri) {
      _uri = addressToUri[_identity];
  }
  
  /**
   * @notice The imprint for a given identity.
   * @param _identity address of the identity.
   * @return _imprint true if approved.
   */
  function addressImprint(address _identity) external view returns (bytes32 _imprint) {
      _imprint = addressToImprint[_identity];
  }

  /**
   * @notice The waiting uri for a given identity.
   * @param _identity address of the identity.
   * @return _waitingUri the waiting Uri.
   */
  function waitingURI(address _identity) external view returns(string memory _waitingUri) {
      _waitingUri = addressToWaitingUri[_identity];
  }
  
  /**
   * @notice The waiting imprint for a given identity.
   * @param _identity address of the identity.
   * @return _waitingImprint the waiting imprint.
   */
  function waitingImprint(address _identity) external view returns(bytes32 _waitingImprint) {
      _waitingImprint = addressToWaitingImprint[_identity];
  }
  
  /**
   * @notice The compromise date for a given identity.
   * @param _identity address of the identity.
   * @return _compromiseDate the waiting Uri.
   */
  function compromiseIdentityDate(address _identity) external view returns(uint256 _compromiseDate) {
      _compromiseDate = compromiseDate[_identity];
  }

  /**
   * @notice The address for a given short id.
   * @param _id short id of the identity
   * @return _identity the address of the identity.
   */
  function addressFromId(bytes3 _id) external view returns(address _identity) {
      _identity = addressListing[_id];
  }
  
  /**
   * @dev Change address of the bouncer.
   * @param _newBouncerAddress new address of the bouncer.
   */
  function updateBouncerAddress(address _newBouncerAddress) public onlyOwner() {
    bouncerAddress = _newBouncerAddress;
    emit SetAddress("bouncerAddress", _newBouncerAddress);
  }
  
  /**
   * @dev Change address of the validator.
   * @param _newValidatorAddress new address of the validator.
   */
  function updateValidatorAddress(address _newValidatorAddress) public onlyOwner() {
    validatorAddress = _newValidatorAddress;
    emit SetAddress("validatorAddress", _newValidatorAddress);
  }
  
  /**
   * @dev Check if an address is approved.
   * @param _identity The address to check.
   */
  modifier isApproved(address _identity) {
    require(approvedList[_identity]);
    _;
  }

   /**
    * @dev Convert a bytes in bytes3.
    * @param _inBytes input bytes.
    * @return outBytes3 output bytes3.
    */
  function _convertBytesToBytes3(bytes memory _inBytes) internal pure returns (bytes3 outBytes3) {
    if (_inBytes.length == 0) {
        return 0x0;
    }

    assembly {
        outBytes3 := mload(add(_inBytes, 32))
    }
  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_newBouncerAddress","type":"address"},{"internalType":"address","name":"_newValidatorAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newIdentity","type":"address"},{"indexed":false,"internalType":"bytes3","name":"_addressId","type":"bytes3"}],"name":"AddressApprovedAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newIdentity","type":"address"}],"name":"AddressApprovedRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_identity","type":"address"},{"indexed":false,"internalType":"uint256","name":"_compromiseDate","type":"uint256"}],"name":"IdentityCompromised","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"_addressType","type":"string"},{"indexed":false,"internalType":"address","name":"_newAddress","type":"address"}],"name":"SetAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_identity","type":"address"},{"indexed":false,"internalType":"string","name":"_uri","type":"string"},{"indexed":false,"internalType":"bytes32","name":"_imprint","type":"bytes32"}],"name":"URIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_identity","type":"address"},{"indexed":false,"internalType":"string","name":"_uri","type":"string"},{"indexed":false,"internalType":"bytes32","name":"_imprint","type":"bytes32"}],"name":"URIValidate","type":"event"},{"inputs":[{"internalType":"address","name":"_newIdentity","type":"address"}],"name":"addAddressToApprovedList","outputs":[{"internalType":"bytes3","name":"","type":"bytes3"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes3","name":"_id","type":"bytes3"}],"name":"addressFromId","outputs":[{"internalType":"address","name":"_identity","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"addressImprint","outputs":[{"internalType":"bytes32","name":"_imprint","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"addressIsApproved","outputs":[{"internalType":"bool","name":"_isApproved","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"addressURI","outputs":[{"internalType":"string","name":"_uri","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bouncerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"compromiseIdentityDate","outputs":[{"internalType":"uint256","name":"_compromiseDate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"removeAddressFromApprovedList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newBouncerAddress","type":"address"}],"name":"updateBouncerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"},{"internalType":"uint256","name":"_compromiseDate","type":"uint256"}],"name":"updateCompromiseDate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"},{"internalType":"bytes32","name":"_imprint","type":"bytes32"}],"name":"updateInformations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newValidatorAddress","type":"address"}],"name":"updateValidatorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"},{"internalType":"string","name":"_uriToValidate","type":"string"},{"internalType":"bytes32","name":"_imprintToValidate","type":"bytes32"}],"name":"validateInformation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validatorAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"waitingImprint","outputs":[{"internalType":"bytes32","name":"_waitingImprint","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_identity","type":"address"}],"name":"waitingURI","outputs":[{"internalType":"string","name":"_waitingUri","type":"string"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060405162001424380380620014248339810160408190526200003491620002b7565b600080546001600160a01b031916331790556040805180820190915260108082526f417269616e6565204964656e7469747960801b60209092019182526200007f91600191620001f4565b5060408051808201909152600680825265105c9a58525160d21b6020909201918252620000af91600291620001f4565b50620000bb82620000ce565b620000c6816200016b565b5050620003f5565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620001235760405162461bcd60e51b81526004016200011a9190620002ee565b60405180910390fd5b50600a80546001600160a01b0319166001600160a01b0383161790556040516000805160206200140483398151915290620001609083906200037f565b60405180910390a150565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314620001b75760405162461bcd60e51b81526004016200011a9190620002ee565b50600b80546001600160a01b0319166001600160a01b03831617905560405160008051602062001404833981519152906200016090839062000344565b8280546200020290620003b8565b90600052602060002090601f01602090048101928262000226576000855562000271565b82601f106200024157805160ff191683800117855562000271565b8280016001018555821562000271579182015b828111156200027157825182559160200191906001019062000254565b506200027f92915062000283565b5090565b5b808211156200027f576000815560010162000284565b80516001600160a01b0381168114620002b257600080fd5b919050565b60008060408385031215620002ca578182fd5b620002d5836200029a565b9150620002e5602084016200029a565b90509250929050565b6000602080835283518082850152825b818110156200031c57858101830151858201604001528201620002fe565b818111156200032e5783604083870101525b50601f01601f1916929092016040019392505050565b60408082526010908201526f76616c696461746f724164647265737360801b60608201526001600160a01b0391909116602082015260800190565b6040808252600e908201526d626f756e6365724164647265737360901b60608201526001600160a01b0391909116602082015260800190565b600281046001821680620003cd57607f821691505b60208210811415620003ef57634e487b7160e01b600052602260045260246000fd5b50919050565b610fff80620004056000396000f3fe608060405234801561001057600080fd5b50600436106100e65760003560e01c8063132ec4a1146100eb5780631a199a161461011457806327f51a72146101295780632cd77b3614610149578063374b87fd1461015c5780633fe4676e1461016f578063561aec781461018457806357d4248f146101975780635b0d4711146101aa5780635c5ad967146101bd57806367d9162b146101d05780637458bbc1146101e35780638da5cb5b146101f65780638e6f1511146101fe57806397a4d7b31461020657806398e14d1f14610219578063b66ffbe714610239578063f2fde38b14610259575b600080fd5b6100fe6100f9366004610ba3565b61026c565b60405161010b9190610ea7565b60405180910390f35b610127610122366004610ba3565b610318565b005b61013c610137366004610ba3565b6103af565b60405161010b9190610e89565b610127610157366004610ba3565b6103ca565b61013c61016a366004610ba3565b61044d565b610177610468565b60405161010b9190610d4c565b610127610192366004610ba3565b610477565b6101276101a5366004610bc4565b6104de565b6101776101b8366004610c44565b61066e565b6100fe6101cb366004610ba3565b610693565b61013c6101de366004610ba3565b6106ba565b6101276101f1366004610c1b565b6106d5565b610177610745565b610177610754565b610127610214366004610c6c565b610763565b61022c610227366004610ba3565b6107ee565b60405161010b9190610e92565b61024c610247366004610ba3565b6108cf565b60405161010b9190610e7e565b610127610267366004610ba3565b6108ed565b6001600160a01b038116600090815260066020526040902080546060919061029390610f6e565b80601f01602080910402602001604051908101604052809291908181526020018280546102bf90610f6e565b801561030c5780601f106102e15761010080835404028352916020019161030c565b820191906000526020600020905b8154815290600101906020018083116102ef57829003601f168201915b50505050509050919050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331461036a5760405162461bcd60e51b81526004016103619190610ea7565b60405180910390fd5b50600b80546001600160a01b0319166001600160a01b038316179055604051600080516020610faa833981519152906103a4908390610efa565b60405180910390a150565b6001600160a01b031660009081526008602052604090205490565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146104135760405162461bcd60e51b81526004016103619190610ea7565b50600a80546001600160a01b0319166001600160a01b038316179055604051600080516020610faa833981519152906103a4908390610f35565b6001600160a01b031660009081526007602052604090205490565b600b546001600160a01b031681565b600a546001600160a01b0316331461048e57600080fd5b6001600160a01b03811660009081526003602052604090819020805460ff19169055517fd12e8945e9a5e91167be7fc9d4e953a018d48cba09b3838e57a7e0aff116c698906103a4908390610d4c565b600b546001600160a01b031633146104f557600080fd5b6001600160a01b038416600090815260076020526040902054811461051957600080fd5b828260405160200161052c929190610ccd565b60408051601f1981840301815282825280516020918201206001600160a01b038816600090815260068352929092209192610568929101610cdd565b604051602081830303815290604052805190602001201461058857600080fd5b6001600160a01b0384166000908152600660209081526040808320600490925290912081549091906105b990610f6e565b6105c49291906109f3565b506001600160a01b03841660009081526007602081815260408084205460058352818520819055600683529381902092909152517fdfa2a30946e62abf37186dc9ff5268cef32b4abf868fd965c5a55b29141f634192610628928892909190610dcc565b60405180910390a16001600160a01b038416600090815260066020526040812061065191610a7e565b5050506001600160a01b0316600090815260076020526040812055565b6001600160e81b0319166000908152600960205260409020546001600160a01b031690565b6001600160a01b038116600090815260046020526040902080546060919061029390610f6e565b6001600160a01b031660009081526005602052604090205490565b600a546001600160a01b031633146106ec57600080fd5b6001600160a01b03821660009081526008602052604090819020829055517f2e6aa017648c8f32add4cfb0bd3bfd3408c9d7013d328e084656fb1db353dbb1906107399084908490610e65565b60405180910390a15050565b6000546001600160a01b031681565b600a546001600160a01b031681565b3360008181526003602052604090205460ff1661077f57600080fd5b336000908152600660205260409020610799908585610abd565b503360008181526007602052604090819020849055517f2d64b04fdb9bb57739881c5fd027d989ffd253cdc643f097258d3ed21631e132916107e091879087908790610d83565b60405180910390a150505050565b600a546000906001600160a01b0316331461080857600080fd5b6001600160a01b0382166000908152600360209081526040808320805460ff191660011790555161083b91859101610cb5565b60405160208183030381529060405290506000610857826109d7565b6001600160e81b031981166000908152600960205260409081902080546001600160a01b0319166001600160a01b038816179055519091507fa31fdf99b4c3d07705b47b3201ab3a16914403acbeac6edc05896e76449e9ee2906108be9086908490610d60565b60405180910390a19150505b919050565b6001600160a01b031660009081526003602052604090205460ff1690565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146109365760405162461bcd60e51b81526004016103619190610ea7565b5060408051808201909152600681526518189c18181960d11b60208201526001600160a01b03821661097b5760405162461bcd60e51b81526004016103619190610ea7565b50600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008151600014156109eb575060006108ca565b506020015190565b8280546109ff90610f6e565b90600052602060002090601f016020900481019282610a215760008555610a6e565b82601f10610a325780548555610a6e565b82800160010185558215610a6e57600052602060002091601f016020900482015b82811115610a6e578254825591600101919060010190610a53565b50610a7a929150610b31565b5090565b508054610a8a90610f6e565b6000825580601f10610a9c5750610aba565b601f016020900490600052602060002090810190610aba9190610b31565b50565b828054610ac990610f6e565b90600052602060002090601f016020900481019282610aeb5760008555610a6e565b82601f10610b045782800160ff19823516178555610a6e565b82800160010185558215610a6e579182015b82811115610a6e578235825591602001919060010190610b16565b5b80821115610a7a5760008155600101610b32565b80356001600160a01b03811681146108ca57600080fd5b60008083601f840112610b6e578182fd5b5081356001600160401b03811115610b84578182fd5b602083019150836020828501011115610b9c57600080fd5b9250929050565b600060208284031215610bb4578081fd5b610bbd82610b46565b9392505050565b60008060008060608587031215610bd9578283fd5b610be285610b46565b935060208501356001600160401b03811115610bfc578384fd5b610c0887828801610b5d565b9598909750949560400135949350505050565b60008060408385031215610c2d578182fd5b610c3683610b46565b946020939093013593505050565b600060208284031215610c55578081fd5b81356001600160e81b031981168114610bbd578182fd5b600080600060408486031215610c80578283fd5b83356001600160401b03811115610c95578384fd5b610ca186828701610b5d565b909790965060209590950135949350505050565b60609190911b6001600160601b031916815260140190565b6000828483379101908152919050565b6000808354610ceb81610f6e565b60018281168015610d035760018114610d1457610d40565b60ff19841687528287019450610d40565b8786526020808720875b85811015610d375781548a820152908401908201610d1e565b50505082870194505b50929695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682526001600160e81b031916602082015260400190565b6001600160a01b0385168152606060208201819052810183905260008385608084013780608085840101526080601f19601f860116830101905082604083015295945050505050565b600060018060a01b03851682526020606081840152818554610ded81610f6e565b8060608701526080600180841660008114610e0f5760018114610e2357610e4e565b60ff1985168984015260a089019550610e4e565b8a8852868820885b85811015610e465781548b8201860152908301908801610e2b565b8a0184019650505b505050505060409390930193909352509392505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160e81b031991909116815260200190565b6000602080835283518082850152825b81811015610ed357858101830151858201604001528201610eb7565b81811115610ee45783604083870101525b50601f01601f1916929092016040019392505050565b60408082526010908201526f76616c696461746f724164647265737360801b60608201526001600160a01b0391909116602082015260800190565b6040808252600e908201526d626f756e6365724164647265737360901b60608201526001600160a01b0391909116602082015260800190565b600281046001821680610f8257607f821691505b60208210811415610fa357634e487b7160e01b600052602260045260246000fd5b5091905056feb5fa77bd6bc3d862c73fa2474bfb96a0f76d38b622c54ff2a0188be82fb96511a26469706673582212209e404c1d7306841307d43cbe0e2a16d30ff01d426b3ef46b8ed9acc69514951b64736f6c63430008000033b5fa77bd6bc3d862c73fa2474bfb96a0f76d38b622c54ff2a0188be82fb9651100000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f88900000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f889

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100e65760003560e01c8063132ec4a1146100eb5780631a199a161461011457806327f51a72146101295780632cd77b3614610149578063374b87fd1461015c5780633fe4676e1461016f578063561aec781461018457806357d4248f146101975780635b0d4711146101aa5780635c5ad967146101bd57806367d9162b146101d05780637458bbc1146101e35780638da5cb5b146101f65780638e6f1511146101fe57806397a4d7b31461020657806398e14d1f14610219578063b66ffbe714610239578063f2fde38b14610259575b600080fd5b6100fe6100f9366004610ba3565b61026c565b60405161010b9190610ea7565b60405180910390f35b610127610122366004610ba3565b610318565b005b61013c610137366004610ba3565b6103af565b60405161010b9190610e89565b610127610157366004610ba3565b6103ca565b61013c61016a366004610ba3565b61044d565b610177610468565b60405161010b9190610d4c565b610127610192366004610ba3565b610477565b6101276101a5366004610bc4565b6104de565b6101776101b8366004610c44565b61066e565b6100fe6101cb366004610ba3565b610693565b61013c6101de366004610ba3565b6106ba565b6101276101f1366004610c1b565b6106d5565b610177610745565b610177610754565b610127610214366004610c6c565b610763565b61022c610227366004610ba3565b6107ee565b60405161010b9190610e92565b61024c610247366004610ba3565b6108cf565b60405161010b9190610e7e565b610127610267366004610ba3565b6108ed565b6001600160a01b038116600090815260066020526040902080546060919061029390610f6e565b80601f01602080910402602001604051908101604052809291908181526020018280546102bf90610f6e565b801561030c5780601f106102e15761010080835404028352916020019161030c565b820191906000526020600020905b8154815290600101906020018083116102ef57829003601f168201915b50505050509050919050565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331461036a5760405162461bcd60e51b81526004016103619190610ea7565b60405180910390fd5b50600b80546001600160a01b0319166001600160a01b038316179055604051600080516020610faa833981519152906103a4908390610efa565b60405180910390a150565b6001600160a01b031660009081526008602052604090205490565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146104135760405162461bcd60e51b81526004016103619190610ea7565b50600a80546001600160a01b0319166001600160a01b038316179055604051600080516020610faa833981519152906103a4908390610f35565b6001600160a01b031660009081526007602052604090205490565b600b546001600160a01b031681565b600a546001600160a01b0316331461048e57600080fd5b6001600160a01b03811660009081526003602052604090819020805460ff19169055517fd12e8945e9a5e91167be7fc9d4e953a018d48cba09b3838e57a7e0aff116c698906103a4908390610d4c565b600b546001600160a01b031633146104f557600080fd5b6001600160a01b038416600090815260076020526040902054811461051957600080fd5b828260405160200161052c929190610ccd565b60408051601f1981840301815282825280516020918201206001600160a01b038816600090815260068352929092209192610568929101610cdd565b604051602081830303815290604052805190602001201461058857600080fd5b6001600160a01b0384166000908152600660209081526040808320600490925290912081549091906105b990610f6e565b6105c49291906109f3565b506001600160a01b03841660009081526007602081815260408084205460058352818520819055600683529381902092909152517fdfa2a30946e62abf37186dc9ff5268cef32b4abf868fd965c5a55b29141f634192610628928892909190610dcc565b60405180910390a16001600160a01b038416600090815260066020526040812061065191610a7e565b5050506001600160a01b0316600090815260076020526040812055565b6001600160e81b0319166000908152600960205260409020546001600160a01b031690565b6001600160a01b038116600090815260046020526040902080546060919061029390610f6e565b6001600160a01b031660009081526005602052604090205490565b600a546001600160a01b031633146106ec57600080fd5b6001600160a01b03821660009081526008602052604090819020829055517f2e6aa017648c8f32add4cfb0bd3bfd3408c9d7013d328e084656fb1db353dbb1906107399084908490610e65565b60405180910390a15050565b6000546001600160a01b031681565b600a546001600160a01b031681565b3360008181526003602052604090205460ff1661077f57600080fd5b336000908152600660205260409020610799908585610abd565b503360008181526007602052604090819020849055517f2d64b04fdb9bb57739881c5fd027d989ffd253cdc643f097258d3ed21631e132916107e091879087908790610d83565b60405180910390a150505050565b600a546000906001600160a01b0316331461080857600080fd5b6001600160a01b0382166000908152600360209081526040808320805460ff191660011790555161083b91859101610cb5565b60405160208183030381529060405290506000610857826109d7565b6001600160e81b031981166000908152600960205260409081902080546001600160a01b0319166001600160a01b038816179055519091507fa31fdf99b4c3d07705b47b3201ab3a16914403acbeac6edc05896e76449e9ee2906108be9086908490610d60565b60405180910390a19150505b919050565b6001600160a01b031660009081526003602052604090205460ff1690565b60005460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146109365760405162461bcd60e51b81526004016103619190610ea7565b5060408051808201909152600681526518189c18181960d11b60208201526001600160a01b03821661097b5760405162461bcd60e51b81526004016103619190610ea7565b50600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008151600014156109eb575060006108ca565b506020015190565b8280546109ff90610f6e565b90600052602060002090601f016020900481019282610a215760008555610a6e565b82601f10610a325780548555610a6e565b82800160010185558215610a6e57600052602060002091601f016020900482015b82811115610a6e578254825591600101919060010190610a53565b50610a7a929150610b31565b5090565b508054610a8a90610f6e565b6000825580601f10610a9c5750610aba565b601f016020900490600052602060002090810190610aba9190610b31565b50565b828054610ac990610f6e565b90600052602060002090601f016020900481019282610aeb5760008555610a6e565b82601f10610b045782800160ff19823516178555610a6e565b82800160010185558215610a6e579182015b82811115610a6e578235825591602001919060010190610b16565b5b80821115610a7a5760008155600101610b32565b80356001600160a01b03811681146108ca57600080fd5b60008083601f840112610b6e578182fd5b5081356001600160401b03811115610b84578182fd5b602083019150836020828501011115610b9c57600080fd5b9250929050565b600060208284031215610bb4578081fd5b610bbd82610b46565b9392505050565b60008060008060608587031215610bd9578283fd5b610be285610b46565b935060208501356001600160401b03811115610bfc578384fd5b610c0887828801610b5d565b9598909750949560400135949350505050565b60008060408385031215610c2d578182fd5b610c3683610b46565b946020939093013593505050565b600060208284031215610c55578081fd5b81356001600160e81b031981168114610bbd578182fd5b600080600060408486031215610c80578283fd5b83356001600160401b03811115610c95578384fd5b610ca186828701610b5d565b909790965060209590950135949350505050565b60609190911b6001600160601b031916815260140190565b6000828483379101908152919050565b6000808354610ceb81610f6e565b60018281168015610d035760018114610d1457610d40565b60ff19841687528287019450610d40565b8786526020808720875b85811015610d375781548a820152908401908201610d1e565b50505082870194505b50929695505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039290921682526001600160e81b031916602082015260400190565b6001600160a01b0385168152606060208201819052810183905260008385608084013780608085840101526080601f19601f860116830101905082604083015295945050505050565b600060018060a01b03851682526020606081840152818554610ded81610f6e565b8060608701526080600180841660008114610e0f5760018114610e2357610e4e565b60ff1985168984015260a089019550610e4e565b8a8852868820885b85811015610e465781548b8201860152908301908801610e2b565b8a0184019650505b505050505060409390930193909352509392505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6001600160e81b031991909116815260200190565b6000602080835283518082850152825b81811015610ed357858101830151858201604001528201610eb7565b81811115610ee45783604083870101525b50601f01601f1916929092016040019392505050565b60408082526010908201526f76616c696461746f724164647265737360801b60608201526001600160a01b0391909116602082015260800190565b6040808252600e908201526d626f756e6365724164647265737360901b60608201526001600160a01b0391909116602082015260800190565b600281046001821680610f8257607f821691505b60208210811415610fa357634e487b7160e01b600052602260045260246000fd5b5091905056feb5fa77bd6bc3d862c73fa2474bfb96a0f76d38b622c54ff2a0188be82fb96511a26469706673582212209e404c1d7306841307d43cbe0e2a16d30ff01d426b3ef46b8ed9acc69514951b64736f6c63430008000033

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

00000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f88900000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f889

-----Decoded View---------------
Arg [0] : _newBouncerAddress (address): 0x21C0eFc0e5F66261328B41284BEE3A9EA6d1F889
Arg [1] : _newValidatorAddress (address): 0x21C0eFc0e5F66261328B41284BEE3A9EA6d1F889

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f889
Arg [1] : 00000000000000000000000021c0efc0e5f66261328b41284bee3a9ea6d1f889


Deployed Bytecode Sourcemap

1814:8642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8146:147;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9680:197;;;;;;:::i;:::-;;:::i;:::-;;8800:156;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9365:185::-;;;;;;:::i;:::-;;:::i;8470:157::-;;;;;;:::i;:::-;;:::i;2872:31::-;;;:::i;:::-;;;;;;;:::i;5127:200::-;;;;;;:::i;:::-;;:::i;5970:702::-;;;;;;:::i;:::-;;:::i;9119:122::-;;;;;;:::i;:::-;;:::i;7560:127::-;;;;;;:::i;:::-;;:::i;7846:137::-;;;;;;:::i;:::-;;:::i;6877:242::-;;;;;;:::i;:::-;;:::i;660:20::-;;;:::i;2838:29::-;;;:::i;5469:260::-;;;;;;:::i;:::-;;:::i;4497:455::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7280:139::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1477:244::-;;;;;;:::i;:::-;;:::i;8146:147::-;-1:-1:-1;;;;;8257:30:0;;;;;;:19;:30;;;;;8243:44;;8207:25;;8257:30;8243:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8146:147;;;:::o;9680:197::-;1278:5;;1285:9;;;;;;;;;;;;-1:-1:-1;;;1285:9:0;;;;;-1:-1:-1;;;;;1278:5:0;1264:10;:19;1256:39;;;;-1:-1:-1;;;1256:39:0;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;9768:16:0::1;:39:::0;;-1:-1:-1;;;;;;9768:39:0::1;-1:-1:-1::0;;;;;9768:39:0;::::1;;::::0;;9819:52:::1;::::0;-1:-1:-1;;;;;;;;;;;9819:52:0;::::1;::::0;9768:39;;9819:52:::1;:::i;:::-;;;;;;;;9680:197:::0;:::o;8800:156::-;-1:-1:-1;;;;;8925:25:0;8873:23;8925:25;;;:14;:25;;;;;;;8800:156::o;9365:185::-;1278:5;;1285:9;;;;;;;;;;;;-1:-1:-1;;;1285:9:0;;;;;-1:-1:-1;;;;;1278:5:0;1264:10;:19;1256:39;;;;-1:-1:-1;;;1256:39:0;;;;;;;;:::i;:::-;-1:-1:-1;9449:14:0::1;:35:::0;;-1:-1:-1;;;;;;9449:35:0::1;-1:-1:-1::0;;;;;9449:35:0;::::1;;::::0;;9496:48:::1;::::0;-1:-1:-1;;;;;;;;;;;9496:48:0;::::1;::::0;9449:35;;9496:48:::1;:::i;8470:157::-:0;-1:-1:-1;;;;;8587:34:0;8535:23;8587:34;;;:23;:34;;;;;;;8470:157::o;2872:31::-;;;-1:-1:-1;;;;;2872:31:0;;:::o;5127:200::-;5223:14;;-1:-1:-1;;;;;5223:14:0;5209:10;:28;5201:37;;;;;;-1:-1:-1;;;;;5245:23:0;;5271:5;5245:23;;;:12;:23;;;;;;;:31;;-1:-1:-1;;5245:31:0;;;5288:33;;;;;5258:9;;5288:33;:::i;5970:702::-;6116:16;;-1:-1:-1;;;;;6116:16:0;6102:10;:30;6094:39;;;;;;-1:-1:-1;;;;;6148:34:0;;;;;;:23;:34;;;;;;:56;;6140:65;;;;;;6310:14;;6293:32;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6293:32:0;;;;;;;;;6283:43;;6293:32;6283:43;;;;-1:-1:-1;;;;;6247:30:0;;;;;;:19;:30;;;;;;6283:43;;6230:48;;6247:30;6230:48;;:::i;:::-;;;;;;;;;;;;;6220:59;;;;;;:106;6212:115;;;;;;-1:-1:-1;;;;;6366:30:0;;;;;;:19;:30;;;;;;;;6340:12;:23;;;;;;:56;;:23;;6366:30;6340:56;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;6434:34:0;;;;;;:23;:34;;;;;;;;;6403:16;:27;;;;;:65;;;6505:19;:30;;;;;;6537:34;;;;6482:90;;;;;6458:9;;6505:30;;6434:34;6482:90;:::i;:::-;;;;;;;;-1:-1:-1;;;;;6588:30:0;;;;;;:19;:30;;;;;6581:37;;;:::i;:::-;-1:-1:-1;;;;;;;;6632:34:0;;;;;:23;:34;;;;;6625:41;5970:702::o;9119:122::-;-1:-1:-1;;;;;;9216:19:0;9176:17;9216:19;;;:14;:19;;;;;;-1:-1:-1;;;;;9216:19:0;;9119:122::o;7560:127::-;-1:-1:-1;;;;;7658:23:0;;;;;;:12;:23;;;;;7651:30;;7622:18;;7658:23;7651:30;;;:::i;7846:137::-;-1:-1:-1;;;;;7950:27:0;7912:16;7950:27;;;:16;:27;;;;;;;7846:137::o;6877:242::-;6989:14;;-1:-1:-1;;;;;6989:14:0;6975:10;:28;6967:37;;;;;;-1:-1:-1;;;;;7011:25:0;;;;;;:14;:25;;;;;;;:43;;;7066:47;;;;;7026:9;;7039:15;;7066:47;:::i;:::-;;;;;;;;6877:242;;:::o;660:20::-;;;-1:-1:-1;;;;;660:20:0;;:::o;2838:29::-;;;-1:-1:-1;;;;;2838:29:0;;:::o;5469:260::-;5557:10;10042:23;;;;:12;:23;;;;;;;;10034:32;;;;;;5596:10:::1;5576:31;::::0;;;:19:::1;:31;::::0;;;;:38:::1;::::0;5610:4;;5576:38:::1;:::i;:::-;-1:-1:-1::0;5645:10:0::1;5621:35;::::0;;;:23:::1;:35;::::0;;;;;;:46;;;5685:38;::::1;::::0;::::1;::::0;5708:4;;;;5659:8;;5685:38:::1;:::i;:::-;;;;;;;;5469:260:::0;;;;:::o;4497:455::-;4608:14;;4571:6;;-1:-1:-1;;;;;4608:14:0;4594:10;:28;4586:37;;;;;;-1:-1:-1;;;;;4630:26:0;;;;;;:12;:26;;;;;;;;:33;;-1:-1:-1;;4630:33:0;4659:4;4630:33;;;4705:30;;;4643:12;;4705:30;;:::i;:::-;;;;;;;;;;;;;4676:59;;4742:17;4762:36;4784:13;4762:21;:36::i;:::-;-1:-1:-1;;;;;;4811:26:0;;;;;;:14;:26;;;;;;;:41;;-1:-1:-1;;;;;;4811:41:0;-1:-1:-1;;;;;4811:41:0;;;;;4870:46;4811:26;;-1:-1:-1;4870:46:0;;;;4811:41;;:26;;4870:46;:::i;:::-;;;;;;;;4936:10;-1:-1:-1;;4497:455:0;;;;:::o;7280:139::-;-1:-1:-1;;;;;7390:23:0;7349:16;7390:23;;;:12;:23;;;;;;;;;7280:139::o;1477:244::-;1278:5;;1285:9;;;;;;;;;;;;-1:-1:-1;;;1285:9:0;;;;;-1:-1:-1;;;;;1278:5:0;1264:10;:19;1256:39;;;;-1:-1:-1;;;1256:39:0;;;;;;;;:::i;:::-;-1:-1:-1;1616:24:0::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;1616:24:0::1;::::0;::::1;::::0;-1:-1:-1;;;;;1591:23:0;::::1;1583:58;;;;-1:-1:-1::0;;;1583:58:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;1674:5:0::1;::::0;;1653:38:::1;::::0;-1:-1:-1;;;;;1653:38:0;;::::1;::::0;1674:5;::::1;::::0;1653:38:::1;::::0;::::1;1698:5;:17:::0;;-1:-1:-1;;;;;;1698:17:0::1;-1:-1:-1::0;;;;;1698:17:0;;;::::1;::::0;;;::::1;::::0;;1477:244::o;10217:234::-;10294:16;10323:8;:15;10342:1;10323:20;10319:55;;;-1:-1:-1;10363:3:0;10356:10;;10319:55;-1:-1:-1;10435:2:0;10421:17;10415:24;;10391:55::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:175:1;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:378;;;312:3;305:4;297:6;293:17;289:27;279:2;;337:8;327;320:26;279:2;-1:-1:-1;367:20:1;;-1:-1:-1;;;;;399:30:1;;396:2;;;449:8;439;432:26;396:2;493:4;485:6;481:17;469:29;;545:3;538:4;529:6;521;517:19;513:30;510:39;507:2;;;562:1;559;552:12;507:2;269:303;;;;;:::o;577:198::-;;689:2;677:9;668:7;664:23;660:32;657:2;;;710:6;702;695:22;657:2;738:31;759:9;738:31;:::i;:::-;728:41;647:128;-1:-1:-1;;;647:128:1:o;780:577::-;;;;;946:2;934:9;925:7;921:23;917:32;914:2;;;967:6;959;952:22;914:2;995:31;1016:9;995:31;:::i;:::-;985:41;-1:-1:-1;1077:2:1;1062:18;;1049:32;-1:-1:-1;;;;;1093:30:1;;1090:2;;;1141:6;1133;1126:22;1090:2;1185:61;1238:7;1229:6;1218:9;1214:22;1185:61;:::i;:::-;904:453;;1265:8;;-1:-1:-1;1159:87:1;;1347:2;1332:18;1319:32;;904:453;-1:-1:-1;;;;904:453:1:o;1362:266::-;;;1491:2;1479:9;1470:7;1466:23;1462:32;1459:2;;;1512:6;1504;1497:22;1459:2;1540:31;1561:9;1540:31;:::i;:::-;1530:41;1618:2;1603:18;;;;1590:32;;-1:-1:-1;;;1449:179:1:o;1633:304::-;;1744:2;1732:9;1723:7;1719:23;1715:32;1712:2;;;1765:6;1757;1750:22;1712:2;1796:23;;-1:-1:-1;;;;;;1848:30:1;;1838:41;;1828:2;;1898:6;1890;1883:22;1942:501;;;;2091:2;2079:9;2070:7;2066:23;2062:32;2059:2;;;2112:6;2104;2097:22;2059:2;2144:23;;-1:-1:-1;;;;;2179:30:1;;2176:2;;;2227:6;2219;2212:22;2176:2;2271:61;2324:7;2315:6;2304:9;2300:22;2271:61;:::i;:::-;2351:8;;2245:87;;-1:-1:-1;2433:2:1;2418:18;;;;2405:32;;2049:394;-1:-1:-1;;;;2049:394:1:o;2448:221::-;2622:2;2593:15;;;;-1:-1:-1;;;;;;2589:45:1;2577:58;;2660:2;2651:12;;2567:102::o;2674:275::-;;2859:6;2851;2846:3;2833:33;2885:16;;2910:15;;;2885:16;2823:126;-1:-1:-1;2823:126:1:o;2954:821::-;;3111:3;3146:6;3140:13;3176:36;3202:9;3176:36;:::i;:::-;3231:1;3248:18;;;3275:104;;;;3393:1;3388:362;;;;3241:509;;3275:104;-1:-1:-1;;3308:24:1;;3296:37;;3353:16;;;;-1:-1:-1;3275:104:1;;3388:362;3421:6;3416:3;3409:19;3451:4;3498:2;3493:3;3483:18;3523:3;3539:165;3553:6;3550:1;3547:13;3539:165;;;3631:14;;3618:11;;;3611:35;3674:16;;;;3568:10;;3539:165;;;3543:3;;;3733:6;3728:3;3724:16;3717:23;;3241:509;-1:-1:-1;3766:3:1;;3090:685;-1:-1:-1;;;;;;3090:685:1:o;3780:203::-;-1:-1:-1;;;;;3944:32:1;;;;3926:51;;3914:2;3899:18;;3881:102::o;3988:297::-;-1:-1:-1;;;;;4178:32:1;;;;4160:51;;-1:-1:-1;;;;;;4247:31:1;4242:2;4227:18;;4220:59;4148:2;4133:18;;4115:170::o;4290:564::-;-1:-1:-1;;;;;4505:32:1;;4487:51;;4574:2;4569;4554:18;;4547:30;;;4593:18;;4586:34;;;4290:564;4613:6;4663;4657:3;4642:19;;4629:49;4728:4;4722:3;4713:6;4702:9;4698:22;4694:32;4687:46;4801:3;4794:2;4790:7;4785:2;4777:6;4773:15;4769:29;4758:9;4754:45;4750:55;4742:63;;4841:6;4836:2;4825:9;4821:18;4814:34;4477:377;;;;;;;:::o;4859:1108::-;;5090:1;5086;5081:3;5077:11;5073:19;5065:6;5061:32;5050:9;5043:51;5113:2;5151;5146;5135:9;5131:18;5124:30;5174:4;5210:6;5204:13;5240:36;5266:9;5240:36;:::i;:::-;5312:6;5307:2;5296:9;5292:18;5285:34;5338:3;5360:1;5392:2;5381:9;5377:18;5409:1;5404:122;;;;5540:1;5535:363;;;;5370:528;;5404:122;-1:-1:-1;;5452:24:1;;5432:18;;;5425:52;5512:3;5497:19;;;-1:-1:-1;5404:122:1;;5535:363;5569:6;5563:4;5556:20;5620:2;5614:4;5604:19;5645:4;5662:180;5676:6;5673:1;5670:13;5662:180;;;5769:14;;5745:17;;;5741:26;;5734:50;5812:16;;;;5691:10;;5662:180;;;5866:17;;5862:26;;;-1:-1:-1;;5370:528:1;-1:-1:-1;;;;;5949:2:1;5934:18;;;;5927:34;;;;-1:-1:-1;5915:3:1;5033:934;-1:-1:-1;;;5033:934:1:o;5972:274::-;-1:-1:-1;;;;;6164:32:1;;;;6146:51;;6228:2;6213:18;;6206:34;6134:2;6119:18;;6101:145::o;6251:187::-;6416:14;;6409:22;6391:41;;6379:2;6364:18;;6346:92::o;6443:177::-;6589:25;;;6577:2;6562:18;;6544:76::o;6625:200::-;-1:-1:-1;;;;;;6787:31:1;;;;6769:50;;6757:2;6742:18;;6724:101::o;6830:603::-;;6971:2;7000;6989:9;6982:21;7032:6;7026:13;7075:6;7070:2;7059:9;7055:18;7048:34;7100:4;7113:140;7127:6;7124:1;7121:13;7113:140;;;7222:14;;;7218:23;;7212:30;7188:17;;;7207:2;7184:26;7177:66;7142:10;;7113:140;;;7271:6;7268:1;7265:13;7262:2;;;7341:4;7336:2;7327:6;7316:9;7312:22;7308:31;7301:45;7262:2;-1:-1:-1;7417:2:1;7396:15;-1:-1:-1;;7392:29:1;7377:45;;;;7424:2;7373:54;;6951:482;-1:-1:-1;;;6951:482:1:o;7438:440::-;7668:2;7650:21;;;7707:2;7687:18;;;7680:30;-1:-1:-1;;;7741:2:1;7726:18;;7719:46;-1:-1:-1;;;;;7839:32:1;;;;7832:4;7817:20;;7810:62;7797:3;7782:19;;7640:238::o;7883:438::-;8113:2;8095:21;;;8152:2;8132:18;;;8125:30;-1:-1:-1;;;8186:2:1;8171:18;;8164:44;-1:-1:-1;;;;;8282:32:1;;;;8275:4;8260:20;;8253:62;8240:3;8225:19;;8085:236::o;8508:380::-;8593:1;8583:12;;8640:1;8630:12;;;8651:2;;8705:4;8697:6;8693:17;8683:27;;8651:2;8758;8750:6;8747:14;8727:18;8724:38;8721:2;;;8804:10;8799:3;8795:20;8792:1;8785:31;8839:4;8836:1;8829:15;8867:4;8864:1;8857:15;8721:2;;8563:325;;;:::o

Swarm Source

ipfs://9e404c1d7306841307d43cbe0e2a16d30ff01d426b3ef46b8ed9acc69514951b

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

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