ETH Price: $3,445.70 (+0.30%)

Token

Moose Trax (TRAX)
 

Overview

Max Total Supply

100,237.029629629629629565 TRAX

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Society Hideouts: Deployer
Balance
10,160.050925925925925885 TRAX

Value
$0.00
0xb9decbf694ba4a758660d9fdf45494099e62ae24
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
MooseTrax

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-23
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

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

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

pragma solidity ^0.8.0;

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

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

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

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

// File: MooseTrax.sol

pragma solidity ^0.8.0;

interface IMetaMooseMansion {
    function balanceOf(address owner) external view returns (uint256);
}

contract MooseTrax is ERC20, Ownable {
    IMetaMooseMansion public MetaMooseMansion;

    uint256 public constant BASE_RATE = 10000000000000000000; //10 Trax
    uint256 public START;
    bool rewardPaused = false;

    mapping(address => uint256) public rewards;
    mapping(address => uint256) public lastUpdate;
    mapping(address => bool) public allowedAddresses;

    event RewardPaid(address indexed user, uint256 reward);
    event RewardPaidForStaking(address indexed user, uint256 reward);

    constructor(address _metaMooseMansion) ERC20("Moose Trax", "TRAX") {
        MetaMooseMansion = IMetaMooseMansion(_metaMooseMansion);
        START = block.timestamp;
    }

    //pause reward if unpaused, unpause if paused.
    //false = paused; true = unpaused.
    function flipReward() external onlyOwner {
        rewardPaused = !rewardPaused;
    }

    function updateReward(address from, address to) external {
        require(
            msg.sender == address(MetaMooseMansion),
            "Caller not authorized"
        );
        if (from != address(0)) {
            rewards[from] += getPendingReward(from);
            lastUpdate[from] = block.timestamp;
        }
        if (to != address(0)) {
            rewards[to] += getPendingReward(to);
            lastUpdate[to] = block.timestamp;
        }
    }

    function claimReward() external {
        require(rewardPaused, "Claiming reward has been paused");
        address user = msg.sender;
        uint256 reward = rewards[user] + getPendingReward(user);
        if (reward > 0) {
            rewards[user] = 0;
            lastUpdate[user] = block.timestamp;
            _mint(user, reward);
            emit RewardPaid(user, reward);
        }
    }

    function claimByMetaMoose(address _user, uint256 _rewardAmount) external {
        require(rewardPaused, "Claiming reward has been paused");
        require(
            msg.sender == address(MetaMooseMansion),
            "Caller not authorized"
        );

        rewards[msg.sender] -= _rewardAmount;
        lastUpdate[msg.sender] = block.timestamp;
        _mint(_user, _rewardAmount);
        emit RewardPaidForStaking(_user, _rewardAmount);
    }

    function getTotalClaimable(address user) external view returns (uint256) {
        return rewards[user] + getPendingReward(user);
    }

    function getPendingReward(address user) internal view returns (uint256) {
        return
            (MetaMooseMansion.balanceOf(user) *
                BASE_RATE *
                (block.timestamp -
                    (lastUpdate[user] >= START ? lastUpdate[user] : START))) /
            86400;
    }

    function burn(address user, uint256 amount) external {
        require(
            allowedAddresses[msg.sender],
            "Address does not have permission to burn"
        );
        _burn(user, amount);
    }

    function setAllowedAddresses(address _address, bool _access)
        external
        onlyOwner
    {
        allowedAddresses[_address] = _access;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_metaMooseMansion","type":"address"}],"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":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaidForStaking","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":[],"name":"BASE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MetaMooseMansion","outputs":[{"internalType":"contract IMetaMooseMansion","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"START","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedAddresses","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_rewardAmount","type":"uint256"}],"name":"claimByMetaMoose","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalClaimable","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":"","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_access","type":"bool"}],"name":"setAllowedAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"updateReward","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526008805460ff191690553480156200001b57600080fd5b50604051620018b2380380620018b28339810160408190526200003e91620001d9565b604080518082018252600a81526909adedee6ca40a8e4c2f60b31b6020808301918252835180850190945260048452630a8a482b60e31b9084015281519192916200008c9160039162000133565b508051620000a290600490602084019062000133565b5050506000620000b76200012f60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b0319166001600160a01b03929092169190911790554260075562000246565b3390565b828054620001419062000209565b90600052602060002090601f016020900481019282620001655760008555620001b0565b82601f106200018057805160ff1916838001178555620001b0565b82800160010185558215620001b0579182015b82811115620001b057825182559160200191906001019062000193565b50620001be929150620001c2565b5090565b5b80821115620001be5760008155600101620001c3565b600060208284031215620001eb578081fd5b81516001600160a01b038116811462000202578182fd5b9392505050565b6002810460018216806200021e57607f821691505b602082108114156200024057634e487b7160e01b600052602260045260246000fd5b50919050565b61165c80620002566000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806389781912116100f9578063b11ebc9b11610097578063cb03fb1e11610071578063cb03fb1e14610336578063d230af3a14610349578063dd62ed3e1461035c578063f2fde38b1461036f576101a9565b8063b11ebc9b1461031e578063b88a802f14610326578063ba9a061a1461032e576101a9565b80639dc29fac116100d35780639dc29fac146102dd578063a457c2d7146102f0578063a9059cbb14610303578063ad3cf5fd14610316576101a9565b806389781912146102ad5780638da5cb5b146102c057806395d89b41146102d5576101a9565b80632baf154c116101665780634120657a116101405780634120657a1461027757806341910f901461028a57806370a0823114610292578063715018a6146102a5576101a9565b80632baf154c1461023a578063313ce5671461024f5780633950935114610264576101a9565b806306fdde03146101ae5780630700037d146101cc578063095ea7b3146101ec57806318160ddd1461020c57806323b872dd14610214578063267e8ab614610227575b600080fd5b6101b6610382565b6040516101c39190611139565b60405180910390f35b6101df6101da366004611011565b610414565b6040516101c39190611550565b6101ff6101fa3660046110d9565b610426565b6040516101c3919061112e565b6101df610443565b6101ff610222366004611064565b610449565b6101df610235366004611011565b6104e9565b61024d6102483660046110d9565b61051f565b005b6102576105f0565b6040516101c39190611559565b6101ff6102723660046110d9565b6105f5565b6101ff610285366004611011565b610644565b6101df610659565b6101df6102a0366004611011565b610665565b61024d610680565b61024d6102bb36600461109f565b610709565b6102c8610773565b6040516101c3919061111a565b6101b6610782565b61024d6102eb3660046110d9565b610791565b6101ff6102fe3660046110d9565b6107ce565b6101ff6103113660046110d9565b610849565b6102c861085d565b61024d61086c565b61024d6108bf565b6101df610983565b6101df610344366004611011565b610989565b61024d610357366004611032565b61099b565b6101df61036a366004611032565b610a88565b61024d61037d366004611011565b610ab3565b606060038054610391906115d5565b80601f01602080910402602001604051908101604052809291908181526020018280546103bd906115d5565b801561040a5780601f106103df5761010080835404028352916020019161040a565b820191906000526020600020905b8154815290600101906020018083116103ed57829003601f168201915b5050505050905090565b60096020526000908152604090205481565b600061043a610433610b74565b8484610b78565b50600192915050565b60025490565b6000610456848484610c2c565b6001600160a01b038416600090815260016020526040812081610477610b74565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104c35760405162461bcd60e51b81526004016104ba9061135e565b60405180910390fd5b6104de856104cf610b74565b6104d986856115be565b610b78565b506001949350505050565b60006104f482610d54565b6001600160a01b0383166000908152600960205260409020546105179190611567565b90505b919050565b60085460ff166105415760405162461bcd60e51b81526004016104ba90611327565b6006546001600160a01b0316331461056b5760405162461bcd60e51b81526004016104ba906113db565b336000908152600960205260408120805483929061058a9084906115be565b9091555050336000908152600a602052604090204290556105ab8282610e4f565b816001600160a01b03167f819bf8c0d1ffc25856c2af7ffea5bbad115f6b367673d4ad4873d64e7d0f3325826040516105e49190611550565b60405180910390a25050565b601290565b600061043a610602610b74565b848460016000610610610b74565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104d99190611567565b600b6020526000908152604090205460ff1681565b678ac7230489e8000081565b6001600160a01b031660009081526020819052604090205490565b610688610b74565b6001600160a01b0316610699610773565b6001600160a01b0316146106bf5760405162461bcd60e51b81526004016104ba906113a6565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b610711610b74565b6001600160a01b0316610722610773565b6001600160a01b0316146107485760405162461bcd60e51b81526004016104ba906113a6565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6005546001600160a01b031690565b606060048054610391906115d5565b336000908152600b602052604090205460ff166107c05760405162461bcd60e51b81526004016104ba90611299565b6107ca8282610f0f565b5050565b600080600160006107dd610b74565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108295760405162461bcd60e51b81526004016104ba906114d4565b61083f610834610b74565b856104d986856115be565b5060019392505050565b600061043a610856610b74565b8484610c2c565b6006546001600160a01b031681565b610874610b74565b6001600160a01b0316610885610773565b6001600160a01b0316146108ab5760405162461bcd60e51b81526004016104ba906113a6565b6008805460ff19811660ff90911615179055565b60085460ff166108e15760405162461bcd60e51b81526004016104ba90611327565b3360006108ed82610d54565b6001600160a01b0383166000908152600960205260409020546109109190611567565b905080156107ca576001600160a01b0382166000908152600960209081526040808320839055600a909152902042905561094a8282610e4f565b816001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040516105e49190611550565b60075481565b600a6020526000908152604090205481565b6006546001600160a01b031633146109c55760405162461bcd60e51b81526004016104ba906113db565b6001600160a01b03821615610a26576109dd82610d54565b6001600160a01b03831660009081526009602052604081208054909190610a05908490611567565b90915550506001600160a01b0382166000908152600a602052604090204290555b6001600160a01b038116156107ca57610a3e81610d54565b6001600160a01b03821660009081526009602052604081208054909190610a66908490611567565b90915550506001600160a01b03166000908152600a6020526040902042905550565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610abb610b74565b6001600160a01b0316610acc610773565b6001600160a01b031614610af25760405162461bcd60e51b81526004016104ba906113a6565b6001600160a01b038116610b185760405162461bcd60e51b81526004016104ba90611211565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b038316610b9e5760405162461bcd60e51b81526004016104ba90611490565b6001600160a01b038216610bc45760405162461bcd60e51b81526004016104ba90611257565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c1f908590611550565b60405180910390a3505050565b6001600160a01b038316610c525760405162461bcd60e51b81526004016104ba9061144b565b6001600160a01b038216610c785760405162461bcd60e51b81526004016104ba9061118c565b610c83838383610ff5565b6001600160a01b03831660009081526020819052604090205481811015610cbc5760405162461bcd60e51b81526004016104ba906112e1565b610cc682826115be565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610cfc908490611567565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d469190611550565b60405180910390a350505050565b6007546001600160a01b0382166000908152600a6020526040812054909162015180911015610d8557600754610d9f565b6001600160a01b0383166000908152600a60205260409020545b610da990426115be565b6006546040516370a0823160e01b8152678ac7230489e80000916001600160a01b0316906370a0823190610de190889060040161111a565b60206040518083038186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e319190611102565b610e3b919061159f565b610e45919061159f565b610517919061157f565b6001600160a01b038216610e755760405162461bcd60e51b81526004016104ba90611519565b610e8160008383610ff5565b8060026000828254610e939190611567565b90915550506001600160a01b03821660009081526020819052604081208054839290610ec0908490611567565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f03908590611550565b60405180910390a35050565b6001600160a01b038216610f355760405162461bcd60e51b81526004016104ba9061140a565b610f4182600083610ff5565b6001600160a01b03821660009081526020819052604090205481811015610f7a5760405162461bcd60e51b81526004016104ba906111cf565b610f8482826115be565b6001600160a01b03841660009081526020819052604081209190915560028054849290610fb29084906115be565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c1f908690611550565b505050565b80356001600160a01b038116811461051a57600080fd5b600060208284031215611022578081fd5b61102b82610ffa565b9392505050565b60008060408385031215611044578081fd5b61104d83610ffa565b915061105b60208401610ffa565b90509250929050565b600080600060608486031215611078578081fd5b61108184610ffa565b925061108f60208501610ffa565b9150604084013590509250925092565b600080604083850312156110b1578182fd5b6110ba83610ffa565b9150602083013580151581146110ce578182fd5b809150509250929050565b600080604083850312156110eb578182fd5b6110f483610ffa565b946020939093013593505050565b600060208284031215611113578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561116557858101830151858201604001528201611149565b818111156111765783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526028908201527f4164647265737320646f6573206e6f742068617665207065726d697373696f6e604082015267103a3790313ab93760c11b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6020808252601f908201527f436c61696d696e672072657761726420686173206265656e2070617573656400604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526015908201527410d85b1b195c881b9bdd08185d5d1a1bdc9a5e9959605a1b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60ff91909116815260200190565b6000821982111561157a5761157a611610565b500190565b60008261159a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156115b9576115b9611610565b500290565b6000828210156115d0576115d0611610565b500390565b6002810460018216806115e957607f821691505b6020821081141561160a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122007210e283d10e4b4e1f397ddf6882fb21dc370059e7e2e3c1f989d2fb72a661164736f6c63430008010033000000000000000000000000f63063bb20a03b85bd08d5c1244af8ba0aee1b1f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806389781912116100f9578063b11ebc9b11610097578063cb03fb1e11610071578063cb03fb1e14610336578063d230af3a14610349578063dd62ed3e1461035c578063f2fde38b1461036f576101a9565b8063b11ebc9b1461031e578063b88a802f14610326578063ba9a061a1461032e576101a9565b80639dc29fac116100d35780639dc29fac146102dd578063a457c2d7146102f0578063a9059cbb14610303578063ad3cf5fd14610316576101a9565b806389781912146102ad5780638da5cb5b146102c057806395d89b41146102d5576101a9565b80632baf154c116101665780634120657a116101405780634120657a1461027757806341910f901461028a57806370a0823114610292578063715018a6146102a5576101a9565b80632baf154c1461023a578063313ce5671461024f5780633950935114610264576101a9565b806306fdde03146101ae5780630700037d146101cc578063095ea7b3146101ec57806318160ddd1461020c57806323b872dd14610214578063267e8ab614610227575b600080fd5b6101b6610382565b6040516101c39190611139565b60405180910390f35b6101df6101da366004611011565b610414565b6040516101c39190611550565b6101ff6101fa3660046110d9565b610426565b6040516101c3919061112e565b6101df610443565b6101ff610222366004611064565b610449565b6101df610235366004611011565b6104e9565b61024d6102483660046110d9565b61051f565b005b6102576105f0565b6040516101c39190611559565b6101ff6102723660046110d9565b6105f5565b6101ff610285366004611011565b610644565b6101df610659565b6101df6102a0366004611011565b610665565b61024d610680565b61024d6102bb36600461109f565b610709565b6102c8610773565b6040516101c3919061111a565b6101b6610782565b61024d6102eb3660046110d9565b610791565b6101ff6102fe3660046110d9565b6107ce565b6101ff6103113660046110d9565b610849565b6102c861085d565b61024d61086c565b61024d6108bf565b6101df610983565b6101df610344366004611011565b610989565b61024d610357366004611032565b61099b565b6101df61036a366004611032565b610a88565b61024d61037d366004611011565b610ab3565b606060038054610391906115d5565b80601f01602080910402602001604051908101604052809291908181526020018280546103bd906115d5565b801561040a5780601f106103df5761010080835404028352916020019161040a565b820191906000526020600020905b8154815290600101906020018083116103ed57829003601f168201915b5050505050905090565b60096020526000908152604090205481565b600061043a610433610b74565b8484610b78565b50600192915050565b60025490565b6000610456848484610c2c565b6001600160a01b038416600090815260016020526040812081610477610b74565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104c35760405162461bcd60e51b81526004016104ba9061135e565b60405180910390fd5b6104de856104cf610b74565b6104d986856115be565b610b78565b506001949350505050565b60006104f482610d54565b6001600160a01b0383166000908152600960205260409020546105179190611567565b90505b919050565b60085460ff166105415760405162461bcd60e51b81526004016104ba90611327565b6006546001600160a01b0316331461056b5760405162461bcd60e51b81526004016104ba906113db565b336000908152600960205260408120805483929061058a9084906115be565b9091555050336000908152600a602052604090204290556105ab8282610e4f565b816001600160a01b03167f819bf8c0d1ffc25856c2af7ffea5bbad115f6b367673d4ad4873d64e7d0f3325826040516105e49190611550565b60405180910390a25050565b601290565b600061043a610602610b74565b848460016000610610610b74565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546104d99190611567565b600b6020526000908152604090205460ff1681565b678ac7230489e8000081565b6001600160a01b031660009081526020819052604090205490565b610688610b74565b6001600160a01b0316610699610773565b6001600160a01b0316146106bf5760405162461bcd60e51b81526004016104ba906113a6565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b610711610b74565b6001600160a01b0316610722610773565b6001600160a01b0316146107485760405162461bcd60e51b81526004016104ba906113a6565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6005546001600160a01b031690565b606060048054610391906115d5565b336000908152600b602052604090205460ff166107c05760405162461bcd60e51b81526004016104ba90611299565b6107ca8282610f0f565b5050565b600080600160006107dd610b74565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108295760405162461bcd60e51b81526004016104ba906114d4565b61083f610834610b74565b856104d986856115be565b5060019392505050565b600061043a610856610b74565b8484610c2c565b6006546001600160a01b031681565b610874610b74565b6001600160a01b0316610885610773565b6001600160a01b0316146108ab5760405162461bcd60e51b81526004016104ba906113a6565b6008805460ff19811660ff90911615179055565b60085460ff166108e15760405162461bcd60e51b81526004016104ba90611327565b3360006108ed82610d54565b6001600160a01b0383166000908152600960205260409020546109109190611567565b905080156107ca576001600160a01b0382166000908152600960209081526040808320839055600a909152902042905561094a8282610e4f565b816001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040516105e49190611550565b60075481565b600a6020526000908152604090205481565b6006546001600160a01b031633146109c55760405162461bcd60e51b81526004016104ba906113db565b6001600160a01b03821615610a26576109dd82610d54565b6001600160a01b03831660009081526009602052604081208054909190610a05908490611567565b90915550506001600160a01b0382166000908152600a602052604090204290555b6001600160a01b038116156107ca57610a3e81610d54565b6001600160a01b03821660009081526009602052604081208054909190610a66908490611567565b90915550506001600160a01b03166000908152600a6020526040902042905550565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610abb610b74565b6001600160a01b0316610acc610773565b6001600160a01b031614610af25760405162461bcd60e51b81526004016104ba906113a6565b6001600160a01b038116610b185760405162461bcd60e51b81526004016104ba90611211565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b038316610b9e5760405162461bcd60e51b81526004016104ba90611490565b6001600160a01b038216610bc45760405162461bcd60e51b81526004016104ba90611257565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c1f908590611550565b60405180910390a3505050565b6001600160a01b038316610c525760405162461bcd60e51b81526004016104ba9061144b565b6001600160a01b038216610c785760405162461bcd60e51b81526004016104ba9061118c565b610c83838383610ff5565b6001600160a01b03831660009081526020819052604090205481811015610cbc5760405162461bcd60e51b81526004016104ba906112e1565b610cc682826115be565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610cfc908490611567565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d469190611550565b60405180910390a350505050565b6007546001600160a01b0382166000908152600a6020526040812054909162015180911015610d8557600754610d9f565b6001600160a01b0383166000908152600a60205260409020545b610da990426115be565b6006546040516370a0823160e01b8152678ac7230489e80000916001600160a01b0316906370a0823190610de190889060040161111a565b60206040518083038186803b158015610df957600080fd5b505afa158015610e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e319190611102565b610e3b919061159f565b610e45919061159f565b610517919061157f565b6001600160a01b038216610e755760405162461bcd60e51b81526004016104ba90611519565b610e8160008383610ff5565b8060026000828254610e939190611567565b90915550506001600160a01b03821660009081526020819052604081208054839290610ec0908490611567565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f03908590611550565b60405180910390a35050565b6001600160a01b038216610f355760405162461bcd60e51b81526004016104ba9061140a565b610f4182600083610ff5565b6001600160a01b03821660009081526020819052604090205481811015610f7a5760405162461bcd60e51b81526004016104ba906111cf565b610f8482826115be565b6001600160a01b03841660009081526020819052604081209190915560028054849290610fb29084906115be565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c1f908690611550565b505050565b80356001600160a01b038116811461051a57600080fd5b600060208284031215611022578081fd5b61102b82610ffa565b9392505050565b60008060408385031215611044578081fd5b61104d83610ffa565b915061105b60208401610ffa565b90509250929050565b600080600060608486031215611078578081fd5b61108184610ffa565b925061108f60208501610ffa565b9150604084013590509250925092565b600080604083850312156110b1578182fd5b6110ba83610ffa565b9150602083013580151581146110ce578182fd5b809150509250929050565b600080604083850312156110eb578182fd5b6110f483610ffa565b946020939093013593505050565b600060208284031215611113578081fd5b5051919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b8181101561116557858101830151858201604001528201611149565b818111156111765783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526028908201527f4164647265737320646f6573206e6f742068617665207065726d697373696f6e604082015267103a3790313ab93760c11b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6020808252601f908201527f436c61696d696e672072657761726420686173206265656e2070617573656400604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526015908201527410d85b1b195c881b9bdd08185d5d1a1bdc9a5e9959605a1b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60ff91909116815260200190565b6000821982111561157a5761157a611610565b500190565b60008261159a57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156115b9576115b9611610565b500290565b6000828210156115d0576115d0611610565b500390565b6002810460018216806115e957607f821691505b6020821081141561160a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122007210e283d10e4b4e1f397ddf6882fb21dc370059e7e2e3c1f989d2fb72a661164736f6c63430008010033

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

000000000000000000000000f63063bb20a03b85bd08d5c1244af8ba0aee1b1f

-----Decoded View---------------
Arg [0] : _metaMooseMansion (address): 0xF63063bB20a03B85Bd08d5C1244AF8bA0aEE1B1F

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f63063bb20a03b85bd08d5c1244af8ba0aee1b1f


Deployed Bytecode Sourcemap

18143:3114:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8669:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18371:42;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10977:210::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9789:108::-;;;:::i;11669:493::-;;;;;;:::i;:::-;;:::i;20405:137::-;;;;;;:::i;:::-;;:::i;19932:465::-;;;;;;:::i;:::-;;:::i;:::-;;9631:93;;;:::i;:::-;;;;;;;:::i;12571:297::-;;;;;;:::i;:::-;;:::i;18472:48::-;;;;;;:::i;:::-;;:::i;18237:56::-;;;:::i;9960:177::-;;;;;;:::i;:::-;;:::i;6085:148::-;;;:::i;21096:158::-;;;;;;:::i;:::-;;:::i;5434:87::-;;;:::i;:::-;;;;;;;:::i;8888:104::-;;;:::i;20868:220::-;;;;;;:::i;:::-;;:::i;13371:446::-;;;;;;:::i;:::-;;:::i;10350:216::-;;;;;;:::i;:::-;;:::i;18187:41::-;;;:::i;18938:88::-;;;:::i;19518:406::-;;;:::i;18310:20::-;;;:::i;18420:45::-;;;;;;:::i;:::-;;:::i;19034:476::-;;;;;;:::i;:::-;;:::i;10629:201::-;;;;;;:::i;:::-;;:::i;6388:281::-;;;;;;:::i;:::-;;:::i;8669:100::-;8723:13;8756:5;8749:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8669:100;:::o;18371:42::-;;;;;;;;;;;;;:::o;10977:210::-;11096:4;11118:39;11127:12;:10;:12::i;:::-;11141:7;11150:6;11118:8;:39::i;:::-;-1:-1:-1;11175:4:0;10977:210;;;;:::o;9789:108::-;9877:12;;9789:108;:::o;11669:493::-;11809:4;11826:36;11836:6;11844:9;11855:6;11826:9;:36::i;:::-;-1:-1:-1;;;;;11902:19:0;;11875:24;11902:19;;;:11;:19;;;;;11875:24;11922:12;:10;:12::i;:::-;-1:-1:-1;;;;;11902:33:0;-1:-1:-1;;;;;11902:33:0;;;;;;;;;;;;;11875:60;;11988:6;11968:16;:26;;11946:116;;;;-1:-1:-1;;;11946:116:0;;;;;;;:::i;:::-;;;;;;;;;12073:57;12082:6;12090:12;:10;:12::i;:::-;12104:25;12123:6;12104:16;:25;:::i;:::-;12073:8;:57::i;:::-;-1:-1:-1;12150:4:0;;11669:493;-1:-1:-1;;;;11669:493:0:o;20405:137::-;20469:7;20512:22;20529:4;20512:16;:22::i;:::-;-1:-1:-1;;;;;20496:13:0;;;;;;:7;:13;;;;;;:38;;;;:::i;:::-;20489:45;;20405:137;;;;:::o;19932:465::-;20024:12;;;;20016:56;;;;-1:-1:-1;;;20016:56:0;;;;;;;:::i;:::-;20127:16;;-1:-1:-1;;;;;20127:16:0;20105:10;:39;20083:110;;;;-1:-1:-1;;;20083:110:0;;;;;;;:::i;:::-;20214:10;20206:19;;;;:7;:19;;;;;:36;;20229:13;;20206:19;:36;;20229:13;;20206:36;:::i;:::-;;;;-1:-1:-1;;20264:10:0;20253:22;;;;:10;:22;;;;;20278:15;20253:40;;20304:27;20310:5;20317:13;20304:5;:27::i;:::-;20368:5;-1:-1:-1;;;;;20347:42:0;;20375:13;20347:42;;;;;;:::i;:::-;;;;;;;;19932:465;;:::o;9631:93::-;9714:2;9631:93;:::o;12571:297::-;12686:4;12708:130;12731:12;:10;:12::i;:::-;12758:7;12817:10;12780:11;:25;12792:12;:10;:12::i;:::-;-1:-1:-1;;;;;12780:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;12780:25:0;;;:34;;;;;;;;;;:47;;;;:::i;18472:48::-;;;;;;;;;;;;;;;:::o;18237:56::-;18273:20;18237:56;:::o;9960:177::-;-1:-1:-1;;;;;10111:18:0;10079:7;10111:18;;;;;;;;;;;;9960:177::o;6085:148::-;5665:12;:10;:12::i;:::-;-1:-1:-1;;;;;5654:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5654:23:0;;5646:68;;;;-1:-1:-1;;;5646:68:0;;;;;;;:::i;:::-;6176:6:::1;::::0;6155:40:::1;::::0;6192:1:::1;::::0;-1:-1:-1;;;;;6176:6:0::1;::::0;6155:40:::1;::::0;6192:1;;6155:40:::1;6206:6;:19:::0;;-1:-1:-1;;;;;;6206:19:0::1;::::0;;6085:148::o;21096:158::-;5665:12;:10;:12::i;:::-;-1:-1:-1;;;;;5654:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5654:23:0;;5646:68;;;;-1:-1:-1;;;5646:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21210:26:0;;;::::1;;::::0;;;:16:::1;:26;::::0;;;;:36;;-1:-1:-1;;21210:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;21096:158::o;5434:87::-;5507:6;;-1:-1:-1;;;;;5507:6:0;5434:87;:::o;8888:104::-;8944:13;8977:7;8970:14;;;;;:::i;20868:220::-;20971:10;20954:28;;;;:16;:28;;;;;;;;20932:118;;;;-1:-1:-1;;;20932:118:0;;;;;;;:::i;:::-;21061:19;21067:4;21073:6;21061:5;:19::i;:::-;20868:220;;:::o;13371:446::-;13491:4;13513:24;13540:11;:25;13552:12;:10;:12::i;:::-;-1:-1:-1;;;;;13540:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;13540:25:0;;;:34;;;;;;;;;;;-1:-1:-1;13607:35:0;;;;13585:122;;;;-1:-1:-1;;;13585:122:0;;;;;;;:::i;:::-;13718:67;13727:12;:10;:12::i;:::-;13741:7;13750:34;13769:15;13750:16;:34;:::i;13718:67::-;-1:-1:-1;13805:4:0;;13371:446;-1:-1:-1;;;13371:446:0:o;10350:216::-;10472:4;10494:42;10504:12;:10;:12::i;:::-;10518:9;10529:6;10494:9;:42::i;18187:41::-;;;-1:-1:-1;;;;;18187:41:0;;:::o;18938:88::-;5665:12;:10;:12::i;:::-;-1:-1:-1;;;;;5654:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5654:23:0;;5646:68;;;;-1:-1:-1;;;5646:68:0;;;;;;;:::i;:::-;19006:12:::1;::::0;;-1:-1:-1;;18990:28:0;::::1;19006:12;::::0;;::::1;19005:13;18990:28;::::0;;18938:88::o;19518:406::-;19569:12;;;;19561:56;;;;-1:-1:-1;;;19561:56:0;;;;;;;:::i;:::-;19643:10;19628:12;19697:22;19643:10;19697:16;:22::i;:::-;-1:-1:-1;;;;;19681:13:0;;;;;;:7;:13;;;;;;:38;;;;:::i;:::-;19664:55;-1:-1:-1;19734:10:0;;19730:187;;-1:-1:-1;;;;;19761:13:0;;19777:1;19761:13;;;:7;:13;;;;;;;;:17;;;19793:10;:16;;;;;19812:15;19793:34;;19842:19;19769:4;19854:6;19842:5;:19::i;:::-;19892:4;-1:-1:-1;;;;;19881:24:0;;19898:6;19881:24;;;;;;:::i;18310:20::-;;;;:::o;18420:45::-;;;;;;;;;;;;;:::o;19034:476::-;19146:16;;-1:-1:-1;;;;;19146:16:0;19124:10;:39;19102:110;;;;-1:-1:-1;;;19102:110:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19227:18:0;;;19223:139;;19279:22;19296:4;19279:16;:22::i;:::-;-1:-1:-1;;;;;19262:13:0;;;;;;:7;:13;;;;;:39;;:13;;;:39;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;19316:16:0;;;;;;:10;:16;;;;;19335:15;19316:34;;19223:139;-1:-1:-1;;;;;19376:16:0;;;19372:131;;19424:20;19441:2;19424:16;:20::i;:::-;-1:-1:-1;;;;;19409:11:0;;;;;;:7;:11;;;;;:35;;:11;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;19459:14:0;;;;;:10;:14;;;;;19476:15;19459:32;;-1:-1:-1;19034:476:0:o;10629:201::-;-1:-1:-1;;;;;10795:18:0;;;10763:7;10795:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10629:201::o;6388:281::-;5665:12;:10;:12::i;:::-;-1:-1:-1;;;;;5654:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;5654:23:0;;5646:68;;;;-1:-1:-1;;;5646:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6491:22:0;::::1;6469:110;;;;-1:-1:-1::0;;;6469:110:0::1;;;;;;;:::i;:::-;6616:6;::::0;6595:38:::1;::::0;-1:-1:-1;;;;;6595:38:0;;::::1;::::0;6616:6:::1;::::0;6595:38:::1;::::0;6616:6:::1;::::0;6595:38:::1;6644:6;:17:::0;;-1:-1:-1;;;;;;6644:17:0::1;-1:-1:-1::0;;;;;6644:17:0;;;::::1;::::0;;;::::1;::::0;;6388:281::o;4027:98::-;4107:10;4027:98;:::o;16867:380::-;-1:-1:-1;;;;;17003:19:0;;16995:68;;;;-1:-1:-1;;;16995:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17082:21:0;;17074:68;;;;-1:-1:-1;;;17074:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17155:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;17207:32;;;;;17185:6;;17207:32;:::i;:::-;;;;;;;;16867:380;;;:::o;14307:675::-;-1:-1:-1;;;;;14447:20:0;;14439:70;;;;-1:-1:-1;;;14439:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14528:23:0;;14520:71;;;;-1:-1:-1;;;14520:71:0;;;;;;;:::i;:::-;14604:47;14625:6;14633:9;14644:6;14604:20;:47::i;:::-;-1:-1:-1;;;;;14688:17:0;;14664:21;14688:17;;;;;;;;;;;14738:23;;;;14716:111;;;;-1:-1:-1;;;14716:111:0;;;;;;;:::i;:::-;14858:22;14874:6;14858:13;:22;:::i;:::-;-1:-1:-1;;;;;14838:17:0;;;:9;:17;;;;;;;;;;;:42;;;;14891:20;;;;;;;;:30;;14915:6;;14838:9;14891:30;;14915:6;;14891:30;:::i;:::-;;;;;;;;14956:9;-1:-1:-1;;;;;14939:35:0;14948:6;-1:-1:-1;;;;;14939:35:0;;14967:6;14939:35;;;;;;:::i;:::-;;;;;;;;14307:675;;;;:::o;20550:310::-;20796:5;;-1:-1:-1;;;;;20776:16:0;;20613:7;20776:16;;;:10;:16;;;;;;20613:7;;20847:5;;20776:25;;:52;;20823:5;;20776:52;;;-1:-1:-1;;;;;20804:16:0;;;;;;:10;:16;;;;;;20776:52;20736:93;;:15;:93;:::i;:::-;20654:16;;:32;;-1:-1:-1;;;20654:32:0;;18273:20;;-1:-1:-1;;;;;20654:16:0;;:26;;:32;;20681:4;;20654:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;;;;:::i;:::-;:176;;;;:::i;:::-;20653:199;;;;:::i;15264:338::-;-1:-1:-1;;;;;15348:21:0;;15340:65;;;;-1:-1:-1;;;15340:65:0;;;;;;;:::i;:::-;15418:49;15447:1;15451:7;15460:6;15418:20;:49::i;:::-;15496:6;15480:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;15513:18:0;;:9;:18;;;;;;;;;;:28;;15535:6;;15513:9;:28;;15535:6;;15513:28;:::i;:::-;;;;-1:-1:-1;;15557:37:0;;-1:-1:-1;;;;;15557:37:0;;;15574:1;;15557:37;;;;15587:6;;15557:37;:::i;:::-;;;;;;;;15264:338;;:::o;15935:494::-;-1:-1:-1;;;;;16019:21:0;;16011:67;;;;-1:-1:-1;;;16011:67:0;;;;;;;:::i;:::-;16091:49;16112:7;16129:1;16133:6;16091:20;:49::i;:::-;-1:-1:-1;;;;;16178:18:0;;16153:22;16178:18;;;;;;;;;;;16215:24;;;;16207:71;;;;-1:-1:-1;;;16207:71:0;;;;;;;:::i;:::-;16310:23;16327:6;16310:14;:23;:::i;:::-;-1:-1:-1;;;;;16289:18:0;;:9;:18;;;;;;;;;;:44;;;;16344:12;:22;;16360:6;;16289:9;16344:22;;16360:6;;16344:22;:::i;:::-;;;;-1:-1:-1;;16384:37:0;;16410:1;;-1:-1:-1;;;;;16384:37:0;;;;;;;16414:6;;16384:37;:::i;17850:125::-;;;;:::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:369::-;;;1149:2;1137:9;1128:7;1124:23;1120:32;1117:2;;;1170:6;1162;1155:22;1117:2;1198:31;1219:9;1198:31;:::i;:::-;1188:41;;1279:2;1268:9;1264:18;1251:32;1326:5;1319:13;1312:21;1305:5;1302:32;1292:2;;1353:6;1345;1338:22;1292:2;1381:5;1371:15;;;1107:285;;;;;:::o;1397:266::-;;;1526:2;1514:9;1505:7;1501:23;1497:32;1494:2;;;1547:6;1539;1532:22;1494:2;1575:31;1596:9;1575:31;:::i;:::-;1565:41;1653:2;1638:18;;;;1625:32;;-1:-1:-1;;;1484:179:1:o;1668:194::-;;1791:2;1779:9;1770:7;1766:23;1762:32;1759:2;;;1812:6;1804;1797:22;1759:2;-1:-1:-1;1840:16:1;;1749:113;-1:-1:-1;1749:113:1:o;1867:203::-;-1:-1:-1;;;;;2031:32:1;;;;2013:51;;2001:2;1986:18;;1968:102::o;2075:187::-;2240:14;;2233:22;2215:41;;2203:2;2188:18;;2170:92::o;2500:603::-;;2641:2;2670;2659:9;2652:21;2702:6;2696:13;2745:6;2740:2;2729:9;2725:18;2718:34;2770:4;2783:140;2797:6;2794:1;2791:13;2783:140;;;2892:14;;;2888:23;;2882:30;2858:17;;;2877:2;2854:26;2847:66;2812:10;;2783:140;;;2941:6;2938:1;2935:13;2932:2;;;3011:4;3006:2;2997:6;2986:9;2982:22;2978:31;2971:45;2932:2;-1:-1:-1;3087:2:1;3066:15;-1:-1:-1;;3062:29:1;3047:45;;;;3094:2;3043:54;;2621:482;-1:-1:-1;;;2621:482:1:o;3108:399::-;3310:2;3292:21;;;3349:2;3329:18;;;3322:30;3388:34;3383:2;3368:18;;3361:62;-1:-1:-1;;;3454:2:1;3439:18;;3432:33;3497:3;3482:19;;3282:225::o;3512:398::-;3714:2;3696:21;;;3753:2;3733:18;;;3726:30;3792:34;3787:2;3772:18;;3765:62;-1:-1:-1;;;3858:2:1;3843:18;;3836:32;3900:3;3885:19;;3686:224::o;3915:402::-;4117:2;4099:21;;;4156:2;4136:18;;;4129:30;4195:34;4190:2;4175:18;;4168:62;-1:-1:-1;;;4261:2:1;4246:18;;4239:36;4307:3;4292:19;;4089:228::o;4322:398::-;4524:2;4506:21;;;4563:2;4543:18;;;4536:30;4602:34;4597:2;4582:18;;4575:62;-1:-1:-1;;;4668:2:1;4653:18;;4646:32;4710:3;4695:19;;4496:224::o;4725:404::-;4927:2;4909:21;;;4966:2;4946:18;;;4939:30;5005:34;5000:2;4985:18;;4978:62;-1:-1:-1;;;5071:2:1;5056:18;;5049:38;5119:3;5104:19;;4899:230::o;5134:402::-;5336:2;5318:21;;;5375:2;5355:18;;;5348:30;5414:34;5409:2;5394:18;;5387:62;-1:-1:-1;;;5480:2:1;5465:18;;5458:36;5526:3;5511:19;;5308:228::o;5541:355::-;5743:2;5725:21;;;5782:2;5762:18;;;5755:30;5821:33;5816:2;5801:18;;5794:61;5887:2;5872:18;;5715:181::o;5901:404::-;6103:2;6085:21;;;6142:2;6122:18;;;6115:30;6181:34;6176:2;6161:18;;6154:62;-1:-1:-1;;;6247:2:1;6232:18;;6225:38;6295:3;6280:19;;6075:230::o;6310:356::-;6512:2;6494:21;;;6531:18;;;6524:30;6590:34;6585:2;6570:18;;6563:62;6657:2;6642:18;;6484:182::o;6671:345::-;6873:2;6855:21;;;6912:2;6892:18;;;6885:30;-1:-1:-1;;;6946:2:1;6931:18;;6924:51;7007:2;6992:18;;6845:171::o;7021:397::-;7223:2;7205:21;;;7262:2;7242:18;;;7235:30;7301:34;7296:2;7281:18;;7274:62;-1:-1:-1;;;7367:2:1;7352:18;;7345:31;7408:3;7393:19;;7195:223::o;7423:401::-;7625:2;7607:21;;;7664:2;7644:18;;;7637:30;7703:34;7698:2;7683:18;;7676:62;-1:-1:-1;;;7769:2:1;7754:18;;7747:35;7814:3;7799:19;;7597:227::o;7829:400::-;8031:2;8013:21;;;8070:2;8050:18;;;8043:30;8109:34;8104:2;8089:18;;8082:62;-1:-1:-1;;;8175:2:1;8160:18;;8153:34;8219:3;8204:19;;8003:226::o;8234:401::-;8436:2;8418:21;;;8475:2;8455:18;;;8448:30;8514:34;8509:2;8494:18;;8487:62;-1:-1:-1;;;8580:2:1;8565:18;;8558:35;8625:3;8610:19;;8408:227::o;8640:355::-;8842:2;8824:21;;;8881:2;8861:18;;;8854:30;8920:33;8915:2;8900:18;;8893:61;8986:2;8971:18;;8814:181::o;9000:177::-;9146:25;;;9134:2;9119:18;;9101:76::o;9182:184::-;9354:4;9342:17;;;;9324:36;;9312:2;9297:18;;9279:87::o;9371:128::-;;9442:1;9438:6;9435:1;9432:13;9429:2;;;9448:18;;:::i;:::-;-1:-1:-1;9484:9:1;;9419:80::o;9504:217::-;;9570:1;9560:2;;-1:-1:-1;;;9595:31:1;;9649:4;9646:1;9639:15;9677:4;9602:1;9667:15;9560:2;-1:-1:-1;9706:9:1;;9550:171::o;9726:168::-;;9832:1;9828;9824:6;9820:14;9817:1;9814:21;9809:1;9802:9;9795:17;9791:45;9788:2;;;9839:18;;:::i;:::-;-1:-1:-1;9879:9:1;;9778:116::o;9899:125::-;;9967:1;9964;9961:8;9958:2;;;9972:18;;:::i;:::-;-1:-1:-1;10009:9:1;;9948:76::o;10029:380::-;10114:1;10104:12;;10161:1;10151:12;;;10172:2;;10226:4;10218:6;10214:17;10204:27;;10172:2;10279;10271:6;10268:14;10248:18;10245:38;10242:2;;;10325:10;10320:3;10316:20;10313:1;10306:31;10360:4;10357:1;10350:15;10388:4;10385:1;10378:15;10242:2;;10084:325;;;:::o;10414:127::-;10475:10;10470:3;10466:20;10463:1;10456:31;10506:4;10503:1;10496:15;10530:4;10527:1;10520:15

Swarm Source

ipfs://07210e283d10e4b4e1f397ddf6882fb21dc370059e7e2e3c1f989d2fb72a6611
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.