Amoy Testnet

Token

G@POL (@G)
ERC-20

Overview

Max Total Supply

15.570732323199767911 @G

Holders

7

Total Transfers

-

Market

Price

$0.00 @ 0.000000 POL

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
LiquidityStoragerERC20

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at amoy.polygonscan.com on 2024-12-17
*/

// SPDX-License-Identifier: MIT

// OpenZeppelin Contracts

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

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

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

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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @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 {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @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 {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _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);
    }
}


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

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

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

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

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

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

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

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

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

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

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


pragma solidity ^0.8.0;
/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.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.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

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

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Graphite Contracts

pragma solidity 0.8.17;

contract GraphiteToken is ERC20, Ownable {
    constructor(string memory name, string memory symbol)
        ERC20(name, symbol)
        Ownable() {}

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

    function _checkOwner() internal view override {
        require(owner() == _msgSender(), "LS103");
    }
}

pragma solidity 0.8.17;
/**
 * @title LiquidityStorager smart-contract
 * @notice Smart-contract stores liquidity for exchange crypto from one (source) chain to another
 * one (destination chain). When you need to exchange chain A native currency from chain A to
 * chain B currency to chain B you only need to call `swap` function with appropriate parameters
 * (check description of `swap` function for more details). Our backend is listening for
 * `SwapInitialized` event and if one has been emitted, they will call `redeem` function on the
 * destination chain with appropriate parameters (check description of `redeem` function for more details).
 */
contract LiquidityStoragerERC20 is GraphiteToken {
    uint256 public exchangeRoyalty = 1;
    uint256 private ownerBalance;
    uint256 internal minTransferAmount;

    enum RedeemStatus {
        UNKNOWN,
        HANDLED
    }

    mapping(bytes => RedeemStatus) public redeems;

    constructor(address newOwner, string memory tokenName, string memory tokenSymbol, uint256 _minTransferAmount) GraphiteToken(tokenName, tokenSymbol) {
        transferOwnership(newOwner);
        minTransferAmount = _minTransferAmount;
    }


    /**
     * EVENTS
     */

    /**
     * @notice emitted from `swap` function
     */
    event Swap(address to, uint256 chainId, uint256 value);

    /**
     * @notice emitted from `redeem` function
     */
    event Redeem(address to, uint256 value, RedeemStatus status);

    /**
     * FUNCTIONS
     */

    /**
     * @notice USE ONLY WITH GRAPHITE BRIDGE FRONTEND AT BRIDGE.ATGRAPHITE.COM
     * @notice Allows you to transfer token from src chain to dest chain.
     *
     * @param to address from dest chain to which one value will be sent
     * @param destChainId id of the dest chain
     * @param amount amount of token to transfer
     */
    function swapToken(
        address to,
        uint256 destChainId,
        uint256 amount
    ) external {
        require(destChainId != block.chainid, "LS203");
        require(amount >= minTransferAmount, "LS204");

        uint256 royalty = (amount / 100) * exchangeRoyalty;
        ownerBalance += royalty;

        _burn(msg.sender, amount);

        emit Swap(to, destChainId, amount - royalty);
    }

    /**
     * @notice This function called by watcher in the destination network when they got `SwapInitialized` event.
     * if `signatures` are correct and if such message wasn't handled before, `to` address gets
     * `value.
     *
     * @param to address from dest chain to which one value will be sent
     * @param value value of currency that contract must send
     */
    function redeem(
        address to,
        uint256 value,
        bytes calldata redeemUID
    ) external onlyOwner {
        require(redeems[redeemUID] == RedeemStatus.UNKNOWN, "LS001");

        redeems[redeemUID] = RedeemStatus.HANDLED;
        _mint(to, value);

        emit Redeem(to, value, redeems[redeemUID]);
    }

    /**
     * @notice Allows the Watcher to withdraw all liquidity or only some part (check amount desc)
     *
     * @param amount amount of liquidity that need to withdraw. If amount is equal to zero, then all available balance
     * will be withdraw
     */
    function withdrawRoyalty(uint256 amount) external onlyOwner {
        uint256 balance = getOwnerBalance();
        require(amount <= balance, "LS002");

        amount = amount == 0 ? balance : amount;
        ownerBalance -= amount;
        _mint(msg.sender, amount);
    }

    /**
     * @notice This function called by owner to set new exchange royalty value
     * 
     * @param amount new percentage value of 
     */
    function setExchangeRoyalty(uint256 amount) external onlyOwner {
        require(amount >= 0 && amount <= 100, "LS003");

        exchangeRoyalty = amount;
    }

    /**
     * @notice This function called by owner to set new allowed minimal transfer amount
     * 
     * @param amount new minimal transfer amount 
     */
    function setMinTransferAmount(uint256 amount) external onlyOwner {
        minTransferAmount = amount;
    }

    /**
     * @notice This function is returns actual balance owner
     */
    function getOwnerBalance() public view returns (uint256) {
        return ownerBalance;
    }

    /**
     * @notice This function is returns actual minTransferAmount
     */
    function getMinTransferAmount() external view returns (uint256) {
        return minTransferAmount;
    }    
}

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint256","name":"_minTransferAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"enum LiquidityStoragerERC20.RedeemStatus","name":"status","type":"uint8"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeRoyalty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwnerBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"redeemUID","type":"bytes"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"redeems","outputs":[{"internalType":"enum LiquidityStoragerERC20.RedeemStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setExchangeRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinTransferAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"destChainId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapToken","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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRoyalty","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260016006553480156200001657600080fd5b506040516200312b3803806200312b83398181016040528101906200003c9190620004fc565b828281818160039081620000519190620007ed565b508060049081620000639190620007ed565b505050620000866200007a620000aa60201b60201c565b620000b260201b60201c565b505062000099846200017860201b60201c565b8060088190555050505050620009ef565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001886200020e60201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001f1906200095b565b60405180910390fd5b6200020b81620000b260201b60201c565b50565b6200021e620000aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620002446200029f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200029d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029490620009cd565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200030a82620002dd565b9050919050565b6200031c81620002fd565b81146200032857600080fd5b50565b6000815190506200033c8162000311565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000397826200034c565b810181811067ffffffffffffffff82111715620003b957620003b86200035d565b5b80604052505050565b6000620003ce620002c9565b9050620003dc82826200038c565b919050565b600067ffffffffffffffff821115620003ff57620003fe6200035d565b5b6200040a826200034c565b9050602081019050919050565b60005b83811015620004375780820151818401526020810190506200041a565b60008484015250505050565b60006200045a6200045484620003e1565b620003c2565b90508281526020810184848401111562000479576200047862000347565b5b6200048684828562000417565b509392505050565b600082601f830112620004a657620004a562000342565b5b8151620004b884826020860162000443565b91505092915050565b6000819050919050565b620004d681620004c1565b8114620004e257600080fd5b50565b600081519050620004f681620004cb565b92915050565b60008060008060808587031215620005195762000518620002d3565b5b600062000529878288016200032b565b945050602085015167ffffffffffffffff8111156200054d576200054c620002d8565b5b6200055b878288016200048e565b935050604085015167ffffffffffffffff8111156200057f576200057e620002d8565b5b6200058d878288016200048e565b9250506060620005a087828801620004e5565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005ff57607f821691505b602082108103620006155762000614620005b7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200067f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000640565b6200068b868362000640565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006ce620006c8620006c284620004c1565b620006a3565b620004c1565b9050919050565b6000819050919050565b620006ea83620006ad565b62000702620006f982620006d5565b8484546200064d565b825550505050565b600090565b620007196200070a565b62000726818484620006df565b505050565b5b818110156200074e57620007426000826200070f565b6001810190506200072c565b5050565b601f8211156200079d5762000767816200061b565b620007728462000630565b8101602085101562000782578190505b6200079a620007918562000630565b8301826200072b565b50505b505050565b600082821c905092915050565b6000620007c260001984600802620007a2565b1980831691505092915050565b6000620007dd8383620007af565b9150826002028217905092915050565b620007f882620005ac565b67ffffffffffffffff8111156200081457620008136200035d565b5b620008208254620005e6565b6200082d82828562000752565b600060209050601f83116001811462000865576000841562000850578287015190505b6200085c8582620007cf565b865550620008cc565b601f19841662000875866200061b565b60005b828110156200089f5784890151825560018201915060208501945060208101905062000878565b86831015620008bf5784890151620008bb601f891682620007af565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600062000943602683620008d4565b91506200095082620008e5565b604082019050919050565b60006020820190508181036000830152620009768162000934565b9050919050565b7f4c53313033000000000000000000000000000000000000000000000000000000600082015250565b6000620009b5600583620008d4565b9150620009c2826200097d565b602082019050919050565b60006020820190508181036000830152620009e881620009a6565b9050919050565b61272c80620009ff6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806372618aac116100c3578063a457c2d71161007c578063a457c2d7146103b5578063a9059cbb146103e5578063b92e639614610415578063d3524a9514610431578063dd62ed3e1461044f578063f2fde38b1461047f57610158565b806372618aac146102f35780637f2015811461030f578063873c852a1461032b5780638da5cb5b1461035b578063913a4bc51461037957806395d89b411461039757610158565b80633950935111610115578063395093511461023357806340c10f191461026357806357a2eda91461027f578063590791f21461029b57806370a08231146102b9578063715018a6146102e957610158565b806306fdde031461015d578063095ea7b31461017b57806310badf4e146101ab57806318160ddd146101c757806323b872dd146101e5578063313ce56714610215575b600080fd5b61016561049b565b6040516101729190611635565b60405180910390f35b610195600480360381019061019091906116ff565b61052d565b6040516101a2919061175a565b60405180910390f35b6101c560048036038101906101c091906117da565b610550565b005b6101cf6106ad565b6040516101dc919061185d565b60405180910390f35b6101ff60048036038101906101fa9190611878565b6106b7565b60405161020c919061175a565b60405180910390f35b61021d6106e6565b60405161022a91906118e7565b60405180910390f35b61024d600480360381019061024891906116ff565b6106ef565b60405161025a919061175a565b60405180910390f35b61027d600480360381019061027891906116ff565b610726565b005b61029960048036038101906102949190611902565b61073c565b005b6102a36107cc565b6040516102b0919061185d565b60405180910390f35b6102d360048036038101906102ce919061192f565b6107d6565b6040516102e0919061185d565b60405180910390f35b6102f161081e565b005b61030d6004803603810190610308919061195c565b610832565b005b61032960048036038101906103249190611902565b610946565b005b61034560048036038101906103409190611adf565b6109a9565b6040516103529190611b9f565b60405180910390f35b6103636109df565b6040516103709190611bc9565b60405180910390f35b610381610a09565b60405161038e919061185d565b60405180910390f35b61039f610a13565b6040516103ac9190611635565b60405180910390f35b6103cf60048036038101906103ca91906116ff565b610aa5565b6040516103dc919061175a565b60405180910390f35b6103ff60048036038101906103fa91906116ff565b610b1c565b60405161040c919061175a565b60405180910390f35b61042f600480360381019061042a9190611902565b610b3f565b005b610439610b51565b604051610446919061185d565b60405180910390f35b61046960048036038101906104649190611be4565b610b57565b604051610476919061185d565b60405180910390f35b6104996004803603810190610494919061192f565b610bde565b005b6060600380546104aa90611c53565b80601f01602080910402602001604051908101604052809291908181526020018280546104d690611c53565b80156105235780601f106104f857610100808354040283529160200191610523565b820191906000526020600020905b81548152906001019060200180831161050657829003601f168201915b5050505050905090565b600080610538610c61565b9050610545818585610c69565b600191505092915050565b610558610e32565b6000600181111561056c5761056b611b28565b5b6009838360405161057e929190611cb4565b908152602001604051809103902060009054906101000a900460ff1660018111156105ac576105ab611b28565b5b146105ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e390611d19565b60405180910390fd5b600160098383604051610600929190611cb4565b908152602001604051809103902060006101000a81548160ff021916908360018111156106305761062f611b28565b5b021790555061063f8484610eb0565b7f6de3539db832d0d4eeb992f4ee0b66dd5e3e70ba3239246f9699bb8c7488e70b848460098585604051610674929190611cb4565b908152602001604051809103902060009054906101000a900460ff1660405161069f93929190611d39565b60405180910390a150505050565b6000600254905090565b6000806106c2610c61565b90506106cf858285611006565b6106da858585611092565b60019150509392505050565b60006012905090565b6000806106fa610c61565b905061071b81858561070c8589610b57565b6107169190611d9f565b610c69565b600191505092915050565b61072e610e32565b6107388282610eb0565b5050565b610744610e32565b600061074e6107cc565b905080821115610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a90611e1f565b60405180910390fd5b600082146107a157816107a3565b805b915081600760008282546107b79190611e3f565b925050819055506107c83383610eb0565b5050565b6000600754905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610826610e32565b6108306000611308565b565b468203610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90611ebf565b60405180910390fd5b6008548110156108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090611f2b565b60405180910390fd5b60006006546064836108cb9190611f7a565b6108d59190611fab565b905080600760008282546108e99190611d9f565b925050819055506108fa33836113ce565b7f77f92a1b6a1a11de8ca49515ad4c1fad45632dd3442167d74b90b304a3c7a758848483856109299190611e3f565b60405161093893929190611fed565b60405180910390a150505050565b61094e610e32565b60008110158015610960575060648111155b61099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099690612070565b60405180910390fd5b8060068190555050565b6009818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600854905090565b606060048054610a2290611c53565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90611c53565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b600080610ab0610c61565b90506000610abe8286610b57565b905083811015610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90612102565b60405180910390fd5b610b108286868403610c69565b60019250505092915050565b600080610b27610c61565b9050610b34818585611092565b600191505092915050565b610b47610e32565b8060088190555050565b60065481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be6610e32565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c90612194565b60405180910390fd5b610c5e81611308565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccf90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906122b8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e25919061185d565b60405180910390a3505050565b610e3a610c61565b73ffffffffffffffffffffffffffffffffffffffff16610e586109df565b73ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590612324565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612390565b60405180910390fd5b610f2b6000838361159b565b8060026000828254610f3d9190611d9f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fee919061185d565b60405180910390a3611002600083836115a0565b5050565b60006110128484610b57565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461108c578181101561107e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611075906123fc565b60405180910390fd5b61108b8484848403610c69565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f89061248e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612520565b60405180910390fd5b61117b83838361159b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f8906125b2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112ef919061185d565b60405180910390a36113028484846115a0565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490612644565b60405180910390fd5b6114498260008361159b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c6906126d6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611582919061185d565b60405180910390a3611596836000846115a0565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115df5780820151818401526020810190506115c4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611607826115a5565b61161181856115b0565b93506116218185602086016115c1565b61162a816115eb565b840191505092915050565b6000602082019050818103600083015261164f81846115fc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116968261166b565b9050919050565b6116a68161168b565b81146116b157600080fd5b50565b6000813590506116c38161169d565b92915050565b6000819050919050565b6116dc816116c9565b81146116e757600080fd5b50565b6000813590506116f9816116d3565b92915050565b6000806040838503121561171657611715611661565b5b6000611724858286016116b4565b9250506020611735858286016116ea565b9150509250929050565b60008115159050919050565b6117548161173f565b82525050565b600060208201905061176f600083018461174b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261179a57611799611775565b5b8235905067ffffffffffffffff8111156117b7576117b661177a565b5b6020830191508360018202830111156117d3576117d261177f565b5b9250929050565b600080600080606085870312156117f4576117f3611661565b5b6000611802878288016116b4565b9450506020611813878288016116ea565b935050604085013567ffffffffffffffff81111561183457611833611666565b5b61184087828801611784565b925092505092959194509250565b611857816116c9565b82525050565b6000602082019050611872600083018461184e565b92915050565b60008060006060848603121561189157611890611661565b5b600061189f868287016116b4565b93505060206118b0868287016116b4565b92505060406118c1868287016116ea565b9150509250925092565b600060ff82169050919050565b6118e1816118cb565b82525050565b60006020820190506118fc60008301846118d8565b92915050565b60006020828403121561191857611917611661565b5b6000611926848285016116ea565b91505092915050565b60006020828403121561194557611944611661565b5b6000611953848285016116b4565b91505092915050565b60008060006060848603121561197557611974611661565b5b6000611983868287016116b4565b9350506020611994868287016116ea565b92505060406119a5868287016116ea565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ec826115eb565b810181811067ffffffffffffffff82111715611a0b57611a0a6119b4565b5b80604052505050565b6000611a1e611657565b9050611a2a82826119e3565b919050565b600067ffffffffffffffff821115611a4a57611a496119b4565b5b611a53826115eb565b9050602081019050919050565b82818337600083830152505050565b6000611a82611a7d84611a2f565b611a14565b905082815260208101848484011115611a9e57611a9d6119af565b5b611aa9848285611a60565b509392505050565b600082601f830112611ac657611ac5611775565b5b8135611ad6848260208601611a6f565b91505092915050565b600060208284031215611af557611af4611661565b5b600082013567ffffffffffffffff811115611b1357611b12611666565b5b611b1f84828501611ab1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611b6857611b67611b28565b5b50565b6000819050611b7982611b57565b919050565b6000611b8982611b6b565b9050919050565b611b9981611b7e565b82525050565b6000602082019050611bb46000830184611b90565b92915050565b611bc38161168b565b82525050565b6000602082019050611bde6000830184611bba565b92915050565b60008060408385031215611bfb57611bfa611661565b5b6000611c09858286016116b4565b9250506020611c1a858286016116b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c6b57607f821691505b602082108103611c7e57611c7d611c24565b5b50919050565b600081905092915050565b6000611c9b8385611c84565b9350611ca8838584611a60565b82840190509392505050565b6000611cc1828486611c8f565b91508190509392505050565b7f4c53303031000000000000000000000000000000000000000000000000000000600082015250565b6000611d036005836115b0565b9150611d0e82611ccd565b602082019050919050565b60006020820190508181036000830152611d3281611cf6565b9050919050565b6000606082019050611d4e6000830186611bba565b611d5b602083018561184e565b611d686040830184611b90565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611daa826116c9565b9150611db5836116c9565b9250828201905080821115611dcd57611dcc611d70565b5b92915050565b7f4c53303032000000000000000000000000000000000000000000000000000000600082015250565b6000611e096005836115b0565b9150611e1482611dd3565b602082019050919050565b60006020820190508181036000830152611e3881611dfc565b9050919050565b6000611e4a826116c9565b9150611e55836116c9565b9250828203905081811115611e6d57611e6c611d70565b5b92915050565b7f4c53323033000000000000000000000000000000000000000000000000000000600082015250565b6000611ea96005836115b0565b9150611eb482611e73565b602082019050919050565b60006020820190508181036000830152611ed881611e9c565b9050919050565b7f4c53323034000000000000000000000000000000000000000000000000000000600082015250565b6000611f156005836115b0565b9150611f2082611edf565b602082019050919050565b60006020820190508181036000830152611f4481611f08565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f85826116c9565b9150611f90836116c9565b925082611fa057611f9f611f4b565b5b828204905092915050565b6000611fb6826116c9565b9150611fc1836116c9565b9250828202611fcf816116c9565b91508282048414831517611fe657611fe5611d70565b5b5092915050565b60006060820190506120026000830186611bba565b61200f602083018561184e565b61201c604083018461184e565b949350505050565b7f4c53303033000000000000000000000000000000000000000000000000000000600082015250565b600061205a6005836115b0565b915061206582612024565b602082019050919050565b600060208201905081810360008301526120898161204d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006120ec6025836115b0565b91506120f782612090565b604082019050919050565b6000602082019050818103600083015261211b816120df565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061217e6026836115b0565b915061218982612122565b604082019050919050565b600060208201905081810360008301526121ad81612171565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122106024836115b0565b915061221b826121b4565b604082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122a26022836115b0565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4c53313033000000000000000000000000000000000000000000000000000000600082015250565b600061230e6005836115b0565b9150612319826122d8565b602082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061237a601f836115b0565b915061238582612344565b602082019050919050565b600060208201905081810360008301526123a98161236d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006123e6601d836115b0565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124786025836115b0565b91506124838261241c565b604082019050919050565b600060208201905081810360008301526124a78161246b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061250a6023836115b0565b9150612515826124ae565b604082019050919050565b60006020820190508181036000830152612539816124fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061259c6026836115b0565b91506125a782612540565b604082019050919050565b600060208201905081810360008301526125cb8161258f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061262e6021836115b0565b9150612639826125d2565b604082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c06022836115b0565b91506126cb82612664565b604082019050919050565b600060208201905081810360008301526126ef816126b3565b905091905056fea2646970667358221220f0835fc0658db9b6440eda8f489c9896c1829b7ef93114ab5f4c9627c9d805b764736f6c634300081100330000000000000000000000002947c1b3c0bbfee22cec5bf2754652d5ecc02a49000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000054740504f4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024047000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806372618aac116100c3578063a457c2d71161007c578063a457c2d7146103b5578063a9059cbb146103e5578063b92e639614610415578063d3524a9514610431578063dd62ed3e1461044f578063f2fde38b1461047f57610158565b806372618aac146102f35780637f2015811461030f578063873c852a1461032b5780638da5cb5b1461035b578063913a4bc51461037957806395d89b411461039757610158565b80633950935111610115578063395093511461023357806340c10f191461026357806357a2eda91461027f578063590791f21461029b57806370a08231146102b9578063715018a6146102e957610158565b806306fdde031461015d578063095ea7b31461017b57806310badf4e146101ab57806318160ddd146101c757806323b872dd146101e5578063313ce56714610215575b600080fd5b61016561049b565b6040516101729190611635565b60405180910390f35b610195600480360381019061019091906116ff565b61052d565b6040516101a2919061175a565b60405180910390f35b6101c560048036038101906101c091906117da565b610550565b005b6101cf6106ad565b6040516101dc919061185d565b60405180910390f35b6101ff60048036038101906101fa9190611878565b6106b7565b60405161020c919061175a565b60405180910390f35b61021d6106e6565b60405161022a91906118e7565b60405180910390f35b61024d600480360381019061024891906116ff565b6106ef565b60405161025a919061175a565b60405180910390f35b61027d600480360381019061027891906116ff565b610726565b005b61029960048036038101906102949190611902565b61073c565b005b6102a36107cc565b6040516102b0919061185d565b60405180910390f35b6102d360048036038101906102ce919061192f565b6107d6565b6040516102e0919061185d565b60405180910390f35b6102f161081e565b005b61030d6004803603810190610308919061195c565b610832565b005b61032960048036038101906103249190611902565b610946565b005b61034560048036038101906103409190611adf565b6109a9565b6040516103529190611b9f565b60405180910390f35b6103636109df565b6040516103709190611bc9565b60405180910390f35b610381610a09565b60405161038e919061185d565b60405180910390f35b61039f610a13565b6040516103ac9190611635565b60405180910390f35b6103cf60048036038101906103ca91906116ff565b610aa5565b6040516103dc919061175a565b60405180910390f35b6103ff60048036038101906103fa91906116ff565b610b1c565b60405161040c919061175a565b60405180910390f35b61042f600480360381019061042a9190611902565b610b3f565b005b610439610b51565b604051610446919061185d565b60405180910390f35b61046960048036038101906104649190611be4565b610b57565b604051610476919061185d565b60405180910390f35b6104996004803603810190610494919061192f565b610bde565b005b6060600380546104aa90611c53565b80601f01602080910402602001604051908101604052809291908181526020018280546104d690611c53565b80156105235780601f106104f857610100808354040283529160200191610523565b820191906000526020600020905b81548152906001019060200180831161050657829003601f168201915b5050505050905090565b600080610538610c61565b9050610545818585610c69565b600191505092915050565b610558610e32565b6000600181111561056c5761056b611b28565b5b6009838360405161057e929190611cb4565b908152602001604051809103902060009054906101000a900460ff1660018111156105ac576105ab611b28565b5b146105ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e390611d19565b60405180910390fd5b600160098383604051610600929190611cb4565b908152602001604051809103902060006101000a81548160ff021916908360018111156106305761062f611b28565b5b021790555061063f8484610eb0565b7f6de3539db832d0d4eeb992f4ee0b66dd5e3e70ba3239246f9699bb8c7488e70b848460098585604051610674929190611cb4565b908152602001604051809103902060009054906101000a900460ff1660405161069f93929190611d39565b60405180910390a150505050565b6000600254905090565b6000806106c2610c61565b90506106cf858285611006565b6106da858585611092565b60019150509392505050565b60006012905090565b6000806106fa610c61565b905061071b81858561070c8589610b57565b6107169190611d9f565b610c69565b600191505092915050565b61072e610e32565b6107388282610eb0565b5050565b610744610e32565b600061074e6107cc565b905080821115610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a90611e1f565b60405180910390fd5b600082146107a157816107a3565b805b915081600760008282546107b79190611e3f565b925050819055506107c83383610eb0565b5050565b6000600754905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610826610e32565b6108306000611308565b565b468203610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b90611ebf565b60405180910390fd5b6008548110156108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090611f2b565b60405180910390fd5b60006006546064836108cb9190611f7a565b6108d59190611fab565b905080600760008282546108e99190611d9f565b925050819055506108fa33836113ce565b7f77f92a1b6a1a11de8ca49515ad4c1fad45632dd3442167d74b90b304a3c7a758848483856109299190611e3f565b60405161093893929190611fed565b60405180910390a150505050565b61094e610e32565b60008110158015610960575060648111155b61099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099690612070565b60405180910390fd5b8060068190555050565b6009818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900460ff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600854905090565b606060048054610a2290611c53565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90611c53565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b600080610ab0610c61565b90506000610abe8286610b57565b905083811015610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90612102565b60405180910390fd5b610b108286868403610c69565b60019250505092915050565b600080610b27610c61565b9050610b34818585611092565b600191505092915050565b610b47610e32565b8060088190555050565b60065481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610be6610e32565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c90612194565b60405180910390fd5b610c5e81611308565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccf90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3e906122b8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e25919061185d565b60405180910390a3505050565b610e3a610c61565b73ffffffffffffffffffffffffffffffffffffffff16610e586109df565b73ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea590612324565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1690612390565b60405180910390fd5b610f2b6000838361159b565b8060026000828254610f3d9190611d9f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fee919061185d565b60405180910390a3611002600083836115a0565b5050565b60006110128484610b57565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461108c578181101561107e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611075906123fc565b60405180910390fd5b61108b8484848403610c69565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f89061248e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612520565b60405180910390fd5b61117b83838361159b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f8906125b2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112ef919061185d565b60405180910390a36113028484846115a0565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490612644565b60405180910390fd5b6114498260008361159b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c6906126d6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611582919061185d565b60405180910390a3611596836000846115a0565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156115df5780820151818401526020810190506115c4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611607826115a5565b61161181856115b0565b93506116218185602086016115c1565b61162a816115eb565b840191505092915050565b6000602082019050818103600083015261164f81846115fc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006116968261166b565b9050919050565b6116a68161168b565b81146116b157600080fd5b50565b6000813590506116c38161169d565b92915050565b6000819050919050565b6116dc816116c9565b81146116e757600080fd5b50565b6000813590506116f9816116d3565b92915050565b6000806040838503121561171657611715611661565b5b6000611724858286016116b4565b9250506020611735858286016116ea565b9150509250929050565b60008115159050919050565b6117548161173f565b82525050565b600060208201905061176f600083018461174b565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261179a57611799611775565b5b8235905067ffffffffffffffff8111156117b7576117b661177a565b5b6020830191508360018202830111156117d3576117d261177f565b5b9250929050565b600080600080606085870312156117f4576117f3611661565b5b6000611802878288016116b4565b9450506020611813878288016116ea565b935050604085013567ffffffffffffffff81111561183457611833611666565b5b61184087828801611784565b925092505092959194509250565b611857816116c9565b82525050565b6000602082019050611872600083018461184e565b92915050565b60008060006060848603121561189157611890611661565b5b600061189f868287016116b4565b93505060206118b0868287016116b4565b92505060406118c1868287016116ea565b9150509250925092565b600060ff82169050919050565b6118e1816118cb565b82525050565b60006020820190506118fc60008301846118d8565b92915050565b60006020828403121561191857611917611661565b5b6000611926848285016116ea565b91505092915050565b60006020828403121561194557611944611661565b5b6000611953848285016116b4565b91505092915050565b60008060006060848603121561197557611974611661565b5b6000611983868287016116b4565b9350506020611994868287016116ea565b92505060406119a5868287016116ea565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ec826115eb565b810181811067ffffffffffffffff82111715611a0b57611a0a6119b4565b5b80604052505050565b6000611a1e611657565b9050611a2a82826119e3565b919050565b600067ffffffffffffffff821115611a4a57611a496119b4565b5b611a53826115eb565b9050602081019050919050565b82818337600083830152505050565b6000611a82611a7d84611a2f565b611a14565b905082815260208101848484011115611a9e57611a9d6119af565b5b611aa9848285611a60565b509392505050565b600082601f830112611ac657611ac5611775565b5b8135611ad6848260208601611a6f565b91505092915050565b600060208284031215611af557611af4611661565b5b600082013567ffffffffffffffff811115611b1357611b12611666565b5b611b1f84828501611ab1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110611b6857611b67611b28565b5b50565b6000819050611b7982611b57565b919050565b6000611b8982611b6b565b9050919050565b611b9981611b7e565b82525050565b6000602082019050611bb46000830184611b90565b92915050565b611bc38161168b565b82525050565b6000602082019050611bde6000830184611bba565b92915050565b60008060408385031215611bfb57611bfa611661565b5b6000611c09858286016116b4565b9250506020611c1a858286016116b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c6b57607f821691505b602082108103611c7e57611c7d611c24565b5b50919050565b600081905092915050565b6000611c9b8385611c84565b9350611ca8838584611a60565b82840190509392505050565b6000611cc1828486611c8f565b91508190509392505050565b7f4c53303031000000000000000000000000000000000000000000000000000000600082015250565b6000611d036005836115b0565b9150611d0e82611ccd565b602082019050919050565b60006020820190508181036000830152611d3281611cf6565b9050919050565b6000606082019050611d4e6000830186611bba565b611d5b602083018561184e565b611d686040830184611b90565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611daa826116c9565b9150611db5836116c9565b9250828201905080821115611dcd57611dcc611d70565b5b92915050565b7f4c53303032000000000000000000000000000000000000000000000000000000600082015250565b6000611e096005836115b0565b9150611e1482611dd3565b602082019050919050565b60006020820190508181036000830152611e3881611dfc565b9050919050565b6000611e4a826116c9565b9150611e55836116c9565b9250828203905081811115611e6d57611e6c611d70565b5b92915050565b7f4c53323033000000000000000000000000000000000000000000000000000000600082015250565b6000611ea96005836115b0565b9150611eb482611e73565b602082019050919050565b60006020820190508181036000830152611ed881611e9c565b9050919050565b7f4c53323034000000000000000000000000000000000000000000000000000000600082015250565b6000611f156005836115b0565b9150611f2082611edf565b602082019050919050565b60006020820190508181036000830152611f4481611f08565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611f85826116c9565b9150611f90836116c9565b925082611fa057611f9f611f4b565b5b828204905092915050565b6000611fb6826116c9565b9150611fc1836116c9565b9250828202611fcf816116c9565b91508282048414831517611fe657611fe5611d70565b5b5092915050565b60006060820190506120026000830186611bba565b61200f602083018561184e565b61201c604083018461184e565b949350505050565b7f4c53303033000000000000000000000000000000000000000000000000000000600082015250565b600061205a6005836115b0565b915061206582612024565b602082019050919050565b600060208201905081810360008301526120898161204d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006120ec6025836115b0565b91506120f782612090565b604082019050919050565b6000602082019050818103600083015261211b816120df565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061217e6026836115b0565b915061218982612122565b604082019050919050565b600060208201905081810360008301526121ad81612171565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122106024836115b0565b915061221b826121b4565b604082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006122a26022836115b0565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4c53313033000000000000000000000000000000000000000000000000000000600082015250565b600061230e6005836115b0565b9150612319826122d8565b602082019050919050565b6000602082019050818103600083015261233d81612301565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061237a601f836115b0565b915061238582612344565b602082019050919050565b600060208201905081810360008301526123a98161236d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006123e6601d836115b0565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124786025836115b0565b91506124838261241c565b604082019050919050565b600060208201905081810360008301526124a78161246b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061250a6023836115b0565b9150612515826124ae565b604082019050919050565b60006020820190508181036000830152612539816124fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061259c6026836115b0565b91506125a782612540565b604082019050919050565b600060208201905081810360008301526125cb8161258f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061262e6021836115b0565b9150612639826125d2565b604082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006126c06022836115b0565b91506126cb82612664565b604082019050919050565b600060208201905081810360008301526126ef816126b3565b905091905056fea2646970667358221220f0835fc0658db9b6440eda8f489c9896c1829b7ef93114ab5f4c9627c9d805b764736f6c63430008110033

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

0000000000000000000000002947c1b3c0bbfee22cec5bf2754652d5ecc02a49000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000054740504f4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024047000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : newOwner (address): 0x2947C1B3c0BbFEE22cEc5bf2754652d5ecc02A49
Arg [1] : tokenName (string): G@POL
Arg [2] : tokenSymbol (string): @G
Arg [3] : _minTransferAmount (uint256): 1000000000000000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000002947c1b3c0bbfee22cec5bf2754652d5ecc02a49
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000de0b6b3a7640000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 4740504f4c000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [7] : 4047000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

20884:3956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8796:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11156:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22943:337;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9925:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11937:261;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9767:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12607:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20001:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23558:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24539:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10096:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2693:103;;;:::i;:::-;;22121:424;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24001:165;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21128:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2052:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24726:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9015:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13348:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10429:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24341:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20940:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10685:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2951:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8796:100;8850:13;8883:5;8876:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8796:100;:::o;11156:201::-;11239:4;11256:13;11272:12;:10;:12::i;:::-;11256:28;;11295:32;11304:5;11311:7;11320:6;11295:8;:32::i;:::-;11345:4;11338:11;;;11156:201;;;;:::o;22943:337::-;1938:13;:11;:13::i;:::-;23106:20:::1;23084:42;;;;;;;;:::i;:::-;;:7;23092:9;;23084:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;:::i;:::-;;;23076:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;23170:20;23149:7;23157:9;;23149:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;23201:16;23207:2;23211:5;23201;:16::i;:::-;23235:37;23242:2;23246:5;23253:7;23261:9;;23253:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23235:37;;;;;;;;:::i;:::-;;;;;;;;22943:337:::0;;;;:::o;9925:108::-;9986:7;10013:12;;10006:19;;9925:108;:::o;11937:261::-;12034:4;12051:15;12069:12;:10;:12::i;:::-;12051:30;;12092:38;12108:4;12114:7;12123:6;12092:15;:38::i;:::-;12141:27;12151:4;12157:2;12161:6;12141:9;:27::i;:::-;12186:4;12179:11;;;11937:261;;;;;:::o;9767:93::-;9825:5;9850:2;9843:9;;9767:93;:::o;12607:238::-;12695:4;12712:13;12728:12;:10;:12::i;:::-;12712:28;;12751:64;12760:5;12767:7;12804:10;12776:25;12786:5;12793:7;12776:9;:25::i;:::-;:38;;;;:::i;:::-;12751:8;:64::i;:::-;12833:4;12826:11;;;12607:238;;;;:::o;20001:95::-;1938:13;:11;:13::i;:::-;20071:17:::1;20077:2;20081:6;20071:5;:17::i;:::-;20001:95:::0;;:::o;23558:281::-;1938:13;:11;:13::i;:::-;23629:15:::1;23647:17;:15;:17::i;:::-;23629:35;;23693:7;23683:6;:17;;23675:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;23742:1;23732:6;:11;:30;;23756:6;23732:30;;;23746:7;23732:30;23723:39;;23789:6;23773:12;;:22;;;;;;;:::i;:::-;;;;;;;;23806:25;23812:10;23824:6;23806:5;:25::i;:::-;23618:221;23558:281:::0;:::o;24539:95::-;24587:7;24614:12;;24607:19;;24539:95;:::o;10096:127::-;10170:7;10197:9;:18;10207:7;10197:18;;;;;;;;;;;;;;;;10190:25;;10096:127;;;:::o;2693:103::-;1938:13;:11;:13::i;:::-;2758:30:::1;2785:1;2758:18;:30::i;:::-;2693:103::o:0;22121:424::-;22266:13;22251:11;:28;22243:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;22318:17;;22308:6;:27;;22300:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;22358:15;22393;;22386:3;22377:6;:12;;;;:::i;:::-;22376:32;;;;:::i;:::-;22358:50;;22435:7;22419:12;;:23;;;;;;;:::i;:::-;;;;;;;;22455:25;22461:10;22473:6;22455:5;:25::i;:::-;22498:39;22503:2;22507:11;22529:7;22520:6;:16;;;;:::i;:::-;22498:39;;;;;;;;:::i;:::-;;;;;;;;22232:313;22121:424;;;:::o;24001:165::-;1938:13;:11;:13::i;:::-;24093:1:::1;24083:6;:11;;:28;;;;;24108:3;24098:6;:13;;24083:28;24075:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;24152:6;24134:15;:24;;;;24001:165:::0;:::o;21128:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2052:87::-;2098:7;2125:6;;;;;;;;;;;2118:13;;2052:87;:::o;24726:107::-;24781:7;24808:17;;24801:24;;24726:107;:::o;9015:104::-;9071:13;9104:7;9097:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9015:104;:::o;13348:436::-;13441:4;13458:13;13474:12;:10;:12::i;:::-;13458:28;;13497:24;13524:25;13534:5;13541:7;13524:9;:25::i;:::-;13497:52;;13588:15;13568:16;:35;;13560:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13681:60;13690:5;13697:7;13725:15;13706:16;:34;13681:8;:60::i;:::-;13772:4;13765:11;;;;13348:436;;;;:::o;10429:193::-;10508:4;10525:13;10541:12;:10;:12::i;:::-;10525:28;;10564;10574:5;10581:2;10585:6;10564:9;:28::i;:::-;10610:4;10603:11;;;10429:193;;;;:::o;24341:110::-;1938:13;:11;:13::i;:::-;24437:6:::1;24417:17;:26;;;;24341:110:::0;:::o;20940:34::-;;;;:::o;10685:151::-;10774:7;10801:11;:18;10813:5;10801:18;;;;;;;;;;;;;;;:27;10820:7;10801:27;;;;;;;;;;;;;;;;10794:34;;10685:151;;;;:::o;2951:201::-;1938:13;:11;:13::i;:::-;3060:1:::1;3040:22;;:8;:22;;::::0;3032:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3116:28;3135:8;3116:18;:28::i;:::-;2951:201:::0;:::o;629:98::-;682:7;709:10;702:17;;629:98;:::o;17341:346::-;17460:1;17443:19;;:5;:19;;;17435:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17541:1;17522:21;;:7;:21;;;17514:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17625:6;17595:11;:18;17607:5;17595:18;;;;;;;;;;;;;;;:27;17614:7;17595:27;;;;;;;;;;;;;;;:36;;;;17663:7;17647:32;;17656:5;17647:32;;;17672:6;17647:32;;;;;;:::i;:::-;;;;;;;;17341:346;;;:::o;20104:106::-;20180:12;:10;:12::i;:::-;20169:23;;:7;:5;:7::i;:::-;:23;;;20161:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;20104:106::o;15347:548::-;15450:1;15431:21;;:7;:21;;;15423:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;15501:49;15530:1;15534:7;15543:6;15501:20;:49::i;:::-;15579:6;15563:12;;:22;;;;;;;:::i;:::-;;;;;;;;15756:6;15734:9;:18;15744:7;15734:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;15810:7;15789:37;;15806:1;15789:37;;;15819:6;15789:37;;;;;;:::i;:::-;;;;;;;;15839:48;15867:1;15871:7;15880:6;15839:19;:48::i;:::-;15347:548;;:::o;17978:419::-;18079:24;18106:25;18116:5;18123:7;18106:9;:25::i;:::-;18079:52;;18166:17;18146:16;:37;18142:248;;18228:6;18208:16;:26;;18200:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18312:51;18321:5;18328:7;18356:6;18337:16;:25;18312:8;:51::i;:::-;18142:248;18068:329;17978:419;;;:::o;14254:806::-;14367:1;14351:18;;:4;:18;;;14343:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14444:1;14430:16;;:2;:16;;;14422:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14499:38;14520:4;14526:2;14530:6;14499:20;:38::i;:::-;14550:19;14572:9;:15;14582:4;14572:15;;;;;;;;;;;;;;;;14550:37;;14621:6;14606:11;:21;;14598:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;14738:6;14724:11;:20;14706:9;:15;14716:4;14706:15;;;;;;;;;;;;;;;:38;;;;14941:6;14924:9;:13;14934:2;14924:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;14991:2;14976:26;;14985:4;14976:26;;;14995:6;14976:26;;;;;;:::i;:::-;;;;;;;;15015:37;15035:4;15041:2;15045:6;15015:19;:37::i;:::-;14332:728;14254:806;;;:::o;3312:191::-;3386:16;3405:6;;;;;;;;;;;3386:25;;3431:8;3422:6;;:17;;;;;;;;;;;;;;;;;;3486:8;3455:40;;3476:8;3455:40;;;;;;;;;;;;3375:128;3312:191;:::o;16228:675::-;16331:1;16312:21;;:7;:21;;;16304:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16384:49;16405:7;16422:1;16426:6;16384:20;:49::i;:::-;16446:22;16471:9;:18;16481:7;16471:18;;;;;;;;;;;;;;;;16446:43;;16526:6;16508:14;:24;;16500:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16645:6;16628:14;:23;16607:9;:18;16617:7;16607:18;;;;;;;;;;;;;;;:44;;;;16762:6;16746:12;;:22;;;;;;;;;;;16823:1;16797:37;;16806:7;16797:37;;;16827:6;16797:37;;;;;;:::i;:::-;;;;;;;;16847:48;16867:7;16884:1;16888:6;16847:19;:48::i;:::-;16293:610;16228:675;;:::o;18997:91::-;;;;:::o;19692:90::-;;;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::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;3828:552;3885:8;3895:6;3945:3;3938:4;3930:6;3926:17;3922:27;3912:122;;3953:79;;:::i;:::-;3912:122;4066:6;4053:20;4043:30;;4096:18;4088:6;4085:30;4082:117;;;4118:79;;:::i;:::-;4082:117;4232:4;4224:6;4220:17;4208:29;;4286:3;4278:4;4270:6;4266:17;4256:8;4252:32;4249:41;4246:128;;;4293:79;;:::i;:::-;4246:128;3828:552;;;;;:::o;4386:817::-;4474:6;4482;4490;4498;4547:2;4535:9;4526:7;4522:23;4518:32;4515:119;;;4553:79;;:::i;:::-;4515:119;4673:1;4698:53;4743:7;4734:6;4723:9;4719:22;4698:53;:::i;:::-;4688:63;;4644:117;4800:2;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4771:118;4956:2;4945:9;4941:18;4928:32;4987:18;4979:6;4976:30;4973:117;;;5009:79;;:::i;:::-;4973:117;5122:64;5178:7;5169:6;5158:9;5154:22;5122:64;:::i;:::-;5104:82;;;;4899:297;4386:817;;;;;;;:::o;5209:118::-;5296:24;5314:5;5296:24;:::i;:::-;5291:3;5284:37;5209:118;;:::o;5333:222::-;5426:4;5464:2;5453:9;5449:18;5441:26;;5477:71;5545:1;5534:9;5530:17;5521:6;5477:71;:::i;:::-;5333:222;;;;:::o;5561:619::-;5638:6;5646;5654;5703:2;5691:9;5682:7;5678:23;5674:32;5671:119;;;5709:79;;:::i;:::-;5671:119;5829:1;5854:53;5899:7;5890:6;5879:9;5875:22;5854:53;:::i;:::-;5844:63;;5800:117;5956:2;5982:53;6027:7;6018:6;6007:9;6003:22;5982:53;:::i;:::-;5972:63;;5927:118;6084:2;6110:53;6155:7;6146:6;6135:9;6131:22;6110:53;:::i;:::-;6100:63;;6055:118;5561:619;;;;;:::o;6186:86::-;6221:7;6261:4;6254:5;6250:16;6239:27;;6186:86;;;:::o;6278:112::-;6361:22;6377:5;6361:22;:::i;:::-;6356:3;6349:35;6278:112;;:::o;6396:214::-;6485:4;6523:2;6512:9;6508:18;6500:26;;6536:67;6600:1;6589:9;6585:17;6576:6;6536:67;:::i;:::-;6396:214;;;;:::o;6616:329::-;6675:6;6724:2;6712:9;6703:7;6699:23;6695:32;6692:119;;;6730:79;;:::i;:::-;6692:119;6850:1;6875:53;6920:7;6911:6;6900:9;6896:22;6875:53;:::i;:::-;6865:63;;6821:117;6616:329;;;;:::o;6951:::-;7010:6;7059:2;7047:9;7038:7;7034:23;7030:32;7027:119;;;7065:79;;:::i;:::-;7027:119;7185:1;7210:53;7255:7;7246:6;7235:9;7231:22;7210:53;:::i;:::-;7200:63;;7156:117;6951:329;;;;:::o;7286:619::-;7363:6;7371;7379;7428:2;7416:9;7407:7;7403:23;7399:32;7396:119;;;7434:79;;:::i;:::-;7396:119;7554:1;7579:53;7624:7;7615:6;7604:9;7600:22;7579:53;:::i;:::-;7569:63;;7525:117;7681:2;7707:53;7752:7;7743:6;7732:9;7728:22;7707:53;:::i;:::-;7697:63;;7652:118;7809:2;7835:53;7880:7;7871:6;7860:9;7856:22;7835:53;:::i;:::-;7825:63;;7780:118;7286:619;;;;;:::o;7911:117::-;8020:1;8017;8010:12;8034:180;8082:77;8079:1;8072:88;8179:4;8176:1;8169:15;8203:4;8200:1;8193:15;8220:281;8303:27;8325:4;8303:27;:::i;:::-;8295:6;8291:40;8433:6;8421:10;8418:22;8397:18;8385:10;8382:34;8379:62;8376:88;;;8444:18;;:::i;:::-;8376:88;8484:10;8480:2;8473:22;8263:238;8220:281;;:::o;8507:129::-;8541:6;8568:20;;:::i;:::-;8558:30;;8597:33;8625:4;8617:6;8597:33;:::i;:::-;8507:129;;;:::o;8642:307::-;8703:4;8793:18;8785:6;8782:30;8779:56;;;8815:18;;:::i;:::-;8779:56;8853:29;8875:6;8853:29;:::i;:::-;8845:37;;8937:4;8931;8927:15;8919:23;;8642:307;;;:::o;8955:146::-;9052:6;9047:3;9042;9029:30;9093:1;9084:6;9079:3;9075:16;9068:27;8955:146;;;:::o;9107:423::-;9184:5;9209:65;9225:48;9266:6;9225:48;:::i;:::-;9209:65;:::i;:::-;9200:74;;9297:6;9290:5;9283:21;9335:4;9328:5;9324:16;9373:3;9364:6;9359:3;9355:16;9352:25;9349:112;;;9380:79;;:::i;:::-;9349:112;9470:54;9517:6;9512:3;9507;9470:54;:::i;:::-;9190:340;9107:423;;;;;:::o;9549:338::-;9604:5;9653:3;9646:4;9638:6;9634:17;9630:27;9620:122;;9661:79;;:::i;:::-;9620:122;9778:6;9765:20;9803:78;9877:3;9869:6;9862:4;9854:6;9850:17;9803:78;:::i;:::-;9794:87;;9610:277;9549:338;;;;:::o;9893:507::-;9961:6;10010:2;9998:9;9989:7;9985:23;9981:32;9978:119;;;10016:79;;:::i;:::-;9978:119;10164:1;10153:9;10149:17;10136:31;10194:18;10186:6;10183:30;10180:117;;;10216:79;;:::i;:::-;10180:117;10321:62;10375:7;10366:6;10355:9;10351:22;10321:62;:::i;:::-;10311:72;;10107:286;9893:507;;;;:::o;10406:180::-;10454:77;10451:1;10444:88;10551:4;10548:1;10541:15;10575:4;10572:1;10565:15;10592:121;10681:1;10674:5;10671:12;10661:46;;10687:18;;:::i;:::-;10661:46;10592:121;:::o;10719:143::-;10772:7;10801:5;10790:16;;10807:49;10850:5;10807:49;:::i;:::-;10719:143;;;:::o;10868:::-;10932:9;10965:40;10999:5;10965:40;:::i;:::-;10952:53;;10868:143;;;:::o;11017:159::-;11118:51;11163:5;11118:51;:::i;:::-;11113:3;11106:64;11017:159;;:::o;11182:250::-;11289:4;11327:2;11316:9;11312:18;11304:26;;11340:85;11422:1;11411:9;11407:17;11398:6;11340:85;:::i;:::-;11182:250;;;;:::o;11438:118::-;11525:24;11543:5;11525:24;:::i;:::-;11520:3;11513:37;11438:118;;:::o;11562:222::-;11655:4;11693:2;11682:9;11678:18;11670:26;;11706:71;11774:1;11763:9;11759:17;11750:6;11706:71;:::i;:::-;11562:222;;;;:::o;11790:474::-;11858:6;11866;11915:2;11903:9;11894:7;11890:23;11886:32;11883:119;;;11921:79;;:::i;:::-;11883:119;12041:1;12066:53;12111:7;12102:6;12091:9;12087:22;12066:53;:::i;:::-;12056:63;;12012:117;12168:2;12194:53;12239:7;12230:6;12219:9;12215:22;12194:53;:::i;:::-;12184:63;;12139:118;11790:474;;;;;:::o;12270:180::-;12318:77;12315:1;12308:88;12415:4;12412:1;12405:15;12439:4;12436:1;12429:15;12456:320;12500:6;12537:1;12531:4;12527:12;12517:22;;12584:1;12578:4;12574:12;12605:18;12595:81;;12661:4;12653:6;12649:17;12639:27;;12595:81;12723:2;12715:6;12712:14;12692:18;12689:38;12686:84;;12742:18;;:::i;:::-;12686:84;12507:269;12456:320;;;:::o;12782:147::-;12883:11;12920:3;12905:18;;12782:147;;;;:::o;12957:327::-;13071:3;13092:88;13173:6;13168:3;13092:88;:::i;:::-;13085:95;;13190:56;13239:6;13234:3;13227:5;13190:56;:::i;:::-;13271:6;13266:3;13262:16;13255:23;;12957:327;;;;;:::o;13290:291::-;13430:3;13452:103;13551:3;13542:6;13534;13452:103;:::i;:::-;13445:110;;13572:3;13565:10;;13290:291;;;;;:::o;13587:155::-;13727:7;13723:1;13715:6;13711:14;13704:31;13587:155;:::o;13748:365::-;13890:3;13911:66;13975:1;13970:3;13911:66;:::i;:::-;13904:73;;13986:93;14075:3;13986:93;:::i;:::-;14104:2;14099:3;14095:12;14088:19;;13748:365;;;:::o;14119:419::-;14285:4;14323:2;14312:9;14308:18;14300:26;;14372:9;14366:4;14362:20;14358:1;14347:9;14343:17;14336:47;14400:131;14526:4;14400:131;:::i;:::-;14392:139;;14119:419;;;:::o;14544:470::-;14707:4;14745:2;14734:9;14730:18;14722:26;;14758:71;14826:1;14815:9;14811:17;14802:6;14758:71;:::i;:::-;14839:72;14907:2;14896:9;14892:18;14883:6;14839:72;:::i;:::-;14921:86;15003:2;14992:9;14988:18;14979:6;14921:86;:::i;:::-;14544:470;;;;;;:::o;15020:180::-;15068:77;15065:1;15058:88;15165:4;15162:1;15155:15;15189:4;15186:1;15179:15;15206:191;15246:3;15265:20;15283:1;15265:20;:::i;:::-;15260:25;;15299:20;15317:1;15299:20;:::i;:::-;15294:25;;15342:1;15339;15335:9;15328:16;;15363:3;15360:1;15357:10;15354:36;;;15370:18;;:::i;:::-;15354:36;15206:191;;;;:::o;15403:155::-;15543:7;15539:1;15531:6;15527:14;15520:31;15403:155;:::o;15564:365::-;15706:3;15727:66;15791:1;15786:3;15727:66;:::i;:::-;15720:73;;15802:93;15891:3;15802:93;:::i;:::-;15920:2;15915:3;15911:12;15904:19;;15564:365;;;:::o;15935:419::-;16101:4;16139:2;16128:9;16124:18;16116:26;;16188:9;16182:4;16178:20;16174:1;16163:9;16159:17;16152:47;16216:131;16342:4;16216:131;:::i;:::-;16208:139;;15935:419;;;:::o;16360:194::-;16400:4;16420:20;16438:1;16420:20;:::i;:::-;16415:25;;16454:20;16472:1;16454:20;:::i;:::-;16449:25;;16498:1;16495;16491:9;16483:17;;16522:1;16516:4;16513:11;16510:37;;;16527:18;;:::i;:::-;16510:37;16360:194;;;;:::o;16560:155::-;16700:7;16696:1;16688:6;16684:14;16677:31;16560:155;:::o;16721:365::-;16863:3;16884:66;16948:1;16943:3;16884:66;:::i;:::-;16877:73;;16959:93;17048:3;16959:93;:::i;:::-;17077:2;17072:3;17068:12;17061:19;;16721:365;;;:::o;17092:419::-;17258:4;17296:2;17285:9;17281:18;17273:26;;17345:9;17339:4;17335:20;17331:1;17320:9;17316:17;17309:47;17373:131;17499:4;17373:131;:::i;:::-;17365:139;;17092:419;;;:::o;17517:155::-;17657:7;17653:1;17645:6;17641:14;17634:31;17517:155;:::o;17678:365::-;17820:3;17841:66;17905:1;17900:3;17841:66;:::i;:::-;17834:73;;17916:93;18005:3;17916:93;:::i;:::-;18034:2;18029:3;18025:12;18018:19;;17678:365;;;:::o;18049:419::-;18215:4;18253:2;18242:9;18238:18;18230:26;;18302:9;18296:4;18292:20;18288:1;18277:9;18273:17;18266:47;18330:131;18456:4;18330:131;:::i;:::-;18322:139;;18049:419;;;:::o;18474:180::-;18522:77;18519:1;18512:88;18619:4;18616:1;18609:15;18643:4;18640:1;18633:15;18660:185;18700:1;18717:20;18735:1;18717:20;:::i;:::-;18712:25;;18751:20;18769:1;18751:20;:::i;:::-;18746:25;;18790:1;18780:35;;18795:18;;:::i;:::-;18780:35;18837:1;18834;18830:9;18825:14;;18660:185;;;;:::o;18851:410::-;18891:7;18914:20;18932:1;18914:20;:::i;:::-;18909:25;;18948:20;18966:1;18948:20;:::i;:::-;18943:25;;19003:1;19000;18996:9;19025:30;19043:11;19025:30;:::i;:::-;19014:41;;19204:1;19195:7;19191:15;19188:1;19185:22;19165:1;19158:9;19138:83;19115:139;;19234:18;;:::i;:::-;19115:139;18899:362;18851:410;;;;:::o;19267:442::-;19416:4;19454:2;19443:9;19439:18;19431:26;;19467:71;19535:1;19524:9;19520:17;19511:6;19467:71;:::i;:::-;19548:72;19616:2;19605:9;19601:18;19592:6;19548:72;:::i;:::-;19630;19698:2;19687:9;19683:18;19674:6;19630:72;:::i;:::-;19267:442;;;;;;:::o;19715:155::-;19855:7;19851:1;19843:6;19839:14;19832:31;19715:155;:::o;19876:365::-;20018:3;20039:66;20103:1;20098:3;20039:66;:::i;:::-;20032:73;;20114:93;20203:3;20114:93;:::i;:::-;20232:2;20227:3;20223:12;20216:19;;19876:365;;;:::o;20247:419::-;20413:4;20451:2;20440:9;20436:18;20428:26;;20500:9;20494:4;20490:20;20486:1;20475:9;20471:17;20464:47;20528:131;20654:4;20528:131;:::i;:::-;20520:139;;20247:419;;;:::o;20672:224::-;20812:34;20808:1;20800:6;20796:14;20789:58;20881:7;20876:2;20868:6;20864:15;20857:32;20672:224;:::o;20902:366::-;21044:3;21065:67;21129:2;21124:3;21065:67;:::i;:::-;21058:74;;21141:93;21230:3;21141:93;:::i;:::-;21259:2;21254:3;21250:12;21243:19;;20902:366;;;:::o;21274:419::-;21440:4;21478:2;21467:9;21463:18;21455:26;;21527:9;21521:4;21517:20;21513:1;21502:9;21498:17;21491:47;21555:131;21681:4;21555:131;:::i;:::-;21547:139;;21274:419;;;:::o;21699:225::-;21839:34;21835:1;21827:6;21823:14;21816:58;21908:8;21903:2;21895:6;21891:15;21884:33;21699:225;:::o;21930:366::-;22072:3;22093:67;22157:2;22152:3;22093:67;:::i;:::-;22086:74;;22169:93;22258:3;22169:93;:::i;:::-;22287:2;22282:3;22278:12;22271:19;;21930:366;;;:::o;22302:419::-;22468:4;22506:2;22495:9;22491:18;22483:26;;22555:9;22549:4;22545:20;22541:1;22530:9;22526:17;22519:47;22583:131;22709:4;22583:131;:::i;:::-;22575:139;;22302:419;;;:::o;22727:223::-;22867:34;22863:1;22855:6;22851:14;22844:58;22936:6;22931:2;22923:6;22919:15;22912:31;22727:223;:::o;22956:366::-;23098:3;23119:67;23183:2;23178:3;23119:67;:::i;:::-;23112:74;;23195:93;23284:3;23195:93;:::i;:::-;23313:2;23308:3;23304:12;23297:19;;22956:366;;;:::o;23328:419::-;23494:4;23532:2;23521:9;23517:18;23509:26;;23581:9;23575:4;23571:20;23567:1;23556:9;23552:17;23545:47;23609:131;23735:4;23609:131;:::i;:::-;23601:139;;23328:419;;;:::o;23753:221::-;23893:34;23889:1;23881:6;23877:14;23870:58;23962:4;23957:2;23949:6;23945:15;23938:29;23753:221;:::o;23980:366::-;24122:3;24143:67;24207:2;24202:3;24143:67;:::i;:::-;24136:74;;24219:93;24308:3;24219:93;:::i;:::-;24337:2;24332:3;24328:12;24321:19;;23980:366;;;:::o;24352:419::-;24518:4;24556:2;24545:9;24541:18;24533:26;;24605:9;24599:4;24595:20;24591:1;24580:9;24576:17;24569:47;24633:131;24759:4;24633:131;:::i;:::-;24625:139;;24352:419;;;:::o;24777:155::-;24917:7;24913:1;24905:6;24901:14;24894:31;24777:155;:::o;24938:365::-;25080:3;25101:66;25165:1;25160:3;25101:66;:::i;:::-;25094:73;;25176:93;25265:3;25176:93;:::i;:::-;25294:2;25289:3;25285:12;25278:19;;24938:365;;;:::o;25309:419::-;25475:4;25513:2;25502:9;25498:18;25490:26;;25562:9;25556:4;25552:20;25548:1;25537:9;25533:17;25526:47;25590:131;25716:4;25590:131;:::i;:::-;25582:139;;25309:419;;;:::o;25734:181::-;25874:33;25870:1;25862:6;25858:14;25851:57;25734:181;:::o;25921:366::-;26063:3;26084:67;26148:2;26143:3;26084:67;:::i;:::-;26077:74;;26160:93;26249:3;26160:93;:::i;:::-;26278:2;26273:3;26269:12;26262:19;;25921:366;;;:::o;26293:419::-;26459:4;26497:2;26486:9;26482:18;26474:26;;26546:9;26540:4;26536:20;26532:1;26521:9;26517:17;26510:47;26574:131;26700:4;26574:131;:::i;:::-;26566:139;;26293:419;;;:::o;26718:179::-;26858:31;26854:1;26846:6;26842:14;26835:55;26718:179;:::o;26903:366::-;27045:3;27066:67;27130:2;27125:3;27066:67;:::i;:::-;27059:74;;27142:93;27231:3;27142:93;:::i;:::-;27260:2;27255:3;27251:12;27244:19;;26903:366;;;:::o;27275:419::-;27441:4;27479:2;27468:9;27464:18;27456:26;;27528:9;27522:4;27518:20;27514:1;27503:9;27499:17;27492:47;27556:131;27682:4;27556:131;:::i;:::-;27548:139;;27275:419;;;:::o;27700:224::-;27840:34;27836:1;27828:6;27824:14;27817:58;27909:7;27904:2;27896:6;27892:15;27885:32;27700:224;:::o;27930:366::-;28072:3;28093:67;28157:2;28152:3;28093:67;:::i;:::-;28086:74;;28169:93;28258:3;28169:93;:::i;:::-;28287:2;28282:3;28278:12;28271:19;;27930:366;;;:::o;28302:419::-;28468:4;28506:2;28495:9;28491:18;28483:26;;28555:9;28549:4;28545:20;28541:1;28530:9;28526:17;28519:47;28583:131;28709:4;28583:131;:::i;:::-;28575:139;;28302:419;;;:::o;28727:222::-;28867:34;28863:1;28855:6;28851:14;28844:58;28936:5;28931:2;28923:6;28919:15;28912:30;28727:222;:::o;28955:366::-;29097:3;29118:67;29182:2;29177:3;29118:67;:::i;:::-;29111:74;;29194:93;29283:3;29194:93;:::i;:::-;29312:2;29307:3;29303:12;29296:19;;28955:366;;;:::o;29327:419::-;29493:4;29531:2;29520:9;29516:18;29508:26;;29580:9;29574:4;29570:20;29566:1;29555:9;29551:17;29544:47;29608:131;29734:4;29608:131;:::i;:::-;29600:139;;29327:419;;;:::o;29752:225::-;29892:34;29888:1;29880:6;29876:14;29869:58;29961:8;29956:2;29948:6;29944:15;29937:33;29752:225;:::o;29983:366::-;30125:3;30146:67;30210:2;30205:3;30146:67;:::i;:::-;30139:74;;30222:93;30311:3;30222:93;:::i;:::-;30340:2;30335:3;30331:12;30324:19;;29983:366;;;:::o;30355:419::-;30521:4;30559:2;30548:9;30544:18;30536:26;;30608:9;30602:4;30598:20;30594:1;30583:9;30579:17;30572:47;30636:131;30762:4;30636:131;:::i;:::-;30628:139;;30355:419;;;:::o;30780:220::-;30920:34;30916:1;30908:6;30904:14;30897:58;30989:3;30984:2;30976:6;30972:15;30965:28;30780:220;:::o;31006:366::-;31148:3;31169:67;31233:2;31228:3;31169:67;:::i;:::-;31162:74;;31245:93;31334:3;31245:93;:::i;:::-;31363:2;31358:3;31354:12;31347:19;;31006:366;;;:::o;31378:419::-;31544:4;31582:2;31571:9;31567:18;31559:26;;31631:9;31625:4;31621:20;31617:1;31606:9;31602:17;31595:47;31659:131;31785:4;31659:131;:::i;:::-;31651:139;;31378:419;;;:::o;31803:221::-;31943:34;31939:1;31931:6;31927:14;31920:58;32012:4;32007:2;31999:6;31995:15;31988:29;31803:221;:::o;32030:366::-;32172:3;32193:67;32257:2;32252:3;32193:67;:::i;:::-;32186:74;;32269:93;32358:3;32269:93;:::i;:::-;32387:2;32382:3;32378:12;32371:19;;32030:366;;;:::o;32402:419::-;32568:4;32606:2;32595:9;32591:18;32583:26;;32655:9;32649:4;32645:20;32641:1;32630:9;32626:17;32619:47;32683:131;32809:4;32683:131;:::i;:::-;32675:139;;32402:419;;;:::o

Swarm Source

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