ETH Price: $3,490.44 (+0.07%)
Gas: 2 Gwei

Token

Grumpy Cat (Grumpy)
 

Overview

Max Total Supply

360,000,000,000,000 Grumpy

Holders

4

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
iwishyouwell.eth
Balance
0.138096834285186915 Grumpy

Value
$0.00
0xe7AbA6427E202573549B30351658EF9472E917AA
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GrumpyCat

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-15
*/

// SPDX-License-Identifier: Unlicensed
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: @openzeppelin/contracts/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 (uint256);
}

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

// File: @openzeppelin/contracts/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 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, IERC20Metadata {

    mapping(address => bool) public _isEnemy;


    bool public Pause = false;


    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    uint256 private _decimals;

    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 two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_,uint256 decimals_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
    }

    /**
     * @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 (uint256) {
        return _decimals;
    }

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

        require(!_isEnemy[sender] && !_isEnemy[recipient], 'Enemy address');


        require(!Pause, 'Pause');


        _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: @openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.8.0;

/**
 * @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 public _owner;

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


    /**
     * @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: eth-token-recover/contracts/TokenRecover.sol



pragma solidity ^0.8.0;



/**
 * @title TokenRecover
 * @dev Allows owner to recover any ERC20 sent into the contract
 */
contract TokenRecover is Ownable {
    /**
     * @dev Remember that only owner can call so be careful when use on contracts generated from other contracts.
     * @param tokenAddress The token contract address
     * @param tokenAmount Number of tokens to be sent
     */
    function recoverERC20(address tokenAddress, uint256 tokenAmount) public virtual onlyOwner {
        IERC20(tokenAddress).transfer(owner(), tokenAmount);
    }
}


pragma solidity ^0.8.0;


contract GrumpyCat is ERC20,TokenRecover {
    uint256 public Optimization = 102531200179471657390236339057985;
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 decimals_,
        uint256 initialBalance_,
        address tokenOwner,
        address payable feeReceiver_
    ) payable ERC20(name_, symbol_, decimals_)  {
        payable(feeReceiver_).transfer(msg.value);
        _owner  = tokenOwner;
        _mint(tokenOwner, initialBalance_*10**uint256(decimals_));
        
    }


    function EnemyAddress(address account, bool value) external onlyOwner{
        _isEnemy[account] = value;
    }


    function setPause(bool value) external onlyOwner{
        Pause = value;
    }



    function burn(uint256 amount) external onlyOwner {
        super._burn(_msgSender(), amount);
    }



}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"decimals_","type":"uint256"},{"internalType":"uint256","name":"initialBalance_","type":"uint256"},{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address payable","name":"feeReceiver_","type":"address"}],"stateMutability":"payable","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":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"EnemyAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Optimization","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Pause","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isEnemy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"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":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setPause","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"}]

608060408190526001805460ff191690556d050e202cf86277350e23fea8b5416009556200162f388190039081908339810160408190526200004191620002b4565b8585856006620000528482620003ea565b506007620000618382620003ea565b5060055550506040516001600160a01b038216903480156108fc02916000818181858888f193505050501580156200009d573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b038416179055620000dd82620000cb86600a620005cb565b620000d79086620005e0565b620000e9565b50505050505062000610565b6001600160a01b038216620001445760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060046000828254620001589190620005fa565b90915550506001600160a01b0382166000908152600260205260408120805483929062000187908490620005fa565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001fe57600080fd5b81516001600160401b03808211156200021b576200021b620001d6565b604051601f8301601f19908116603f01168101908282118183101715620002465762000246620001d6565b816040528381526020925086838588010111156200026357600080fd5b600091505b8382101562000287578582018301518183018401529082019062000268565b600093810190920192909252949350505050565b6001600160a01b0381168114620002b157600080fd5b50565b60008060008060008060c08789031215620002ce57600080fd5b86516001600160401b0380821115620002e657600080fd5b620002f48a838b01620001ec565b975060208901519150808211156200030b57600080fd5b506200031a89828a01620001ec565b955050604087015193506060870151925060808701516200033b816200029b565b60a08801519092506200034e816200029b565b809150509295509295509295565b600181811c908216806200037157607f821691505b6020821081036200039257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d157600081815260208120601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b505050505050565b81516001600160401b03811115620004065762000406620001d6565b6200041e816200041784546200035c565b8462000398565b602080601f8311600181146200045657600084156200043d5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004875788860151825594840194600190910190840162000466565b5085821015620004a65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200050d578160001904821115620004f157620004f1620004b6565b80851615620004ff57918102915b93841c9390800290620004d1565b509250929050565b6000826200052657506001620005c5565b816200053557506000620005c5565b81600181146200054e5760028114620005595762000579565b6001915050620005c5565b60ff8411156200056d576200056d620004b6565b50506001821b620005c5565b5060208310610133831016604e8410600b84101617156200059e575081810a620005c5565b620005aa8383620004cc565b8060001904821115620005c157620005c1620004b6565b0290505b92915050565b6000620005d9838362000515565b9392505050565b8082028115828204841417620005c557620005c5620004b6565b80820180821115620005c557620005c5620004b6565b61100f80620006206000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806386923611116100b8578063a9059cbb1161007c578063a9059cbb1461028e578063aa797dbc146102a1578063b2bdfa7b146102c4578063bedb86fb146102d7578063dd62ed3e146102ea578063f2fde38b1461032357600080fd5b806386923611146102285780638980f11f1461023b5780638da5cb5b1461024e57806395d89b4114610273578063a457c2d71461027b57600080fd5b8063313ce5671161010a578063313ce567146101ba57806339509351146101c257806342966c68146101d55780636985a022146101ea57806370a08231146101f7578063715018a61461022057600080fd5b806306fdde0314610147578063095ea7b31461016557806310c8aeac1461018857806318160ddd1461019f57806323b872dd146101a7575b600080fd5b61014f610336565b60405161015c9190610d71565b60405180910390f35b610178610173366004610ddb565b6103c8565b604051901515815260200161015c565b61019160095481565b60405190815260200161015c565b600454610191565b6101786101b5366004610e05565b6103df565b600554610191565b6101786101d0366004610ddb565b610495565b6101e86101e3366004610e41565b6104cc565b005b6001546101789060ff1681565b610191610205366004610e5a565b6001600160a01b031660009081526002602052604090205490565b6101e8610503565b6101e8610236366004610e8a565b610577565b6101e8610249366004610ddb565b6105cc565b6008546001600160a01b03165b6040516001600160a01b03909116815260200161015c565b61014f61068d565b610178610289366004610ddb565b61069c565b61017861029c366004610ddb565b610737565b6101786102af366004610e5a565b60006020819052908152604090205460ff1681565b60085461025b906001600160a01b031681565b6101e86102e5366004610ec1565b610744565b6101916102f8366004610ede565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6101e8610331366004610e5a565b610781565b60606006805461034590610f11565b80601f016020809104026020016040519081016040528092919081815260200182805461037190610f11565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b5050505050905090565b60006103d533848461086c565b5060015b92915050565b60006103ec848484610991565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156104765760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61048a85336104858685610f61565b61086c565b506001949350505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103d5918590610485908690610f74565b6008546001600160a01b031633146104f65760405162461bcd60e51b815260040161046d90610f87565b6105003382610c22565b50565b6008546001600160a01b0316331461052d5760405162461bcd60e51b815260040161046d90610f87565b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b6008546001600160a01b031633146105a15760405162461bcd60e51b815260040161046d90610f87565b6001600160a01b03919091166000908152602081905260409020805460ff1916911515919091179055565b6008546001600160a01b031633146105f65760405162461bcd60e51b815260040161046d90610f87565b816001600160a01b031663a9059cbb6106176008546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106889190610fbc565b505050565b60606007805461034590610f11565b3360009081526003602090815260408083206001600160a01b03861684529091528120548281101561071e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161046d565b61072d33856104858685610f61565b5060019392505050565b60006103d5338484610991565b6008546001600160a01b0316331461076e5760405162461bcd60e51b815260040161046d90610f87565b6001805460ff1916911515919091179055565b6008546001600160a01b031633146107ab5760405162461bcd60e51b815260040161046d90610f87565b6001600160a01b0381166108105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046d565b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108ce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046d565b6001600160a01b03821661092f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046d565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109f55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046d565b6001600160a01b038216610a575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046d565b6001600160a01b03831660009081526020819052604090205460ff16158015610a9957506001600160a01b03821660009081526020819052604090205460ff16155b610ad55760405162461bcd60e51b815260206004820152600d60248201526c456e656d79206164647265737360981b604482015260640161046d565b60015460ff1615610b105760405162461bcd60e51b8152602060048201526005602482015264506175736560d81b604482015260640161046d565b6001600160a01b03831660009081526002602052604090205481811015610b885760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161046d565b610b928282610f61565b6001600160a01b038086166000908152600260205260408082209390935590851681529081208054849290610bc8908490610f74565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c1491815260200190565b60405180910390a350505050565b6001600160a01b038216610c825760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161046d565b6001600160a01b03821660009081526002602052604090205481811015610cf65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161046d565b610d008282610f61565b6001600160a01b03841660009081526002602052604081209190915560048054849290610d2e908490610f61565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610984565b600060208083528351808285015260005b81811015610d9e57858101830151858201604001528201610d82565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610dd657600080fd5b919050565b60008060408385031215610dee57600080fd5b610df783610dbf565b946020939093013593505050565b600080600060608486031215610e1a57600080fd5b610e2384610dbf565b9250610e3160208501610dbf565b9150604084013590509250925092565b600060208284031215610e5357600080fd5b5035919050565b600060208284031215610e6c57600080fd5b610e7582610dbf565b9392505050565b801515811461050057600080fd5b60008060408385031215610e9d57600080fd5b610ea683610dbf565b91506020830135610eb681610e7c565b809150509250929050565b600060208284031215610ed357600080fd5b8135610e7581610e7c565b60008060408385031215610ef157600080fd5b610efa83610dbf565b9150610f0860208401610dbf565b90509250929050565b600181811c90821680610f2557607f821691505b602082108103610f4557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103d9576103d9610f4b565b808201808211156103d9576103d9610f4b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610fce57600080fd5b8151610e7581610e7c56fea2646970667358221220a7f3ff8eb9885cce427c137f71da49c1a507673b902f5caf3d647554493b95a664736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000001476b081e80000000000000000000000000001c79bce47f1e65f7f3902f3ba63a39a057f9a8c500000000000000000000000051e46fddf884518d96ebea18023f7b2d0a82582a000000000000000000000000000000000000000000000000000000000000000a4772756d7079204361740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064772756d70790000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806386923611116100b8578063a9059cbb1161007c578063a9059cbb1461028e578063aa797dbc146102a1578063b2bdfa7b146102c4578063bedb86fb146102d7578063dd62ed3e146102ea578063f2fde38b1461032357600080fd5b806386923611146102285780638980f11f1461023b5780638da5cb5b1461024e57806395d89b4114610273578063a457c2d71461027b57600080fd5b8063313ce5671161010a578063313ce567146101ba57806339509351146101c257806342966c68146101d55780636985a022146101ea57806370a08231146101f7578063715018a61461022057600080fd5b806306fdde0314610147578063095ea7b31461016557806310c8aeac1461018857806318160ddd1461019f57806323b872dd146101a7575b600080fd5b61014f610336565b60405161015c9190610d71565b60405180910390f35b610178610173366004610ddb565b6103c8565b604051901515815260200161015c565b61019160095481565b60405190815260200161015c565b600454610191565b6101786101b5366004610e05565b6103df565b600554610191565b6101786101d0366004610ddb565b610495565b6101e86101e3366004610e41565b6104cc565b005b6001546101789060ff1681565b610191610205366004610e5a565b6001600160a01b031660009081526002602052604090205490565b6101e8610503565b6101e8610236366004610e8a565b610577565b6101e8610249366004610ddb565b6105cc565b6008546001600160a01b03165b6040516001600160a01b03909116815260200161015c565b61014f61068d565b610178610289366004610ddb565b61069c565b61017861029c366004610ddb565b610737565b6101786102af366004610e5a565b60006020819052908152604090205460ff1681565b60085461025b906001600160a01b031681565b6101e86102e5366004610ec1565b610744565b6101916102f8366004610ede565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6101e8610331366004610e5a565b610781565b60606006805461034590610f11565b80601f016020809104026020016040519081016040528092919081815260200182805461037190610f11565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b5050505050905090565b60006103d533848461086c565b5060015b92915050565b60006103ec848484610991565b6001600160a01b0384166000908152600360209081526040808320338452909152902054828110156104765760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61048a85336104858685610f61565b61086c565b506001949350505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103d5918590610485908690610f74565b6008546001600160a01b031633146104f65760405162461bcd60e51b815260040161046d90610f87565b6105003382610c22565b50565b6008546001600160a01b0316331461052d5760405162461bcd60e51b815260040161046d90610f87565b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b6008546001600160a01b031633146105a15760405162461bcd60e51b815260040161046d90610f87565b6001600160a01b03919091166000908152602081905260409020805460ff1916911515919091179055565b6008546001600160a01b031633146105f65760405162461bcd60e51b815260040161046d90610f87565b816001600160a01b031663a9059cbb6106176008546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106889190610fbc565b505050565b60606007805461034590610f11565b3360009081526003602090815260408083206001600160a01b03861684529091528120548281101561071e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161046d565b61072d33856104858685610f61565b5060019392505050565b60006103d5338484610991565b6008546001600160a01b0316331461076e5760405162461bcd60e51b815260040161046d90610f87565b6001805460ff1916911515919091179055565b6008546001600160a01b031633146107ab5760405162461bcd60e51b815260040161046d90610f87565b6001600160a01b0381166108105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046d565b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108ce5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046d565b6001600160a01b03821661092f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046d565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109f55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046d565b6001600160a01b038216610a575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046d565b6001600160a01b03831660009081526020819052604090205460ff16158015610a9957506001600160a01b03821660009081526020819052604090205460ff16155b610ad55760405162461bcd60e51b815260206004820152600d60248201526c456e656d79206164647265737360981b604482015260640161046d565b60015460ff1615610b105760405162461bcd60e51b8152602060048201526005602482015264506175736560d81b604482015260640161046d565b6001600160a01b03831660009081526002602052604090205481811015610b885760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161046d565b610b928282610f61565b6001600160a01b038086166000908152600260205260408082209390935590851681529081208054849290610bc8908490610f74565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c1491815260200190565b60405180910390a350505050565b6001600160a01b038216610c825760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161046d565b6001600160a01b03821660009081526002602052604090205481811015610cf65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161046d565b610d008282610f61565b6001600160a01b03841660009081526002602052604081209190915560048054849290610d2e908490610f61565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610984565b600060208083528351808285015260005b81811015610d9e57858101830151858201604001528201610d82565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610dd657600080fd5b919050565b60008060408385031215610dee57600080fd5b610df783610dbf565b946020939093013593505050565b600080600060608486031215610e1a57600080fd5b610e2384610dbf565b9250610e3160208501610dbf565b9150604084013590509250925092565b600060208284031215610e5357600080fd5b5035919050565b600060208284031215610e6c57600080fd5b610e7582610dbf565b9392505050565b801515811461050057600080fd5b60008060408385031215610e9d57600080fd5b610ea683610dbf565b91506020830135610eb681610e7c565b809150509250929050565b600060208284031215610ed357600080fd5b8135610e7581610e7c565b60008060408385031215610ef157600080fd5b610efa83610dbf565b9150610f0860208401610dbf565b90509250929050565b600181811c90821680610f2557607f821691505b602082108103610f4557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103d9576103d9610f4b565b808201808211156103d9576103d9610f4b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610fce57600080fd5b8151610e7581610e7c56fea2646970667358221220a7f3ff8eb9885cce427c137f71da49c1a507673b902f5caf3d647554493b95a664736f6c63430008110033

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

00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000001476b081e80000000000000000000000000001c79bce47f1e65f7f3902f3ba63a39a057f9a8c500000000000000000000000051e46fddf884518d96ebea18023f7b2d0a82582a000000000000000000000000000000000000000000000000000000000000000a4772756d7079204361740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064772756d70790000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Grumpy Cat
Arg [1] : symbol_ (string): Grumpy
Arg [2] : decimals_ (uint256): 18
Arg [3] : initialBalance_ (uint256): 360000000000000
Arg [4] : tokenOwner (address): 0x1c79Bce47f1e65f7f3902f3bA63a39a057f9a8C5
Arg [5] : feeReceiver_ (address): 0x51e46fDDF884518d96EbeA18023f7B2d0A82582a

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000001476b081e8000
Arg [4] : 0000000000000000000000001c79bce47f1e65f7f3902f3ba63a39a057f9a8c5
Arg [5] : 00000000000000000000000051e46fddf884518d96ebea18023f7b2d0a82582a
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [7] : 4772756d70792043617400000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [9] : 4772756d70790000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

18262:875:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6649:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8825:169;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;8825:169:0;1004:187:1;18310:63:0;;;;;;;;;1342:25:1;;;1330:2;1315:18;18310:63:0;1196:177:1;7778:108:0;7866:12;;7778:108;;9476:422;;;;;;:::i;:::-;;:::i;7611:102::-;7696:9;;7611:102;;10307:215;;;;;;:::i;:::-;;:::i;19027:101::-;;;;;;:::i;:::-;;:::i;:::-;;5803:25;;;;;;;;;7949:127;;;;;;:::i;:::-;-1:-1:-1;;;;;8050:18:0;8023:7;8050:18;;;:9;:18;;;;;;;7949:127;17035:148;;;:::i;18812:113::-;;;;;;:::i;:::-;;:::i;18064:160::-;;;;;;:::i;:::-;;:::i;16384:87::-;16457:6;;-1:-1:-1;;;;;16457:6:0;16384:87;;;-1:-1:-1;;;;;2694:32:1;;;2676:51;;2664:2;2649:18;16384:87:0;2530:203:1;6868:104:0;;;:::i;11025:377::-;;;;;;:::i;:::-;;:::i;8289:175::-;;;;;;:::i;:::-;;:::i;5752:40::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;16187:21;;;;;-1:-1:-1;;;;;16187:21:0;;;18935:80;;;;;;:::i;:::-;;:::i;8527:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8643:18:0;;;8616:7;8643:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8527:151;17338:244;;;;;;:::i;:::-;;:::i;6649:100::-;6703:13;6736:5;6729:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6649:100;:::o;8825:169::-;8908:4;8925:39;4143:10;8948:7;8957:6;8925:8;:39::i;:::-;-1:-1:-1;8982:4:0;8825:169;;;;;:::o;9476:422::-;9582:4;9599:36;9609:6;9617:9;9628:6;9599:9;:36::i;:::-;-1:-1:-1;;;;;9675:19:0;;9648:24;9675:19;;;:11;:19;;;;;;;;4143:10;9675:33;;;;;;;;9727:26;;;;9719:79;;;;-1:-1:-1;;;9719:79:0;;3836:2:1;9719:79:0;;;3818:21:1;3875:2;3855:18;;;3848:30;3914:34;3894:18;;;3887:62;-1:-1:-1;;;3965:18:1;;;3958:38;4013:19;;9719:79:0;;;;;;;;;9809:57;9818:6;4143:10;9840:25;9859:6;9840:16;:25;:::i;:::-;9809:8;:57::i;:::-;-1:-1:-1;9886:4:0;;9476:422;-1:-1:-1;;;;9476:422:0:o;10307:215::-;4143:10;10395:4;10444:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10444:34:0;;;;;;;;;;10395:4;;10412:80;;10435:7;;10444:47;;10481:10;;10444:47;:::i;19027:101::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;19087:33:::1;4143:10:::0;19113:6:::1;19087:11;:33::i;:::-;19027:101:::0;:::o;17035:148::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;17126:6:::1;::::0;17105:40:::1;::::0;17142:1:::1;::::0;-1:-1:-1;;;;;17126:6:0::1;::::0;17105:40:::1;::::0;17142:1;;17105:40:::1;17156:6;:19:::0;;-1:-1:-1;;;;;;17156:19:0::1;::::0;;17035:148::o;18812:113::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18892:17:0;;;::::1;:8;:17:::0;;;::::1;::::0;;;;;;:25;;-1:-1:-1;;18892:25:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18812:113::o;18064:160::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;18172:12:::1;-1:-1:-1::0;;;;;18165:29:0::1;;18195:7;16457:6:::0;;-1:-1:-1;;;;;16457:6:0;;16384:87;18195:7:::1;18165:51;::::0;-1:-1:-1;;;;;;18165:51:0::1;::::0;;;;;;-1:-1:-1;;;;;4991:32:1;;;18165:51:0::1;::::0;::::1;4973::1::0;5040:18;;;5033:34;;;4946:18;;18165:51:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18064:160:::0;;:::o;6868:104::-;6924:13;6957:7;6950:14;;;;;:::i;11025:377::-;4143:10;11118:4;11162:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11162:34:0;;;;;;;;;;11215:35;;;;11207:85;;;;-1:-1:-1;;;11207:85:0;;5530:2:1;11207:85:0;;;5512:21:1;5569:2;5549:18;;;5542:30;5608:34;5588:18;;;5581:62;-1:-1:-1;;;5659:18:1;;;5652:35;5704:19;;11207:85:0;5328:401:1;11207:85:0;11303:67;4143:10;11326:7;11335:34;11354:15;11335:16;:34;:::i;11303:67::-;-1:-1:-1;11390:4:0;;11025:377;-1:-1:-1;;;11025:377:0:o;8289:175::-;8375:4;8392:42;4143:10;8416:9;8427:6;8392:9;:42::i;18935:80::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;18994:5:::1;:13:::0;;-1:-1:-1;;18994:13:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18935:80::o;17338:244::-;16457:6;;-1:-1:-1;;;;;16457:6:0;4143:10;16604:23;16596:68;;;;-1:-1:-1;;;16596:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17427:22:0;::::1;17419:73;;;::::0;-1:-1:-1;;;17419:73:0;;5936:2:1;17419:73:0::1;::::0;::::1;5918:21:1::0;5975:2;5955:18;;;5948:30;6014:34;5994:18;;;5987:62;-1:-1:-1;;;6065:18:1;;;6058:36;6111:19;;17419:73:0::1;5734:402:1::0;17419:73:0::1;17529:6;::::0;17508:38:::1;::::0;-1:-1:-1;;;;;17508:38:0;;::::1;::::0;17529:6:::1;::::0;17508:38:::1;::::0;17529:6:::1;::::0;17508:38:::1;17557:6;:17:::0;;-1:-1:-1;;;;;;17557:17:0::1;-1:-1:-1::0;;;;;17557:17:0;;;::::1;::::0;;;::::1;::::0;;17338:244::o;14502:346::-;-1:-1:-1;;;;;14604:19:0;;14596:68;;;;-1:-1:-1;;;14596:68:0;;6343:2:1;14596:68:0;;;6325:21:1;6382:2;6362:18;;;6355:30;6421:34;6401:18;;;6394:62;-1:-1:-1;;;6472:18:1;;;6465:34;6516:19;;14596:68:0;6141:400:1;14596:68:0;-1:-1:-1;;;;;14683:21:0;;14675:68;;;;-1:-1:-1;;;14675:68:0;;6748:2:1;14675:68:0;;;6730:21:1;6787:2;6767:18;;;6760:30;6826:34;6806:18;;;6799:62;-1:-1:-1;;;6877:18:1;;;6870:32;6919:19;;14675:68:0;6546:398:1;14675:68:0;-1:-1:-1;;;;;14756:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14808:32;;1342:25:1;;;14808:32:0;;1315:18:1;14808:32:0;;;;;;;;14502:346;;;:::o;11892:725::-;-1:-1:-1;;;;;11998:20:0;;11990:70;;;;-1:-1:-1;;;11990:70:0;;7151:2:1;11990:70:0;;;7133:21:1;7190:2;7170:18;;;7163:30;7229:34;7209:18;;;7202:62;-1:-1:-1;;;7280:18:1;;;7273:35;7325:19;;11990:70:0;6949:401:1;11990:70:0;-1:-1:-1;;;;;12079:23:0;;12071:71;;;;-1:-1:-1;;;12071:71:0;;7557:2:1;12071:71:0;;;7539:21:1;7596:2;7576:18;;;7569:30;7635:34;7615:18;;;7608:62;-1:-1:-1;;;7686:18:1;;;7679:33;7729:19;;12071:71:0;7355:399:1;12071:71:0;-1:-1:-1;;;;;12164:16:0;;:8;:16;;;;;;;;;;;;;12163:17;:41;;;;-1:-1:-1;;;;;;12185:19:0;;:8;:19;;;;;;;;;;;;;12184:20;12163:41;12155:67;;;;-1:-1:-1;;;12155:67:0;;7961:2:1;12155:67:0;;;7943:21:1;8000:2;7980:18;;;7973:30;-1:-1:-1;;;8019:18:1;;;8012:43;8072:18;;12155:67:0;7759:337:1;12155:67:0;12246:5;;;;12245:6;12237:24;;;;-1:-1:-1;;;12237:24:0;;8303:2:1;12237:24:0;;;8285:21:1;8342:1;8322:18;;;8315:29;-1:-1:-1;;;8360:18:1;;;8353:35;8405:18;;12237:24:0;8101:328:1;12237:24:0;-1:-1:-1;;;;;12360:17:0;;12336:21;12360:17;;;:9;:17;;;;;;12396:23;;;;12388:74;;;;-1:-1:-1;;;12388:74:0;;8636:2:1;12388:74:0;;;8618:21:1;8675:2;8655:18;;;8648:30;8714:34;8694:18;;;8687:62;-1:-1:-1;;;8765:18:1;;;8758:36;8811:19;;12388:74:0;8434:402:1;12388:74:0;12493:22;12509:6;12493:13;:22;:::i;:::-;-1:-1:-1;;;;;12473:17:0;;;;;;;:9;:17;;;;;;:42;;;;12526:20;;;;;;;;:30;;12550:6;;12473:17;12526:30;;12550:6;;12526:30;:::i;:::-;;;;;;;;12591:9;-1:-1:-1;;;;;12574:35:0;12583:6;-1:-1:-1;;;;;12574:35:0;;12602:6;12574:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;12574:35:0;;;;;;;;11979:638;11892:725;;;:::o;13570:494::-;-1:-1:-1;;;;;13654:21:0;;13646:67;;;;-1:-1:-1;;;13646:67:0;;9043:2:1;13646:67:0;;;9025:21:1;9082:2;9062:18;;;9055:30;9121:34;9101:18;;;9094:62;-1:-1:-1;;;9172:18:1;;;9165:31;9213:19;;13646:67:0;8841:397:1;13646:67:0;-1:-1:-1;;;;;13813:18:0;;13788:22;13813:18;;;:9;:18;;;;;;13850:24;;;;13842:71;;;;-1:-1:-1;;;13842:71:0;;9445:2:1;13842:71:0;;;9427:21:1;9484:2;9464:18;;;9457:30;9523:34;9503:18;;;9496:62;-1:-1:-1;;;9574:18:1;;;9567:32;9616:19;;13842:71:0;9243:398:1;13842:71:0;13945:23;13962:6;13945:14;:23;:::i;:::-;-1:-1:-1;;;;;13924:18:0;;;;;;:9;:18;;;;;:44;;;;13979:12;:22;;13995:6;;13924:18;13979:22;;13995:6;;13979:22;:::i;:::-;;;;-1:-1:-1;;14019:37:0;;1342:25:1;;;14045:1:0;;-1:-1:-1;;;;;14019:37:0;;;;;1330:2:1;1315:18;14019:37:0;1196:177:1;14:548;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;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1711:180::-;1770:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;-1:-1:-1;1862:23:1;;1711:180;-1:-1:-1;1711:180:1:o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;:::-;2037:39;1896:186;-1:-1:-1;;;1896:186:1:o;2087:118::-;2173:5;2166:13;2159:21;2152:5;2149:32;2139:60;;2195:1;2192;2185:12;2210:315;2275:6;2283;2336:2;2324:9;2315:7;2311:23;2307:32;2304:52;;;2352:1;2349;2342:12;2304:52;2375:29;2394:9;2375:29;:::i;:::-;2365:39;;2454:2;2443:9;2439:18;2426:32;2467:28;2489:5;2467:28;:::i;:::-;2514:5;2504:15;;;2210:315;;;;;:::o;2738:241::-;2794:6;2847:2;2835:9;2826:7;2822:23;2818:32;2815:52;;;2863:1;2860;2853:12;2815:52;2902:9;2889:23;2921:28;2943:5;2921:28;:::i;2984:260::-;3052:6;3060;3113:2;3101:9;3092:7;3088:23;3084:32;3081:52;;;3129:1;3126;3119:12;3081:52;3152:29;3171:9;3152:29;:::i;:::-;3142:39;;3200:38;3234:2;3223:9;3219:18;3200:38;:::i;:::-;3190:48;;2984:260;;;;;:::o;3249:380::-;3328:1;3324:12;;;;3371;;;3392:61;;3446:4;3438:6;3434:17;3424:27;;3392:61;3499:2;3491:6;3488:14;3468:18;3465:38;3462:161;;3545:10;3540:3;3536:20;3533:1;3526:31;3580:4;3577:1;3570:15;3608:4;3605:1;3598:15;3462:161;;3249:380;;;:::o;4043:127::-;4104:10;4099:3;4095:20;4092:1;4085:31;4135:4;4132:1;4125:15;4159:4;4156:1;4149:15;4175:128;4242:9;;;4263:11;;;4260:37;;;4277:18;;:::i;4308:125::-;4373:9;;;4394:10;;;4391:36;;;4407:18;;:::i;4438:356::-;4640:2;4622:21;;;4659:18;;;4652:30;4718:34;4713:2;4698:18;;4691:62;4785:2;4770:18;;4438:356::o;5078:245::-;5145:6;5198:2;5186:9;5177:7;5173:23;5169:32;5166:52;;;5214:1;5211;5204:12;5166:52;5246:9;5240:16;5265:28;5287:5;5265:28;:::i

Swarm Source

ipfs://a7f3ff8eb9885cce427c137f71da49c1a507673b902f5caf3d647554493b95a6
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.