Contract 0x2521Bc90B4f5Fb9a8D61278197e5FF5cDbc4FBF2 1

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0xd5778cc99b11f7a49afabeb28ceb341bd5edae2a942479ae429de453b11869a4Transfer105703432022-04-26 7:20:3424 days 3 hrs ago0xc7f9fcdf189a5684022908dc594f5669bc7812b0 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000077406866 1.500220288
0x615ad83c0e889d8b689ed3b9d7d9fb3a98f276edb335555d86460d89554cc37bTransfer105703312022-04-26 7:17:3224 days 3 hrs ago0xc7f9fcdf189a5684022908dc594f5669bc7812b0 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000077403751 1.500159917
0x90e838ac4fbc5bd0888a1a0ce5e2566ee4afe9d75a89152382c9a51d1e85b3e4Approve105571642022-04-24 0:08:3026 days 10 hrs ago0xe583b23379b140dda92f1cf27baf2128fc6513a4 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000087287293 1.881800016
0x845025baed5e38f1adc76e2b4096cc7b21a5725e5edf29772e2380dd53b772d0Transfer105495202022-04-22 16:13:0927 days 18 hrs ago0x56b2118d90cca76e4683efeceec35662372d64cd IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000112610455 2.182500064
0xf092b93f46bb0edd3a5747cfc70f1c036a2fa3edfe022577e38be1015e85bd1cTransfer102131322022-02-22 15:13:2686 days 19 hrs ago0x45279cb343d8244b0d2f2c3274bc37d8f0f2c303 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000077395501 1.500000028
0x66e3c70fa1b8f87cadb7efc3c0e28672e28d13d56fea2c833bdc5b3c4b1f0853Transfer101119162022-02-04 18:56:56104 days 16 hrs ago0x776611068380e4f594d4b0378778510ca81cbd32 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000467610011.000000029
0x4e62c713ee7ee00b5a32bfa027af17dfa5191b202b4e09d073185ca6bae2945aTransfer101119152022-02-04 18:56:41104 days 16 hrs ago0x276d446c4280bd4597fea5522ce0091a59627437 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000701415 1.500000014
0x4905788422d8b8e75a056b1ddae83c3942d446080d56b378340b02c32f91342dTransfer101119022022-02-04 18:53:26104 days 16 hrs ago0x776611068380e4f594d4b0378778510ca81cbd32 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000402195 1.500000012
0xae19cd67958de18919a8f3df6e87188105fa5fb94c161150925703d3e0801dc7Transfer101117982022-02-04 18:27:26104 days 16 hrs ago0x776611068380e4f594d4b0378778510ca81cbd32 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000467610011.000000028
0x292dcdfe06446f5ad1ab9c46fa313901f379faa9843f5a3e2c5fac82f0eb1cccTransfer99834092022-01-13 8:53:42127 days 2 hrs ago0xf4ec618829d3ae140c7c9725e7f914326fcd29dc IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000077377503 1.500000074
0x49166f4a4f84bbcfc44740028f2d6c96dda8c29b65f5a6141796988309e2ffe6Approve98942662021-12-28 16:29:40142 days 18 hrs ago0x5717856a431fcab27198b18adcb0215e44f85583 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.00009277 2.00000001
0xdbc9083fd34939634e13e12ee60dd8d7e357c0f436fe997ab00e422ec941a906Approve98866392021-12-27 8:42:16144 days 2 hrs ago0x934a19c7f2cd41d330d00c02884504fb59a33f36 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000009
0x0f7373212f371ab72c21d910333b5e7c2c86a33a998b1f42f3c74789e4e63785Approve98863732021-12-27 7:35:44144 days 3 hrs ago0x967ef2855b17cdb3a57e1a4d1585f1bd398cc7d8 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000074239191 1.600499975
0xe05bd61b3100a01e67c307a178f380ec91bc79067fb2521e319128120f2f5e92Approve98086662021-12-13 17:01:32157 days 17 hrs ago0xd51e61cdd5db35e7416fd045deb41f5d29707f4c IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000018
0x5e0f9ab5d38f7f71829dc29a604a98f46fcb30e29349e53283f448bd7a8213b7Approve98086092021-12-13 16:47:17157 days 18 hrs ago0xab3f4956b4ef7c6edbc79c8c22bb1490ade4834e IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000089986899 1.939999999
0x21f0c07e1bec62b69653eb2109391e79fd1f5f768af4466e8e63428e7301bc2cApprove97189592021-11-28 2:49:11173 days 8 hrs ago0x776611068380e4f594d4b0378778510ca81cbd32 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000008
0xa387023a2fedd5f670f9b48f5b8b29d206e25fe3e6214430deb505dea07ab02aApprove96809472021-11-21 12:21:55179 days 22 hrs ago0x5dca2483280d9727c80b5518fac4556617fb194f IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000011
0xbac914f428bcfd500a8716f6c003d78acbc8315c94ee07a5376ce17195517c44Approve96597282021-11-17 19:52:16183 days 15 hrs ago0xa68ea206e2e6fe3ed9136a0b857deaf8a8e50b1a IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000009
0xaac6f3eb6501284787a753b1e1ac2b223300708e2fd46a436c109869ce40579bApprove95574702021-10-30 19:32:51201 days 15 hrs ago0x65c724c2b2a22b793c606b81cc0b1d8b25ef3ae5 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000008
0x55f51be479616b1406d8c74b6158d0c777b622311d1b34ffc0d750a4f14516bcApprove94169962021-10-06 9:34:34226 days 1 hr ago0xae395bbae207bbbaeaaead5136e3f266be752a16 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.50000001
0x344dd79ba9251f62745d43ba6a9436603b2b2c40aa1c0a58ffe3732e7c3c4defApprove94169932021-10-06 9:33:48226 days 1 hr ago0xa2ef0937cd5fe18ca0328bec1e4f1fc6834ff1f9 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.50000001
0x44f2b798960a7f11aec60185d416b5b54fbbd085767757be49e44c9dc9dc3ecbApprove94169872021-10-06 9:32:16226 days 1 hr ago0xea06e9f5b4b1b9343ff1ee153ea0af2bf3d96569 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.50000001
0xa57ff8f324baf846dccd8504d3e7ba866aba31b668a4a666524c6f4b4ccdea20Approve94169452021-10-06 9:21:41226 days 1 hr ago0x24a4ff5273c91a47ee830b25bbbe5d7d3fe47e5d IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000069577501 1.500000032
0xe190921a53b040703c9807c004b1e855264c86c2765c10e14c0fedcf926c7210Approve94132152021-10-05 17:47:57226 days 17 hrs ago0x5789584469dbea9b1e6484eb5abe7f36d20ae54a IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.0000695775 1.500000009
0x7f777b02a7ea6ad4e7247e3f6cc5143257f867e1e6b1c6aa1100fab26cc17ea5Transfer93821852021-09-30 8:19:25232 days 2 hrs ago0x9772aeb59aabaab4890f3b2781f46ea420da3ca7 IN  0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether0.000069889502 1.50000005
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xcad7b4f96555d0171296b21248a0982ebfa039221f8bea9eb5e8d97a7302e5ac106912102022-05-17 10:23:483 days 35 mins ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcad7b4f96555d0171296b21248a0982ebfa039221f8bea9eb5e8d97a7302e5ac106912102022-05-17 10:23:483 days 35 mins ago 0x5083e895b1dfbc7cf9b93b419ca60003aeb399f4 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcad7b4f96555d0171296b21248a0982ebfa039221f8bea9eb5e8d97a7302e5ac106912102022-05-17 10:23:483 days 35 mins ago 0x5083e895b1dfbc7cf9b93b419ca60003aeb399f4 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xbe176d1b8d37c82fefcca7b277aac9941d4e011926234591e61be9af18a1e067106862822022-05-16 13:47:213 days 21 hrs ago 0x679b11e0229959c1d3d27c9d20529e4c5df7997c 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xbe176d1b8d37c82fefcca7b277aac9941d4e011926234591e61be9af18a1e067106862822022-05-16 13:47:213 days 21 hrs ago 0x679b11e0229959c1d3d27c9d20529e4c5df7997c 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xbe176d1b8d37c82fefcca7b277aac9941d4e011926234591e61be9af18a1e067106862822022-05-16 13:47:213 days 21 hrs ago 0x679b11e0229959c1d3d27c9d20529e4c5df7997c 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xbe176d1b8d37c82fefcca7b277aac9941d4e011926234591e61be9af18a1e067106862822022-05-16 13:47:213 days 21 hrs ago 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20x00000000000000000000000000000000000000010 Ether
0xbe176d1b8d37c82fefcca7b277aac9941d4e011926234591e61be9af18a1e067106862822022-05-16 13:47:213 days 21 hrs ago 0x679b11e0229959c1d3d27c9d20529e4c5df7997c 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcfa2f06d4d82ca7bdf0688876f362218da192c7a5cc96a310ad157d876a2a8ff106862792022-05-16 13:46:363 days 21 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcfa2f06d4d82ca7bdf0688876f362218da192c7a5cc96a310ad157d876a2a8ff106862792022-05-16 13:46:363 days 21 hrs ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcfa2f06d4d82ca7bdf0688876f362218da192c7a5cc96a310ad157d876a2a8ff106862792022-05-16 13:46:363 days 21 hrs ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xcfa2f06d4d82ca7bdf0688876f362218da192c7a5cc96a310ad157d876a2a8ff106862792022-05-16 13:46:363 days 21 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xaa7364dee9a9cea9adf48dae8b790d8af059f798fe0e5a3e17b2347f54f9879b106604052022-05-12 0:44:008 days 10 hrs ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xaa7364dee9a9cea9adf48dae8b790d8af059f798fe0e5a3e17b2347f54f9879b106604052022-05-12 0:44:008 days 10 hrs ago 0x5083e895b1dfbc7cf9b93b419ca60003aeb399f4 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xaa7364dee9a9cea9adf48dae8b790d8af059f798fe0e5a3e17b2347f54f9879b106604052022-05-12 0:44:008 days 10 hrs ago 0x5083e895b1dfbc7cf9b93b419ca60003aeb399f4 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xeb6a821fe7ac279bf6b4c7ca508018ae21110506ae368f9615deba2ab5dc3460105571822022-04-24 0:13:0026 days 10 hrs ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xeb6a821fe7ac279bf6b4c7ca508018ae21110506ae368f9615deba2ab5dc3460105571822022-04-24 0:13:0026 days 10 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0xeb6a821fe7ac279bf6b4c7ca508018ae21110506ae368f9615deba2ab5dc3460105571822022-04-24 0:13:0026 days 10 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x42c3d92e655318731328ef6681de4beef21f3951 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x42c3d92e655318731328ef6681de4beef21f3951 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x5c7c3c30e7a20292339e9d9bdfed583c104299f9 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x77c44357021067b1f57f7596b2142cee00937c4a9e6cc25f1fe66193c0dab313105571692022-04-24 0:09:4526 days 10 hrs ago 0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
0x98250184ccd23d360f18c00a9758b2e92e2091cc634407264141bbaf131e1ab2103548332022-03-19 17:36:2861 days 17 hrs ago 0x42c3d92e655318731328ef6681de4beef21f3951 0x2521bc90b4f5fb9a8d61278197e5ff5cdbc4fbf20 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HEZ

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-02-12
*/

// SPDX-License-Identifier: GPL-3.0

pragma solidity 0.6.12;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
}

library SafeMath {
    string private constant ERROR_ADD_OVERFLOW = "MATH:ADD_OVERFLOW";
    string private constant ERROR_SUB_UNDERFLOW = "MATH:SUB_UNDERFLOW";

    function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x + y) >= x, ERROR_ADD_OVERFLOW);
    }

    function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
        require((z = x - y) <= x, ERROR_SUB_UNDERFLOW);
    }
}

// Lightweight token modelled after UNI-LP: 
// https://github.com/Uniswap/uniswap-v2-core/blob/v1.0.1/contracts/UniswapV2ERC20.sol
// Adds:
//   - An exposed `burn()`
//   - ERC-3009 (`transferWithAuthorization()`)
contract HEZ is IERC20 {
    using SafeMath for uint256;

    uint8 public constant decimals = 18;    
    string public constant symbol = "HEZ";
    string public constant name = "Hermez Network Token";
    uint256 public constant initialBalance = 100_000_000 * (1e18);

    // 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("Hermez Network Token")
    bytes32 public constant NAME_HASH = 0x64c0a41a0260272b78f2a5bd50d5ff7c1779bc3bba16dcff4550c7c642b0e4b4;
    // bytes32 public constant VERSION_HASH =
    //      keccak256("1")
    bytes32 public constant VERSION_HASH = 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6;

    uint256 public override totalSupply;
    mapping(address => uint256) public override balanceOf;
    mapping(address => mapping(address => uint256)) public override allowance;
    mapping(address => uint256) public nonces;
    mapping(address => mapping(bytes32 => bool)) public authorizationState;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AuthorizationUsed(address indexed authorizer, bytes32 indexed nonce);

    constructor(address initialHolder) public {
        _mint(initialHolder, initialBalance);
    }

    function _validateSignedData(
        address signer,
        bytes32 encodeData,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal view {
        bytes32 domainSeparator = keccak256(
            abi.encode(
                EIP712DOMAIN_HASH,
                NAME_HASH,
                VERSION_HASH,
                getChainId(),
                address(this)
            )
        );

        bytes32 digest = keccak256(
            abi.encodePacked("\x19\x01", domainSeparator, 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,
            "HEZ::_validateSignedData: INVALID_SIGNATURE"
        );
    }

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

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

    function _burn(address from, uint value) internal {
        // Balance is implicitly checked with SafeMath's underflow protection
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(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),
            "HEZ::_transfer: NOT_VALID_TRANSFER"
        );
        // Balance is implicitly checked with SafeMath's underflow protection
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    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 != uint256(-1)) {
            // Allowance is implicitly checked with SafeMath's underflow protection
            allowance[from][msg.sender] = fromAllowance.sub(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, "HEZ::permit: 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, "HEZ::transferWithAuthorization: AUTH_NOT_YET_VALID");
        require(block.timestamp < validBefore, "HEZ::transferWithAuthorization: AUTH_EXPIRED");
        require(!authorizationState[from][nonce], "HEZ::transferWithAuthorization: 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;
        _transfer(from, to, value);
        emit AuthorizationUsed(from, nonce);
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"initialHolder","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":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initialBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60806040523480156200001157600080fd5b506040516200147038038062001470833981810160405260208110156200003757600080fd5b505162000050816a52b7d2dcc80cd2e400000062000057565b50620001c2565b6200007381600054620000ff60201b62000b2a1790919060201c565b60009081556001600160a01b038316815260016020908152604090912054620000a791839062000b2a620000ff821b17901c565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6040805180820190915260118152704d4154483a4144445f4f564552464c4f5760781b60208201528183019083821015620001bb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200017f57818101518382015260200162000165565b50505050905090810190601f168015620001ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b61129e80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063a9059cbb1161008c578063dd62ed3e11610066578063dd62ed3e1461041d578063e3ee160e14610458578063e94a0102146104c457610177565b8063a9059cbb1461037c578063c473af33146103b5578063d505accf146103bd57610177565b806395d89b41116100bd57806395d89b41146103645780639e4e73181461036c578063a0cc6a681461037457610177565b806370a08231146102fe5780637ecebe001461033157610177565b806323b872dd1161012f578063313ce56711610114578063313ce567146102bb5780633408e470146102d957806342966c68146102e157610177565b806323b872dd1461027057806330adf81f146102b357610177565b8063095ea7b311610160578063095ea7b31461021357806318160ddd1461026057806318369a2a1461026857610177565b806304622c2e1461017c57806306fdde0314610196575b600080fd5b6101846104fd565b60408051918252519081900360200190f35b61019e610521565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d85781810151838201526020016101c0565b50505050905090810190601f1680156102055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024c6004803603604081101561022957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561055a565b604080519115158252519081900360200190f35b610184610570565b610184610576565b61024c6004803603606081101561028657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610585565b61018461062f565b6102c3610653565b6040805160ff9092168252519081900360200190f35b610184610658565b61024c600480360360208110156102f757600080fd5b503561065c565b6101846004803603602081101561031457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610670565b6101846004803603602081101561034757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610682565b61019e610694565b6101846106cd565b6101846106f1565b61024c6004803603604081101561039257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610715565b610184610722565b61041b600480360360e08110156103d357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610746565b005b6101846004803603604081101561043357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661086d565b61041b600480360361012081101561046f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e081013590610100013561088a565b61024c600480360360408110156104da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610b0a565b7f64c0a41a0260272b78f2a5bd50d5ff7c1779bc3bba16dcff4550c7c642b0e4b481565b6040518060400160405280601481526020017f4865726d657a204e6574776f726b20546f6b656e00000000000000000000000081525081565b6000610567338484610c0f565b50600192915050565b60005481565b6a52b7d2dcc80cd2e400000081565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610619576105e78184610c7e565b73ffffffffffffffffffffffffffffffffffffffff861660009081526002602090815260408083203384529091529020555b610624858585610d1f565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b4690565b60006106683383610e84565b506001919050565b60016020526000908152604090205481565b60036020526000908152604090205481565b6040518060400160405280600381526020017f48455a000000000000000000000000000000000000000000000000000000000081525081565b7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b6000610567338484610d1f565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b428410156107b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f48455a3a3a7065726d69743a20415554485f4558504952454400000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff80881660008181526003602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938a1660608401526080830189905260a083019390935260c08083018890528151808403909101815260e0909201905280519101206108588882868686610f3d565b610863888888610c0f565b5050505050505050565b600260209081526000928352604080842090915290825290205481565b8542116108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806111db6032913960400191505060405180910390fd5b84421061093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c81526020018061118d602c913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8916600090815260046020908152604080832087845290915290205460ff16156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806112386031913960400191505060405180910390fd5b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808d16838501528b166060830152608082018a905260a0820189905260c0820188905260e0808301889052835180840390910181526101009092019092528051910120610a578a82868686610f3d565b73ffffffffffffffffffffffffffffffffffffffff8a166000908152600460209081526040808320888452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610abb8a8a8a610d1f565b604051859073ffffffffffffffffffffffffffffffffffffffff8c16907f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a590600090a350505050505050505050565b600460209081526000928352604080842090915290825290205460ff1681565b60408051808201909152601181527f4d4154483a4144445f4f564552464c4f5700000000000000000000000000000060208201528183019083821015610c08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610bcd578181015183820152602001610bb5565b50505050905090810190601f168015610bfa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60408051808201909152601281527f4d4154483a5355425f554e444552464c4f57000000000000000000000000000060208201528183039083821115610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152835160248401528351909283926044909101919085019080838360008315610bcd578181015183820152602001610bb5565b73ffffffffffffffffffffffffffffffffffffffff82163014801590610d5a575073ffffffffffffffffffffffffffffffffffffffff821615155b610daf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806111b96022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610ddf9082610c7e565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054610e1b9082610b2a565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054610eb49082610c7e565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554610ee89082610c7e565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f64c0a41a0260272b78f2a5bd50d5ff7c1779bc3bba16dcff4550c7c642b0e4b47fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610faa610658565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c0830182528051908401207f190100000000000000000000000000000000000000000000000000000000000060e084015260e283018190526101028084018a9052825180850390910181526101228401808452815191860191909120600091829052610142850180855281905260ff8a1661016286015261018285018990526101a285018890529251919550919391926001926101c28083019391927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301929081900390910190855afa1580156110bc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061113757508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061120d602b913960400191505060405180910390fdfe48455a3a3a7472616e7366657257697468417574686f72697a6174696f6e3a20415554485f4558504952454448455a3a3a5f7472616e736665723a204e4f545f56414c49445f5452414e5346455248455a3a3a7472616e7366657257697468417574686f72697a6174696f6e3a20415554485f4e4f545f5945545f56414c494448455a3a3a5f76616c69646174655369676e6564446174613a20494e56414c49445f5349474e415455524548455a3a3a7472616e7366657257697468417574686f72697a6174696f6e3a20415554485f414c52454144595f55534544a2646970667358221220cbf100e16c6a451e844058b4ea535f02c694c2170969205af721fbb39e05e86064736f6c634300060c00330000000000000000000000003ea6a273fd66f1085c3b1ac0ad6a576d6e85352f

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

0000000000000000000000003ea6a273fd66f1085c3b1ac0ad6a576d6e85352f

-----Decoded View---------------
Arg [0] : initialHolder (address): 0x3ea6a273fd66f1085c3b1ac0ad6a576d6e85352f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003ea6a273fd66f1085c3b1ac0ad6a576d6e85352f


Deployed ByteCode Sourcemap

1343:7158:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2624:102;;;:::i;:::-;;;;;;;;;;;;;;;;1498:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5924:191;;;;;;;;;;;;;;;;-1:-1:-1;5924:191:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2922:35;;;:::i;1557:61::-;;;:::i;6314:469::-;;;;;;;;;;;;;;;;-1:-1:-1;6314:469:0;;;;;;;;;;;;;;;;;;:::i;1788:108::-;;;:::i;1408:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4480:110;;;:::i;5798:118::-;;;;;;;;;;;;;;;;-1:-1:-1;5798:118:0;;:::i;2964:53::-;;;;;;;;;;;;;;;;-1:-1:-1;2964:53:0;;;;:::i;3104:41::-;;;;;;;;;;;;;;;;-1:-1:-1;3104:41:0;;;;:::i;1454:37::-;;;:::i;2808:105::-;;;:::i;2119:129::-;;;:::i;6123:183::-;;;;;;;;;;;;;;;;-1:-1:-1;6123:183:0;;;;;;;;;:::i;2416:110::-;;;:::i;6791:636::-;;;;;;;;;;;;;;;;-1:-1:-1;6791:636:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3024:73;;;;;;;;;;;;;;;;-1:-1:-1;3024:73:0;;;;;;;;;;;:::i;7435:1063::-;;;;;;;;;;;;;;;;-1:-1:-1;7435:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3152:70::-;;;;;;;;;;;;;;;;-1:-1:-1;3152:70:0;;;;;;;;;:::i;2624:102::-;2660:66;2624:102;:::o;1498:52::-;;;;;;;;;;;;;;;;;;;:::o;5924:191::-;6027:4;6049:36;6058:10;6070:7;6079:5;6049:8;:36::i;:::-;-1:-1:-1;6103:4:0;5924:191;;;;:::o;2922:35::-;;;;:::o;1557:61::-;1598:20;1557:61;:::o;6314:469::-;6479:15;;;6438:4;6479:15;;;:9;:15;;;;;;;;6495:10;6479:27;;;;;;;;6546:2;6521:28;;6517:200;;6681:24;:13;6699:5;6681:17;:24::i;:::-;6651:15;;;;;;;:9;:15;;;;;;;;6667:10;6651:27;;;;;;;:54;6517:200;6727:26;6737:4;6743:2;6747:5;6727:9;:26::i;:::-;-1:-1:-1;6771:4:0;;6314:469;-1:-1:-1;;;;6314:469:0:o;1788:108::-;1830:66;1788:108;:::o;1408:35::-;1441:2;1408:35;:::o;4480:110::-;4572:9;;4559:24::o;5798:118::-;5845:4;5862:24;5868:10;5880:5;5862;:24::i;:::-;-1:-1:-1;5904:4:0;5798:118;;;:::o;2964:53::-;;;;;;;;;;;;;:::o;3104:41::-;;;;;;;;;;;;;:::o;1454:37::-;;;;;;;;;;;;;;;;;;;:::o;2808:105::-;2847:66;2808:105;:::o;2119:129::-;2182:66;2119:129;:::o;6123:183::-;6222:4;6244:32;6254:10;6266:2;6270:5;6244:9;:32::i;2416:110::-;2460:66;2416:110;:::o;6791:636::-;7013:15;7001:8;:27;;6993:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7251:13;;;;7069:18;7251:13;;;:6;:13;;;;;;;;;:15;;;;;;;;7114:194;;1830:66;7114:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7090:229;;;;;7330:47;7177:5;7090:229;7369:1;7372;7375;7330:19;:47::i;:::-;7388:31;7397:5;7404:7;7413:5;7388:8;:31::i;:::-;6791:636;;;;;;;;:::o;3024:73::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7435:1063::-;7732:10;7714:15;:28;7706:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7834:11;7816:15;:29;7808:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7914:24;;;;;;;:18;:24;;;;;;;;:31;;;;;;;;;;;7913:32;7905:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8057:231;;;2182:66;8057:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8033:266;;;;;8310:46;8141:4;8033:266;8348:1;8351;8354;8310:19;:46::i;:::-;8369:24;;;;;;;:18;:24;;;;;;;;:31;;;;;;;;:38;;;;8403:4;8369:38;;;8418:26;8388:4;8434:2;8438:5;8418:9;:26::i;:::-;8460:30;;8484:5;;8460:30;;;;;;;;;7435:1063;;;;;;;;;;:::o;3152:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;840:133::-;946:18;;;;;;;;;;;;;;;;;933:5;;;;928:16;;;;920:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;840:133;;;;:::o;5106:206::-;5224:16;;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;5273:31;;;;;;;;;;;;;;;;;5106:206;;;:::o;981:134::-;1087:19;;;;;;;;;;;;;;;;;1074:5;;;;1069:16;;;;1061:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5320:470;5455:19;;;5469:4;5455:19;;;;:39;;-1:-1:-1;5478:16:0;;;;;5455:39;5433:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5664:15;;;;;;;:9;:15;;;;;;:26;;5684:5;5664:19;:26::i;:::-;5646:15;;;;;;;;:9;:15;;;;;;:44;;;;5717:13;;;;;;;:24;;5735:5;5717:17;:24::i;:::-;5701:13;;;;;;;;:9;:13;;;;;;;;;:40;;;;5757:25;;;;;;;5701:13;;5757:25;;;;;;;;;;;;;5320:470;;;:::o;4810:288::-;4968:15;;;;;;;:9;:15;;;;;;:26;;4988:5;4968:19;:26::i;:::-;4950:15;;;;;;;:9;:15;;;;;:44;;;;5019:11;:22;;5035:5;5019:15;:22::i;:::-;5005:11;:36;;;5057:33;;;;;;;;;;;;;;;;;;;;;;4810:288;;:::o;3581:891::-;3754:23;2460:66;2660;2847;3928:12;:10;:12::i;:::-;3804:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3967:4;3804:183;;;;;;;;;;;;;;;;;;;;;;;3780:218;;;;;;4052:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4028:92;;;;;;;;;-1:-1:-1;4158:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3780:218;;-1:-1:-1;4028:92:0;;-1:-1:-1;;4158:26:0;;;;;;;3804:183;;-1:-1:-1;4158:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4158:26:0;;;;;;-1:-1:-1;;4333:30:0;;;;;;;:60;;;4387:6;4367:26;;:16;:26;;;4333:60;4311:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://cbf100e16c6a451e844058b4ea535f02c694c2170969205af721fbb39e05e860
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

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.