ETH Price: $3,684.96 (+3.24%)

Contract

0x37C2Fcc93a681C98Cd065d7f103EC7bD640B2A6C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...124127652021-05-11 11:01:121298 days ago1620730872IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00719943251
Register124127582021-05-11 10:59:411298 days ago1620730781IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00348273221
Register124127542021-05-11 10:58:491298 days ago1620730729IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00348273221
Register124127382021-05-11 10:56:021298 days ago1620730562IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01158318241
Register124127112021-05-11 10:49:541298 days ago1620730194IN
0x37C2Fcc9...D640B2A6C
0 ETH0.0120608251
Register124124002021-05-11 9:43:281298 days ago1620726208IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01276241266
Register124123762021-05-11 9:38:171298 days ago1620725897IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01279752266
Register124123732021-05-11 9:37:341298 days ago1620725854IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01278156266
Register Caller124121972021-05-11 8:58:111299 days ago1620723491IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01206155251
Register124121822021-05-11 8:53:301299 days ago1620723210IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01205778251
Register124121722021-05-11 8:50:591299 days ago1620723059IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01206381251
Register124121602021-05-11 8:47:351299 days ago1620722855IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01204272251
Register124121492021-05-11 8:45:081299 days ago1620722708IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01206381251
Register124121212021-05-11 8:36:261299 days ago1620722186IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01204272251
Register124121152021-05-11 8:35:361299 days ago1620722136IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01203369251
Register124121102021-05-11 8:34:491299 days ago1620722089IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01203971251
Register124121002021-05-11 8:32:201299 days ago1620721940IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01202766251
Register124120742021-05-11 8:27:041299 days ago1620721624IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01203971251
Register124118412021-05-11 7:38:301299 days ago1620718710IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00963171201
Register124116872021-05-11 7:04:041299 days ago1620716644IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00963413201
Register124116792021-05-11 7:02:511299 days ago1620716571IN
0x37C2Fcc9...D640B2A6C
0 ETH0.0096486201
Register124115182021-05-11 6:30:111299 days ago1620714611IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01106928231
Register124114902021-05-11 6:25:061299 days ago1620714306IN
0x37C2Fcc9...D640B2A6C
0 ETH0.01108314231
Register124110122021-05-11 4:39:461299 days ago1620707986IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00965101201
Register124109822021-05-11 4:33:211299 days ago1620707601IN
0x37C2Fcc9...D640B2A6C
0 ETH0.00965342201
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Registry

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-05-11
*/

// File: @openzeppelin/contracts/GSN/Context.sol

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol


pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/interface/IRegistry.sol

pragma solidity ^0.6.0;

interface IRegistry {
    function handlers(address) external view returns (bytes32);
    function callers(address) external view returns (bytes32);
    function bannedAgents(address) external view returns (uint256);
    function fHalt() external view returns (bool);
    function isValidHandler(address handler) external view returns (bool);
    function isValidCaller(address handler) external view returns (bool);
}

// File: contracts/Registry.sol

pragma solidity ^0.6.0;



/// @notice The registry database for Furucombo
contract Registry is IRegistry, Ownable {
    mapping(address => bytes32) public override handlers;
    mapping(address => bytes32) public override callers;
    mapping(address => uint256) public override bannedAgents;
    bool public override fHalt;

    bytes32 public constant DEPRECATED = bytes10(0x64657072656361746564);

    event Registered(address indexed registration, bytes32 info);
    event Unregistered(address indexed registration);
    event CallerRegistered(address indexed registration, bytes32 info);
    event CallerUnregistered(address indexed registration);
    event Banned(address indexed agent);
    event Unbanned(address indexed agent);
    event Halted();
    event Unhalted();

    modifier isNotHalted() {
        require(fHalt == false, "Halted");
        _;
    }

    modifier isHalted() {
        require(fHalt, "Not halted");
        _;
    }

    modifier isNotBanned(address agent) {
        require(bannedAgents[agent] == 0, "Banned");
        _;
    }

    modifier isBanned(address agent) {
        require(bannedAgents[agent] != 0, "Not banned");
        _;
    }

    /**
     * @notice Register a handler with a bytes32 information.
     * @param registration Handler address.
     * @param info Info string.
     */
    function register(address registration, bytes32 info) external onlyOwner {
        require(registration != address(0), "zero address");
        require(info != DEPRECATED, "unregistered info");
        require(handlers[registration] != DEPRECATED, "unregistered");
        handlers[registration] = info;
        emit Registered(registration, info);
    }

    /**
     * @notice Unregister a handler. The handler will be deprecated.
     * @param registration The handler to be unregistered.
     */
    function unregister(address registration) external onlyOwner {
        require(registration != address(0), "zero address");
        require(handlers[registration] != bytes32(0), "no registration");
        require(handlers[registration] != DEPRECATED, "unregistered");
        handlers[registration] = DEPRECATED;
        emit Unregistered(registration);
    }

    /**
     * @notice Register a caller with a bytes32 information.
     * @param registration Caller address.
     * @param info Info string.
     * @dev Dapps that triggers callback function should be registered.
     * In this case, registration is the Dapp address and the leading 20 bytes
     * of info is the handler address.
     */
    function registerCaller(address registration, bytes32 info)
        external
        onlyOwner
    {
        require(registration != address(0), "zero address");
        require(info != DEPRECATED, "unregistered info");
        require(callers[registration] != DEPRECATED, "unregistered");
        callers[registration] = info;
        emit CallerRegistered(registration, info);
    }

    /**
     * @notice Unregister a caller. The caller will be deprecated.
     * @param registration The caller to be unregistered.
     */
    function unregisterCaller(address registration) external onlyOwner {
        require(registration != address(0), "zero address");
        require(callers[registration] != bytes32(0), "no registration");
        require(callers[registration] != DEPRECATED, "unregistered");
        callers[registration] = DEPRECATED;
        emit CallerUnregistered(registration);
    }

    /**
     * @notice Ban agent from query
     *
     */
    function ban(address agent) external isNotBanned(agent) onlyOwner {
        bannedAgents[agent] = 1;
        emit Banned(agent);
    }

    /**
     * @notice Unban agent from query
     */
    function unban(address agent) external isBanned(agent) onlyOwner {
        bannedAgents[agent] = 0;
        emit Unbanned(agent);
    }

    /**
     * @notice Check if the handler is valid.
     * @param handler The handler to be verified.
     */
    function isValidHandler(address handler)
        external
        view
        override
        returns (bool)
    {
        return handlers[handler] != 0 && handlers[handler] != DEPRECATED;
    }

    /**
     * @notice Check if the caller is valid.
     * @param caller The caller to be verified.
     */
    function isValidCaller(address caller)
        external
        view
        override
        returns (bool)
    {
        return callers[caller] != 0 && callers[caller] != DEPRECATED;
    }

    function halt() external isNotHalted onlyOwner {
        fHalt = true;
        emit Halted();
    }

    function unhalt() external isHalted onlyOwner {
        fHalt = false;
        emit Unhalted();
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Banned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"CallerRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"CallerUnregistered","type":"event"},{"anonymous":false,"inputs":[],"name":"Halted","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":true,"internalType":"address","name":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Unbanned","type":"event"},{"anonymous":false,"inputs":[],"name":"Unhalted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"Unregistered","type":"event"},{"inputs":[],"name":"DEPRECATED","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"ban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bannedAgents","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"callers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fHalt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"handlers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"isValidCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"isValidHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"registerCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"unban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unhalt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregisterCaller","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6110e28061007d6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063bb1010e911610071578063bb1010e9146102cd578063cb3e64fd14610307578063d4c683481461030f578063ea750af614610335578063f2fde38b1461033d57610116565b80638da5cb5b1461023757806397c3ccd81461025b578063afb4bfbd14610281578063b9f14557146102a757610116565b806356ea919f116100e957806356ea919f146101cd5780635ed7ca5b146101f9578063715018a6146102015780637bbf4a3f14610209578063818b47a71461022f57610116565b80631903dcaa1461011b5780631a21c0bc146101535780631e7a505f146101795780632ec2c246146101a7575b600080fd5b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610363565b60408051918252519081900360200190f35b6101416004803603602081101561016957600080fd5b50356001600160a01b0316610375565b6101a56004803603604081101561018f57600080fd5b506001600160a01b038135169060200135610387565b005b6101a5600480360360208110156101bd57600080fd5b50356001600160a01b031661053c565b6101a5600480360360408110156101e357600080fd5b506001600160a01b0381351690602001356106f4565b6101a56108a9565b6101a561097a565b6101416004803603602081101561021f57600080fd5b50356001600160a01b0316610a1c565b610141610a2e565b61023f610a3f565b604080516001600160a01b039092168252519081900360200190f35b6101a56004803603602081101561027157600080fd5b50356001600160a01b0316610a4e565b6101a56004803603602081101561029757600080fd5b50356001600160a01b0316610b42565b6101a5600480360360208110156102bd57600080fd5b50356001600160a01b0316610cfa565b6102f3600480360360208110156102e357600080fd5b50356001600160a01b0316610df0565b604080519115158252519081900360200190f35b6101a5610e42565b6102f36004803603602081101561032557600080fd5b50356001600160a01b0316610f13565b6102f3610f61565b6101a56004803603602081101561035357600080fd5b50356001600160a01b0316610f6a565b60036020526000908152604090205481565b60016020526000908152604090205481565b61038f611062565b6000546001600160a01b039081169116146103df576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610429576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b81141561047f576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546919195c1c9958d85d195960b21b14156104e8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb8142d42f05d95abf0a6570799774d59276e49ea32a04d9a4ec316ea4a6886bc9281900390910190a25050565b610544611062565b6000546001600160a01b03908116911614610594576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166105de576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461063a576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160205260409020546919195c1c9958d85d195960b21b14156106a3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160205260408082206919195c1c9958d85d195960b21b9055517f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc9190a250565b6106fc611062565b6000546001600160a01b0390811691161461074c576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610796576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b8114156107ec576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b1415610855576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020849055815184815291517fbcf9675eb3fde058129f75f75f8b7a48bf7bcc37ec73dfd9b45218d551ce483b9281900390910190a25050565b60045460ff16156108ea576040805162461bcd60e51b815260206004820152600660248201526512185b1d195960d21b604482015290519081900360640190fd5b6108f2611062565b6000546001600160a01b03908116911614610942576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191660011790556040517f1ee9080f6b55ca44ce58681c8162e6c1ac1c47e1da791a4a1c1ec6186d8af1f390600090a1565b610982611062565b6000546001600160a01b039081169116146109d2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60026020526000908152604090205481565b6919195c1c9958d85d195960b21b81565b6000546001600160a01b031690565b6001600160a01b038116600090815260036020526040902054819015610aa4576040805162461bcd60e51b815260206004820152600660248201526510985b9b995960d21b604482015290519081900360640190fd5b610aac611062565b6000546001600160a01b03908116911614610afc576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b03821660008181526003602052604080822060019055517f30d1df1214d91553408ca5384ce29e10e5866af8423c628be22860e41fb810059190a25050565b610b4a611062565b6000546001600160a01b03908116911614610b9a576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038116610be4576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b038116600090815260026020526040902054610c40576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600260205260409020546919195c1c9958d85d195960b21b1415610ca9576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600260205260408082206919195c1c9958d85d195960b21b9055517f5b357470d4ba3884887ef785883313bfabff1620ba84b4a140ddc4536cb2e0b69190a250565b6001600160a01b0381166000908152600360205260409020548190610d53576040805162461bcd60e51b815260206004820152600a602482015269139bdd0818985b9b995960b21b604482015290519081900360640190fd5b610d5b611062565b6000546001600160a01b03908116911614610dab576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260036020526040808220829055517f2ab91b53354938415bb6962c4322231cd4cb2c84930f1a4b9abbedc2fe8abe729190a25050565b6001600160a01b03811660009081526002602052604081205415801590610e3c57506001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14155b92915050565b60045460ff16610e86576040805162461bcd60e51b815260206004820152600a602482015269139bdd081a185b1d195960b21b604482015290519081900360640190fd5b610e8e611062565b6000546001600160a01b03908116911614610ede576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191690556040517f7c46a5e7a10434913e987d799d659758880ce8e790692e13e66ddfae4cc9afca90600090a1565b6001600160a01b03811660009081526001602052604081205415801590610e3c5750506001600160a01b03166000908152600160205260409020546919195c1c9958d85d195960b21b141590565b60045460ff1681565b610f72611062565b6000546001600160a01b03908116911614610fc2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166110075760405162461bcd60e51b81526004018080602001828103825260268152602001806110676026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed64736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063bb1010e911610071578063bb1010e9146102cd578063cb3e64fd14610307578063d4c683481461030f578063ea750af614610335578063f2fde38b1461033d57610116565b80638da5cb5b1461023757806397c3ccd81461025b578063afb4bfbd14610281578063b9f14557146102a757610116565b806356ea919f116100e957806356ea919f146101cd5780635ed7ca5b146101f9578063715018a6146102015780637bbf4a3f14610209578063818b47a71461022f57610116565b80631903dcaa1461011b5780631a21c0bc146101535780631e7a505f146101795780632ec2c246146101a7575b600080fd5b6101416004803603602081101561013157600080fd5b50356001600160a01b0316610363565b60408051918252519081900360200190f35b6101416004803603602081101561016957600080fd5b50356001600160a01b0316610375565b6101a56004803603604081101561018f57600080fd5b506001600160a01b038135169060200135610387565b005b6101a5600480360360208110156101bd57600080fd5b50356001600160a01b031661053c565b6101a5600480360360408110156101e357600080fd5b506001600160a01b0381351690602001356106f4565b6101a56108a9565b6101a561097a565b6101416004803603602081101561021f57600080fd5b50356001600160a01b0316610a1c565b610141610a2e565b61023f610a3f565b604080516001600160a01b039092168252519081900360200190f35b6101a56004803603602081101561027157600080fd5b50356001600160a01b0316610a4e565b6101a56004803603602081101561029757600080fd5b50356001600160a01b0316610b42565b6101a5600480360360208110156102bd57600080fd5b50356001600160a01b0316610cfa565b6102f3600480360360208110156102e357600080fd5b50356001600160a01b0316610df0565b604080519115158252519081900360200190f35b6101a5610e42565b6102f36004803603602081101561032557600080fd5b50356001600160a01b0316610f13565b6102f3610f61565b6101a56004803603602081101561035357600080fd5b50356001600160a01b0316610f6a565b60036020526000908152604090205481565b60016020526000908152604090205481565b61038f611062565b6000546001600160a01b039081169116146103df576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610429576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b81141561047f576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546919195c1c9958d85d195960b21b14156104e8576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb8142d42f05d95abf0a6570799774d59276e49ea32a04d9a4ec316ea4a6886bc9281900390910190a25050565b610544611062565b6000546001600160a01b03908116911614610594576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166105de576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b03811660009081526001602052604090205461063a576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600160205260409020546919195c1c9958d85d195960b21b14156106a3576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160205260408082206919195c1c9958d85d195960b21b9055517f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc9190a250565b6106fc611062565b6000546001600160a01b0390811691161461074c576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216610796576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6919195c1c9958d85d195960b21b8114156107ec576040805162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b1415610855576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b038216600081815260026020908152604091829020849055815184815291517fbcf9675eb3fde058129f75f75f8b7a48bf7bcc37ec73dfd9b45218d551ce483b9281900390910190a25050565b60045460ff16156108ea576040805162461bcd60e51b815260206004820152600660248201526512185b1d195960d21b604482015290519081900360640190fd5b6108f2611062565b6000546001600160a01b03908116911614610942576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191660011790556040517f1ee9080f6b55ca44ce58681c8162e6c1ac1c47e1da791a4a1c1ec6186d8af1f390600090a1565b610982611062565b6000546001600160a01b039081169116146109d2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60026020526000908152604090205481565b6919195c1c9958d85d195960b21b81565b6000546001600160a01b031690565b6001600160a01b038116600090815260036020526040902054819015610aa4576040805162461bcd60e51b815260206004820152600660248201526510985b9b995960d21b604482015290519081900360640190fd5b610aac611062565b6000546001600160a01b03908116911614610afc576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b03821660008181526003602052604080822060019055517f30d1df1214d91553408ca5384ce29e10e5866af8423c628be22860e41fb810059190a25050565b610b4a611062565b6000546001600160a01b03908116911614610b9a576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038116610be4576040805162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015290519081900360640190fd5b6001600160a01b038116600090815260026020526040902054610c40576040805162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015290519081900360640190fd5b6001600160a01b0381166000908152600260205260409020546919195c1c9958d85d195960b21b1415610ca9576040805162461bcd60e51b815260206004820152600c60248201526b1d5b9c9959da5cdd195c995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000818152600260205260408082206919195c1c9958d85d195960b21b9055517f5b357470d4ba3884887ef785883313bfabff1620ba84b4a140ddc4536cb2e0b69190a250565b6001600160a01b0381166000908152600360205260409020548190610d53576040805162461bcd60e51b815260206004820152600a602482015269139bdd0818985b9b995960b21b604482015290519081900360640190fd5b610d5b611062565b6000546001600160a01b03908116911614610dab576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260036020526040808220829055517f2ab91b53354938415bb6962c4322231cd4cb2c84930f1a4b9abbedc2fe8abe729190a25050565b6001600160a01b03811660009081526002602052604081205415801590610e3c57506001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14155b92915050565b60045460ff16610e86576040805162461bcd60e51b815260206004820152600a602482015269139bdd081a185b1d195960b21b604482015290519081900360640190fd5b610e8e611062565b6000546001600160a01b03908116911614610ede576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6004805460ff191690556040517f7c46a5e7a10434913e987d799d659758880ce8e790692e13e66ddfae4cc9afca90600090a1565b6001600160a01b03811660009081526001602052604081205415801590610e3c5750506001600160a01b03166000908152600160205260409020546919195c1c9958d85d195960b21b141590565b60045460ff1681565b610f72611062565b6000546001600160a01b03908116911614610fc2576040805162461bcd60e51b8152602060048201819052602482015260008051602061108d833981519152604482015290519081900360640190fd5b6001600160a01b0381166110075760405162461bcd60e51b81526004018080602001828103825260268152602001806110676026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed64736f6c634300060c0033

Deployed Bytecode Sourcemap

3941:4747:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4105:56;;;;;;;;;;;;;;;;-1:-1:-1;4105:56:0;-1:-1:-1;;;;;4105:56:0;;:::i;:::-;;;;;;;;;;;;;;;;3988:52;;;;;;;;;;;;;;;;-1:-1:-1;3988:52:0;-1:-1:-1;;;;;3988:52:0;;:::i;5246:360::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5246:360:0;;;;;;;;:::i;:::-;;5762:366;;;;;;;;;;;;;;;;-1:-1:-1;5762:366:0;-1:-1:-1;;;;;5762:366:0;;:::i;6486:393::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6486:393:0;;;;;;;;:::i;8471:102::-;;;:::i;2770:148::-;;;:::i;4047:51::-;;;;;;;;;;;;;;;;-1:-1:-1;4047:51:0;-1:-1:-1;;;;;4047:51:0;;:::i;4203:68::-;;;:::i;2128:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;2128:79:0;;;;;;;;;;;;;;7478:137;;;;;;;;;;;;;;;;-1:-1:-1;7478:137:0;-1:-1:-1;;;;;7478:137:0;;:::i;7032:375::-;;;;;;;;;;;;;;;;-1:-1:-1;7032:375:0;-1:-1:-1;;;;;7032:375:0;;:::i;7680:138::-;;;;;;;;;;;;;;;;-1:-1:-1;7680:138:0;-1:-1:-1;;;;;7680:138:0;;:::i;8266:197::-;;;;;;;;;;;;;;;;-1:-1:-1;8266:197:0;-1:-1:-1;;;;;8266:197:0;;:::i;:::-;;;;;;;;;;;;;;;;;;8581:104;;;:::i;7942:203::-;;;;;;;;;;;;;;;;-1:-1:-1;7942:203:0;-1:-1:-1;;;;;7942:203:0;;:::i;4168:26::-;;;:::i;3073:244::-;;;;;;;;;;;;;;;;-1:-1:-1;3073:244:0;-1:-1:-1;;;;;3073:244:0;;:::i;4105:56::-;;;;;;;;;;;;;:::o;3988:52::-;;;;;;;;;;;;;:::o;5246:360::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5338:26:0;::::1;5330:51;;;::::0;;-1:-1:-1;;;5330:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5330:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;5400:18:0;::::1;;5392:48;;;::::0;;-1:-1:-1;;;5392:48:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5392:48:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5459:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;5459:36:0::1;;5451:61;;;::::0;;-1:-1:-1;;;5451:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5451:61:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5523:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;;;;:29;;;5568:30;;;;;;;::::1;::::0;;;;;;;;::::1;5246:360:::0;;:::o;5762:366::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5842:26:0;::::1;5834:51;;;::::0;;-1:-1:-1;;;5834:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5834:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5904:22:0;::::1;5938:1;5904:22:::0;;;:8:::1;:22;::::0;;;;;5896:64:::1;;;::::0;;-1:-1:-1;;;5896:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5896:64:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;5979:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;5979:36:0::1;;5971:61;;;::::0;;-1:-1:-1;;;5971:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5971:61:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6043:22:0;::::1;;::::0;;;:8:::1;:22;::::0;;;;;-1:-1:-1;;;6043:35:0;;6094:26;::::1;::::0;6043:22;6094:26:::1;5762:366:::0;:::o;6486:393::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6607:26:0;::::1;6599:51;;;::::0;;-1:-1:-1;;;6599:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6599:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;6669:18:0;::::1;;6661:48;;;::::0;;-1:-1:-1;;;6661:48:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6661:48:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6728:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;6728:35:0::1;;6720:60;;;::::0;;-1:-1:-1;;;6720:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6720:60:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;6791:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;;;;:28;;;6835:36;;;;;;;::::1;::::0;;;;;;;;::::1;6486:393:::0;;:::o;8471:102::-;4710:5;;;;:14;4702:33;;;;;-1:-1:-1;;;4702:33:0;;;;;;;;;;;;-1:-1:-1;;;4702:33:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;8529:5:::2;:12:::0;;-1:-1:-1;;8529:12:0::2;8537:4;8529:12;::::0;;8557:8:::2;::::0;::::2;::::0;8529:5:::2;::::0;8557:8:::2;8471:102::o:0;2770:148::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;2877:1:::1;2861:6:::0;;2840:40:::1;::::0;-1:-1:-1;;;;;2861:6:0;;::::1;::::0;2840:40:::1;::::0;2877:1;;2840:40:::1;2908:1;2891:19:::0;;-1:-1:-1;;;;;;2891:19:0::1;::::0;;2770:148::o;4047:51::-;;;;;;;;;;;;;:::o;4203:68::-;-1:-1:-1;;;4203:68:0;:::o;2128:79::-;2166:7;2193:6;-1:-1:-1;;;;;2193:6:0;2128:79;:::o;7478:137::-;-1:-1:-1;;;;;4905:19:0;;;;;;:12;:19;;;;;;7527:5;;4905:24;4897:43;;;;;-1:-1:-1;;;4897:43:0;;;;;;;;;;;;-1:-1:-1;;;4897:43:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7555:19:0;::::2;;::::0;;;:12:::2;:19;::::0;;;;;7577:1:::2;7555:23:::0;;7594:13;::::2;::::0;7555:19;7594:13:::2;7478:137:::0;;:::o;7032:375::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7118:26:0;::::1;7110:51;;;::::0;;-1:-1:-1;;;7110:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7110:51:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7180:21:0;::::1;7213:1;7180:21:::0;;;:7:::1;:21;::::0;;;;;7172:63:::1;;;::::0;;-1:-1:-1;;;7172:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7172:63:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7254:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;7254:35:0::1;;7246:60;;;::::0;;-1:-1:-1;;;7246:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7246:60:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7317:21:0;::::1;;::::0;;;:7:::1;:21;::::0;;;;;-1:-1:-1;;;7317:34:0;;7367:32;::::1;::::0;7317:21;7367:32:::1;7032:375:::0;:::o;7680:138::-;-1:-1:-1;;;;;5020:19:0;;;;;;:12;:19;;;;;;7728:5;;5012:47;;;;;-1:-1:-1;;;5012:47:0;;;;;;;;;;;;-1:-1:-1;;;5012:47:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;7756:19:0;::::2;7778:1;7756:19:::0;;;:12:::2;:19;::::0;;;;;:23;;;7795:15;::::2;::::0;7778:1;7795:15:::2;7680:138:::0;;:::o;8266:197::-;-1:-1:-1;;;;;8402:15:0;;8373:4;8402:15;;;:7;:15;;;;;;:20;;;;:53;;-1:-1:-1;;;;;;8426:15:0;;;;;;:7;:15;;;;;;-1:-1:-1;;;8426:29:0;;8402:53;8395:60;8266:197;-1:-1:-1;;8266:197:0:o;8581:104::-;4802:5;;;;4794:28;;;;;-1:-1:-1;;;4794:28:0;;;;;;;;;;;;-1:-1:-1;;;4794:28:0;;;;;;;;;;;;;;;2350:12:::1;:10;:12::i;:::-;2340:6;::::0;-1:-1:-1;;;;;2340:6:0;;::::1;:22:::0;::::1;;2332:67;;;::::0;;-1:-1:-1;;;2332:67:0;;::::1;;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;::::1;;8638:5:::2;:13:::0;;-1:-1:-1;;8638:13:0::2;::::0;;8667:10:::2;::::0;::::2;::::0;8646:5:::2;::::0;8667:10:::2;8581:104::o:0;7942:203::-;-1:-1:-1;;;;;8080:17:0;;8051:4;8080:17;;;:8;:17;;;;;;:22;;;;:57;;-1:-1:-1;;;;;;;8106:17:0;;;;;:8;:17;;;;;;-1:-1:-1;;;8106:31:0;;;7942:203::o;4168:26::-;;;;;;:::o;3073:244::-;2350:12;:10;:12::i;:::-;2340:6;;-1:-1:-1;;;;;2340:6:0;;;:22;;;2332:67;;;;;-1:-1:-1;;;2332:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2332:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3162:22:0;::::1;3154:73;;;;-1:-1:-1::0;;;3154:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3264:6;::::0;;3243:38:::1;::::0;-1:-1:-1;;;;;3243:38:0;;::::1;::::0;3264:6;::::1;::::0;3243:38:::1;::::0;::::1;3292:6;:17:::0;;-1:-1:-1;;;;;;3292:17:0::1;-1:-1:-1::0;;;;;3292:17:0;;;::::1;::::0;;;::::1;::::0;;3073:244::o;665:106::-;753:10;665:106;:::o

Swarm Source

ipfs://415b118bb96fb4fd11824f99a5d7c0a76d5898c49536e555a331be6aa4051eed

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.