POL Price: $0.380434 (+3.31%)
 

Overview

Max Total Supply

1,200,000,000 MOTO

Holders

1,398

Market

Price

$0.00 @ 0.000000 POL

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Polygonscan: Donate
Balance
3,000 MOTO

Value
$0.00
0x71c7656ec7ab88b098defb751b7401b5f6d8976f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
MOTO

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-01-18
*/

// Sources flattened with hardhat v2.2.1 https://hardhat.org

// File @openzeppelin/contracts/utils/[email protected]

// SPDX-License-Identifier: MIT

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;
    }
}


// File @openzeppelin/contracts/access/[email protected]


/**
 * @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;
    }
}


// File @openzeppelin/contracts/token/ERC20/[email protected]



/**
 * @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);
}


// File @openzeppelin/contracts/token/ERC20/extensions/[email protected]


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

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

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


// File @openzeppelin/contracts/token/ERC20/[email protected]


/**
 * @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 contracts/MOTO.sol

contract MOTO is ERC20, Ownable {
    address public GOVERNANCE_ADDRESS;
    iGovernance private governor;
    bool public applyGovernanceForwarding;

    constructor(string memory _name, string memory _symbol)
        ERC20(_name, _symbol)
    {
        _mint(msg.sender, 12 * (10**26));
    }

    function setGovernanceAddress(address _address) external onlyOwner {
        GOVERNANCE_ADDRESS = _address;
        governor = iGovernance(GOVERNANCE_ADDRESS);
    }

    function changeGovernanceForwarding(bool _bool) external onlyOwner {
        applyGovernanceForwarding = _bool;
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        if (applyGovernanceForwarding) {
            require(governor.govAuthTransfer(msg.sender, recipient, amount), "Governor transfer failed!");
        }

        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        if (applyGovernanceForwarding) {
            require(governor.govAuthTransferFrom(msg.sender, sender, recipient, amount), "Governor transferFrom failed!");
        }

        _transfer(sender, recipient, amount);
        uint256 currentAllowance = allowance(sender, _msgSender()); //Had to change this because error thrown with _allowances
        //uint256 currentAllowance = _allowances[sender][_msgSender()]; //Original OpenZeppelin Line
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

    function burn(uint256 _amount) external returns (bool) {
        _burn(msg.sender, _amount);
        return true;
    }
}

interface iGovernance {
    function govAuthTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool); // calls governanceTransfer after fee ledger update

    function govAuthTransferFrom(
        address original_sender,
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool); // calls governanceTransferFrom after fee ledger update
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"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":"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":"GOVERNANCE_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"applyGovernanceForwarding","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":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"changeGovernanceForwarding","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":[{"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":[],"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":"_address","type":"address"}],"name":"setGovernanceAddress","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"}]

60806040523480156200001157600080fd5b50604051620016043803806200160483398101604081905262000034916200032b565b8151829082906200004d906003906020850190620001d2565b50805162000063906004906020840190620001d2565b505050600062000078620000e660201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000de336b03e09de2596099e2b0000000620000ea565b50506200040a565b3390565b6001600160a01b038216620001455760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000159919062000392565b90915550506001600160a01b038216600090815260208190526040812080548392906200018890849062000392565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620001e090620003b7565b90600052602060002090601f0160209004810192826200020457600085556200024f565b82601f106200021f57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024f57825182559160200191906001019062000232565b506200025d92915062000261565b5090565b5b808211156200025d576000815560010162000262565b600082601f83011262000289578081fd5b81516001600160401b0380821115620002a657620002a6620003f4565b604051601f8301601f19908116603f01168101908282118183101715620002d157620002d1620003f4565b81604052838152602092508683858801011115620002ed578485fd5b8491505b83821015620003105785820183015181830184015290820190620002f1565b838211156200032157848385830101525b9695505050505050565b600080604083850312156200033e578182fd5b82516001600160401b038082111562000355578384fd5b620003638683870162000278565b9350602085015191508082111562000379578283fd5b50620003888582860162000278565b9150509250929050565b60008219821115620003b257634e487b7160e01b81526011600452602481fd5b500190565b600181811c90821680620003cc57607f821691505b60208210811415620003ee57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6111ea806200041a6000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806370a08231116100cd578063a9059cbb11610081578063cfc1625411610066578063cfc16254146102b1578063dd62ed3e146102c4578063f2fde38b146102fd57600080fd5b8063a9059cbb1461028a578063af3f8bb81461029d57600080fd5b80638da5cb5b116100b25780638da5cb5b1461025e57806395d89b411461026f578063a457c2d71461027757600080fd5b806370a082311461022d578063715018a61461025657600080fd5b806323b872dd11610124578063313ce56711610109578063313ce567146101f8578063395093511461020757806342966c681461021a57600080fd5b806323b872dd146101d05780632882ce16146101e357600080fd5b80630143dd861461015657806306fdde0314610186578063095ea7b31461019b57806318160ddd146101be575b600080fd5b600654610169906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018e610310565b60405161017d91906110d0565b6101ae6101a9366004611057565b6103a2565b604051901515815260200161017d565b6002545b60405190815260200161017d565b6101ae6101de36600461101c565b6103b8565b6101f66101f1366004611080565b610579565b005b6040516012815260200161017d565b6101ae610215366004611057565b61060c565b6101ae6102283660046110b8565b610643565b6101c261023b366004610fc9565b6001600160a01b031660009081526020819052604090205490565b6101f6610657565b6005546001600160a01b0316610169565b61018e610708565b6101ae610285366004611057565b610717565b6101ae610298366004611057565b6107ca565b6007546101ae90600160a01b900460ff1681565b6101f66102bf366004610fc9565b6108db565b6101c26102d2366004610fea565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101f661030b366004610fc9565b61096e565b60606003805461031f90611152565b80601f016020809104026020016040519081016040528092919081815260200182805461034b90611152565b80156103985780601f1061036d57610100808354040283529160200191610398565b820191906000526020600020905b81548152906001019060200180831161037b57829003601f168201915b5050505050905090565b60006103af338484610aad565b50600192915050565b600754600090600160a01b900460ff16156104cb576007546040517f7b6cef150000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03868116602483015285811660448301526064820185905290911690637b6cef1590608401602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061109c565b6104cb5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f72207472616e7366657246726f6d206661696c65642100000060448201526064015b60405180910390fd5b6104d6848484610c06565b60006104e285336102d2565b90508281101561055a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084016104c2565b61056e8533610569868561113b565b610aad565b506001949350505050565b6005546001600160a01b031633146105d35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b60078054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103af918590610569908690611123565b600061064f3383610e27565b506001919050565b6005546001600160a01b031633146106b15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461031f90611152565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104c2565b6107c03385610569868561113b565b5060019392505050565b600754600090600160a01b900460ff16156108d0576007546040517fa8dc0d340000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038581166024830152604482018590529091169063a8dc0d3490606401602060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610884919061109c565b6108d05760405162461bcd60e51b815260206004820152601960248201527f476f7665726e6f72207472616e73666572206661696c6564210000000000000060448201526064016104c2565b6103af338484610c06565b6005546001600160a01b031633146109355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b600680546001600160a01b0390921673ffffffffffffffffffffffffffffffffffffffff19928316811790915560078054909216179055565b6005546001600160a01b031633146109c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b6001600160a01b038116610a445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104c2565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610b285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b038216610ba45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c825760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b038216610cfe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b03831660009081526020819052604090205481811015610d8d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c2565b610d97828261113b565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610dcd908490611123565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e1991815260200190565b60405180910390a350505050565b6001600160a01b038216610ea35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b03821660009081526020819052604090205481811015610f325760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b610f3c828261113b565b6001600160a01b03841660009081526020819052604081209190915560028054849290610f6a90849061113b565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf9565b80356001600160a01b0381168114610fc457600080fd5b919050565b600060208284031215610fda578081fd5b610fe382610fad565b9392505050565b60008060408385031215610ffc578081fd5b61100583610fad565b915061101360208401610fad565b90509250929050565b600080600060608486031215611030578081fd5b61103984610fad565b925061104760208501610fad565b9150604084013590509250925092565b60008060408385031215611069578182fd5b61107283610fad565b946020939093013593505050565b600060208284031215611091578081fd5b8135610fe3816111a3565b6000602082840312156110ad578081fd5b8151610fe3816111a3565b6000602082840312156110c9578081fd5b5035919050565b6000602080835283518082850152825b818110156110fc578581018301518582016040015282016110e0565b8181111561110d5783604083870101525b50601f01601f1916929092016040019392505050565b600082198211156111365761113661118d565b500190565b60008282101561114d5761114d61118d565b500390565b600181811c9082168061116657607f821691505b6020821081141561118757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80151581146111b157600080fd5b5056fea2646970667358221220de9e4b30e00ac9276883adbca287b6dc12904ed2ab03163e102c419d11efe60b64736f6c634300080400330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000044d6f746f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d4f544f00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101515760003560e01c806370a08231116100cd578063a9059cbb11610081578063cfc1625411610066578063cfc16254146102b1578063dd62ed3e146102c4578063f2fde38b146102fd57600080fd5b8063a9059cbb1461028a578063af3f8bb81461029d57600080fd5b80638da5cb5b116100b25780638da5cb5b1461025e57806395d89b411461026f578063a457c2d71461027757600080fd5b806370a082311461022d578063715018a61461025657600080fd5b806323b872dd11610124578063313ce56711610109578063313ce567146101f8578063395093511461020757806342966c681461021a57600080fd5b806323b872dd146101d05780632882ce16146101e357600080fd5b80630143dd861461015657806306fdde0314610186578063095ea7b31461019b57806318160ddd146101be575b600080fd5b600654610169906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018e610310565b60405161017d91906110d0565b6101ae6101a9366004611057565b6103a2565b604051901515815260200161017d565b6002545b60405190815260200161017d565b6101ae6101de36600461101c565b6103b8565b6101f66101f1366004611080565b610579565b005b6040516012815260200161017d565b6101ae610215366004611057565b61060c565b6101ae6102283660046110b8565b610643565b6101c261023b366004610fc9565b6001600160a01b031660009081526020819052604090205490565b6101f6610657565b6005546001600160a01b0316610169565b61018e610708565b6101ae610285366004611057565b610717565b6101ae610298366004611057565b6107ca565b6007546101ae90600160a01b900460ff1681565b6101f66102bf366004610fc9565b6108db565b6101c26102d2366004610fea565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101f661030b366004610fc9565b61096e565b60606003805461031f90611152565b80601f016020809104026020016040519081016040528092919081815260200182805461034b90611152565b80156103985780601f1061036d57610100808354040283529160200191610398565b820191906000526020600020905b81548152906001019060200180831161037b57829003601f168201915b5050505050905090565b60006103af338484610aad565b50600192915050565b600754600090600160a01b900460ff16156104cb576007546040517f7b6cef150000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03868116602483015285811660448301526064820185905290911690637b6cef1590608401602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a919061109c565b6104cb5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f72207472616e7366657246726f6d206661696c65642100000060448201526064015b60405180910390fd5b6104d6848484610c06565b60006104e285336102d2565b90508281101561055a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084016104c2565b61056e8533610569868561113b565b610aad565b506001949350505050565b6005546001600160a01b031633146105d35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b60078054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103af918590610569908690611123565b600061064f3383610e27565b506001919050565b6005546001600160a01b031633146106b15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461031f90611152565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016104c2565b6107c03385610569868561113b565b5060019392505050565b600754600090600160a01b900460ff16156108d0576007546040517fa8dc0d340000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038581166024830152604482018590529091169063a8dc0d3490606401602060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610884919061109c565b6108d05760405162461bcd60e51b815260206004820152601960248201527f476f7665726e6f72207472616e73666572206661696c6564210000000000000060448201526064016104c2565b6103af338484610c06565b6005546001600160a01b031633146109355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b600680546001600160a01b0390921673ffffffffffffffffffffffffffffffffffffffff19928316811790915560078054909216179055565b6005546001600160a01b031633146109c85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104c2565b6001600160a01b038116610a445760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104c2565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610b285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b038216610ba45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610c825760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b038216610cfe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b03831660009081526020819052604090205481811015610d8d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016104c2565b610d97828261113b565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610dcd908490611123565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e1991815260200190565b60405180910390a350505050565b6001600160a01b038216610ea35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b6001600160a01b03821660009081526020819052604090205481811015610f325760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016104c2565b610f3c828261113b565b6001600160a01b03841660009081526020819052604081209190915560028054849290610f6a90849061113b565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf9565b80356001600160a01b0381168114610fc457600080fd5b919050565b600060208284031215610fda578081fd5b610fe382610fad565b9392505050565b60008060408385031215610ffc578081fd5b61100583610fad565b915061101360208401610fad565b90509250929050565b600080600060608486031215611030578081fd5b61103984610fad565b925061104760208501610fad565b9150604084013590509250925092565b60008060408385031215611069578182fd5b61107283610fad565b946020939093013593505050565b600060208284031215611091578081fd5b8135610fe3816111a3565b6000602082840312156110ad578081fd5b8151610fe3816111a3565b6000602082840312156110c9578081fd5b5035919050565b6000602080835283518082850152825b818110156110fc578581018301518582016040015282016110e0565b8181111561110d5783604083870101525b50601f01601f1916929092016040019392505050565b600082198211156111365761113661118d565b500190565b60008282101561114d5761114d61118d565b500390565b600181811c9082168061116657607f821691505b6020821081141561118757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80151581146111b157600080fd5b5056fea2646970667358221220de9e4b30e00ac9276883adbca287b6dc12904ed2ab03163e102c419d11efe60b64736f6c63430008040033

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

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000044d6f746f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d4f544f00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Moto
Arg [1] : _symbol (string): MOTO

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [3] : 4d6f746f00000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4d4f544f00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

17610:1936:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17649:33;;;;;-1:-1:-1;;;;;17649:33:0;;;;;;-1:-1:-1;;;;;2178:55:1;;;2160:74;;2148:2;2133:18;17649:33:0;;;;;;;;8807:100;;;:::i;:::-;;;;;;;:::i;10974:169::-;;;;;;:::i;:::-;;:::i;:::-;;;3297:14:1;;3290:22;3272:41;;3260:2;3245:18;10974:169:0;3227:92:1;9927:108:0;10015:12;;9927:108;;;9203:25:1;;;9191:2;9176:18;9927:108:0;9158:76:1;18594:819:0;;;;;;:::i;:::-;;:::i;18097:119::-;;;;;;:::i;:::-;;:::i;:::-;;9769:93;;;9852:2;9381:36:1;;9369:2;9354:18;9769:93:0;9336:87:1;12456:215:0;;;;;;:::i;:::-;;:::i;19421:122::-;;;;;;:::i;:::-;;:::i;10098:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10199:18:0;10172:7;10199:18;;;;;;;;;;;;10098:127;2797:148;;;:::i;2146:87::-;2219:6;;-1:-1:-1;;;;;2219:6:0;2146:87;;9026:104;;;:::i;13174:377::-;;;;;;:::i;:::-;;:::i;18224:362::-;;;;;;:::i;:::-;;:::i;17724:37::-;;;;;-1:-1:-1;;;17724:37:0;;;;;;17921:168;;;;;;:::i;:::-;;:::i;10676:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;10792:18:0;;;10765:7;10792:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10676:151;3100:244;;;;;;:::i;:::-;;:::i;8807:100::-;8861:13;8894:5;8887:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8807:100;:::o;10974:169::-;11057:4;11074:39;805:10;11097:7;11106:6;11074:8;:39::i;:::-;-1:-1:-1;11131:4:0;10974:169;;;;:::o;18594:819::-;18747:25;;18726:4;;-1:-1:-1;;;18747:25:0;;;;18743:167;;;18797:8;;:67;;;;;18826:10;18797:67;;;2537:34:1;-1:-1:-1;;;;;2607:15:1;;;2587:18;;;2580:43;2659:15;;;2639:18;;;2632:43;2691:18;;;2684:34;;;18797:8:0;;;;:28;;2448:19:1;;18797:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18789:109;;;;-1:-1:-1;;;18789:109:0;;8901:2:1;18789:109:0;;;8883:21:1;8940:2;8920:18;;;8913:30;8979:31;8959:18;;;8952:59;9028:18;;18789:109:0;;;;;;;;;18922:36;18932:6;18940:9;18951:6;18922:9;:36::i;:::-;18969:24;18996:31;19006:6;805:10;10676:151;:::i;18996:31::-;18969:58;;19241:6;19221:16;:26;;19199:116;;;;-1:-1:-1;;;19199:116:0;;6512:2:1;19199:116:0;;;6494:21:1;6551:2;6531:18;;;6524:30;6590:34;6570:18;;;6563:62;6661:10;6641:18;;;6634:38;6689:19;;19199:116:0;6484:230:1;19199:116:0;19326:57;19335:6;805:10;19357:25;19376:6;19357:16;:25;:::i;:::-;19326:8;:57::i;:::-;-1:-1:-1;19401:4:0;;18594:819;-1:-1:-1;;;;18594:819:0:o;18097:119::-;2219:6;;-1:-1:-1;;;;;2219:6:0;805:10;2366:23;2358:68;;;;-1:-1:-1;;;2358:68:0;;6921:2:1;2358:68:0;;;6903:21:1;;;6940:18;;;6933:30;6999:34;6979:18;;;6972:62;7051:18;;2358:68:0;6893:182:1;2358:68:0;18175:25:::1;:33:::0;;;::::1;;-1:-1:-1::0;;;18175:33:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;18097:119::o;12456:215::-;805:10;12544:4;12593:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12593:34:0;;;;;;;;;;12544:4;;12561:80;;12584:7;;12593:47;;12630:10;;12593:47;:::i;19421:122::-;19470:4;19487:26;19493:10;19505:7;19487:5;:26::i;:::-;-1:-1:-1;19531:4:0;;19421:122;-1:-1:-1;19421:122:0:o;2797:148::-;2219:6;;-1:-1:-1;;;;;2219:6:0;805:10;2366:23;2358:68;;;;-1:-1:-1;;;2358:68:0;;6921:2:1;2358:68:0;;;6903:21:1;;;6940:18;;;6933:30;6999:34;6979:18;;;6972:62;7051:18;;2358:68:0;6893:182:1;2358:68:0;2888:6:::1;::::0;2867:40:::1;::::0;2904:1:::1;::::0;-1:-1:-1;;;;;2888:6:0::1;::::0;2867:40:::1;::::0;2904:1;;2867:40:::1;2918:6;:19:::0;;-1:-1:-1;;2918:19:0::1;::::0;;2797:148::o;9026:104::-;9082:13;9115:7;9108:14;;;;;:::i;13174:377::-;805:10;13267:4;13311:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13311:34:0;;;;;;;;;;13364:35;;;;13356:85;;;;-1:-1:-1;;;13356:85:0;;8495:2:1;13356:85:0;;;8477:21:1;8534:2;8514:18;;;8507:30;8573:34;8553:18;;;8546:62;8644:7;8624:18;;;8617:35;8669:19;;13356:85:0;8467:227:1;13356:85:0;13452:67;805:10;13475:7;13484:34;13503:15;13484:16;:34;:::i;13452:67::-;-1:-1:-1;13539:4:0;;13174:377;-1:-1:-1;;;13174:377:0:o;18224:362::-;18355:25;;18329:4;;-1:-1:-1;;;18355:25:0;;;;18351:151;;;18405:8;;:55;;;;;18430:10;18405:55;;;2992:34:1;-1:-1:-1;;;;;3062:15:1;;;3042:18;;;3035:43;3094:18;;;3087:34;;;18405:8:0;;;;:24;;2904:18:1;;18405:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18397:93;;;;-1:-1:-1;;;18397:93:0;;6158:2:1;18397:93:0;;;6140:21:1;6197:2;6177:18;;;6170:30;6236:27;6216:18;;;6209:55;6281:18;;18397:93:0;6130:175:1;18397:93:0;18514:42;805:10;18538:9;18549:6;18514:9;:42::i;17921:168::-;2219:6;;-1:-1:-1;;;;;2219:6:0;805:10;2366:23;2358:68;;;;-1:-1:-1;;;2358:68:0;;6921:2:1;2358:68:0;;;6903:21:1;;;6940:18;;;6933:30;6999:34;6979:18;;;6972:62;7051:18;;2358:68:0;6893:182:1;2358:68:0;17999:18:::1;:29:::0;;-1:-1:-1;;;;;17999:29:0;;::::1;-1:-1:-1::0;;17999:29:0;;::::1;::::0;::::1;::::0;;;18039:8:::1;:42:::0;;;;::::1;;::::0;;17921:168::o;3100:244::-;2219:6;;-1:-1:-1;;;;;2219:6:0;805:10;2366:23;2358:68;;;;-1:-1:-1;;;2358:68:0;;6921:2:1;2358:68:0;;;6903:21:1;;;6940:18;;;6933:30;6999:34;6979:18;;;6972:62;7051:18;;2358:68:0;6893:182:1;2358:68:0;-1:-1:-1;;;;;3189:22:0;::::1;3181:73;;;::::0;-1:-1:-1;;;3181:73:0;;4941:2:1;3181:73:0::1;::::0;::::1;4923:21:1::0;4980:2;4960:18;;;4953:30;5019:34;4999:18;;;4992:62;5090:8;5070:18;;;5063:36;5116:19;;3181:73:0::1;4913:228:1::0;3181:73:0::1;3291:6;::::0;3270:38:::1;::::0;-1:-1:-1;;;;;3270:38:0;;::::1;::::0;3291:6:::1;::::0;3270:38:::1;::::0;3291:6:::1;::::0;3270:38:::1;3319:6;:17:::0;;-1:-1:-1;;3319:17:0::1;-1:-1:-1::0;;;;;3319:17:0;;;::::1;::::0;;;::::1;::::0;;3100:244::o;16530:346::-;-1:-1:-1;;;;;16632:19:0;;16624:68;;;;-1:-1:-1;;;16624:68:0;;8090:2:1;16624:68:0;;;8072:21:1;8129:2;8109:18;;;8102:30;8168:34;8148:18;;;8141:62;8239:6;8219:18;;;8212:34;8263:19;;16624:68:0;8062:226:1;16624:68:0;-1:-1:-1;;;;;16711:21:0;;16703:68;;;;-1:-1:-1;;;16703:68:0;;5348:2:1;16703:68:0;;;5330:21:1;5387:2;5367:18;;;5360:30;5426:34;5406:18;;;5399:62;5497:4;5477:18;;;5470:32;5519:19;;16703:68:0;5320:224:1;16703:68:0;-1:-1:-1;;;;;16784:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;16836:32;;9203:25:1;;;16836:32:0;;9176:18:1;16836:32:0;;;;;;;;16530:346;;;:::o;14041:604::-;-1:-1:-1;;;;;14147:20:0;;14139:70;;;;-1:-1:-1;;;14139:70:0;;7684:2:1;14139:70:0;;;7666:21:1;7723:2;7703:18;;;7696:30;7762:34;7742:18;;;7735:62;7833:7;7813:18;;;7806:35;7858:19;;14139:70:0;7656:227:1;14139:70:0;-1:-1:-1;;;;;14228:23:0;;14220:71;;;;-1:-1:-1;;;14220:71:0;;4134:2:1;14220:71:0;;;4116:21:1;4173:2;4153:18;;;4146:30;4212:34;4192:18;;;4185:62;4283:5;4263:18;;;4256:33;4306:19;;14220:71:0;4106:225:1;14220:71:0;-1:-1:-1;;;;;14388:17:0;;14364:21;14388:17;;;;;;;;;;;14424:23;;;;14416:74;;;;-1:-1:-1;;;14416:74:0;;5751:2:1;14416:74:0;;;5733:21:1;5790:2;5770:18;;;5763:30;5829:34;5809:18;;;5802:62;5900:8;5880:18;;;5873:36;5926:19;;14416:74:0;5723:228:1;14416:74:0;14521:22;14537:6;14521:13;:22;:::i;:::-;-1:-1:-1;;;;;14501:17:0;;;:9;:17;;;;;;;;;;;:42;;;;14554:20;;;;;;;;:30;;14578:6;;14501:9;14554:30;;14578:6;;14554:30;:::i;:::-;;;;;;;;14619:9;-1:-1:-1;;;;;14602:35:0;14611:6;-1:-1:-1;;;;;14602:35:0;;14630:6;14602:35;;;;9203:25:1;;9191:2;9176:18;;9158:76;14602:35:0;;;;;;;;14041:604;;;;:::o;15598:494::-;-1:-1:-1;;;;;15682:21:0;;15674:67;;;;-1:-1:-1;;;15674:67:0;;7282:2:1;15674:67:0;;;7264:21:1;7321:2;7301:18;;;7294:30;7360:34;7340:18;;;7333:62;7431:3;7411:18;;;7404:31;7452:19;;15674:67:0;7254:223:1;15674:67:0;-1:-1:-1;;;;;15841:18:0;;15816:22;15841:18;;;;;;;;;;;15878:24;;;;15870:71;;;;-1:-1:-1;;;15870:71:0;;4538:2:1;15870:71:0;;;4520:21:1;4577:2;4557:18;;;4550:30;4616:34;4596:18;;;4589:62;4687:4;4667:18;;;4660:32;4709:19;;15870:71:0;4510:224:1;15870:71:0;15973:23;15990:6;15973:14;:23;:::i;:::-;-1:-1:-1;;;;;15952:18:0;;:9;:18;;;;;;;;;;:44;;;;16007:12;:22;;16023:6;;15952:9;16007:22;;16023:6;;16007:22;:::i;:::-;;;;-1:-1:-1;;16047:37:0;;9203:25:1;;;16073:1:0;;-1:-1:-1;;;;;16047:37:0;;;;;9191:2:1;9176:18;16047:37:0;9158:76:1;14:196;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:2;;200:1;197;190:12;111:2;63:147;;;:::o;215:196::-;274:6;327:2;315:9;306:7;302:23;298:32;295:2;;;348:6;340;333:22;295:2;376:29;395:9;376:29;:::i;:::-;366:39;285:126;-1:-1:-1;;;285:126:1:o;416:270::-;484:6;492;545:2;533:9;524:7;520:23;516:32;513:2;;;566:6;558;551:22;513:2;594:29;613:9;594:29;:::i;:::-;584:39;;642:38;676:2;665:9;661:18;642:38;:::i;:::-;632:48;;503:183;;;;;:::o;691:338::-;768:6;776;784;837:2;825:9;816:7;812:23;808:32;805:2;;;858:6;850;843:22;805:2;886:29;905:9;886:29;:::i;:::-;876:39;;934:38;968:2;957:9;953:18;934:38;:::i;:::-;924:48;;1019:2;1008:9;1004:18;991:32;981:42;;795:234;;;;;:::o;1034:264::-;1102:6;1110;1163:2;1151:9;1142:7;1138:23;1134:32;1131:2;;;1184:6;1176;1169:22;1131:2;1212:29;1231:9;1212:29;:::i;:::-;1202:39;1288:2;1273:18;;;;1260:32;;-1:-1:-1;;;1121:177:1:o;1303:251::-;1359:6;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1433:6;1425;1418:22;1380:2;1477:9;1464:23;1496:28;1518:5;1496:28;:::i;1559:255::-;1626:6;1679:2;1667:9;1658:7;1654:23;1650:32;1647:2;;;1700:6;1692;1685:22;1647:2;1737:9;1731:16;1756:28;1778:5;1756:28;:::i;1819:190::-;1878:6;1931:2;1919:9;1910:7;1906:23;1902:32;1899:2;;;1952:6;1944;1937:22;1899:2;-1:-1:-1;1980:23:1;;1889:120;-1:-1:-1;1889:120:1:o;3324:603::-;3436:4;3465:2;3494;3483:9;3476:21;3526:6;3520:13;3569:6;3564:2;3553:9;3549:18;3542:34;3594:4;3607:140;3621:6;3618:1;3615:13;3607:140;;;3716:14;;;3712:23;;3706:30;3682:17;;;3701:2;3678:26;3671:66;3636:10;;3607:140;;;3765:6;3762:1;3759:13;3756:2;;;3835:4;3830:2;3821:6;3810:9;3806:22;3802:31;3795:45;3756:2;-1:-1:-1;3911:2:1;3890:15;-1:-1:-1;;3886:29:1;3871:45;;;;3918:2;3867:54;;3445:482;-1:-1:-1;;;3445:482:1:o;9428:128::-;9468:3;9499:1;9495:6;9492:1;9489:13;9486:2;;;9505:18;;:::i;:::-;-1:-1:-1;9541:9:1;;9476:80::o;9561:125::-;9601:4;9629:1;9626;9623:8;9620:2;;;9634:18;;:::i;:::-;-1:-1:-1;9671:9:1;;9610:76::o;9691:437::-;9770:1;9766:12;;;;9813;;;9834:2;;9888:4;9880:6;9876:17;9866:27;;9834:2;9941;9933:6;9930:14;9910:18;9907:38;9904:2;;;-1:-1:-1;;;9975:1:1;9968:88;10079:4;10076:1;10069:15;10107:4;10104:1;10097:15;9904:2;;9746:382;;;:::o;10133:184::-;-1:-1:-1;;;10182:1:1;10175:88;10282:4;10279:1;10272:15;10306:4;10303:1;10296:15;10322:118;10408:5;10401:13;10394:21;10387:5;10384:32;10374:2;;10430:1;10427;10420:12;10374:2;10364:76;:::o

Swarm Source

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