OP Sepolia Testnet

Contract

0x2f2c819210191750F2E11F7CfC5664a0eB4fd5e6
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

TokenTracker

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Transfer353317372025-11-06 21:53:3439 days ago1762466014IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer353317302025-11-06 21:53:2039 days ago1762466000IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Approve351825042025-11-03 10:59:0842 days ago1762167548IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000046370.00010025
Approve351825012025-11-03 10:59:0242 days ago1762167542IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000024330.00010025
Approve351815132025-11-03 10:26:0642 days ago1762165566IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000046370.00010025
Approve351794832025-11-03 9:18:2642 days ago1762161506IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000448840.00097025
Transfer350072712025-10-30 9:38:0246 days ago1761817082IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Approve343165642025-10-14 9:54:2862 days ago1760435668IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000448840.00097025
Approve343165612025-10-14 9:54:2262 days ago1760435662IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000235540.00097025
Approve343165312025-10-14 9:53:2262 days ago1760435602IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000089830.00019425
Approve343159692025-10-14 9:34:3862 days ago1760434478IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000046360.00010025
Approve343159672025-10-14 9:34:3462 days ago1760434474IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000024330.00010025
Transfer339703802025-10-06 9:35:0070 days ago1759743300IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer339703612025-10-06 9:34:2270 days ago1759743262IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer339703092025-10-06 9:32:3870 days ago1759743158IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer338173252025-10-02 20:33:1074 days ago1759437190IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000427990.0012003
Transfer336753172025-09-29 13:39:3477 days ago1759153174IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000345960.00097025
Transfer335443912025-09-26 12:55:2280 days ago1758891322IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000345960.00097025
Transfer335443872025-09-26 12:55:1480 days ago1758891314IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000345960.00097025
Transfer335443312025-09-26 12:53:2280 days ago1758891202IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000345960.00097025
Transfer335443262025-09-26 12:53:1280 days ago1758891192IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000345960.00097025
Approve335405162025-09-26 10:46:1280 days ago1758883572IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000448840.00097025
Transfer335153122025-09-25 20:46:0481 days ago1758833164IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer335147972025-09-25 20:28:5481 days ago1758832134IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000035740.00010025
Transfer335147962025-09-25 20:28:5281 days ago1758832132IN
0x2f2c8192...0eB4fd5e6
0 ETH0.0000000052880.00010025
View all transactions

Parent Transaction Hash Block From To Amount
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GIV

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at sepolia-optimism.etherscan.io on 2024-02-26
*/

/**
 *Submitted for verification at goerli-optimism.etherscan.io on 2023-05-15
*/

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicatinf whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

// File: contracts/GIV.sol



pragma solidity 0.8.6;


// Lightweight token modelled after UNI-LP:
// https://github.com/Uniswap/uniswap-v2-core/blob/v1.0.1/contracts/UniswapV2ERC20.sol
// Adds:
//   - An exposed `burn()` and `mint()` with minting role
//   - ERC-3009 (`transferWithAuthorization()`)
//   - domainSeparator is computed inside `_validateSignedData` to avoid reply-attacks due to Hardforks
//   - to != address(this) && to != address(0); To avoid people sending tokens to this smartcontract and
//          to distinguish burn events from transfer

contract GIV is IERC20 {
    uint256 public initialBalance;

    // bytes32 public constant PERMIT_TYPEHASH =
    //      keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH =
        0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    // bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
    //      keccak256("TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)");
    bytes32 public constant TRANSFER_WITH_AUTHORIZATION_TYPEHASH =
        0x7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a2267;
    // bytes32 public constant EIP712DOMAIN_HASH =
    //      keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")
    bytes32 public constant EIP712DOMAIN_HASH =
        0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;
    // bytes32 public constant NAME_HASH =
    //      keccak256("Giveth")
    bytes32 public constant NAME_HASH =
        0x33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f902;
    // bytes32 public constant VERSION_HASH =
    //      keccak256("1")
    bytes32 public constant VERSION_HASH =
        0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6;

    string public constant name = "Giveth";
    string public constant symbol = "GIV";
    uint8 public constant decimals = 18;

    address public minter;
    uint256 public override totalSupply;
    mapping(address => uint256) public override balanceOf;
    mapping(address => mapping(address => uint256)) public override allowance;

    // ERC-2612, ERC-3009 state
    mapping(address => uint256) public nonces;
    mapping(address => mapping(bytes32 => bool)) public authorizationState;

    event AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce);
    event ChangeMinter(address indexed minter);

    modifier onlyMinter() {
        require(msg.sender == minter, "GIV:NOT_MINTER");
        _;
    }

    constructor(address initialMinter) {
        _changeMinter(initialMinter);
    }

    function _validateSignedData(
        address signer,
        bytes32 encodeData,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal view {
        bytes32 digest = keccak256(
            abi.encodePacked("\x19\x01", getDomainSeparator(), encodeData)
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        // Explicitly disallow authorizations for address(0) as ecrecover returns address(0) on malformed messages
        require(
            recoveredAddress != address(0) && recoveredAddress == signer,
            "GIV:INVALID_SIGNATURE"
        );
    }

    function _changeMinter(address newMinter) internal {
        minter = newMinter;
        emit ChangeMinter(newMinter);
    }

    function _mint(address to, uint256 value) internal {
        totalSupply = totalSupply + value;
        balanceOf[to] = balanceOf[to] + value;
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        // Balance is implicitly checked with solidity underflow protection
        balanceOf[from] = balanceOf[from] - value;
        totalSupply = totalSupply - value;
        emit Transfer(from, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) private {
        require(
            to != address(this) && to != address(0),
            "GIV:NOT_VALID_TRANSFER"
        );
        // Balance is implicitly checked with SafeMath's underflow protection
        balanceOf[from] = balanceOf[from] - value;
        balanceOf[to] = balanceOf[to] + value;
        emit Transfer(from, to, value);
    }

    function getChainId() public view returns (uint256 chainId) {
        assembly {
            chainId := chainid()
        }
    }

    function getDomainSeparator() public view returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    EIP712DOMAIN_HASH,
                    NAME_HASH,
                    VERSION_HASH,
                    getChainId(),
                    address(this)
                )
            );
    }

    function mint(address to, uint256 value)
        external
        onlyMinter
        returns (bool)
    {
        _mint(to, value);
        return true;
    }

    function changeMinter(address newMinter) external onlyMinter {
        _changeMinter(newMinter);
    }

    function burn(uint256 value) external returns (bool) {
        _burn(msg.sender, value);
        return true;
    }

    function approve(address spender, uint256 value)
        external
        override
        returns (bool)
    {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint256 value)
        external
        override
        returns (bool)
    {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external override returns (bool) {
        uint256 fromAllowance = allowance[from][msg.sender];
        if (fromAllowance != type(uint256).max) {
            // Allowance is implicitly checked with solidity underflow protection
            allowance[from][msg.sender] = fromAllowance - value;
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(deadline >= block.timestamp, "GIV:AUTH_EXPIRED");
        bytes32 encodeData = keccak256(
            abi.encode(
                PERMIT_TYPEHASH,
                owner,
                spender,
                value,
                nonces[owner]++,
                deadline
            )
        );
        _validateSignedData(owner, encodeData, v, r, s);
        _approve(owner, spender, value);
    }

    function transferWithAuthorization(
        address from,
        address to,
        uint256 value,
        uint256 validAfter,
        uint256 validBefore,
        bytes32 nonce,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external {
        require(block.timestamp > validAfter, "GIV:AUTH_NOT_YET_VALID");
        require(block.timestamp < validBefore, "GIV:AUTH_EXPIRED");
        require(!authorizationState[from][nonce], "GIV:AUTH_ALREADY_USED");

        bytes32 encodeData = keccak256(
            abi.encode(
                TRANSFER_WITH_AUTHORIZATION_TYPEHASH,
                from,
                to,
                value,
                validAfter,
                validBefore,
                nonce
            )
        );
        _validateSignedData(from, encodeData, v, r, s);

        authorizationState[from][nonce] = true;
        emit AuthorizationUsed(from, nonce);

        _transfer(from, to, value);
    }
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"initialMinter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizer","type":"address"},{"indexed":true,"internalType":"bytes32","name":"nonce","type":"bytes32"}],"name":"AuthorizationUsed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"ChangeMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EIP712DOMAIN_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NAME_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_WITH_AUTHORIZATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"authorizationState","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMinter","type":"address"}],"name":"changeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"transferWithAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516110c73803806110c783398101604081905261002f91610088565b6100388161003e565b506100b8565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b611000806100c76000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146103d6578063e3ee160e14610401578063e94a010214610414578063ed24911d1461044257600080fd5b8063a9059cbb14610389578063c473af331461039c578063d505accf146103c357600080fd5b806342966c68146102c657806370a08231146102d95780637ecebe00146102f957806395d89b41146103195780639e4e73181461033b578063a0cc6a681461036257600080fd5b806323b872dd1161013057806323b872dd146102445780632c4d4d181461025757806330adf81f1461026c578063313ce567146102935780633408e470146102ad57806340c10f19146102b357600080fd5b806304622c2e1461017857806306fdde03146101b257806307546172146101e4578063095ea7b31461020f57806318160ddd1461023257806318369a2a1461023b575b600080fd5b61019f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f90281565b6040519081526020015b60405180910390f35b6101d76040518060400160405280600681526020016508ed2eccae8d60d31b81525081565b6040516101a99190610f15565b6001546101f7906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b61022261021d366004610ed2565b61044a565b60405190151581526020016101a9565b61019f60025481565b61019f60005481565b610222610252366004610dae565b610460565b61026a610265366004610d59565b6104d2565b005b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61029b601281565b60405160ff90911681526020016101a9565b4661019f565b6102226102c1366004610ed2565b61052e565b6102226102d4366004610efc565b610586565b61019f6102e7366004610d59565b60036020526000908152604090205481565b61019f610307366004610d59565b60056020526000908152604090205481565b6101d76040518060400160405280600381526020016223a4ab60e91b81525081565b61019f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b61019f7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b610222610397366004610ed2565b61059a565b61019f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b61026a6103d1366004610e68565b6105a7565b61019f6103e4366004610d7b565b600460209081526000928352604080842090915290825290205481565b61026a61040f366004610dea565b6106ad565b610222610422366004610ed2565b600660209081526000928352604080842090915290825290205460ff1681565b61019f610896565b600061045733848461093c565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104bc576104978382610f82565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6104c785858561099e565b506001949350505050565b6001546001600160a01b031633146105225760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b60448201526064015b60405180910390fd5b61052b81610aac565b50565b6001546000906001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b6044820152606401610519565b6104578383610af6565b60006105923383610b88565b506001919050565b600061045733848461099e565b428410156105ea5760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661063783610f99565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506106988882868686610c14565b6106a388888861093c565b5050505050505050565b8542116106f55760405162461bcd60e51b815260206004820152601660248201527511d2558e9055551217d393d517d6515517d59053125160521b6044820152606401610519565b8442106107375760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff16156107a35760405162461bcd60e51b815260206004820152601560248201527411d2558e9055551217d053149150511657d554d151605a1b6044820152606401610519565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108298a82868686610c14565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361088a8a8a8a61099e565b50505050505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f9027fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109bf57506001600160a01b03821615155b610a045760405162461bcd60e51b815260206004820152601660248201527523a4ab1d2727aa2fab20a624a22faa2920a729a322a960511b6044820152606401610519565b6001600160a01b038316600090815260036020526040902054610a28908290610f82565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a58908290610f6a565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109919085815260200190565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b80600254610b049190610f6a565b6002556001600160a01b038216600090815260036020526040902054610b2b908290610f6a565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7c9085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260036020526040902054610bac908290610f82565b6001600160a01b038316600090815260036020526040902055600254610bd3908290610f82565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b7c565b6000610c1e610896565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ca9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cdf5750866001600160a01b0316816001600160a01b0316145b610d235760405162461bcd60e51b81526020600482015260156024820152744749563a494e56414c49445f5349474e415455524560581b6044820152606401610519565b50505050505050565b80356001600160a01b0381168114610d4357600080fd5b919050565b803560ff81168114610d4357600080fd5b600060208284031215610d6b57600080fd5b610d7482610d2c565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d2c565b9150610da560208401610d2c565b90509250929050565b600080600060608486031215610dc357600080fd5b610dcc84610d2c565b9250610dda60208501610d2c565b9150604084013590509250925092565b60008060008060008060008060006101208a8c031215610e0957600080fd5b610e128a610d2c565b9850610e2060208b01610d2c565b975060408a0135965060608a0135955060808a0135945060a08a01359350610e4a60c08b01610d48565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a031215610e8357600080fd5b610e8c88610d2c565b9650610e9a60208901610d2c565b95506040880135945060608801359350610eb660808901610d48565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610ee557600080fd5b610eee83610d2c565b946020939093013593505050565b600060208284031215610f0e57600080fd5b5035919050565b600060208083528351808285015260005b81811015610f4257858101830151858201604001528201610f26565b81811115610f54576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610f7d57610f7d610fb4565b500190565b600082821015610f9457610f94610fb4565b500390565b6000600019821415610fad57610fad610fb4565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122006dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd176355264736f6c63430008060033000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146103d6578063e3ee160e14610401578063e94a010214610414578063ed24911d1461044257600080fd5b8063a9059cbb14610389578063c473af331461039c578063d505accf146103c357600080fd5b806342966c68146102c657806370a08231146102d95780637ecebe00146102f957806395d89b41146103195780639e4e73181461033b578063a0cc6a681461036257600080fd5b806323b872dd1161013057806323b872dd146102445780632c4d4d181461025757806330adf81f1461026c578063313ce567146102935780633408e470146102ad57806340c10f19146102b357600080fd5b806304622c2e1461017857806306fdde03146101b257806307546172146101e4578063095ea7b31461020f57806318160ddd1461023257806318369a2a1461023b575b600080fd5b61019f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f90281565b6040519081526020015b60405180910390f35b6101d76040518060400160405280600681526020016508ed2eccae8d60d31b81525081565b6040516101a99190610f15565b6001546101f7906001600160a01b031681565b6040516001600160a01b0390911681526020016101a9565b61022261021d366004610ed2565b61044a565b60405190151581526020016101a9565b61019f60025481565b61019f60005481565b610222610252366004610dae565b610460565b61026a610265366004610d59565b6104d2565b005b61019f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61029b601281565b60405160ff90911681526020016101a9565b4661019f565b6102226102c1366004610ed2565b61052e565b6102226102d4366004610efc565b610586565b61019f6102e7366004610d59565b60036020526000908152604090205481565b61019f610307366004610d59565b60056020526000908152604090205481565b6101d76040518060400160405280600381526020016223a4ab60e91b81525081565b61019f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b61019f7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b610222610397366004610ed2565b61059a565b61019f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b61026a6103d1366004610e68565b6105a7565b61019f6103e4366004610d7b565b600460209081526000928352604080842090915290825290205481565b61026a61040f366004610dea565b6106ad565b610222610422366004610ed2565b600660209081526000928352604080842090915290825290205460ff1681565b61019f610896565b600061045733848461093c565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104bc576104978382610f82565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6104c785858561099e565b506001949350505050565b6001546001600160a01b031633146105225760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b60448201526064015b60405180910390fd5b61052b81610aac565b50565b6001546000906001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600e60248201526d23a4ab1d2727aa2fa6a4a72a22a960911b6044820152606401610519565b6104578383610af6565b60006105923383610b88565b506001919050565b600061045733848461099e565b428410156105ea5760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661063783610f99565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506106988882868686610c14565b6106a388888861093c565b5050505050505050565b8542116106f55760405162461bcd60e51b815260206004820152601660248201527511d2558e9055551217d393d517d6515517d59053125160521b6044820152606401610519565b8442106107375760405162461bcd60e51b815260206004820152601060248201526f11d2558e9055551217d156141254915160821b6044820152606401610519565b6001600160a01b038916600090815260066020908152604080832087845290915290205460ff16156107a35760405162461bcd60e51b815260206004820152601560248201527411d2558e9055551217d053149150511657d554d151605a1b6044820152606401610519565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a22676020808301919091526001600160a01b038c8116838501528b166060830152608082018a905260a0820189905260c0820188905260e08083018890528351808403909101815261010090920190925280519101206108298a82868686610c14565b6001600160a01b038a166000818152600660209081526040808320898452909152808220805460ff19166001179055518792917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a361088a8a8a8a61099e565b50505050505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f33ef7d8509d7fc60c9fbe6cfb57a52ac1d91ca62f595d3b55c7cbdbb6372f9027fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821630148015906109bf57506001600160a01b03821615155b610a045760405162461bcd60e51b815260206004820152601660248201527523a4ab1d2727aa2fab20a624a22faa2920a729a322a960511b6044820152606401610519565b6001600160a01b038316600090815260036020526040902054610a28908290610f82565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a58908290610f6a565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109919085815260200190565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fc87aeafc6e4ae6202adf4f08a76769119ae93cc129c0e0cbac08a118bc18e1ce90600090a250565b80600254610b049190610f6a565b6002556001600160a01b038216600090815260036020526040902054610b2b908290610f6a565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7c9085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260036020526040902054610bac908290610f82565b6001600160a01b038316600090815260036020526040902055600254610bd3908290610f82565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b7c565b6000610c1e610896565b60405161190160f01b602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ca9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cdf5750866001600160a01b0316816001600160a01b0316145b610d235760405162461bcd60e51b81526020600482015260156024820152744749563a494e56414c49445f5349474e415455524560581b6044820152606401610519565b50505050505050565b80356001600160a01b0381168114610d4357600080fd5b919050565b803560ff81168114610d4357600080fd5b600060208284031215610d6b57600080fd5b610d7482610d2c565b9392505050565b60008060408385031215610d8e57600080fd5b610d9783610d2c565b9150610da560208401610d2c565b90509250929050565b600080600060608486031215610dc357600080fd5b610dcc84610d2c565b9250610dda60208501610d2c565b9150604084013590509250925092565b60008060008060008060008060006101208a8c031215610e0957600080fd5b610e128a610d2c565b9850610e2060208b01610d2c565b975060408a0135965060608a0135955060808a0135945060a08a01359350610e4a60c08b01610d48565b925060e08a013591506101008a013590509295985092959850929598565b600080600080600080600060e0888a031215610e8357600080fd5b610e8c88610d2c565b9650610e9a60208901610d2c565b95506040880135945060608801359350610eb660808901610d48565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610ee557600080fd5b610eee83610d2c565b946020939093013593505050565b600060208284031215610f0e57600080fd5b5035919050565b600060208083528351808285015260005b81811015610f4257858101830151858201604001528201610f26565b81811115610f54576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610f7d57610f7d610fb4565b500190565b600082821015610f9457610f94610fb4565b500390565b6000600019821415610fad57610fad610fb4565b5060010190565b634e487b7160e01b600052601160045260246000fdfea264697066735822122006dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd176355264736f6c63430008060033

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

000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673

-----Decoded View---------------
Arg [0] : initialMinter (address): 0xe1ce7720f9b434ec98382f776e5C3A48C8BA6673

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e1ce7720f9b434ec98382f776e5c3a48c8ba6673


Deployed Bytecode Sourcemap

3546:7555:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4623:111;;4668:66;4623:111;;;;;4148:25:1;;;4136:2;4121:18;4623:111:0;;;;;;;;4939:38;;;;;;;;;;;;;;;-1:-1:-1;;;4939:38:0;;;;;;;;;;;;:::i;5072:21::-;;;;;-1:-1:-1;;;;;5072:21:0;;;;;;-1:-1:-1;;;;;3766:32:1;;;3748:51;;3736:2;3721:18;5072:21:0;3703:102:1;8614:191:0;;;;;;:::i;:::-;;:::i;:::-;;;3975:14:1;;3968:22;3950:41;;3938:2;3923:18;8614:191:0;3905:92:1;5100:35:0;;;;;;3576:29;;;;;;9004:470;;;;;;:::i;:::-;;:::i;8376:104::-;;;;;;:::i;:::-;;:::i;:::-;;3774:117;;3825:66;3774:117;;5028:35;;5061:2;5028:35;;;;;9391:4:1;9379:17;;;9361:36;;9349:2;9334:18;5028:35:0;9316:87:1;7705:133:0;7811:9;7705:133;;8203:165;;;;;;:::i;:::-;;:::i;8488:118::-;;;;;;:::i;:::-;;:::i;5142:53::-;;;;;;:::i;:::-;;;;;;;;;;;;;;5317:41;;;;;;:::i;:::-;;;;;;;;;;;;;;4984:37;;;;;;;;;;;;;;;-1:-1:-1;;;4984:37:0;;;;;4816:114;;4864:66;4816:114;;4114:138;;4186:66;4114:138;;8813:183;;;;;;:::i;:::-;;:::i;4420:119::-;;4473:66;4420:119;;9482:627;;;;;;:::i;:::-;;:::i;5202:73::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;10117:981;;;;;;:::i;:::-;;:::i;5365:70::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;7846:349;;;:::i;8614:191::-;8717:4;8739:36;8748:10;8760:7;8769:5;8739:8;:36::i;:::-;-1:-1:-1;8793:4:0;8614:191;;;;:::o;9004:470::-;-1:-1:-1;;;;;9169:15:0;;9128:4;9169:15;;;:9;:15;;;;;;;;9185:10;9169:27;;;;;;;;-1:-1:-1;;9211:34:0;;9207:201;;9375:21;9391:5;9375:13;:21;:::i;:::-;-1:-1:-1;;;;;9345:15:0;;;;;;:9;:15;;;;;;;;9361:10;9345:27;;;;;;;:51;9207:201;9418:26;9428:4;9434:2;9438:5;9418:9;:26::i;:::-;-1:-1:-1;9462:4:0;;9004:470;-1:-1:-1;;;;9004:470:0:o;8376:104::-;5631:6;;-1:-1:-1;;;;;5631:6:0;5617:10;:20;5609:47;;;;-1:-1:-1;;;5609:47:0;;7149:2:1;5609:47:0;;;7131:21:1;7188:2;7168:18;;;7161:30;-1:-1:-1;;;7207:18:1;;;7200:44;7261:18;;5609:47:0;;;;;;;;;8448:24:::1;8462:9;8448:13;:24::i;:::-;8376:104:::0;:::o;8203:165::-;5631:6;;8300:4;;-1:-1:-1;;;;;5631:6:0;5617:10;:20;5609:47;;;;-1:-1:-1;;;5609:47:0;;7149:2:1;5609:47:0;;;7131:21:1;7188:2;7168:18;;;7161:30;-1:-1:-1;;;7207:18:1;;;7200:44;7261:18;;5609:47:0;7121:164:1;5609:47:0;8322:16:::1;8328:2;8332:5;8322;:16::i;8488:118::-:0;8535:4;8552:24;8558:10;8570:5;8552;:24::i;:::-;-1:-1:-1;8594:4:0;;8488:118;-1:-1:-1;8488:118:0:o;8813:183::-;8912:4;8934:32;8944:10;8956:2;8960:5;8934:9;:32::i;9482:627::-;9704:15;9692:8;:27;;9684:56;;;;-1:-1:-1;;;9684:56:0;;8894:2:1;9684:56:0;;;8876:21:1;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:46;9008:18;;9684:56:0;8866:166:1;9684:56:0;-1:-1:-1;;;;;9933:13:0;;9751:18;9933:13;;;:6;:13;;;;;:15;;3825:66;;9859:5;;9883:7;;9909:5;;9933:15;9751:18;9933:15;;;:::i;:::-;;;;-1:-1:-1;9796:194:0;;;;;;4471:25:1;;;;-1:-1:-1;;;;;4570:15:1;;;4550:18;;;4543:43;4622:15;;;;4602:18;;;4595:43;4654:18;;;4647:34;4697:19;;;4690:35;4741:19;;;4734:35;;;4443:19;;9796:194:0;;;;;;;;;;;;9772:229;;;;;;9751:250;;10012:47;10032:5;10039:10;10051:1;10054;10057;10012:19;:47::i;:::-;10070:31;10079:5;10086:7;10095:5;10070:8;:31::i;:::-;9673:436;9482:627;;;;;;;:::o;10117:981::-;10414:10;10396:15;:28;10388:63;;;;-1:-1:-1;;;10388:63:0;;8193:2:1;10388:63:0;;;8175:21:1;8232:2;8212:18;;;8205:30;-1:-1:-1;;;8251:18:1;;;8244:52;8313:18;;10388:63:0;8165:172:1;10388:63:0;10488:11;10470:15;:29;10462:58;;;;-1:-1:-1;;;10462:58:0;;8894:2:1;10462:58:0;;;8876:21:1;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:46;9008:18;;10462:58:0;8866:166:1;10462:58:0;-1:-1:-1;;;;;10540:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;;;10539:32;10531:66;;;;-1:-1:-1;;;10531:66:0;;7843:2:1;10531:66:0;;;7825:21:1;7882:2;7862:18;;;7855:30;-1:-1:-1;;;7901:18:1;;;7894:51;7962:18;;10531:66:0;7815:171:1;10531:66:0;10655:231;;;4186:66;10655:231;;;;5095:25:1;;;;-1:-1:-1;;;;;5194:15:1;;;5174:18;;;5167:43;5246:15;;5226:18;;;5219:43;5278:18;;;5271:34;;;5321:19;;;5314:35;;;5365:19;;;5358:35;;;5409:19;;;;5402:35;;;10655:231:0;;;;;;;;;;5067:19:1;;;;10655:231:0;;;10631:266;;;;;10908:46;5194:15:1;10631:266:0;10946:1;10949;10952;10908:19;:46::i;:::-;-1:-1:-1;;;;;10967:24:0;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;:38;;-1:-1:-1;;10967:38:0;11001:4;10967:38;;;11021:30;10992:5;;10967:24;11021:30;;;11064:26;11074:4;11080:2;11084:5;11064:9;:26::i;:::-;10377:721;10117:981;;;;;;;;;:::o;7846:349::-;7897:7;4473:66;4668;4864;7811:9;7965:207;;;;;;5707:25:1;;;;5748:18;;5741:34;;;;5791:18;;;5784:34;5834:18;;;5827:34;8148:4:0;5877:19:1;;;5870:61;5679:19;;7965:207:0;;;;;;;;;;;;7937:250;;;;;;7917:270;;7846:349;:::o;7031:206::-;-1:-1:-1;;;;;7149:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;7198:31;;4148:25:1;;;7198:31:0;;4121:18:1;7198:31:0;;;;;;;;7031:206;;;:::o;7245:452::-;-1:-1:-1;;;;;7380:19:0;;7394:4;7380:19;;;;:39;;-1:-1:-1;;;;;;7403:16:0;;;;7380:39;7358:111;;;;-1:-1:-1;;;7358:111:0;;7492:2:1;7358:111:0;;;7474:21:1;7531:2;7511:18;;;7504:30;-1:-1:-1;;;7550:18:1;;;7543:52;7612:18;;7358:111:0;7464:172:1;7358:111:0;-1:-1:-1;;;;;7577:15:0;;;;;;:9;:15;;;;;;:23;;7595:5;;7577:23;:::i;:::-;-1:-1:-1;;;;;7559:15:0;;;;;;;:9;:15;;;;;;:41;;;;7627:13;;;;;;;:21;;7643:5;;7627:21;:::i;:::-;-1:-1:-1;;;;;7611:13:0;;;;;;;:9;:13;;;;;;;:37;;;;7664:25;;;;;;;;;;7683:5;4148:25:1;;4136:2;4121:18;;4103:76;6399:127:0;6461:6;:18;;-1:-1:-1;;;;;;6461:18:0;-1:-1:-1;;;;;6461:18:0;;;;;;;;6495:23;;;;-1:-1:-1;;6495:23:0;6399:127;:::o;6534:198::-;6624:5;6610:11;;:19;;;;:::i;:::-;6596:11;:33;-1:-1:-1;;;;;6656:13:0;;;;;;:9;:13;;;;;;:21;;6672:5;;6656:21;:::i;:::-;-1:-1:-1;;;;;6640:13:0;;;;;;:9;:13;;;;;;:37;;;;6693:31;;6640:13;;;6693:31;;;;6718:5;4148:25:1;;4136:2;4121:18;;4103:76;6693:31:0;;;;;;;;6534:198;;:::o;6740:283::-;-1:-1:-1;;;;;6899:15:0;;;;;;:9;:15;;;;;;:23;;6917:5;;6899:23;:::i;:::-;-1:-1:-1;;;;;6881:15:0;;;;;;:9;:15;;;;;:41;6947:11;;:19;;6961:5;;6947:19;:::i;:::-;6933:11;:33;6982;;4148:25:1;;;7005:1:0;;-1:-1:-1;;;;;6982:33:0;;;;;4136:2:1;4121:18;6982:33:0;4103:76:1;5774:617:0;5947:14;6017:20;:18;:20::i;:::-;5988:62;;-1:-1:-1;;;5988:62:0;;;3463:27:1;3506:11;;;3499:27;;;;3542:12;;;3535:28;;;3579:12;;5988:62:0;;;-1:-1:-1;;5988:62:0;;;;;;;;;5964:97;;5988:62;5964:97;;;;6072:24;6099:26;;;;;;;;;6169:25:1;;;6242:4;6230:17;;6210:18;;;6203:45;;;;6264:18;;;6257:34;;;6307:18;;;6300:34;;;5964:97:0;;-1:-1:-1;6072:24:0;6099:26;;6141:19:1;;6099:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6099:26:0;;-1:-1:-1;;6099:26:0;;;-1:-1:-1;;;;;;;6274:30:0;;;;;;:60;;;6328:6;-1:-1:-1;;;;;6308:26:0;:16;-1:-1:-1;;;;;6308:26:0;;6274:60;6252:131;;;;-1:-1:-1;;;6252:131:0;;8544:2:1;6252:131:0;;;8526:21:1;8583:2;8563:18;;;8556:30;-1:-1:-1;;;8602:18:1;;;8595:51;8663:18;;6252:131:0;8516:171:1;6252:131:0;5936:455;;5774:617;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:156::-;258:20;;318:4;307:16;;297:27;;287:2;;338:1;335;328:12;353:186;412:6;465:2;453:9;444:7;440:23;436:32;433:2;;;481:1;478;471:12;433:2;504:29;523:9;504:29;:::i;:::-;494:39;423:116;-1:-1:-1;;;423:116:1:o;544:260::-;612:6;620;673:2;661:9;652:7;648:23;644:32;641:2;;;689:1;686;679:12;641:2;712:29;731:9;712:29;:::i;:::-;702:39;;760:38;794:2;783:9;779:18;760:38;:::i;:::-;750:48;;631:173;;;;;:::o;809:328::-;886:6;894;902;955:2;943:9;934:7;930:23;926:32;923:2;;;971:1;968;961:12;923:2;994:29;1013:9;994:29;:::i;:::-;984:39;;1042:38;1076:2;1065:9;1061:18;1042:38;:::i;:::-;1032:48;;1127:2;1116:9;1112:18;1099:32;1089:42;;913:224;;;;;:::o;1142:744::-;1271:6;1279;1287;1295;1303;1311;1319;1327;1335;1388:3;1376:9;1367:7;1363:23;1359:33;1356:2;;;1405:1;1402;1395:12;1356:2;1428:29;1447:9;1428:29;:::i;:::-;1418:39;;1476:38;1510:2;1499:9;1495:18;1476:38;:::i;:::-;1466:48;;1561:2;1550:9;1546:18;1533:32;1523:42;;1612:2;1601:9;1597:18;1584:32;1574:42;;1663:3;1652:9;1648:19;1635:33;1625:43;;1715:3;1704:9;1700:19;1687:33;1677:43;;1739:37;1771:3;1760:9;1756:19;1739:37;:::i;:::-;1729:47;;1823:3;1812:9;1808:19;1795:33;1785:43;;1875:3;1864:9;1860:19;1847:33;1837:43;;1346:540;;;;;;;;;;;:::o;1891:606::-;2002:6;2010;2018;2026;2034;2042;2050;2103:3;2091:9;2082:7;2078:23;2074:33;2071:2;;;2120:1;2117;2110:12;2071:2;2143:29;2162:9;2143:29;:::i;:::-;2133:39;;2191:38;2225:2;2214:9;2210:18;2191:38;:::i;:::-;2181:48;;2276:2;2265:9;2261:18;2248:32;2238:42;;2327:2;2316:9;2312:18;2299:32;2289:42;;2350:37;2382:3;2371:9;2367:19;2350:37;:::i;:::-;2340:47;;2434:3;2423:9;2419:19;2406:33;2396:43;;2486:3;2475:9;2471:19;2458:33;2448:43;;2061:436;;;;;;;;;;:::o;2502:254::-;2570:6;2578;2631:2;2619:9;2610:7;2606:23;2602:32;2599:2;;;2647:1;2644;2637:12;2599:2;2670:29;2689:9;2670:29;:::i;:::-;2660:39;2746:2;2731:18;;;;2718:32;;-1:-1:-1;;;2589:167:1:o;3020:180::-;3079:6;3132:2;3120:9;3111:7;3107:23;3103:32;3100:2;;;3148:1;3145;3138:12;3100:2;-1:-1:-1;3171:23:1;;3090:110;-1:-1:-1;3090:110:1:o;6345:597::-;6457:4;6486:2;6515;6504:9;6497:21;6547:6;6541:13;6590:6;6585:2;6574:9;6570:18;6563:34;6615:1;6625:140;6639:6;6636:1;6633:13;6625:140;;;6734:14;;;6730:23;;6724:30;6700:17;;;6719:2;6696:26;6689:66;6654:10;;6625:140;;;6783:6;6780:1;6777:13;6774:2;;;6853:1;6848:2;6839:6;6828:9;6824:22;6820:31;6813:42;6774:2;-1:-1:-1;6926:2:1;6905:15;-1:-1:-1;;6901:29:1;6886:45;;;;6933:2;6882:54;;6466:476;-1:-1:-1;;;6466:476:1:o;9408:128::-;9448:3;9479:1;9475:6;9472:1;9469:13;9466:2;;;9485:18;;:::i;:::-;-1:-1:-1;9521:9:1;;9456:80::o;9541:125::-;9581:4;9609:1;9606;9603:8;9600:2;;;9614:18;;:::i;:::-;-1:-1:-1;9651:9:1;;9590:76::o;9671:135::-;9710:3;-1:-1:-1;;9731:17:1;;9728:2;;;9751:18;;:::i;:::-;-1:-1:-1;9798:1:1;9787:13;;9718:88::o;9811:127::-;9872:10;9867:3;9863:20;9860:1;9853:31;9903:4;9900:1;9893:15;9927:4;9924:1;9917:15

Swarm Source

ipfs://06dc5aa903f8e446086e8efc4766f00eea343ea04e56ca4d1779a36bd1763552

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
0x2f2c819210191750F2E11F7CfC5664a0eB4fd5e6
Loading...
Loading
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.