Contract 0xE58e8391BA17731C5671F9c6E00e420608Dca10e 2

 

Contract Overview

Cryptocurrency Market Index: GNFT Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xaf3cc039e8c36a34b3d03d5f37d41a64180c339816441f7d7a804dd0d4753077Approve432065872023-05-27 10:41:5812 hrs 44 mins ago0xfdb17a561166008b472f36f57303dd4f34c3f51d IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.0052140711177.9
0x6a5b2a697f12c68f3343e130ab982aff7bbc175cf3e42e07ce529460129e9de1Approve431689162023-05-26 11:44:151 day 11 hrs ago0xc9d045d1a151972fc3c5a8ebb6cd2e0f6626c44b IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.00716622189 153.541059946
0xf3608b80b4c90c35eb3803235bde508291eb2f8e74e33611a79c4022216ba39eApprove430957012023-05-24 15:28:173 days 7 hrs ago0x0ab49fcbdcf3d8d369d0c9e7cd620e668c98c296 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.009919556934 212.53309053
0x9c8285d01cba24e954c2bf170abb826a2ce3c19cd64232d644e18757ca56c69eApprove429503542023-05-20 22:03:217 days 1 hr ago ppuskov.wallet  IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.006703947133 143.636516481
0xb61455d7d46d42bb8735747fc223898cba7dc90758c10948d661df7ee6c5abe4Approve428988592023-05-19 14:56:388 days 8 hrs ago0xfdb17a561166008b472f36f57303dd4f34c3f51d IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.0107161208229.6
0xd191b27a553e50c0c542e336894d4000901e084027ec8f62b402081792bccd41Approve428716962023-05-18 22:43:119 days 42 mins ago0xc3ab2c2eb604f159c842d9cadabba2d6254c43d5 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.006142618005 131.609667373
0x27a3cf33cc8c10139bdb79b6d5727ececf267ce70ef3ac3da06a9a175bc69974Approve428663622023-05-18 19:32:369 days 3 hrs ago komissardp.wallet  IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.004239974655 173.84782713
0x874426a9d18f3549eee3e52f2ecb7096ef99e6a6865fda68f86da3f8b9d675b9Approve426655792023-05-13 19:28:1814 days 3 hrs ago0x5c30b817f41566d5b23d3d305dd090ca0133b358 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.004017659535 150.063852974
0x8d4e57e23f59f0a679fa8b9c49d263fe1adefa295eae52bee6225a30a1f83189Approve426655692023-05-13 19:27:5814 days 3 hrs ago0x5c30b817f41566d5b23d3d305dd090ca0133b358 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.003862742992 144.277555473
0x63c05356f5ef6134b43d108c8c3bb74107881d7d78715320436b34bd17211a80Approve426655552023-05-13 19:27:2814 days 3 hrs ago0x5c30b817f41566d5b23d3d305dd090ca0133b358 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.006436889398 137.914627268
0xa56ff88ecf9fce57417e10209bf8377464ef5dcce8f7fd57d31ec6e061984448Approve426042312023-05-12 6:33:4915 days 16 hrs ago0xd63613f91a6eff9f479e052df2c610108fe48048 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.007358950232 157.670392564
0x2742577345ca882f9572a9cdfa453b7d655eff435231d15a15441d38dd842230Approve425642342023-05-11 6:35:2416 days 16 hrs ago0xf1d37598a52004a73b06ea0112bbf0af2c4ee0f5 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.007076668592 151.622321102
0xe92a6161ffd4f0efdcff8030ddc1521edc1f1f19c045891f90a252d4880393d4Approve425123282023-05-09 23:51:4017 days 23 hrs ago0xdc6c3d081691f7ef4ae25f488098ad0350052d43 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.00395435749 162.136926105
0xa7ee68bc9945b5c78414bae27f10af2a47f67392eb3bfda9b9c7e24adc1e3aa8Approve424649572023-05-08 19:27:0219 days 3 hrs ago0xeb06301d471b0f8c8c5cc965b09ce0b85021d398 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.00494132549 167.089084328
0x280fa3b51ad4fc2f9f9d9bb9c8da39ba3e25c0b857ef228b43dc2e2b3346414fApprove424648512023-05-08 19:23:1819 days 4 hrs ago0xeb06301d471b0f8c8c5cc965b09ce0b85021d398 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.010022496411 216.016044383
0xfabfe34f6df94be5a10c86abf9e0648dbd0ba8cd8c18e38896b3ce51c5283684Approve424446672023-05-08 7:20:5119 days 16 hrs ago0xe513de08500025e9a15e0cb54b232169e5c169bc IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.008230769137 177.490547023
0xd97c6766365284b4eeed055c6a1f7f56d385012e400671e3a6fc8912e90f92c9Approve424443362023-05-08 7:08:3719 days 16 hrs ago0xe513de08500025e9a15e0cb54b232169e5c169bc IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.007456147591 160.828014739
0x360d90d3e7a5904359035302d6e806e77e9005ca11e9225c088417ff65f8638aApprove424279622023-05-07 21:12:0820 days 2 hrs ago0x6fb8f07b10c7e766d070dc8e1014d30b21241cf8 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.008124864613 174.080616482
0x075cd7b04c17f09199c9ac92aaebe6f7fd70ba81f1f8317d178b7bb25741e88fApprove423771322023-05-06 14:20:2021 days 9 hrs ago0x01615be2e3c20e340ee614cca58d0d3c40a23883 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.011197048531 239.904195829
0xc30e4f5c62fc046f10cf59cbef0904ee8c68caf67fd76968ffb2d1fe1bbc0118Approve423745632023-05-06 12:46:2521 days 10 hrs ago0x01615be2e3c20e340ee614cca58d0d3c40a23883 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.005747277916 217.001242837
0x8e6f901746f0e8368d418eaaa96ea1c27b92afc9c4f00fa7ea23d5afeb115bc3Approve423745332023-05-06 12:45:2121 days 10 hrs ago0x01615be2e3c20e340ee614cca58d0d3c40a23883 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.009744496867 210.078621697
0xfa76aec93ecad68eada05b0e6d3045dfa8af78e61cb04011baa4fd89263b7f1aApprove422193162023-05-02 14:42:1225 days 8 hrs ago0xf0b46463bf6d19fc303199f332628ec76da254ab IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.01111308378238.105195297
0xb8dfa5d714d6942b148705c831ad0d7284d6780060a76b591fcdbdf2cc88d2a6Approve420694882023-04-28 19:37:4329 days 3 hrs ago0x1c58969a9636edc3a869c67cf57f4eb50a606aa4 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.017725201563382.132188491
0x796ee3daf83d2fbb10ad7ee6e098e07a36c5123cd7b814d248cd46b754354acfTransfer417928292023-04-21 16:43:1436 days 6 hrs ago0x63b36d72d5fc617e66e42f8658af4d09878ff27c IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.008134352238 272.544134523
0x6a2ef0f0f796e3bbde0f5dbac66164d440d9138053fb1d4c2d26a94510d418aaApprove417827372023-04-21 10:35:2036 days 12 hrs ago0x0414466ae967f1dd02454c1e789681fd628cb162 IN  Cryptocurrency Market Index: GNFT Token0 MATIC0.006339706895 259.941239725
[ Download CSV Export 

OVERVIEW

GNFT - governance token for nftindex.tech

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GNFT

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : GNFT.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./OwnableToken.sol";

contract GNFT is OwnableToken {
  constructor() OwnableToken("GNFT", "GNFT") {}
}

File 2 of 6 : OwnableToken.sol
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract OwnableToken is ERC20, Ownable  {

  constructor(string memory name, string memory symbol) ERC20(name, symbol) { }

  function mint(address account, uint amount) public onlyOwner {
    _mint(account, amount);
  }

  function burn(address account, uint amount) public onlyOwner {
    _burn(account, amount);
  }

}

File 3 of 6 : ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "../../utils/Context.sol";

/**
 * @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 guidelines: functions revert instead
 * of 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 {
    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 defaut value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All three 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 returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual 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
     * overloaded;
     *
     * 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 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:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual 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:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - 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) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][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) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * 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:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, 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:
     *
     * - `to` 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);
    }

    /**
     * @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");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(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 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 to 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 { }
}

File 4 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

File 5 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
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);
}

File 6 of 6 : Context.sol
// SPDX-License-Identifier: MIT

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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060408051808201825260048082526311d3919560e21b602080840182815285518087019096529285528401528151919291839183916200005591600391620000da565b5080516200006b906004906020840190620000da565b505050600062000080620000d660201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505050620001bd565b3390565b828054620000e89062000180565b90600052602060002090601f0160209004810192826200010c576000855562000157565b82601f106200012757805160ff191683800117855562000157565b8280016001018555821562000157579182015b82811115620001575782518255916020019190600101906200013a565b506200016592915062000169565b5090565b5b808211156200016557600081556001016200016a565b6002810460018216806200019557607f821691505b60208210811415620001b757634e487b7160e01b600052602260045260246000fd5b50919050565b610f6d80620001cd6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d7146101f3578063a9059cbb14610206578063dd62ed3e14610219578063f2fde38b1461022c57610100565b8063715018a6146101bb5780638da5cb5b146101c357806395d89b41146101d85780639dc29fac146101e057610100565b8063313ce567116100d3578063313ce5671461016b578063395093511461018057806340c10f191461019357806370a08231146101a857610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014357806323b872dd14610158575b600080fd5b61010d61023f565b60405161011a9190610b37565b60405180910390f35b610136610131366004610aef565b6102d1565b60405161011a9190610b2c565b61014b6102ee565b60405161011a9190610ea0565b610136610166366004610ab4565b6102f4565b610173610394565b60405161011a9190610ea9565b61013661018e366004610aef565b610399565b6101a66101a1366004610aef565b6103e8565b005b61014b6101b6366004610a61565b610435565b6101a6610454565b6101cb6104dd565b60405161011a9190610b18565b61010d6104ec565b6101a66101ee366004610aef565b6104fb565b610136610201366004610aef565b610544565b610136610214366004610aef565b6105bf565b61014b610227366004610a82565b6105d3565b6101a661023a366004610a61565b6105fe565b60606003805461024e90610ee6565b80601f016020809104026020016040519081016040528092919081815260200182805461027a90610ee6565b80156102c75780601f1061029c576101008083540402835291602001916102c7565b820191906000526020600020905b8154815290600101906020018083116102aa57829003601f168201915b5050505050905090565b60006102e56102de6106bf565b84846106c3565b50600192915050565b60025490565b6000610301848484610777565b6001600160a01b0384166000908152600160205260408120816103226106bf565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561036e5760405162461bcd60e51b815260040161036590610cdd565b60405180910390fd5b6103898561037a6106bf565b6103848685610ecf565b6106c3565b506001949350505050565b601290565b60006102e56103a66106bf565b8484600160006103b46106bf565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546103849190610eb7565b6103f06106bf565b6001600160a01b03166104016104dd565b6001600160a01b0316146104275760405162461bcd60e51b815260040161036590610d25565b610431828261089f565b5050565b6001600160a01b0381166000908152602081905260409020545b919050565b61045c6106bf565b6001600160a01b031661046d6104dd565b6001600160a01b0316146104935760405162461bcd60e51b815260040161036590610d25565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031690565b60606004805461024e90610ee6565b6105036106bf565b6001600160a01b03166105146104dd565b6001600160a01b03161461053a5760405162461bcd60e51b815260040161036590610d25565b610431828261095f565b600080600160006105536106bf565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561059f5760405162461bcd60e51b815260040161036590610e24565b6105b56105aa6106bf565b856103848685610ecf565b5060019392505050565b60006102e56105cc6106bf565b8484610777565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6106066106bf565b6001600160a01b03166106176104dd565b6001600160a01b03161461063d5760405162461bcd60e51b815260040161036590610d25565b6001600160a01b0381166106635760405162461bcd60e51b815260040161036590610c0f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166106e95760405162461bcd60e51b815260040161036590610de0565b6001600160a01b03821661070f5760405162461bcd60e51b815260040161036590610c55565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061076a908590610ea0565b60405180910390a3505050565b6001600160a01b03831661079d5760405162461bcd60e51b815260040161036590610d9b565b6001600160a01b0382166107c35760405162461bcd60e51b815260040161036590610b8a565b6107ce838383610a45565b6001600160a01b038316600090815260208190526040902054818110156108075760405162461bcd60e51b815260040161036590610c97565b6108118282610ecf565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610847908490610eb7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108919190610ea0565b60405180910390a350505050565b6001600160a01b0382166108c55760405162461bcd60e51b815260040161036590610e69565b6108d160008383610a45565b80600260008282546108e39190610eb7565b90915550506001600160a01b03821660009081526020819052604081208054839290610910908490610eb7565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610953908590610ea0565b60405180910390a35050565b6001600160a01b0382166109855760405162461bcd60e51b815260040161036590610d5a565b61099182600083610a45565b6001600160a01b038216600090815260208190526040902054818110156109ca5760405162461bcd60e51b815260040161036590610bcd565b6109d48282610ecf565b6001600160a01b03841660009081526020819052604081209190915560028054849290610a02908490610ecf565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061076a908690610ea0565b505050565b80356001600160a01b038116811461044f57600080fd5b600060208284031215610a72578081fd5b610a7b82610a4a565b9392505050565b60008060408385031215610a94578081fd5b610a9d83610a4a565b9150610aab60208401610a4a565b90509250929050565b600080600060608486031215610ac8578081fd5b610ad184610a4a565b9250610adf60208501610a4a565b9150604084013590509250925092565b60008060408385031215610b01578182fd5b610b0a83610a4a565b946020939093013593505050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610b6357858101830151858201604001528201610b47565b81811115610b745783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60ff91909116815260200190565b60008219821115610eca57610eca610f21565b500190565b600082821015610ee157610ee1610f21565b500390565b600281046001821680610efa57607f821691505b60208210811415610f1b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220be29f9f72eba496bf5a1476bcc81511bcc294c062ff358750fce2dbc9c8ccb1e64736f6c63430008000033

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