ETH Price: $3,266.28 (+0.52%)
Gas: 2 Gwei

Token

PEPE UWU (CUTE)
 

Overview

Max Total Supply

777,777,777,777 CUTE

Holders

473

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000000001 CUTE

Value
$0.00
0xc388b1d87919030737876c0fcda51f2296f317d7
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:
PEPEUWU

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-08
*/

// File: @openzeppelin/contracts/interfaces/draft-IERC6093.sol


// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;

/**
 * @dev Standard ERC20 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.
 */
interface IERC20Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC20InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC20InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     * @param allowance Amount of tokens a `spender` is allowed to operate with.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC20InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC20InvalidSpender(address spender);
}

/**
 * @dev Standard ERC721 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.
 */
interface IERC721Errors {
    /**
     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.
     * Used in balance queries.
     * @param owner Address of the current owner of a token.
     */
    error ERC721InvalidOwner(address owner);

    /**
     * @dev Indicates a `tokenId` whose `owner` is the zero address.
     * @param tokenId Identifier number of a token.
     */
    error ERC721NonexistentToken(uint256 tokenId);

    /**
     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param tokenId Identifier number of a token.
     * @param owner Address of the current owner of a token.
     */
    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC721InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC721InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param tokenId Identifier number of a token.
     */
    error ERC721InsufficientApproval(address operator, uint256 tokenId);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC721InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC721InvalidOperator(address operator);
}

/**
 * @dev Standard ERC1155 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.
 */
interface IERC1155Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     * @param tokenId Identifier number of a token.
     */
    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC1155InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC1155InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param owner Address of the current owner of a token.
     */
    error ERC1155MissingApprovalForAll(address operator, address owner);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC1155InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC1155InvalidOperator(address operator);

    /**
     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.
     * Used in batch transfers.
     * @param idsLength Length of the array of token identifiers
     * @param valuesLength Length of the array of token amounts
     */
    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);
}

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts (last updated v5.0.0) (utils/Context.sol)

pragma solidity ^0.8.20;

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

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

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;


/**
 * @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.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

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

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(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 {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

// File: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @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 value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

    /**
     * @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens 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 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` 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 value) external returns (bool);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.20;


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

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

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

// File: @openzeppelin/contracts/token/ERC20/ERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.20;





/**
 * @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}.
 *
 * 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].
 *
 * The default value of {decimals} is 18. To change this, you should override
 * this function so it returns a different value.
 *
 * 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.
 */
abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * 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 returns (string memory) {
        return _name;
    }

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

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the default value returned by this function, unless
     * it's 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 returns (uint8) {
        return 18;
    }

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual 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 `value`.
     */
    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `value` 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 value) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        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 `value`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `value`.
     */
    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    /**
     * @dev Moves a `value` 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.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead.
     */
    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    /**
     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`
     * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding
     * this function.
     *
     * Emits a {Transfer} event.
     */
    function _update(address from, address to, uint256 value) internal virtual {
        if (from == address(0)) {
            // Overflow check required: The rest of the code assumes that totalSupply never overflows
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                // Overflow not possible: value <= fromBalance <= totalSupply.
                _balances[from] = fromBalance - value;
            }
        }

        if (to == address(0)) {
            unchecked {
                // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.
                _totalSupply -= value;
            }
        } else {
            unchecked {
                // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    /**
     * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).
     * Relies on the `_update` mechanism
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead.
     */
    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(address(0), account, value);
    }

    /**
     * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.
     * Relies on the `_update` mechanism.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead
     */
    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    /**
     * @dev Sets `value` 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.
     *
     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    /**
     * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.
     *
     * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by
     * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any
     * `Approval` event during `transferFrom` operations.
     *
     * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to
     * true using the following override:
     * ```
     * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {
     *     super._approve(owner, spender, value, true);
     * }
     * ```
     *
     * Requirements are the same as {_approve}.
     */
    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

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

// File: contracts/PEPEUWU.sol


pragma solidity ^0.8.0;



contract PEPEUWU is ERC20, Ownable {
    mapping(address => bool) private _blacklist;
    bool private _blacklistingActive;

    event Blacklisted(address indexed account);
    event Unblacklisted(address indexed account);
    event BlacklistingStatusChanged(bool status);

    constructor(string memory name, string memory symbol, uint256 initialSupply) 
        ERC20(name, symbol)
        Ownable(msg.sender) // Pass the deployer's address to the Ownable constructor
    {
        _mint(msg.sender, initialSupply * (10 ** uint256(decimals())));
        _blacklistingActive = true;
    }

    function blacklist(address account) public onlyOwner {
        require(!_blacklist[account], "Account is already blacklisted");
        _blacklist[account] = true;
        emit Blacklisted(account);
    }

    function unblacklist(address account) public onlyOwner {
        require(_blacklist[account], "Account is not blacklisted");
        _blacklist[account] = false;
        emit Unblacklisted(account);
    }

    function blacklistMultiple(address[] calldata accounts) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            if (!_blacklist[accounts[i]]) {
                _blacklist[accounts[i]] = true;
                emit Blacklisted(accounts[i]);
            }
        }
    }

    function isBlacklisted(address account) public view returns (bool) {
        return _blacklist[account];
    }

    function setBlacklistingActive(bool active) public onlyOwner {
        _blacklistingActive = active;
        emit BlacklistingStatusChanged(active);
    }

    // Override this function if your ERC20 contract version supports it
    // function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
    //     super._beforeTokenTransfer(from, to, amount);

    //     if (_blacklistingActive) {
    //         require(!_blacklist[from], "Sender is blacklisted");
    //         require(!_blacklist[to], "Recipient is blacklisted");
    //     }
    // }

    function renounceOwnership() public override onlyOwner {
        super.renounceOwnership();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":"account","type":"address"}],"name":"Blacklisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"BlacklistingStatusChanged","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"Unblacklisted","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"blacklistMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"active","type":"bool"}],"name":"setBlacklistingActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":"value","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"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unblacklist","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b50604051620025453803806200254583398181016040528101906200003691906200067c565b33838381600390816200004a919062000941565b5080600490816200005c919062000941565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000d2575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000c9919062000a68565b60405180910390fd5b620000e3816200014660201b60201c565b506200012333620000f96200020960201b60201c565b60ff16600a6200010a919062000c00565b8362000117919062000c50565b6200021160201b60201c565b600160075f6101000a81548160ff02191690831515021790555050505062000d3b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000284575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200027b919062000a68565b60405180910390fd5b620002975f83836200029b60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620002ef578060025f828254620002e2919062000c9a565b92505081905550620003c0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200037b578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620003729392919062000ce5565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000409578060025f828254039250508190555062000453565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004b2919062000d20565b60405180910390a3505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200052082620004d8565b810181811067ffffffffffffffff82111715620005425762000541620004e8565b5b80604052505050565b5f62000556620004bf565b905062000564828262000515565b919050565b5f67ffffffffffffffff821115620005865762000585620004e8565b5b6200059182620004d8565b9050602081019050919050565b5f5b83811015620005bd578082015181840152602081019050620005a0565b5f8484015250505050565b5f620005de620005d88462000569565b6200054b565b905082815260208101848484011115620005fd57620005fc620004d4565b5b6200060a8482856200059e565b509392505050565b5f82601f830112620006295762000628620004d0565b5b81516200063b848260208601620005c8565b91505092915050565b5f819050919050565b620006588162000644565b811462000663575f80fd5b50565b5f8151905062000676816200064d565b92915050565b5f805f60608486031215620006965762000695620004c8565b5b5f84015167ffffffffffffffff811115620006b657620006b5620004cc565b5b620006c48682870162000612565b935050602084015167ffffffffffffffff811115620006e857620006e7620004cc565b5b620006f68682870162000612565b9250506040620007098682870162000666565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200076257607f821691505b6020821081036200077857620007776200071d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620007dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200079f565b620007e886836200079f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000829620008236200081d8462000644565b62000800565b62000644565b9050919050565b5f819050919050565b620008448362000809565b6200085c620008538262000830565b848454620007ab565b825550505050565b5f90565b6200087262000864565b6200087f81848462000839565b505050565b5b81811015620008a6576200089a5f8262000868565b60018101905062000885565b5050565b601f821115620008f557620008bf816200077e565b620008ca8462000790565b81016020851015620008da578190505b620008f2620008e98562000790565b83018262000884565b50505b505050565b5f82821c905092915050565b5f620009175f1984600802620008fa565b1980831691505092915050565b5f62000931838362000906565b9150826002028217905092915050565b6200094c8262000713565b67ffffffffffffffff811115620009685762000967620004e8565b5b6200097482546200074a565b62000981828285620008aa565b5f60209050601f831160018114620009b7575f8415620009a2578287015190505b620009ae858262000924565b86555062000a1d565b601f198416620009c7866200077e565b5f5b82811015620009f057848901518255600182019150602085019450602081019050620009c9565b8683101562000a10578489015162000a0c601f89168262000906565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a508262000a25565b9050919050565b62000a628162000a44565b82525050565b5f60208201905062000a7d5f83018462000a57565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000b0d5780860481111562000ae55762000ae462000a83565b5b600185161562000af55780820291505b808102905062000b058562000ab0565b945062000ac5565b94509492505050565b5f8262000b27576001905062000bf9565b8162000b36575f905062000bf9565b816001811462000b4f576002811462000b5a5762000b90565b600191505062000bf9565b60ff84111562000b6f5762000b6e62000a83565b5b8360020a91508482111562000b895762000b8862000a83565b5b5062000bf9565b5060208310610133831016604e8410600b841016171562000bca5782820a90508381111562000bc45762000bc362000a83565b5b62000bf9565b62000bd9848484600162000abc565b9250905081840481111562000bf35762000bf262000a83565b5b81810290505b9392505050565b5f62000c0c8262000644565b915062000c198362000644565b925062000c487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b16565b905092915050565b5f62000c5c8262000644565b915062000c698362000644565b925082820262000c798162000644565b9150828204841483151762000c935762000c9262000a83565b5b5092915050565b5f62000ca68262000644565b915062000cb38362000644565b925082820190508082111562000cce5762000ccd62000a83565b5b92915050565b62000cdf8162000644565b82525050565b5f60608201905062000cfa5f83018662000a57565b62000d09602083018562000cd4565b62000d18604083018462000cd4565b949350505050565b5f60208201905062000d355f83018462000cd4565b92915050565b6117fc8062000d495f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c8063715018a6116100a0578063a9059cbb1161006f578063a9059cbb14610291578063dd62ed3e146102c1578063f2fde38b146102f1578063f9f92be41461030d578063fe575a871461032957610109565b8063715018a61461022f57806375e3661e146102395780638da5cb5b1461025557806395d89b411461027357610109565b806323b872dd116100dc57806323b872dd14610195578063313ce567146101c557806340a9fc8f146101e357806370a08231146101ff57610109565b806306fdde031461010d578063095ea7b31461012b578063158dd30d1461015b57806318160ddd14610177575b5f80fd5b610115610359565b6040516101229190611273565b60405180910390f35b61014560048036038101906101409190611328565b6103e9565b6040516101529190611380565b60405180910390f35b610175600480360381019061017091906113fa565b61040b565b005b61017f61058e565b60405161018c9190611454565b60405180910390f35b6101af60048036038101906101aa919061146d565b610597565b6040516101bc9190611380565b60405180910390f35b6101cd6105c5565b6040516101da91906114d8565b60405180910390f35b6101fd60048036038101906101f8919061151b565b6105cd565b005b61021960048036038101906102149190611546565b610628565b6040516102269190611454565b60405180910390f35b61023761066d565b005b610253600480360381019061024e9190611546565b61067f565b005b61025d6107aa565b60405161026a9190611580565b60405180910390f35b61027b6107d2565b6040516102889190611273565b60405180910390f35b6102ab60048036038101906102a69190611328565b610862565b6040516102b89190611380565b60405180910390f35b6102db60048036038101906102d69190611599565b610884565b6040516102e89190611454565b60405180910390f35b61030b60048036038101906103069190611546565b610906565b005b61032760048036038101906103229190611546565b61098a565b005b610343600480360381019061033e9190611546565b610ab7565b6040516103509190611380565b60405180910390f35b60606003805461036890611604565b80601f016020809104026020016040519081016040528092919081815260200182805461039490611604565b80156103df5780601f106103b6576101008083540402835291602001916103df565b820191905f5260205f20905b8154815290600101906020018083116103c257829003601f168201915b5050505050905090565b5f806103f3610b09565b9050610400818585610b10565b600191505092915050565b610413610b22565b5f5b828290508110156105895760065f84848481811061043657610435611634565b5b905060200201602081019061044b9190611546565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661057c57600160065f8585858181106104ad576104ac611634565b5b90506020020160208101906104c29190611546565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555082828281811061052457610523611634565b5b90506020020160208101906105399190611546565b73ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a25b8080600101915050610415565b505050565b5f600254905090565b5f806105a1610b09565b90506105ae858285610ba9565b6105b9858585610c3b565b60019150509392505050565b5f6012905090565b6105d5610b22565b8060075f6101000a81548160ff0219169083151502179055507fcac129166f0e6d51bc39399e64e03aeda70734efb41cd0884267b2a3914a68d78160405161061d9190611380565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610675610b22565b61067d610d2b565b565b610687610b22565b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610710576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610707906116ab565b60405180910390fd5b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107e190611604565b80601f016020809104026020016040519081016040528092919081815260200182805461080d90611604565b80156108585780601f1061082f57610100808354040283529160200191610858565b820191905f5260205f20905b81548152906001019060200180831161083b57829003601f168201915b5050505050905090565b5f8061086c610b09565b9050610879818585610c3b565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61090e610b22565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361097e575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016109759190611580565b60405180910390fd5b61098781610d3e565b50565b610992610b22565b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1390611713565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f33905090565b610b1d8383836001610e01565b505050565b610b2a610b09565b73ffffffffffffffffffffffffffffffffffffffff16610b486107aa565b73ffffffffffffffffffffffffffffffffffffffff1614610ba757610b6b610b09565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610b9e9190611580565b60405180910390fd5b565b5f610bb48484610884565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c355781811015610c26578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c1d93929190611731565b60405180910390fd5b610c3484848484035f610e01565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cab575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ca29190611580565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d1b575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d129190611580565b60405180910390fd5b610d26838383610fd0565b505050565b610d33610b22565b610d3c5f610d3e565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e71575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610e689190611580565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee1575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610ed89190611580565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610fca578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610fc19190611454565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611020578060025f8282546110149190611793565b925050819055506110ee565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156110a9578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110a093929190611731565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611135578060025f828254039250508190555061117f565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111dc9190611454565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611220578082015181840152602081019050611205565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611245826111e9565b61124f81856111f3565b935061125f818560208601611203565b6112688161122b565b840191505092915050565b5f6020820190508181035f83015261128b818461123b565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112c48261129b565b9050919050565b6112d4816112ba565b81146112de575f80fd5b50565b5f813590506112ef816112cb565b92915050565b5f819050919050565b611307816112f5565b8114611311575f80fd5b50565b5f81359050611322816112fe565b92915050565b5f806040838503121561133e5761133d611293565b5b5f61134b858286016112e1565b925050602061135c85828601611314565b9150509250929050565b5f8115159050919050565b61137a81611366565b82525050565b5f6020820190506113935f830184611371565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126113ba576113b9611399565b5b8235905067ffffffffffffffff8111156113d7576113d661139d565b5b6020830191508360208202830111156113f3576113f26113a1565b5b9250929050565b5f80602083850312156114105761140f611293565b5b5f83013567ffffffffffffffff81111561142d5761142c611297565b5b611439858286016113a5565b92509250509250929050565b61144e816112f5565b82525050565b5f6020820190506114675f830184611445565b92915050565b5f805f6060848603121561148457611483611293565b5b5f611491868287016112e1565b93505060206114a2868287016112e1565b92505060406114b386828701611314565b9150509250925092565b5f60ff82169050919050565b6114d2816114bd565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa81611366565b8114611504575f80fd5b50565b5f81359050611515816114f1565b92915050565b5f602082840312156115305761152f611293565b5b5f61153d84828501611507565b91505092915050565b5f6020828403121561155b5761155a611293565b5b5f611568848285016112e1565b91505092915050565b61157a816112ba565b82525050565b5f6020820190506115935f830184611571565b92915050565b5f80604083850312156115af576115ae611293565b5b5f6115bc858286016112e1565b92505060206115cd858286016112e1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061161b57607f821691505b60208210810361162e5761162d6115d7565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000005f82015250565b5f611695601a836111f3565b91506116a082611661565b602082019050919050565b5f6020820190508181035f8301526116c281611689565b9050919050565b7f4163636f756e7420697320616c726561647920626c61636b6c697374656400005f82015250565b5f6116fd601e836111f3565b9150611708826116c9565b602082019050919050565b5f6020820190508181035f83015261172a816116f1565b9050919050565b5f6060820190506117445f830186611571565b6117516020830185611445565b61175e6040830184611445565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61179d826112f5565b91506117a8836112f5565b92508282019050808211156117c0576117bf611766565b5b9291505056fea2646970667358221220468b0f1404633797096d6caeb84b0b0d07b3a29a4e4c3ed8ba432297c2aeb87164736f6c63430008160033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000b5172b0c710000000000000000000000000000000000000000000000000000000000000008504550452055575500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044355544500000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610109575f3560e01c8063715018a6116100a0578063a9059cbb1161006f578063a9059cbb14610291578063dd62ed3e146102c1578063f2fde38b146102f1578063f9f92be41461030d578063fe575a871461032957610109565b8063715018a61461022f57806375e3661e146102395780638da5cb5b1461025557806395d89b411461027357610109565b806323b872dd116100dc57806323b872dd14610195578063313ce567146101c557806340a9fc8f146101e357806370a08231146101ff57610109565b806306fdde031461010d578063095ea7b31461012b578063158dd30d1461015b57806318160ddd14610177575b5f80fd5b610115610359565b6040516101229190611273565b60405180910390f35b61014560048036038101906101409190611328565b6103e9565b6040516101529190611380565b60405180910390f35b610175600480360381019061017091906113fa565b61040b565b005b61017f61058e565b60405161018c9190611454565b60405180910390f35b6101af60048036038101906101aa919061146d565b610597565b6040516101bc9190611380565b60405180910390f35b6101cd6105c5565b6040516101da91906114d8565b60405180910390f35b6101fd60048036038101906101f8919061151b565b6105cd565b005b61021960048036038101906102149190611546565b610628565b6040516102269190611454565b60405180910390f35b61023761066d565b005b610253600480360381019061024e9190611546565b61067f565b005b61025d6107aa565b60405161026a9190611580565b60405180910390f35b61027b6107d2565b6040516102889190611273565b60405180910390f35b6102ab60048036038101906102a69190611328565b610862565b6040516102b89190611380565b60405180910390f35b6102db60048036038101906102d69190611599565b610884565b6040516102e89190611454565b60405180910390f35b61030b60048036038101906103069190611546565b610906565b005b61032760048036038101906103229190611546565b61098a565b005b610343600480360381019061033e9190611546565b610ab7565b6040516103509190611380565b60405180910390f35b60606003805461036890611604565b80601f016020809104026020016040519081016040528092919081815260200182805461039490611604565b80156103df5780601f106103b6576101008083540402835291602001916103df565b820191905f5260205f20905b8154815290600101906020018083116103c257829003601f168201915b5050505050905090565b5f806103f3610b09565b9050610400818585610b10565b600191505092915050565b610413610b22565b5f5b828290508110156105895760065f84848481811061043657610435611634565b5b905060200201602081019061044b9190611546565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661057c57600160065f8585858181106104ad576104ac611634565b5b90506020020160208101906104c29190611546565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555082828281811061052457610523611634565b5b90506020020160208101906105399190611546565b73ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a25b8080600101915050610415565b505050565b5f600254905090565b5f806105a1610b09565b90506105ae858285610ba9565b6105b9858585610c3b565b60019150509392505050565b5f6012905090565b6105d5610b22565b8060075f6101000a81548160ff0219169083151502179055507fcac129166f0e6d51bc39399e64e03aeda70734efb41cd0884267b2a3914a68d78160405161061d9190611380565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610675610b22565b61067d610d2b565b565b610687610b22565b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610710576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610707906116ab565b60405180910390fd5b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107e190611604565b80601f016020809104026020016040519081016040528092919081815260200182805461080d90611604565b80156108585780601f1061082f57610100808354040283529160200191610858565b820191905f5260205f20905b81548152906001019060200180831161083b57829003601f168201915b5050505050905090565b5f8061086c610b09565b9050610879818585610c3b565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61090e610b22565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361097e575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016109759190611580565b60405180910390fd5b61098781610d3e565b50565b610992610b22565b60065f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615610a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1390611713565b60405180910390fd5b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f33905090565b610b1d8383836001610e01565b505050565b610b2a610b09565b73ffffffffffffffffffffffffffffffffffffffff16610b486107aa565b73ffffffffffffffffffffffffffffffffffffffff1614610ba757610b6b610b09565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610b9e9190611580565b60405180910390fd5b565b5f610bb48484610884565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c355781811015610c26578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c1d93929190611731565b60405180910390fd5b610c3484848484035f610e01565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cab575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ca29190611580565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d1b575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d129190611580565b60405180910390fd5b610d26838383610fd0565b505050565b610d33610b22565b610d3c5f610d3e565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e71575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610e689190611580565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee1575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610ed89190611580565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610fca578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610fc19190611454565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611020578060025f8282546110149190611793565b925050819055506110ee565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156110a9578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110a093929190611731565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611135578060025f828254039250508190555061117f565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111dc9190611454565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611220578082015181840152602081019050611205565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611245826111e9565b61124f81856111f3565b935061125f818560208601611203565b6112688161122b565b840191505092915050565b5f6020820190508181035f83015261128b818461123b565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112c48261129b565b9050919050565b6112d4816112ba565b81146112de575f80fd5b50565b5f813590506112ef816112cb565b92915050565b5f819050919050565b611307816112f5565b8114611311575f80fd5b50565b5f81359050611322816112fe565b92915050565b5f806040838503121561133e5761133d611293565b5b5f61134b858286016112e1565b925050602061135c85828601611314565b9150509250929050565b5f8115159050919050565b61137a81611366565b82525050565b5f6020820190506113935f830184611371565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126113ba576113b9611399565b5b8235905067ffffffffffffffff8111156113d7576113d661139d565b5b6020830191508360208202830111156113f3576113f26113a1565b5b9250929050565b5f80602083850312156114105761140f611293565b5b5f83013567ffffffffffffffff81111561142d5761142c611297565b5b611439858286016113a5565b92509250509250929050565b61144e816112f5565b82525050565b5f6020820190506114675f830184611445565b92915050565b5f805f6060848603121561148457611483611293565b5b5f611491868287016112e1565b93505060206114a2868287016112e1565b92505060406114b386828701611314565b9150509250925092565b5f60ff82169050919050565b6114d2816114bd565b82525050565b5f6020820190506114eb5f8301846114c9565b92915050565b6114fa81611366565b8114611504575f80fd5b50565b5f81359050611515816114f1565b92915050565b5f602082840312156115305761152f611293565b5b5f61153d84828501611507565b91505092915050565b5f6020828403121561155b5761155a611293565b5b5f611568848285016112e1565b91505092915050565b61157a816112ba565b82525050565b5f6020820190506115935f830184611571565b92915050565b5f80604083850312156115af576115ae611293565b5b5f6115bc858286016112e1565b92505060206115cd858286016112e1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061161b57607f821691505b60208210810361162e5761162d6115d7565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000005f82015250565b5f611695601a836111f3565b91506116a082611661565b602082019050919050565b5f6020820190508181035f8301526116c281611689565b9050919050565b7f4163636f756e7420697320616c726561647920626c61636b6c697374656400005f82015250565b5f6116fd601e836111f3565b9150611708826116c9565b602082019050919050565b5f6020820190508181035f83015261172a816116f1565b9050919050565b5f6060820190506117445f830186611571565b6117516020830185611445565b61175e6040830184611445565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61179d826112f5565b91506117a8836112f5565b92508282019050808211156117c0576117bf611766565b5b9291505056fea2646970667358221220468b0f1404633797096d6caeb84b0b0d07b3a29a4e4c3ed8ba432297c2aeb87164736f6c63430008160033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000b5172b0c710000000000000000000000000000000000000000000000000000000000000008504550452055575500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044355544500000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): PEPE UWU
Arg [1] : symbol (string): CUTE
Arg [2] : initialSupply (uint256): 777777777777

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000000000000000000000000000000000b5172b0c71
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 5045504520555755000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4355544500000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

25768:2190:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16371:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18664:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26811:306;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17473:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19432:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17324:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27245:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17635:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27856:99;;;:::i;:::-;;26595:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9309:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16581:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17958:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18203:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10242:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26379:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27125:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16371:91;16416:13;16449:5;16442:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16371:91;:::o;18664:190::-;18737:4;18754:13;18770:12;:10;:12::i;:::-;18754:28;;18793:31;18802:5;18809:7;18818:5;18793:8;:31::i;:::-;18842:4;18835:11;;;18664:190;;;;:::o;26811:306::-;9195:13;:11;:13::i;:::-;26900:9:::1;26895:215;26919:8;;:15;;26915:1;:19;26895:215;;;26961:10;:23;26972:8;;26981:1;26972:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;26961:23;;;;;;;;;;;;;;;;;;;;;;;;;26956:143;;27031:4;27005:10;:23;27016:8;;27025:1;27016:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;27005:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;27071:8;;27080:1;27071:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;27059:24;;;;;;;;;;;;26956:143;26936:3;;;;;;;26895:215;;;;26811:306:::0;;:::o;17473:99::-;17525:7;17552:12;;17545:19;;17473:99;:::o;19432:249::-;19519:4;19536:15;19554:12;:10;:12::i;:::-;19536:30;;19577:37;19593:4;19599:7;19608:5;19577:15;:37::i;:::-;19625:26;19635:4;19641:2;19645:5;19625:9;:26::i;:::-;19669:4;19662:11;;;19432:249;;;;;:::o;17324:84::-;17373:5;17398:2;17391:9;;17324:84;:::o;27245:157::-;9195:13;:11;:13::i;:::-;27339:6:::1;27317:19;;:28;;;;;;;;;;;;;;;;;;27361:33;27387:6;27361:33;;;;;;:::i;:::-;;;;;;;;27245:157:::0;:::o;17635:118::-;17700:7;17727:9;:18;17737:7;17727:18;;;;;;;;;;;;;;;;17720:25;;17635:118;;;:::o;27856:99::-;9195:13;:11;:13::i;:::-;27922:25:::1;:23;:25::i;:::-;27856:99::o:0;26595:208::-;9195:13;:11;:13::i;:::-;26669:10:::1;:19;26680:7;26669:19;;;;;;;;;;;;;;;;;;;;;;;;;26661:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;26752:5;26730:10;:19;26741:7;26730:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;26787:7;26773:22;;;;;;;;;;;;26595:208:::0;:::o;9309:87::-;9355:7;9382:6;;;;;;;;;;;9375:13;;9309:87;:::o;16581:95::-;16628:13;16661:7;16654:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16581:95;:::o;17958:182::-;18027:4;18044:13;18060:12;:10;:12::i;:::-;18044:28;;18083:27;18093:5;18100:2;18104:5;18083:9;:27::i;:::-;18128:4;18121:11;;;17958:182;;;;:::o;18203:142::-;18283:7;18310:11;:18;18322:5;18310:18;;;;;;;;;;;;;;;:27;18329:7;18310:27;;;;;;;;;;;;;;;;18303:34;;18203:142;;;;:::o;10242:220::-;9195:13;:11;:13::i;:::-;10347:1:::1;10327:22;;:8;:22;;::::0;10323:93:::1;;10401:1;10373:31;;;;;;;;;;;:::i;:::-;;;;;;;;10323:93;10426:28;10445:8;10426:18;:28::i;:::-;10242:220:::0;:::o;26379:208::-;9195:13;:11;:13::i;:::-;26452:10:::1;:19;26463:7;26452:19;;;;;;;;;;;;;;;;;;;;;;;;;26451:20;26443:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;26539:4;26517:10;:19;26528:7;26517:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;26571:7;26559:20;;;;;;;;;;;;26379:208:::0;:::o;27125:112::-;27186:4;27210:10;:19;27221:7;27210:19;;;;;;;;;;;;;;;;;;;;;;;;;27203:26;;27125:112;;;:::o;7425:98::-;7478:7;7505:10;7498:17;;7425:98;:::o;23491:130::-;23576:37;23585:5;23592:7;23601:5;23608:4;23576:8;:37::i;:::-;23491:130;;;:::o;9474:166::-;9545:12;:10;:12::i;:::-;9534:23;;:7;:5;:7::i;:::-;:23;;;9530:103;;9608:12;:10;:12::i;:::-;9581:40;;;;;;;;;;;:::i;:::-;;;;;;;;9530:103;9474:166::o;25207:487::-;25307:24;25334:25;25344:5;25351:7;25334:9;:25::i;:::-;25307:52;;25394:17;25374:16;:37;25370:317;;25451:5;25432:16;:24;25428:132;;;25511:7;25520:16;25538:5;25484:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;25428:132;25603:57;25612:5;25619:7;25647:5;25628:16;:24;25654:5;25603:8;:57::i;:::-;25370:317;25296:398;25207:487;;;:::o;20066:308::-;20166:1;20150:18;;:4;:18;;;20146:88;;20219:1;20192:30;;;;;;;;;;;:::i;:::-;;;;;;;;20146:88;20262:1;20248:16;;:2;:16;;;20244:88;;20317:1;20288:32;;;;;;;;;;;:::i;:::-;;;;;;;;20244:88;20342:24;20350:4;20356:2;20360:5;20342:7;:24::i;:::-;20066:308;;;:::o;9984:103::-;9195:13;:11;:13::i;:::-;10049:30:::1;10076:1;10049:18;:30::i;:::-;9984:103::o:0;10622:191::-;10696:16;10715:6;;;;;;;;;;;10696:25;;10741:8;10732:6;;:17;;;;;;;;;;;;;;;;;;10796:8;10765:40;;10786:8;10765:40;;;;;;;;;;;;10685:128;10622:191;:::o;24472:443::-;24602:1;24585:19;;:5;:19;;;24581:91;;24657:1;24628:32;;;;;;;;;;;:::i;:::-;;;;;;;;24581:91;24705:1;24686:21;;:7;:21;;;24682:92;;24759:1;24731:31;;;;;;;;;;;:::i;:::-;;;;;;;;24682:92;24814:5;24784:11;:18;24796:5;24784:18;;;;;;;;;;;;;;;:27;24803:7;24784:27;;;;;;;;;;;;;;;:35;;;;24834:9;24830:78;;;24881:7;24865:31;;24874:5;24865:31;;;24890:5;24865:31;;;;;;:::i;:::-;;;;;;;;24830:78;24472:443;;;;:::o;20698:1135::-;20804:1;20788:18;;:4;:18;;;20784:552;;20942:5;20926:12;;:21;;;;;;;:::i;:::-;;;;;;;;20784:552;;;20980:19;21002:9;:15;21012:4;21002:15;;;;;;;;;;;;;;;;20980:37;;21050:5;21036:11;:19;21032:117;;;21108:4;21114:11;21127:5;21083:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;21032:117;21304:5;21290:11;:19;21272:9;:15;21282:4;21272:15;;;;;;;;;;;;;;;:37;;;;20965:371;20784:552;21366:1;21352:16;;:2;:16;;;21348:435;;21534:5;21518:12;;:21;;;;;;;;;;;21348:435;;;21751:5;21734:9;:13;21744:2;21734:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;21348:435;21815:2;21800:25;;21809:4;21800:25;;;21819:5;21800:25;;;;;;:::i;:::-;;;;;;;;20698:1135;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:117;3678:1;3675;3668:12;3692:117;3801:1;3798;3791:12;3832:568;3905:8;3915:6;3965:3;3958:4;3950:6;3946:17;3942:27;3932:122;;3973:79;;:::i;:::-;3932:122;4086:6;4073:20;4063:30;;4116:18;4108:6;4105:30;4102:117;;;4138:79;;:::i;:::-;4102:117;4252:4;4244:6;4240:17;4228:29;;4306:3;4298:4;4290:6;4286:17;4276:8;4272:32;4269:41;4266:128;;;4313:79;;:::i;:::-;4266:128;3832:568;;;;;:::o;4406:559::-;4492:6;4500;4549:2;4537:9;4528:7;4524:23;4520:32;4517:119;;;4555:79;;:::i;:::-;4517:119;4703:1;4692:9;4688:17;4675:31;4733:18;4725:6;4722:30;4719:117;;;4755:79;;:::i;:::-;4719:117;4868:80;4940:7;4931:6;4920:9;4916:22;4868:80;:::i;:::-;4850:98;;;;4646:312;4406:559;;;;;:::o;4971:118::-;5058:24;5076:5;5058:24;:::i;:::-;5053:3;5046:37;4971:118;;:::o;5095:222::-;5188:4;5226:2;5215:9;5211:18;5203:26;;5239:71;5307:1;5296:9;5292:17;5283:6;5239:71;:::i;:::-;5095:222;;;;:::o;5323:619::-;5400:6;5408;5416;5465:2;5453:9;5444:7;5440:23;5436:32;5433:119;;;5471:79;;:::i;:::-;5433:119;5591:1;5616:53;5661:7;5652:6;5641:9;5637:22;5616:53;:::i;:::-;5606:63;;5562:117;5718:2;5744:53;5789:7;5780:6;5769:9;5765:22;5744:53;:::i;:::-;5734:63;;5689:118;5846:2;5872:53;5917:7;5908:6;5897:9;5893:22;5872:53;:::i;:::-;5862:63;;5817:118;5323:619;;;;;:::o;5948:86::-;5983:7;6023:4;6016:5;6012:16;6001:27;;5948:86;;;:::o;6040:112::-;6123:22;6139:5;6123:22;:::i;:::-;6118:3;6111:35;6040:112;;:::o;6158:214::-;6247:4;6285:2;6274:9;6270:18;6262:26;;6298:67;6362:1;6351:9;6347:17;6338:6;6298:67;:::i;:::-;6158:214;;;;:::o;6378:116::-;6448:21;6463:5;6448:21;:::i;:::-;6441:5;6438:32;6428:60;;6484:1;6481;6474:12;6428:60;6378:116;:::o;6500:133::-;6543:5;6581:6;6568:20;6559:29;;6597:30;6621:5;6597:30;:::i;:::-;6500:133;;;;:::o;6639:323::-;6695:6;6744:2;6732:9;6723:7;6719:23;6715:32;6712:119;;;6750:79;;:::i;:::-;6712:119;6870:1;6895:50;6937:7;6928:6;6917:9;6913:22;6895:50;:::i;:::-;6885:60;;6841:114;6639:323;;;;:::o;6968:329::-;7027:6;7076:2;7064:9;7055:7;7051:23;7047:32;7044:119;;;7082:79;;:::i;:::-;7044:119;7202:1;7227:53;7272:7;7263:6;7252:9;7248:22;7227:53;:::i;:::-;7217:63;;7173:117;6968:329;;;;:::o;7303:118::-;7390:24;7408:5;7390:24;:::i;:::-;7385:3;7378:37;7303:118;;:::o;7427:222::-;7520:4;7558:2;7547:9;7543:18;7535:26;;7571:71;7639:1;7628:9;7624:17;7615:6;7571:71;:::i;:::-;7427:222;;;;:::o;7655:474::-;7723:6;7731;7780:2;7768:9;7759:7;7755:23;7751:32;7748:119;;;7786:79;;:::i;:::-;7748:119;7906:1;7931:53;7976:7;7967:6;7956:9;7952:22;7931:53;:::i;:::-;7921:63;;7877:117;8033:2;8059:53;8104:7;8095:6;8084:9;8080:22;8059:53;:::i;:::-;8049:63;;8004:118;7655:474;;;;;:::o;8135:180::-;8183:77;8180:1;8173:88;8280:4;8277:1;8270:15;8304:4;8301:1;8294:15;8321:320;8365:6;8402:1;8396:4;8392:12;8382:22;;8449:1;8443:4;8439:12;8470:18;8460:81;;8526:4;8518:6;8514:17;8504:27;;8460:81;8588:2;8580:6;8577:14;8557:18;8554:38;8551:84;;8607:18;;:::i;:::-;8551:84;8372:269;8321:320;;;:::o;8647:180::-;8695:77;8692:1;8685:88;8792:4;8789:1;8782:15;8816:4;8813:1;8806:15;8833:176;8973:28;8969:1;8961:6;8957:14;8950:52;8833:176;:::o;9015:366::-;9157:3;9178:67;9242:2;9237:3;9178:67;:::i;:::-;9171:74;;9254:93;9343:3;9254:93;:::i;:::-;9372:2;9367:3;9363:12;9356:19;;9015:366;;;:::o;9387:419::-;9553:4;9591:2;9580:9;9576:18;9568:26;;9640:9;9634:4;9630:20;9626:1;9615:9;9611:17;9604:47;9668:131;9794:4;9668:131;:::i;:::-;9660:139;;9387:419;;;:::o;9812:180::-;9952:32;9948:1;9940:6;9936:14;9929:56;9812:180;:::o;9998:366::-;10140:3;10161:67;10225:2;10220:3;10161:67;:::i;:::-;10154:74;;10237:93;10326:3;10237:93;:::i;:::-;10355:2;10350:3;10346:12;10339:19;;9998:366;;;:::o;10370:419::-;10536:4;10574:2;10563:9;10559:18;10551:26;;10623:9;10617:4;10613:20;10609:1;10598:9;10594:17;10587:47;10651:131;10777:4;10651:131;:::i;:::-;10643:139;;10370:419;;;:::o;10795:442::-;10944:4;10982:2;10971:9;10967:18;10959:26;;10995:71;11063:1;11052:9;11048:17;11039:6;10995:71;:::i;:::-;11076:72;11144:2;11133:9;11129:18;11120:6;11076:72;:::i;:::-;11158;11226:2;11215:9;11211:18;11202:6;11158:72;:::i;:::-;10795:442;;;;;;:::o;11243:180::-;11291:77;11288:1;11281:88;11388:4;11385:1;11378:15;11412:4;11409:1;11402:15;11429:191;11469:3;11488:20;11506:1;11488:20;:::i;:::-;11483:25;;11522:20;11540:1;11522:20;:::i;:::-;11517:25;;11565:1;11562;11558:9;11551:16;;11586:3;11583:1;11580:10;11577:36;;;11593:18;;:::i;:::-;11577:36;11429:191;;;;:::o

Swarm Source

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