Contract 0x502580fc390606b47fc3b741d6d49909383c28a9

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xeb1761db6c71a8d2b4557854ddf3753432d882781b6b1159e66bcc9b3051f3ebApprove204231672022-09-29 10:53:394 mins ago0xb2b2712ed547dfcf043e9679876b7dd2c3c35592 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.001746337537.5
0x2d51777ccd7a20b3c82814b7e331796a2abb279e49dd35acb9aedf916f1cd253Transfer204202792022-09-29 9:14:531 hr 43 mins ago0x46eb998cace1a63df986fd98b8032e91d8286147 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000914674 26.5
0x0149197df6210457d7d71f8cdcc8518223242a268d87b5347c2f2cfdd2343fb8Approve204140292022-09-29 5:40:395 hrs 17 mins ago0x5dd0fad326fd1c906744ed43f7f5e860f1681080 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0x80027e8b4f93aec314c9d37392943549ec502a306f1bb6499015b219927d2c73Transfer204098682022-09-29 3:18:187 hrs 39 mins ago0xc4b75a09087bb493a7bcc7e63999c3d84dc2689e IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00100096429
0xef18133cfe79dbc8c0ecdb1cdd852687815da7f43e0f8138018e5b83214de785Transfer204098152022-09-29 3:16:327 hrs 41 mins ago0x5097adf8ffdab014d38f2bcb9c4e235ced92b564 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00100131229
0x96cc51ab9cb64316af302cc6bb1b5cd99322fea88bbddd79abf9f292258db0d2Transfer204097752022-09-29 3:15:117 hrs 42 mins ago0x11675519997b613d7b0975f755a7dbb2ae467471 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00149721229
0x5b79d1b9ea48c93333ae6e4f81d8eb864699314994af518c64ba4d2e4e7b357eTransfer204072432022-09-29 1:48:309 hrs 9 mins ago0xcfd32101e6cae25537da0619452974be4df96583 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000914674 26.5
0x89c0de5ac6d7479556e65c23adda95ef4cd343fb0ac0eab43b588f051a510c76Approve204071442022-09-29 1:45:119 hrs 12 mins ago0x8f2ca190665fc44edf18657016660649df73075b IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0xaa85c42c22f5e319582a7385c5a8d83bde54ab8ea914681009af529a8dae4803Approve203900242022-09-28 15:58:1818 hrs 59 mins ago0x4cbe6a699fa23232e36613ea8e47015ec23f105f IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0x8d879e97cd4f2a5217df1720246db7eed08f8ef5d717ec0363cc3c681d940bc7Approve203862442022-09-28 13:49:0421 hrs 8 mins ago0x68b88d45a88f62d30111e9a696f5f5bc5fc58486 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0x5420b44006173db432cc6f77841ca2e7720de2ab3fa6a3d60ec6f463dd28b85cTransfer203825372022-09-28 11:41:0623 hrs 16 mins ago0x46eb998cace1a63df986fd98b8032e91d8286147 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000914674 26.5
0xe02512b46778ae5ee12222cebe1b618346b5b9b771590da44a565b54d0cee6d7Approve203800492022-09-28 10:15:531 day 42 mins ago0x5cc71e58e0d3185c7e547b8b7c77fdf9c7ca7dcb IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0xa6a2e8397b55f98c26b959bc2f6e4ecd055cfdd0330be92f28641ce616723bbcApprove203732112022-09-28 6:21:291 day 4 hrs ago0x25670a430ad99a462ff7fde34e81a2bc8023188f IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0x7838cb164ea014e30de4c2bb43314d88e7868fee46affe9f730dee99473246a9Transfer203666392022-09-28 2:35:461 day 8 hrs ago0xcfd32101e6cae25537da0619452974be4df96583 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000933486407 27.045034416
0x0c89ed6336e50ac9cb8280feb81e0ab73624898073e7acacc26d6c488ab96f1bApprove203641842022-09-28 1:11:341 day 9 hrs ago0xde2e6bfb936a5ee7e16a2b0af730c32d65ba96f7 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0xa8ca87e87be3bd4c6f3668ba0fb60ae0f0e38cd220ca65da706759e9d0608742Transfer203636362022-09-28 0:53:001 day 10 hrs ago0x46eb998cace1a63df986fd98b8032e91d8286147 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000914674 26.5
0x26e884b1208458d990dcd33b71c83af8b4d1e3de866f0c4d0318b8e706835ec0Approve203602042022-09-27 22:54:081 day 12 hrs ago0x0b988c81fa9d91e038ac3905e0bff5eca289aa77 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.001746337537.5
0x75fdf268fc834a4daf20f04d1e451b6310b5c32069a9ab3a91c6308782301a0dApprove203592862022-09-27 22:22:141 day 12 hrs ago0x4cbe6a699fa23232e36613ea8e47015ec23f105f IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0007067285 26.5
0x55e37aabb6b3f4839877d8dd5432c6f77272407c129df07bdad74b471e48e0b2Transfer203529722022-09-27 18:46:541 day 16 hrs ago0xc4b75a09087bb493a7bcc7e63999c3d84dc2689e IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00100131229
0xbd199ca669f5bb10c7b54b1f900a822620e4926677877ddec0b3b8c9e82d4610Transfer203529072022-09-27 18:44:421 day 16 hrs ago0x5097adf8ffdab014d38f2bcb9c4e235ced92b564 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00100131229
0xbed6ed1ecdd076a448c0feecb6de25e7385990e13437c0d7af82ae41ed555cd1Transfer203528782022-09-27 18:43:401 day 16 hrs ago0x11675519997b613d7b0975f755a7dbb2ae467471 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.00149721229
0xf29355ee36c862ac8c641b55dc345c606ccf73a114a5e7cdc6352b650d21fba3Approve203508302022-09-27 17:33:141 day 17 hrs ago0xbe5aceb467e78e6bb2be1e718267b1f04b9fdcbc IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.001246679401 26.77058562
0x3a2bb28b369a03a1248ab267a4ce6f96baec64b205a7e99f0126b352c7a8d865Approve203506432022-09-27 17:26:551 day 17 hrs ago0x58a84972e10926f13f7ed14394e450a53ef402e3 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0007067285 26.5
0xb271d7b153c3b0ab105887133c583b51b89036db7bf89018a538655d1241381fApprove203506222022-09-27 17:26:131 day 17 hrs ago0x58a84972e10926f13f7ed14394e450a53ef402e3 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.0012340785 26.5
0x6190b06f72bcc42343acb7b8cc15402339d49494c7841134c89d177f70e39ebeTransfer203463532022-09-27 15:00:461 day 19 hrs ago0xcfd32101e6cae25537da0619452974be4df96583 IN  0x502580fc390606b47fc3b741d6d49909383c28a90 AVAX0.000914992 26.5
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HATCHY

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at snowtrace.io on 2022-09-23
*/

// SPDX-License-Identifier: MIT
/*

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@&&&/     &&&@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@&&                &&@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@&%%%%            (%%%&&@@@@@@@@@@@@@
@@@@@@@@@@@@@@&%%%%%%          (%%%&&@@@@@@@@@@@@@
@@@@@@@@@@@@%#********.          ****%&@@@@@@@@@@@
@@@@@@@@@@%%**********.            ****%@@@@@@@@@@
@@@@@@@@@@&& .,,,,,                   ,&@@@@@@@@@@
@@@@@@@@&&..              ,,,,,.       .%&@@@@@@@@
@@@@@@@@&&..            ,,,,,,,,,      .%&@@@@@@@@
@@@@@@@@&&..          *((((((((((((    .%&@@@@@@@@
@@@@@@@@&&..          *((((((((((((    .%&@@@@@@@@
@@@@@@@@@@&&##(((         #####,     %%&@@@@@@@@@@
@@@@@@@@@@&&###((((                %%%%&@@@@@@@@@@
@@@@@@@@@@@@&&%%%####            %%%%@@@@@@@@@@@@@
@@@@@@@@@@@@@@&%%%%%%............%%@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@&&&............#&@@@@@@@@@@@@@@@@@

We the community of Hatchy Pocket, the owners, builders, and managers of the decentralized Intellectual property of Hatchy Pocket, decree, that this token and its holders, shall, from this day forward, be the sole owners and arbitrators of the HatchyPocket brand, including all Intellectual Properties, Trademarks, assets, monsters, including works to their likeness or their derivatives, and are the sole point of access to the authorization of its usage and productions.

From this day forward, as a community, together, with the new philosophy of HatchyPocket, we create a new structure for humanity, in which we share common resources and support to generate and harness new opportunities with new forms of cooperative value generation.

Together, we build a new global cultural experience, in a form, that promotes openness, creativity, positivity, fun, generation of value, and balanced distribution thereof. 

As one community, with a common mission, together, we create, we share, and we own the future! 

HATCHY DAO TOKEN AND BRAND OWNERSHIP
The Hatchy Token is a ratio share of ownership of the intellectual property and base resource assets of Hatchypocket, HatchyPocket, Hatchy, $HATCHY, Hatchysquad, Hatchy Summoners, etc, including all assets, monsters, logos, trademarks, including their likeness and derivatives thereof, and are managed and acted through the HatchypocketDAO.

LICENSING, RULES, AND USAGE RIGHTS
Default usage rights and obligations for creators using the intellectual property or base resource assets of Hatchypocket, HatchyPocket, Hatchy, $HATCHY, Hatchysquad, Hatchy Summoners, etc, including all assets, monsters, logos, trademarks, including their likeness and derivatives thereof, shall be defined by the community and is subject to change.

All creators must adhere strictly to the DAO usage rules at all times, including as changes or amendments, etc are made by valid community consensus

DAO DECISIONS AND VALID COMMUNITY VOTE
The Hatchypocket DAO will dictate engagement rules based on processes outlined by the community, accounted for, by an equal token-weighted vote open to all HATCHY tokens and their holders

LIMITATIONS AND DAO RIGHTS RESERVATION
The Hatchy DAO reserves the right to revoke usage of the HatchyPocket brand, etc, by valid community vote


Go to line 666 for token contract.


 */
 
 
 
 
 // Sources flattened with hardhat v2.6.8 https://hardhat.org

// File @openzeppelin/contracts/token/ERC20/[email protected]

// 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 indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]

// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}


// File @openzeppelin/contracts/utils/[email protected]

// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^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 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) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]

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

pragma solidity ^0.8.0;



/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]

// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)

pragma solidity ^0.8.0;


/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        _spendAllowance(account, _msgSender(), amount);
        _burn(account, amount);
    }
}


// File @openzeppelin/contracts/token/ERC20/presets/[email protected]

// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/presets/ERC20PresetFixedSupply.sol)
pragma solidity ^0.8.0;

/**
 * @dev {ERC20} token, including:
 *
 *  - Preminted initial supply
 *  - Ability for holders to burn (destroy) their tokens
 *  - No access control mechanism (for minting/pausing) and hence no governance
 *
 * This contract uses {ERC20Burnable} to include burn capabilities - head to
 * its documentation for details.
 *
 * _Available since v3.4._
 *
 * _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._
 */
contract ERC20PresetFixedSupply is ERC20Burnable {
    /**
     * @dev Mints `initialSupply` amount of token and transfers them to `owner`.
     *
     * See {ERC20-constructor}.
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 initialSupply,
        address owner
    ) ERC20(name, symbol) {
        _mint(owner, initialSupply);
    }
}


// File contracts/HatchyToken.sol

pragma solidity ^0.8.10;
contract HATCHY  is ERC20PresetFixedSupply {
   constructor() ERC20PresetFixedSupply("Hatchy", "HATCHY", 1000000000 ether, msg.sender) {}
}

Contract ABI

[{"inputs":[],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600681526020016548617463687960d01b8152506040518060400160405280600681526020016548415443485960d01b8152506b033b2e3c9fd0803ce8000000338383816003908162000071919062000230565b50600462000080828262000230565b5050506200009581836200009f60201b60201c565b5050505062000323565b6001600160a01b038216620000fa5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200010e9190620002fc565b90915550506001600160a01b038216600090815260208190526040812080548392906200013d908490620002fc565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001b757607f821691505b602082108103620001d857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200018757600081815260208120601f850160051c81016020861015620002075750805b601f850160051c820191505b81811015620002285782815560010162000213565b505050505050565b81516001600160401b038111156200024c576200024c6200018c565b62000264816200025d8454620001a2565b84620001de565b602080601f8311600181146200029c5760008415620002835750858301515b600019600386901b1c1916600185901b17855562000228565b600085815260208120601f198616915b82811015620002cd57888601518255948401946001909101908401620002ac565b5085821015620002ec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082198211156200031e57634e487b7160e01b600052601160045260246000fd5b500190565b610a7980620003336000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101ad578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806342966c681461015c57806370a082311461017157806379cc67901461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc6101ee565b6040516100e9919061087f565b60405180910390f35b6101056101003660046108f0565b610280565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b61010561013536600461091a565b610298565b604051601281526020016100e9565b6101056101573660046108f0565b6102bc565b61016f61016a366004610956565b6102de565b005b61011961017f36600461096f565b6001600160a01b031660009081526020819052604090205490565b61016f6101a83660046108f0565b6102eb565b6100dc610304565b6101056101c33660046108f0565b610313565b6101056101d63660046108f0565b610393565b6101196101e9366004610991565b6103a1565b6060600380546101fd906109c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610229906109c4565b80156102765780601f1061024b57610100808354040283529160200191610276565b820191906000526020600020905b81548152906001019060200180831161025957829003601f168201915b5050505050905090565b60003361028e8185856103cc565b5060019392505050565b6000336102a68582856104f1565b6102b185858561056b565b506001949350505050565b60003361028e8185856102cf83836103a1565b6102d99190610a14565b6103cc565b6102e83382610739565b50565b6102f68233836104f1565b6103008282610739565b5050565b6060600480546101fd906109c4565b6000338161032182866103a1565b9050838110156103865760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102b182868684036103cc565b60003361028e81858561056b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661042e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161037d565b6001600160a01b03821661048f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161037d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006104fd84846103a1565b9050600019811461056557818110156105585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161037d565b61056584848484036103cc565b50505050565b6001600160a01b0383166105cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161037d565b6001600160a01b0382166106315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161037d565b6001600160a01b038316600090815260208190526040902054818110156106a95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161037d565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106e0908490610a14565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161072c91815260200190565b60405180910390a3610565565b6001600160a01b0382166107995760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161037d565b6001600160a01b0382166000908152602081905260409020548181101561080d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161037d565b6001600160a01b038316600090815260208190526040812083830390556002805484929061083c908490610a2c565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016104e4565b600060208083528351808285015260005b818110156108ac57858101830151858201604001528201610890565b818111156108be576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146108eb57600080fd5b919050565b6000806040838503121561090357600080fd5b61090c836108d4565b946020939093013593505050565b60008060006060848603121561092f57600080fd5b610938846108d4565b9250610946602085016108d4565b9150604084013590509250925092565b60006020828403121561096857600080fd5b5035919050565b60006020828403121561098157600080fd5b61098a826108d4565b9392505050565b600080604083850312156109a457600080fd5b6109ad836108d4565b91506109bb602084016108d4565b90509250929050565b600181811c908216806109d857607f821691505b6020821081036109f857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610a2757610a276109fe565b500190565b600082821015610a3e57610a3e6109fe565b50039056fea26469706673582212204913338e13afe9585945b119577d3acf6effe6e89c5f7e33175b7c41b659231a64736f6c634300080f0033

Deployed ByteCode Sourcemap

23296:141:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10202:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12553:201;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;12553:201:0;1053:187:1;11322:108:0;11410:12;;11322:108;;;1391:25:1;;;1379:2;1364:18;11322:108:0;1245:177:1;13334:295:0;;;;;;:::i;:::-;;:::i;11164:93::-;;;11247:2;1902:36:1;;1890:2;1875:18;11164:93:0;1760:184:1;14038:238:0;;;;;;:::i;:::-;;:::i;21575:91::-;;;;;;:::i;:::-;;:::i;:::-;;11493:127;;;;;;:::i;:::-;-1:-1:-1;;;;;11594:18:0;11567:7;11594:18;;;;;;;;;;;;11493:127;21985:164;;;;;;:::i;:::-;;:::i;10421:104::-;;;:::i;14779:436::-;;;;;;:::i;:::-;;:::i;11826:193::-;;;;;;:::i;:::-;;:::i;12082:151::-;;;;;;:::i;:::-;;:::i;10202:100::-;10256:13;10289:5;10282:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10202:100;:::o;12553:201::-;12636:4;7918:10;12692:32;7918:10;12708:7;12717:6;12692:8;:32::i;:::-;-1:-1:-1;12742:4:0;;12553:201;-1:-1:-1;;;12553:201:0:o;13334:295::-;13465:4;7918:10;13523:38;13539:4;7918:10;13554:6;13523:15;:38::i;:::-;13572:27;13582:4;13588:2;13592:6;13572:9;:27::i;:::-;-1:-1:-1;13617:4:0;;13334:295;-1:-1:-1;;;;13334:295:0:o;14038:238::-;14126:4;7918:10;14182:64;7918:10;14198:7;14235:10;14207:25;7918:10;14198:7;14207:9;:25::i;:::-;:38;;;;:::i;:::-;14182:8;:64::i;21575:91::-;21631:27;7918:10;21651:6;21631:5;:27::i;:::-;21575:91;:::o;21985:164::-;22062:46;22078:7;7918:10;22101:6;22062:15;:46::i;:::-;22119:22;22125:7;22134:6;22119:5;:22::i;:::-;21985:164;;:::o;10421:104::-;10477:13;10510:7;10503:14;;;;;:::i;14779:436::-;14872:4;7918:10;14872:4;14955:25;7918:10;14972:7;14955:9;:25::i;:::-;14928:52;;15019:15;14999:16;:35;;14991:85;;;;-1:-1:-1;;;14991:85:0;;3442:2:1;14991:85:0;;;3424:21:1;3481:2;3461:18;;;3454:30;3520:34;3500:18;;;3493:62;-1:-1:-1;;;3571:18:1;;;3564:35;3616:19;;14991:85:0;;;;;;;;;15112:60;15121:5;15128:7;15156:15;15137:16;:34;15112:8;:60::i;11826:193::-;11905:4;7918:10;11961:28;7918:10;11978:2;11982:6;11961:9;:28::i;12082:151::-;-1:-1:-1;;;;;12198:18:0;;;12171:7;12198:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12082:151::o;18404:380::-;-1:-1:-1;;;;;18540:19:0;;18532:68;;;;-1:-1:-1;;;18532:68:0;;3848:2:1;18532:68:0;;;3830:21:1;3887:2;3867:18;;;3860:30;3926:34;3906:18;;;3899:62;-1:-1:-1;;;3977:18:1;;;3970:34;4021:19;;18532:68:0;3646:400:1;18532:68:0;-1:-1:-1;;;;;18619:21:0;;18611:68;;;;-1:-1:-1;;;18611:68:0;;4253:2:1;18611:68:0;;;4235:21:1;4292:2;4272:18;;;4265:30;4331:34;4311:18;;;4304:62;-1:-1:-1;;;4382:18:1;;;4375:32;4424:19;;18611:68:0;4051:398:1;18611:68:0;-1:-1:-1;;;;;18692:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18744:32;;1391:25:1;;;18744:32:0;;1364:18:1;18744:32:0;;;;;;;;18404:380;;;:::o;19075:453::-;19210:24;19237:25;19247:5;19254:7;19237:9;:25::i;:::-;19210:52;;-1:-1:-1;;19277:16:0;:37;19273:248;;19359:6;19339:16;:26;;19331:68;;;;-1:-1:-1;;;19331:68:0;;4656:2:1;19331:68:0;;;4638:21:1;4695:2;4675:18;;;4668:30;4734:31;4714:18;;;4707:59;4783:18;;19331:68:0;4454:353:1;19331:68:0;19443:51;19452:5;19459:7;19487:6;19468:16;:25;19443:8;:51::i;:::-;19199:329;19075:453;;;:::o;15685:671::-;-1:-1:-1;;;;;15816:18:0;;15808:68;;;;-1:-1:-1;;;15808:68:0;;5014:2:1;15808:68:0;;;4996:21:1;5053:2;5033:18;;;5026:30;5092:34;5072:18;;;5065:62;-1:-1:-1;;;5143:18:1;;;5136:35;5188:19;;15808:68:0;4812:401:1;15808:68:0;-1:-1:-1;;;;;15895:16:0;;15887:64;;;;-1:-1:-1;;;15887:64:0;;5420:2:1;15887:64:0;;;5402:21:1;5459:2;5439:18;;;5432:30;5498:34;5478:18;;;5471:62;-1:-1:-1;;;5549:18:1;;;5542:33;5592:19;;15887:64:0;5218:399:1;15887:64:0;-1:-1:-1;;;;;16037:15:0;;16015:19;16037:15;;;;;;;;;;;16071:21;;;;16063:72;;;;-1:-1:-1;;;16063:72:0;;5824:2:1;16063:72:0;;;5806:21:1;5863:2;5843:18;;;5836:30;5902:34;5882:18;;;5875:62;-1:-1:-1;;;5953:18:1;;;5946:36;5999:19;;16063:72:0;5622:402:1;16063:72:0;-1:-1:-1;;;;;16171:15:0;;;:9;:15;;;;;;;;;;;16189:20;;;16171:38;;16231:13;;;;;;;;:23;;16203:6;;16171:9;16231:23;;16203:6;;16231:23;:::i;:::-;;;;;;;;16287:2;-1:-1:-1;;;;;16272:26:0;16281:4;-1:-1:-1;;;;;16272:26:0;;16291:6;16272:26;;;;1391:25:1;;1379:2;1364:18;;1245:177;16272:26:0;;;;;;;;16311:37;17375:591;;-1:-1:-1;;;;;17459:21:0;;17451:67;;;;-1:-1:-1;;;17451:67:0;;6231:2:1;17451:67:0;;;6213:21:1;6270:2;6250:18;;;6243:30;6309:34;6289:18;;;6282:62;-1:-1:-1;;;6360:18:1;;;6353:31;6401:19;;17451:67:0;6029:397:1;17451:67:0;-1:-1:-1;;;;;17618:18:0;;17593:22;17618:18;;;;;;;;;;;17655:24;;;;17647:71;;;;-1:-1:-1;;;17647:71:0;;6633:2:1;17647:71:0;;;6615:21:1;6672:2;6652:18;;;6645:30;6711:34;6691:18;;;6684:62;-1:-1:-1;;;6762:18:1;;;6755:32;6804:19;;17647:71:0;6431:398:1;17647:71:0;-1:-1:-1;;;;;17754:18:0;;:9;:18;;;;;;;;;;17775:23;;;17754:44;;17820:12;:22;;17792:6;;17754:9;17820:22;;17792:6;;17820:22;:::i;:::-;;;;-1:-1:-1;;17860:37:0;;1391:25:1;;;17886:1:0;;-1:-1:-1;;;;;17860:37:0;;;;;1379:2:1;1364:18;17860:37:0;1245:177:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:180::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;-1:-1:-1;2100:23:1;;1949:180;-1:-1:-1;1949:180:1:o;2134:186::-;2193:6;2246:2;2234:9;2225:7;2221:23;2217:32;2214:52;;;2262:1;2259;2252:12;2214:52;2285:29;2304:9;2285:29;:::i;:::-;2275:39;2134:186;-1:-1:-1;;;2134:186:1:o;2325:260::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;2493:29;2512:9;2493:29;:::i;:::-;2483:39;;2541:38;2575:2;2564:9;2560:18;2541:38;:::i;:::-;2531:48;;2325:260;;;;;:::o;2590:380::-;2669:1;2665:12;;;;2712;;;2733:61;;2787:4;2779:6;2775:17;2765:27;;2733:61;2840:2;2832:6;2829:14;2809:18;2806:38;2803:161;;2886:10;2881:3;2877:20;2874:1;2867:31;2921:4;2918:1;2911:15;2949:4;2946:1;2939:15;2803:161;;2590:380;;;:::o;2975:127::-;3036:10;3031:3;3027:20;3024:1;3017:31;3067:4;3064:1;3057:15;3091:4;3088:1;3081:15;3107:128;3147:3;3178:1;3174:6;3171:1;3168:13;3165:39;;;3184:18;;:::i;:::-;-1:-1:-1;3220:9:1;;3107:128::o;6834:125::-;6874:4;6902:1;6899;6896:8;6893:34;;;6907:18;;:::i;:::-;-1:-1:-1;6944:9:1;;6834:125::o

Swarm Source

ipfs://4913338e13afe9585945b119577d3acf6effe6e89c5f7e33175b7c41b659231a
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.