ETH Price: $2,479.05 (-8.09%)

Token

No Shit Sherlock (NSS)
 

Overview

Max Total Supply

4,204,206,969 NSS

Holders

94

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
7,734,785.664876001592761965 NSS

Value
$0.00
0x693cDb34ee61fc38672e911eb03d6B44CFB34133
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:
NoShitSherlock

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : NoShitSherlock.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

contract NoShitSherlock is ERC20 {
    bytes32[] private suspects;
    bytes32[] private weapons;
    bytes32[] private rooms;
    bytes32[] private motives;

    uint256 private mysteryPrevrandao;
    uint256 private mysteryBlockNumber;

    uint256 public constant guessCost = 6969 * 10**18;
    uint256 public pooledFunds;
    address public teamWallet = 0xA07f15D9c6aFD0f846606A635E0a39e0a5235BDc;
    address public treasury = 0x15Bf49EC76205BD2B89af7E31b8859559e6189c6;

    event GuessResult(address indexed player, uint256 correctGuesses);

    constructor() ERC20("No Shit Sherlock", "NSS") {
        _mint(msg.sender, 6969696969 * 10**decimals());

        suspects = [
            keccak256(bytes("Craig 'Faketoshi' Wright")),
            keccak256(bytes("Sam Bankman-Fried")),
            keccak256(bytes("Do Kwon")),
            keccak256(bytes("Justin Sun")),
            keccak256(bytes("Arthur Hayes")),
            keccak256(bytes("Charlie Shrem")),
            keccak256(bytes("Brock Pierce")),
            keccak256(bytes("Shitboy Brypto")),
            keccak256(bytes("Gary Gensler")),
            keccak256(bytes("Roger Ver"))
        ];

        weapons = [
            keccak256(bytes("Hopium")),
            keccak256(bytes("Rugpull")),
            keccak256(bytes("Falling Knives")),
            keccak256(bytes("Rekt Rocket")),
            keccak256(bytes("Liquidation Laser")),
            keccak256(bytes("FUD Flame")),
            keccak256(bytes("Technically you kinda lost your money")),
            keccak256(bytes("Short Squeeze")),
            keccak256(bytes("Shillfest")),
            keccak256(bytes("SEC whistleblower"))
        ];

        rooms = [
            keccak256(bytes("Tether Treasury")),
            keccak256(bytes("Bitfinex Basement")),
            keccak256(bytes("Pump Palace")),
            keccak256(bytes("Moon Mission Control")),
            keccak256(bytes("Satoshi's Secret Lab")),
            keccak256(bytes("Binance HQ (location unknown)")),
            keccak256(bytes("FOMO Factory")),
            keccak256(bytes("Crypto Castle")),
            keccak256(bytes("Wassie murder fridge")),
            keccak256(bytes("Ruins of Cryptopia"))
        ];

        motives = [
            keccak256(bytes("Greed")),
            keccak256(bytes("Fear")),
            keccak256(bytes("Jealousy")),
            keccak256(bytes("Revenge")),
            keccak256(bytes("Power")),
            keccak256(bytes("Control")),
            keccak256(bytes("Deception")),
            keccak256(bytes("Manipulation")),
            keccak256(bytes("Hypocrisy")),
            keccak256(bytes("Misdirection"))
        ];

        generateMystery();
    }

    function generateMystery() private {
        mysteryPrevrandao = block.prevrandao;
        mysteryBlockNumber = block.number;
    }

        function makeGuess(uint256 suspect, uint256 weapon, uint256 room, uint256 motive) public {
        require(balanceOf(msg.sender) >= guessCost, "Not enough NSS to make a guess.");
        _transfer(msg.sender, address(this), guessCost);
        pooledFunds += guessCost;
        uint256 correctGuesses = 0;

        // Ensure the block number for the mystery has passed
        require(block.number > mysteryBlockNumber, "The mystery is still unfolding");

        // Calculate randomness based on the saved mystery values
        uint256 suspectRand = uint256(keccak256(abi.encodePacked(mysteryPrevrandao, mysteryBlockNumber))) % suspects.length;
        uint256 weaponRand = uint256(keccak256(abi.encodePacked(mysteryBlockNumber, mysteryPrevrandao, suspectRand))) % weapons.length;
        uint256 roomRand = uint256(keccak256(abi.encodePacked(mysteryPrevrandao, mysteryBlockNumber, weaponRand))) % rooms.length;
        uint256 motiveRand = uint256(keccak256(abi.encodePacked(mysteryBlockNumber, mysteryPrevrandao, roomRand))) % motives.length;

        // Check the guesses
        if (suspects[suspect] == suspects[suspectRand]) correctGuesses++;
        if (weapons[weapon] == weapons[weaponRand]) correctGuesses++;
        if (rooms[room] == rooms[roomRand]) correctGuesses++;
        if (motives[motive] == motives[motiveRand]) correctGuesses++;

        if (correctGuesses == 4) {
        uint256 reward = pooledFunds * 831 / 1000;
        uint256 nextRound = pooledFunds * 69 / 1000;
        uint256 treasuryReward = pooledFunds * 75 / 1000;
        uint256 teamReward = pooledFunds * 25 / 1000;

        _transfer(address(this), msg.sender, reward);
        _transfer(address(this), treasury, treasuryReward);
        _transfer(address(this), teamWallet, teamReward);

        pooledFunds = nextRound;
        generateMystery();
    }


        emit GuessResult(msg.sender, correctGuesses);
    }

    function burn(uint256 amount) public {
        _burn(msg.sender, amount);
    }
}

File 2 of 5 : ERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.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.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

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

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

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

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

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

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

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

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

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

File 3 of 5 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

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

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

File 4 of 5 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

import "../IERC20.sol";

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

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

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

File 5 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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

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":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"correctGuesses","type":"uint256"}],"name":"GuessResult","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":[],"name":"guessCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"suspect","type":"uint256"},{"internalType":"uint256","name":"weapon","type":"uint256"},{"internalType":"uint256","name":"room","type":"uint256"},{"internalType":"uint256","name":"motive","type":"uint256"}],"name":"makeGuess","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pooledFunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052600c80546001600160a01b031990811673a07f15d9c6afd0f846606a635e0a39e0a5235bdc17909155600d80549091167315bf49ec76205bd2b89af7e31b8859559e6189c61790553480156200005957600080fd5b506040518060400160405280601081526020016f4e6f205368697420536865726c6f636b60801b815250604051806040016040528060038152602001624e535360e81b8152508160039081620000b0919062000e58565b506004620000bf828262000e58565b505050620000fb33620000d762000c7d60201b60201c565b620000e490600a62001039565b620000f59064019f6d22c962001051565b62000c82565b604080516101808101825260186101408201527f4372616967202746616b65746f736869272057726967687400000000000000006101608201527fe8d8b66b3b720a9724989af1c8afb0309ba6c007f556eeffa8bd0cdf615ae2bd815281518083018352601181527014d85b4810985b9adb585b8b519c9a5959607a1b6020918201527fa5a2a9c443b203173d21eae90d1560d5764f1508a91e3b584e6ea53aee76f65f8183015282518084018452600781526622379025bbb7b760c91b908201527faf225de3bdfcec5e118df713beeb3af3c92e54924a66f9136c7c09e04ac69b4a8284015282518084018452600a80825269253ab9ba34b71029bab760b11b918301919091527fce1be22eb6b2e02930a1386f396efbcaed381bb9f76f096572bdfe209608eb58606084015283518085018552600c8082526b41727468757220486179657360a01b918401919091527f46207055f35c9617beaba64ce03cf5bbaa49011e5a2eeab6a32b1198e4ba1967608085015284518086018652600d81526c436861726c696520536872656d60981b908401527f1c7d904f2ad85f4106e0f7cb31565bfa69d9883d291214d24c2cbb44705351e660a0850152845180860186528181526b42726f636b2050696572636560a01b908401527fd93af46132ba6314a4a0cf94920668715861a41733955c0b32a652978792664b60c085015284518086018652600e81526d53686974626f792042727970746f60901b908401527f02d3a7dad0febf213171611b2891a33071a240f8b241b1b4e08d4e911d183ef260e0850152845180860186529081526b23b0b93c9023b2b739b632b960a11b908301527f2cf579665e5327ddc8bdac27f5ab2bef4373c9aaefd98da0f92a8fbfe3e0bd04610100840152835180850190945260098452682937b3b2b9102b32b960b91b93909101929092527fd45f1fc58e21f81fd6a87f37930d89e22cb094e79aff7ee294468471cfb24a69610120820152620003df916005919062000d4d565b506040805161018081018252600661014082015265486f7069756d60d01b6101608201527f1dd54b3a8ffc0f8a56912ed6bf4a50460dd9c2320fdd64beea9e8140d03a32808152815180830183526007815266149d59dc1d5b1b60ca1b6020918201527fece9268b35f503641893cb6669be723d16130c781cf844d57d783a9bc32ff3168183015282518084018452600e81526d46616c6c696e67204b6e6976657360901b908201527f24edc86bc7179e38c25395ed91732cd9d21b1739472e6eedb1f64306aa10152d8284015282518084018452600b81526a14995add08149bd8dad95d60aa1b908201527f2ef58ec55f0d68b5c71695f9a42da3c72a4f04e28c7c33f6aa27a534e35453fa6060808401919091528351808501855260118152702634b8bab4b230ba34b7b7102630b9b2b960791b908301527f4b5d2ff2085cd675c2ce8db78591350073e6df483358dd64fb2ccced837661c7608084015283518085018552600981526846554420466c616d6560b81b908301527fc01b1d8c9b46b92465c07a4c7edd2fd04488a0f52cb2fef0a4aafe3b6b2b82bc60a084015283519081019093526025808452919260c08401929091620020439083013980516020918201208252604080518082018252600d81526c53686f72742053717565657a6560981b908301527f17f78c9e2783765e042ae710c6301d2c77f13f0f3d68a2190498f8e018f1ffd68383015280518082018252600981526814da1a5b1b19995cdd60ba1b908301527fa8e41e01fe51890d0ca325cce23d20ed6c866cdd51136335851be037808a4baa818401528051808201909152601181527029a2a1903bb434b9ba3632b13637bbb2b960791b9101527fc72b77274a13a95de91323f436e5f56207d4d74408a71105ceaa6cffb7840d9a6060909101526200068c90600690600a62000d4d565b506040805161018081018252600f6101408201526e54657468657220547265617375727960881b6101608201527f23bc54110120164f14adad3c02466095f95256f865baeb07086c1af3a62d6beb8152815180830183526011815270109a5d199a5b995e0810985cd95b595b9d607a1b6020918201527fb3921fbacbf5cfea2b6afea87541ce3773bb2510e8a93fd53cffdda88e8d6f398183015282518084018452600b81526a50756d702050616c61636560a81b908201527f2193da229019bd778ab9dd76f709801400d41aed2347d4645be002eb2b98973c828401528251808401845260148082527f4d6f6f6e204d697373696f6e20436f6e74726f6c000000000000000000000000918301919091527fa200805a78fd6b2ecc0cd4d613f2386c1b1ed60e96ee827f3897862684cb64676060840152835180850185528181527f5361746f736869277320536563726574204c6162000000000000000000000000908301527f4540cccae25075b4ccf4b20cb995ac8940d5422f8830d67e2b5b7178044aaed4608084015283518085018552601d81527f42696e616e636520485120286c6f636174696f6e20756e6b6e6f776e29000000908301527f09266225f39f115586b2e7bb0661599af563b454ab87dac5510a456ffabca08d60a084015283518085018552600c81526b464f4d4f20466163746f727960a01b908301527f241900ae2cc3048ff7ed9f8c4de762cee132b6242edd1459ce44d1fc52ec63be60c084015283518085018552600d81526c43727970746f20436173746c6560981b908301527ffadc8d847faa8057932e082feb332dec4152cc58de97ffbed8a186b81a572f2160e0840152835180850185529081527f576173736965206d757264657220667269646765000000000000000000000000908201527fcb46ce010043ab597f07fcaf26d6f91e04a711aa40bc314906d0655af71ccb65610100830152825180840190935260128352715275696e73206f662043727970746f70696160701b9201919091527febf6ee2d0fa787b727a843354890c9181932aa58137afb915cdfbfba046286bc610120820152620009af90600790600a62000d4d565b506040805161018081018252600561014082018190526411dc99595960da1b6101608301527fa979e2726917b2883b9fa7cb0f07b26dcc94577ab3b03ea00e261e23cad0b17b82528251808401845260048152632332b0b960e11b6020918201527f037eed37ccfad6cb9108450964c7ce64ff687d24b057812bdb67761227590f4f81840152835180850185526008808252674a65616c6f75737960c01b918301919091527f7f98758e962fd2d68d3278d6f61b780d6752dac9a198cdc53dec578d708782888486015284518086018652600780825266526576656e676560c81b918401919091527fe93e5fbda38538f62138d0d8b788dee27123646f4127b6259322a52f8f6032a1606086015285518087018752938452642837bbb2b960d91b938301939093527f2fb995b264f4328a65dd3434462358ea85212b01275efbe3314f8b3ff042592d6080850152845180860186529283526610dbdb9d1c9bdb60ca1b928201929092527fe85c1e025c3c5eb77cdfa4c12f56c4b81cbd40e574f9cfacb657d83b0fe88f0d60a0840152835180850185526009808252682232b1b2b83a34b7b760b91b918301919091527f27d0aeba05f9643035e55f9d01d12364345e98590316107e8d55fc16020dc50e60c085015284518086018652600c8082526b26b0b734b83ab630ba34b7b760a11b918401919091527f1b91ab35e108e9a9239702f3da22356ee6d903a09bccecc4713ee05ed24aec1260e086015285518087018752918252684879706f637269737960b81b918301919091527f17ef3b209ff8638148f263863700fa5b24ade4889586a790b604d8277fbf0a37610100850152845180860190955284526b26b4b9b234b932b1ba34b7b760a11b9301929092527f5d2f1686d7b129fbf74f62d3290255425f602331e93fa9bf7894bb80fe389bf861012082015262000c689190600a62000d4d565b5062000c774460095543600a55565b62001081565b601290565b6001600160a01b03821662000cdd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000cf191906200106b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b82805482825590600052602060002090810192821562000d8b579160200282015b8281111562000d8b57825182559160200191906001019062000d6e565b5062000d9992915062000d9d565b5090565b5b8082111562000d99576000815560010162000d9e565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000ddf57607f821691505b60208210810362000e0057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d4857600081815260208120601f850160051c8101602086101562000e2f5750805b601f850160051c820191505b8181101562000e505782815560010162000e3b565b505050505050565b81516001600160401b0381111562000e745762000e7462000db4565b62000e8c8162000e85845462000dca565b8462000e06565b602080601f83116001811462000ec4576000841562000eab5750858301515b600019600386901b1c1916600185901b17855562000e50565b600085815260208120601f198616915b8281101562000ef55788860151825594840194600190910190840162000ed4565b508582101562000f145787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000f7b57816000190482111562000f5f5762000f5f62000f24565b8085161562000f6d57918102915b93841c939080029062000f3f565b509250929050565b60008262000f945750600162001033565b8162000fa35750600062001033565b816001811462000fbc576002811462000fc75762000fe7565b600191505062001033565b60ff84111562000fdb5762000fdb62000f24565b50506001821b62001033565b5060208310610133831016604e8410600b84101617156200100c575081810a62001033565b62001018838362000f3a565b80600019048211156200102f576200102f62000f24565b0290505b92915050565b60006200104a60ff84168362000f83565b9392505050565b808202811582820484141762001033576200103362000f24565b8082018082111562001033576200103362000f24565b610fb280620010916000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806359927044116100a257806395d89b411161007157806395d89b411461022e578063a457c2d714610236578063a9059cbb14610249578063d09cfa931461025c578063dd62ed3e1461026f57600080fd5b806359927044146101b657806361d027b3146101e157806370a08231146101f45780637ccbe9f11461021d57600080fd5b8063313ce567116100de578063313ce567146101765780633950935114610185578063403ab2181461019857806342966c68146101a157600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b610118610282565b6040516101259190610d25565b60405180910390f35b61014161013c366004610d8f565b610314565b6040519015158152602001610125565b6002545b604051908152602001610125565b610141610171366004610db9565b61032e565b60405160128152602001610125565b610141610193366004610d8f565b610352565b610155600b5481565b6101b46101af366004610df5565b610374565b005b600c546101c9906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b600d546101c9906001600160a01b031681565b610155610202366004610e0e565b6001600160a01b031660009081526020819052604090205490565b610155690179ca4da0a7d144000081565b610118610381565b610141610244366004610d8f565b610390565b610141610257366004610d8f565b610410565b6101b461026a366004610e30565b61041e565b61015561027d366004610e62565b61088d565b60606003805461029190610e95565b80601f01602080910402602001604051908101604052809291908181526020018280546102bd90610e95565b801561030a5780601f106102df5761010080835404028352916020019161030a565b820191906000526020600020905b8154815290600101906020018083116102ed57829003601f168201915b5050505050905090565b6000336103228185856108b8565b60019150505b92915050565b60003361033c8582856109dd565b610347858585610a57565b506001949350505050565b600033610322818585610365838361088d565b61036f9190610ee5565b6108b8565b61037e3382610bfb565b50565b60606004805461029190610e95565b6000338161039e828661088d565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61034782868684036108b8565b600033610322818585610a57565b33600090815260208190526040902054690179ca4da0a7d144000011156104875760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f756768204e535320746f206d616b6520612067756573732e0060448201526064016103fa565b61049c3330690179ca4da0a7d1440000610a57565b690179ca4da0a7d1440000600b60008282546104b89190610ee5565b9091555050600a5460009043116105115760405162461bcd60e51b815260206004820152601e60248201527f546865206d797374657279206973207374696c6c20756e666f6c64696e67000060448201526064016103fa565b600554600954600a54604080516020810193909352820152600091906060016040516020818303038152906040528051906020012060001c6105539190610f0e565b600654600a54600954604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c61059e9190610f0e565b600754600954600a54604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c6105e99190610f0e565b600854600a54600954604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c6106349190610f0e565b90506005848154811061064957610649610f22565b906000526020600020015460058a8154811061066757610667610f22565b906000526020600020015403610685578461068181610f38565b9550505b6006838154811061069857610698610f22565b9060005260206000200154600689815481106106b6576106b6610f22565b9060005260206000200154036106d457846106d081610f38565b9550505b600782815481106106e7576106e7610f22565b90600052602060002001546007888154811061070557610705610f22565b906000526020600020015403610723578461071f81610f38565b9550505b6008818154811061073657610736610f22565b90600052602060002001546008878154811061075457610754610f22565b906000526020600020015403610772578461076e81610f38565b9550505b8460040361084d5760006103e8600b5461033f61078f9190610f51565b6107999190610f68565b905060006103e8600b5460456107af9190610f51565b6107b99190610f68565b905060006103e8600b54604b6107cf9190610f51565b6107d99190610f68565b905060006103e8600b5460196107ef9190610f51565b6107f99190610f68565b9050610806303386610a57565b600d5461081e9030906001600160a01b031684610a57565b600c546108369030906001600160a01b031683610a57565b600b8390556108484460095543600a55565b505050505b60405185815233907fb76878019b5ae47b1700f5d7b7d289dbc4956cdd59b64ab9a4b39c0aaaea3cb89060200160405180910390a2505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661091a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b03821661097b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006109e9848461088d565b90506000198114610a515781811015610a445760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b610a5184848484036108b8565b50505050565b6001600160a01b038316610abb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b038216610b1d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b03831660009081526020819052604090205481811015610b955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a51565b6001600160a01b038216610c5b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b03821660009081526020819052604090205481811015610ccf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016109d0565b600060208083528351808285015260005b81811015610d5257858101830151858201604001528201610d36565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d8a57600080fd5b919050565b60008060408385031215610da257600080fd5b610dab83610d73565b946020939093013593505050565b600080600060608486031215610dce57600080fd5b610dd784610d73565b9250610de560208501610d73565b9150604084013590509250925092565b600060208284031215610e0757600080fd5b5035919050565b600060208284031215610e2057600080fd5b610e2982610d73565b9392505050565b60008060008060808587031215610e4657600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215610e7557600080fd5b610e7e83610d73565b9150610e8c60208401610d73565b90509250929050565b600181811c90821680610ea957607f821691505b602082108103610ec957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032857610328610ecf565b634e487b7160e01b600052601260045260246000fd5b600082610f1d57610f1d610ef8565b500690565b634e487b7160e01b600052603260045260246000fd5b600060018201610f4a57610f4a610ecf565b5060010190565b808202811582820484141761032857610328610ecf565b600082610f7757610f77610ef8565b50049056fea2646970667358221220ae1dbfa44c5ce17ac4348762c56097b671248b9a132b3e5daa24ccf198ebb73a64736f6c63430008120033546563686e6963616c6c7920796f75206b696e6461206c6f737420796f7572206d6f6e6579

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806359927044116100a257806395d89b411161007157806395d89b411461022e578063a457c2d714610236578063a9059cbb14610249578063d09cfa931461025c578063dd62ed3e1461026f57600080fd5b806359927044146101b657806361d027b3146101e157806370a08231146101f45780637ccbe9f11461021d57600080fd5b8063313ce567116100de578063313ce567146101765780633950935114610185578063403ab2181461019857806342966c68146101a157600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b610118610282565b6040516101259190610d25565b60405180910390f35b61014161013c366004610d8f565b610314565b6040519015158152602001610125565b6002545b604051908152602001610125565b610141610171366004610db9565b61032e565b60405160128152602001610125565b610141610193366004610d8f565b610352565b610155600b5481565b6101b46101af366004610df5565b610374565b005b600c546101c9906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b600d546101c9906001600160a01b031681565b610155610202366004610e0e565b6001600160a01b031660009081526020819052604090205490565b610155690179ca4da0a7d144000081565b610118610381565b610141610244366004610d8f565b610390565b610141610257366004610d8f565b610410565b6101b461026a366004610e30565b61041e565b61015561027d366004610e62565b61088d565b60606003805461029190610e95565b80601f01602080910402602001604051908101604052809291908181526020018280546102bd90610e95565b801561030a5780601f106102df5761010080835404028352916020019161030a565b820191906000526020600020905b8154815290600101906020018083116102ed57829003601f168201915b5050505050905090565b6000336103228185856108b8565b60019150505b92915050565b60003361033c8582856109dd565b610347858585610a57565b506001949350505050565b600033610322818585610365838361088d565b61036f9190610ee5565b6108b8565b61037e3382610bfb565b50565b60606004805461029190610e95565b6000338161039e828661088d565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61034782868684036108b8565b600033610322818585610a57565b33600090815260208190526040902054690179ca4da0a7d144000011156104875760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f756768204e535320746f206d616b6520612067756573732e0060448201526064016103fa565b61049c3330690179ca4da0a7d1440000610a57565b690179ca4da0a7d1440000600b60008282546104b89190610ee5565b9091555050600a5460009043116105115760405162461bcd60e51b815260206004820152601e60248201527f546865206d797374657279206973207374696c6c20756e666f6c64696e67000060448201526064016103fa565b600554600954600a54604080516020810193909352820152600091906060016040516020818303038152906040528051906020012060001c6105539190610f0e565b600654600a54600954604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c61059e9190610f0e565b600754600954600a54604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c6105e99190610f0e565b600854600a54600954604080516020810193909352820152606081018390529192506000916080016040516020818303038152906040528051906020012060001c6106349190610f0e565b90506005848154811061064957610649610f22565b906000526020600020015460058a8154811061066757610667610f22565b906000526020600020015403610685578461068181610f38565b9550505b6006838154811061069857610698610f22565b9060005260206000200154600689815481106106b6576106b6610f22565b9060005260206000200154036106d457846106d081610f38565b9550505b600782815481106106e7576106e7610f22565b90600052602060002001546007888154811061070557610705610f22565b906000526020600020015403610723578461071f81610f38565b9550505b6008818154811061073657610736610f22565b90600052602060002001546008878154811061075457610754610f22565b906000526020600020015403610772578461076e81610f38565b9550505b8460040361084d5760006103e8600b5461033f61078f9190610f51565b6107999190610f68565b905060006103e8600b5460456107af9190610f51565b6107b99190610f68565b905060006103e8600b54604b6107cf9190610f51565b6107d99190610f68565b905060006103e8600b5460196107ef9190610f51565b6107f99190610f68565b9050610806303386610a57565b600d5461081e9030906001600160a01b031684610a57565b600c546108369030906001600160a01b031683610a57565b600b8390556108484460095543600a55565b505050505b60405185815233907fb76878019b5ae47b1700f5d7b7d289dbc4956cdd59b64ab9a4b39c0aaaea3cb89060200160405180910390a2505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661091a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b03821661097b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006109e9848461088d565b90506000198114610a515781811015610a445760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b610a5184848484036108b8565b50505050565b6001600160a01b038316610abb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b038216610b1d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b03831660009081526020819052604090205481811015610b955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a51565b6001600160a01b038216610c5b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b03821660009081526020819052604090205481811015610ccf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016109d0565b600060208083528351808285015260005b81811015610d5257858101830151858201604001528201610d36565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d8a57600080fd5b919050565b60008060408385031215610da257600080fd5b610dab83610d73565b946020939093013593505050565b600080600060608486031215610dce57600080fd5b610dd784610d73565b9250610de560208501610d73565b9150604084013590509250925092565b600060208284031215610e0757600080fd5b5035919050565b600060208284031215610e2057600080fd5b610e2982610d73565b9392505050565b60008060008060808587031215610e4657600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215610e7557600080fd5b610e7e83610d73565b9150610e8c60208401610d73565b90509250929050565b600181811c90821680610ea957607f821691505b602082108103610ec957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561032857610328610ecf565b634e487b7160e01b600052601260045260246000fd5b600082610f1d57610f1d610ef8565b500690565b634e487b7160e01b600052603260045260246000fd5b600060018201610f4a57610f4a610ecf565b5060010190565b808202811582820484141761032857610328610ecf565b600082610f7757610f77610ef8565b50049056fea2646970667358221220ae1dbfa44c5ce17ac4348762c56097b671248b9a132b3e5daa24ccf198ebb73a64736f6c63430008120033

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.