Token

Genisis (SEGA)

Overview

Max Total Supply

989,902,213.213189424695547518 SEGA

Holders

4

Market

Price

-

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000003161661 SEGA

Value
$0.00
0x6d6ef002cd2a29ee1d9184c06d825ca6a2b780e3
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
Genisis

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at SonicScan.org on 2025-01-04
*/

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.3.0/contracts/token/ERC20/IERC20.sol



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

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.3.0/contracts/token/ERC20/extensions/IERC20Metadata.sol



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

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.3.0/contracts/utils/Context.sol



pragma solidity ^0.8.0;

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

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

// File: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.3.0/contracts/token/ERC20/ERC20.sol



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 Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default 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");
        unchecked {
            _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");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `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");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

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

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

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

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

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

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

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

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

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

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

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

// File: contracts/buner.sol


pragma solidity ^0.8.0;


contract Genisis is ERC20 {
    // Set the maximum supply to 1,000,000,000 tokens (scaled to 18 decimals)
    uint256 private constant MAX_SUPPLY = 1_000_000_000 * 10**18;

    event Burn(address indexed from, uint256 amount);

    constructor() ERC20("Genisis", "SEGA") {
        // Mint the entire max supply to the deployer
        _mint(msg.sender, MAX_SUPPLY);
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        uint256 burnAmount = amount / 100; // 1% burn rate
        uint256 transferAmount = amount - burnAmount;

        _burn(msg.sender, burnAmount);
        emit Burn(msg.sender, burnAmount); // Emit burn event
        _transfer(_msgSender(), recipient, transferAmount);

        return true;
    }

    // Optional Sonic-specific metadata
    string public constant CHAIN = "Sonic Blockchain";
    string public constant TOKEN_TYPE = "Deflationary Utility Token";
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","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":"CHAIN","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_TYPE","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"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"}]

60806040523480156200001157600080fd5b506040518060400160405280600781526020017f47656e69736973000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f534547410000000000000000000000000000000000000000000000000000000081525081600390805190602001906200009692919062000259565b508060049080519060200190620000af92919062000259565b505050620000d0336b033b2e3c9fd0803ce8000000620000d660201b60201c565b620004a7565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000140906200035c565b60405180910390fd5b6200015d600083836200024f60201b60201c565b8060026000828254620001719190620003ac565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001c89190620003ac565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200022f91906200037e565b60405180910390a36200024b600083836200025460201b60201c565b5050565b505050565b505050565b828054620002679062000413565b90600052602060002090601f0160209004810192826200028b5760008555620002d7565b82601f10620002a657805160ff1916838001178555620002d7565b82800160010185558215620002d7579182015b82811115620002d6578251825591602001919060010190620002b9565b5b509050620002e69190620002ea565b5090565b5b8082111562000305576000816000905550600101620002eb565b5090565b600062000318601f836200039b565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620003568162000409565b82525050565b60006020820190508181036000830152620003778162000309565b9050919050565b60006020820190506200039560008301846200034b565b92915050565b600082825260208201905092915050565b6000620003b98262000409565b9150620003c68362000409565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620003fe57620003fd62000449565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200042c57607f821691505b6020821081141562000443576200044262000478565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61180680620004b76000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806343ee82131161008c57806395d89b411161006657806395d89b411461022a578063a457c2d714610248578063a9059cbb14610278578063dd62ed3e146102a8576100cf565b806343ee8213146101be578063609c92b8146101dc57806370a08231146101fa576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d8565b6040516100e991906113fb565b60405180910390f35b61010c60048036038101906101079190610fa8565b61036a565b60405161011991906113e0565b60405180910390f35b61012a610388565b604051610137919061153d565b60405180910390f35b61015a60048036038101906101559190610f59565b610392565b60405161016791906113e0565b60405180910390f35b61017861048a565b6040516101859190611558565b60405180910390f35b6101a860048036038101906101a39190610fa8565b610493565b6040516101b591906113e0565b60405180910390f35b6101c661053f565b6040516101d391906113fb565b60405180910390f35b6101e4610578565b6040516101f191906113fb565b60405180910390f35b610214600480360381019061020f9190610ef4565b6105b1565b604051610221919061153d565b60405180910390f35b6102326105f9565b60405161023f91906113fb565b60405180910390f35b610262600480360381019061025d9190610fa8565b61068b565b60405161026f91906113e0565b60405180910390f35b610292600480360381019061028d9190610fa8565b610776565b60405161029f91906113e0565b60405180910390f35b6102c260048036038101906102bd9190610f1d565b61080e565b6040516102cf919061153d565b60405180910390f35b6060600380546102e7906116d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610313906116d2565b80156103605780601f1061033557610100808354040283529160200191610360565b820191906000526020600020905b81548152906001019060200180831161034357829003601f168201915b5050505050905090565b600061037e610377610895565b848461089d565b6001905092915050565b6000600254905090565b600061039f848484610a68565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103ea610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561046a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104619061149d565b60405180910390fd5b61047e85610476610895565b85840361089d565b60019150509392505050565b60006012905090565b60006105356104a0610895565b8484600160006104ae610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610530919061158f565b61089d565b6001905092915050565b6040518060400160405280601081526020017f536f6e696320426c6f636b636861696e0000000000000000000000000000000081525081565b6040518060400160405280601a81526020017f4465666c6174696f6e617279205574696c69747920546f6b656e00000000000081525081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054610608906116d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610634906116d2565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905090565b6000806001600061069a610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e9061151d565b60405180910390fd5b61076b610762610895565b8585840361089d565b600191505092915050565b60008060648361078691906115e5565b9050600081846107969190611616565b90506107a23383610ce9565b3373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516107e8919061153d565b60405180910390a26108026107fb610895565b8683610a68565b60019250505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610904906114fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561097d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109749061145d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a5b919061153d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906114dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f9061141d565b60405180910390fd5b610b53838383610ec0565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd09061147d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c6c919061158f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cd0919061153d565b60405180910390a3610ce3848484610ec5565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d50906114bd565b60405180910390fd5b610d6582600083610ec0565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de29061143d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e429190611616565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea7919061153d565b60405180910390a3610ebb83600084610ec5565b505050565b505050565b505050565b600081359050610ed9816117a2565b92915050565b600081359050610eee816117b9565b92915050565b600060208284031215610f0657600080fd5b6000610f1484828501610eca565b91505092915050565b60008060408385031215610f3057600080fd5b6000610f3e85828601610eca565b9250506020610f4f85828601610eca565b9150509250929050565b600080600060608486031215610f6e57600080fd5b6000610f7c86828701610eca565b9350506020610f8d86828701610eca565b9250506040610f9e86828701610edf565b9150509250925092565b60008060408385031215610fbb57600080fd5b6000610fc985828601610eca565b9250506020610fda85828601610edf565b9150509250929050565b610fed8161165c565b82525050565b6000610ffe82611573565b611008818561157e565b935061101881856020860161169f565b61102181611791565b840191505092915050565b600061103960238361157e565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061109f60228361157e565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061110560228361157e565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061116b60268361157e565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111d160288361157e565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061123760218361157e565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061129d60258361157e565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061130360248361157e565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061136960258361157e565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6113cb81611688565b82525050565b6113da81611692565b82525050565b60006020820190506113f56000830184610fe4565b92915050565b600060208201905081810360008301526114158184610ff3565b905092915050565b600060208201905081810360008301526114368161102c565b9050919050565b6000602082019050818103600083015261145681611092565b9050919050565b60006020820190508181036000830152611476816110f8565b9050919050565b600060208201905081810360008301526114968161115e565b9050919050565b600060208201905081810360008301526114b6816111c4565b9050919050565b600060208201905081810360008301526114d68161122a565b9050919050565b600060208201905081810360008301526114f681611290565b9050919050565b60006020820190508181036000830152611516816112f6565b9050919050565b600060208201905081810360008301526115368161135c565b9050919050565b600060208201905061155260008301846113c2565b92915050565b600060208201905061156d60008301846113d1565b92915050565b600081519050919050565b600082825260208201905092915050565b600061159a82611688565b91506115a583611688565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115da576115d9611704565b5b828201905092915050565b60006115f082611688565b91506115fb83611688565b92508261160b5761160a611733565b5b828204905092915050565b600061162182611688565b915061162c83611688565b92508282101561163f5761163e611704565b5b828203905092915050565b600061165582611668565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116bd5780820151818401526020810190506116a2565b838111156116cc576000848401525b50505050565b600060028204905060018216806116ea57607f821691505b602082108114156116fe576116fd611762565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6117ab8161164a565b81146117b657600080fd5b50565b6117c281611688565b81146117cd57600080fd5b5056fea26469706673582212200906b87fbe096f245cb99837ddb84893b36c15315f08568c1f00e12cdc9b708c64736f6c63430008000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806343ee82131161008c57806395d89b411161006657806395d89b411461022a578063a457c2d714610248578063a9059cbb14610278578063dd62ed3e146102a8576100cf565b806343ee8213146101be578063609c92b8146101dc57806370a08231146101fa576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d8565b6040516100e991906113fb565b60405180910390f35b61010c60048036038101906101079190610fa8565b61036a565b60405161011991906113e0565b60405180910390f35b61012a610388565b604051610137919061153d565b60405180910390f35b61015a60048036038101906101559190610f59565b610392565b60405161016791906113e0565b60405180910390f35b61017861048a565b6040516101859190611558565b60405180910390f35b6101a860048036038101906101a39190610fa8565b610493565b6040516101b591906113e0565b60405180910390f35b6101c661053f565b6040516101d391906113fb565b60405180910390f35b6101e4610578565b6040516101f191906113fb565b60405180910390f35b610214600480360381019061020f9190610ef4565b6105b1565b604051610221919061153d565b60405180910390f35b6102326105f9565b60405161023f91906113fb565b60405180910390f35b610262600480360381019061025d9190610fa8565b61068b565b60405161026f91906113e0565b60405180910390f35b610292600480360381019061028d9190610fa8565b610776565b60405161029f91906113e0565b60405180910390f35b6102c260048036038101906102bd9190610f1d565b61080e565b6040516102cf919061153d565b60405180910390f35b6060600380546102e7906116d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610313906116d2565b80156103605780601f1061033557610100808354040283529160200191610360565b820191906000526020600020905b81548152906001019060200180831161034357829003601f168201915b5050505050905090565b600061037e610377610895565b848461089d565b6001905092915050565b6000600254905090565b600061039f848484610a68565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103ea610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561046a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104619061149d565b60405180910390fd5b61047e85610476610895565b85840361089d565b60019150509392505050565b60006012905090565b60006105356104a0610895565b8484600160006104ae610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610530919061158f565b61089d565b6001905092915050565b6040518060400160405280601081526020017f536f6e696320426c6f636b636861696e0000000000000000000000000000000081525081565b6040518060400160405280601a81526020017f4465666c6174696f6e617279205574696c69747920546f6b656e00000000000081525081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054610608906116d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610634906116d2565b80156106815780601f1061065657610100808354040283529160200191610681565b820191906000526020600020905b81548152906001019060200180831161066457829003601f168201915b5050505050905090565b6000806001600061069a610895565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074e9061151d565b60405180910390fd5b61076b610762610895565b8585840361089d565b600191505092915050565b60008060648361078691906115e5565b9050600081846107969190611616565b90506107a23383610ce9565b3373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516107e8919061153d565b60405180910390a26108026107fb610895565b8683610a68565b60019250505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610904906114fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561097d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109749061145d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a5b919061153d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906114dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3f9061141d565b60405180910390fd5b610b53838383610ec0565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd09061147d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c6c919061158f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cd0919061153d565b60405180910390a3610ce3848484610ec5565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d50906114bd565b60405180910390fd5b610d6582600083610ec0565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de29061143d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e429190611616565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea7919061153d565b60405180910390a3610ebb83600084610ec5565b505050565b505050565b505050565b600081359050610ed9816117a2565b92915050565b600081359050610eee816117b9565b92915050565b600060208284031215610f0657600080fd5b6000610f1484828501610eca565b91505092915050565b60008060408385031215610f3057600080fd5b6000610f3e85828601610eca565b9250506020610f4f85828601610eca565b9150509250929050565b600080600060608486031215610f6e57600080fd5b6000610f7c86828701610eca565b9350506020610f8d86828701610eca565b9250506040610f9e86828701610edf565b9150509250925092565b60008060408385031215610fbb57600080fd5b6000610fc985828601610eca565b9250506020610fda85828601610edf565b9150509250929050565b610fed8161165c565b82525050565b6000610ffe82611573565b611008818561157e565b935061101881856020860161169f565b61102181611791565b840191505092915050565b600061103960238361157e565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061109f60228361157e565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061110560228361157e565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061116b60268361157e565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006111d160288361157e565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061123760218361157e565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061129d60258361157e565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061130360248361157e565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061136960258361157e565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6113cb81611688565b82525050565b6113da81611692565b82525050565b60006020820190506113f56000830184610fe4565b92915050565b600060208201905081810360008301526114158184610ff3565b905092915050565b600060208201905081810360008301526114368161102c565b9050919050565b6000602082019050818103600083015261145681611092565b9050919050565b60006020820190508181036000830152611476816110f8565b9050919050565b600060208201905081810360008301526114968161115e565b9050919050565b600060208201905081810360008301526114b6816111c4565b9050919050565b600060208201905081810360008301526114d68161122a565b9050919050565b600060208201905081810360008301526114f681611290565b9050919050565b60006020820190508181036000830152611516816112f6565b9050919050565b600060208201905081810360008301526115368161135c565b9050919050565b600060208201905061155260008301846113c2565b92915050565b600060208201905061156d60008301846113d1565b92915050565b600081519050919050565b600082825260208201905092915050565b600061159a82611688565b91506115a583611688565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115da576115d9611704565b5b828201905092915050565b60006115f082611688565b91506115fb83611688565b92508261160b5761160a611733565b5b828204905092915050565b600061162182611688565b915061162c83611688565b92508282101561163f5761163e611704565b5b828203905092915050565b600061165582611668565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116bd5780820151818401526020810190506116a2565b838111156116cc576000848401525b50505050565b600060028204905060018216806116ea57607f821691505b602082108114156116fe576116fd611762565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6117ab8161164a565b81146117b657600080fd5b50565b6117c281611688565b81146117cd57600080fd5b5056fea26469706673582212200906b87fbe096f245cb99837ddb84893b36c15315f08568c1f00e12cdc9b708c64736f6c63430008000033

Deployed Bytecode Sourcemap

16642:966:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6618:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8785:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7738:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9436:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7580:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10337:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17484:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17540:64;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7909:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6837:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11055:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17030:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8487:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6618:100;6672:13;6705:5;6698:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6618:100;:::o;8785:169::-;8868:4;8885:39;8894:12;:10;:12::i;:::-;8908:7;8917:6;8885:8;:39::i;:::-;8942:4;8935:11;;8785:169;;;;:::o;7738:108::-;7799:7;7826:12;;7819:19;;7738:108;:::o;9436:492::-;9576:4;9593:36;9603:6;9611:9;9622:6;9593:9;:36::i;:::-;9642:24;9669:11;:19;9681:6;9669:19;;;;;;;;;;;;;;;:33;9689:12;:10;:12::i;:::-;9669:33;;;;;;;;;;;;;;;;9642:60;;9741:6;9721:16;:26;;9713:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9828:57;9837:6;9845:12;:10;:12::i;:::-;9878:6;9859:16;:25;9828:8;:57::i;:::-;9916:4;9909:11;;;9436:492;;;;;:::o;7580:93::-;7638:5;7663:2;7656:9;;7580:93;:::o;10337:215::-;10425:4;10442:80;10451:12;:10;:12::i;:::-;10465:7;10511:10;10474:11;:25;10486:12;:10;:12::i;:::-;10474:25;;;;;;;;;;;;;;;:34;10500:7;10474:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10442:8;:80::i;:::-;10540:4;10533:11;;10337:215;;;;:::o;17484:49::-;;;;;;;;;;;;;;;;;;;:::o;17540:64::-;;;;;;;;;;;;;;;;;;;:::o;7909:127::-;7983:7;8010:9;:18;8020:7;8010:18;;;;;;;;;;;;;;;;8003:25;;7909:127;;;:::o;6837:104::-;6893:13;6926:7;6919:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6837:104;:::o;11055:413::-;11148:4;11165:24;11192:11;:25;11204:12;:10;:12::i;:::-;11192:25;;;;;;;;;;;;;;;:34;11218:7;11192:34;;;;;;;;;;;;;;;;11165:61;;11265:15;11245:16;:35;;11237:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11358:67;11367:12;:10;:12::i;:::-;11381:7;11409:15;11390:16;:34;11358:8;:67::i;:::-;11456:4;11449:11;;;11055:413;;;;:::o;17030:405::-;17116:4;17133:18;17163:3;17154:6;:12;;;;:::i;:::-;17133:33;;17193:22;17227:10;17218:6;:19;;;;:::i;:::-;17193:44;;17250:29;17256:10;17268;17250:5;:29::i;:::-;17300:10;17295:28;;;17312:10;17295:28;;;;;;:::i;:::-;;;;;;;;17353:50;17363:12;:10;:12::i;:::-;17377:9;17388:14;17353:9;:50::i;:::-;17423:4;17416:11;;;;17030:405;;;;:::o;8487:151::-;8576:7;8603:11;:18;8615:5;8603:18;;;;;;;;;;;;;;;:27;8622:7;8603:27;;;;;;;;;;;;;;;;8596:34;;8487:151;;;;:::o;4278:98::-;4331:7;4358:10;4351:17;;4278:98;:::o;14739:380::-;14892:1;14875:19;;:5;:19;;;;14867:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14973:1;14954:21;;:7;:21;;;;14946:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15057:6;15027:11;:18;15039:5;15027:18;;;;;;;;;;;;;;;:27;15046:7;15027:27;;;;;;;;;;;;;;;:36;;;;15095:7;15079:32;;15088:5;15079:32;;;15104:6;15079:32;;;;;;:::i;:::-;;;;;;;;14739:380;;;:::o;11958:733::-;12116:1;12098:20;;:6;:20;;;;12090:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12200:1;12179:23;;:9;:23;;;;12171:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12255:47;12276:6;12284:9;12295:6;12255:20;:47::i;:::-;12315:21;12339:9;:17;12349:6;12339:17;;;;;;;;;;;;;;;;12315:41;;12392:6;12375:13;:23;;12367:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12513:6;12497:13;:22;12477:9;:17;12487:6;12477:17;;;;;;;;;;;;;;;:42;;;;12565:6;12541:9;:20;12551:9;12541:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;12606:9;12589:35;;12598:6;12589:35;;;12617:6;12589:35;;;;;;:::i;:::-;;;;;;;;12637:46;12657:6;12665:9;12676:6;12637:19;:46::i;:::-;11958:733;;;;:::o;13710:591::-;13813:1;13794:21;;:7;:21;;;;13786:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13866:49;13887:7;13904:1;13908:6;13866:20;:49::i;:::-;13928:22;13953:9;:18;13963:7;13953:18;;;;;;;;;;;;;;;;13928:43;;14008:6;13990:14;:24;;13982:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14127:6;14110:14;:23;14089:9;:18;14099:7;14089:18;;;;;;;;;;;;;;;:44;;;;14171:6;14155:12;;:22;;;;;;;:::i;:::-;;;;;;;;14221:1;14195:37;;14204:7;14195:37;;;14225:6;14195:37;;;;;;:::i;:::-;;;;;;;;14245:48;14265:7;14282:1;14286:6;14245:19;:48::i;:::-;13710:591;;;:::o;15719:125::-;;;;:::o;16448:124::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:367::-;;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2694:34;2690:1;2685:3;2681:11;2674:55;2760:5;2755:2;2750:3;2746:12;2739:27;2792:2;2787:3;2783:12;2776:19;;2580:221;;;:::o;2807:366::-;;2970:67;3034:2;3029:3;2970:67;:::i;:::-;2963:74;;3067:34;3063:1;3058:3;3054:11;3047:55;3133:4;3128:2;3123:3;3119:12;3112:26;3164:2;3159:3;3155:12;3148:19;;2953:220;;;:::o;3179:366::-;;3342:67;3406:2;3401:3;3342:67;:::i;:::-;3335:74;;3439:34;3435:1;3430:3;3426:11;3419:55;3505:4;3500:2;3495:3;3491:12;3484:26;3536:2;3531:3;3527:12;3520:19;;3325:220;;;:::o;3551:370::-;;3714:67;3778:2;3773:3;3714:67;:::i;:::-;3707:74;;3811:34;3807:1;3802:3;3798:11;3791:55;3877:8;3872:2;3867:3;3863:12;3856:30;3912:2;3907:3;3903:12;3896:19;;3697:224;;;:::o;3927:372::-;;4090:67;4154:2;4149:3;4090:67;:::i;:::-;4083:74;;4187:34;4183:1;4178:3;4174:11;4167:55;4253:10;4248:2;4243:3;4239:12;4232:32;4290:2;4285:3;4281:12;4274:19;;4073:226;;;:::o;4305:365::-;;4468:67;4532:2;4527:3;4468:67;:::i;:::-;4461:74;;4565:34;4561:1;4556:3;4552:11;4545:55;4631:3;4626:2;4621:3;4617:12;4610:25;4661:2;4656:3;4652:12;4645:19;;4451:219;;;:::o;4676:369::-;;4839:67;4903:2;4898:3;4839:67;:::i;:::-;4832:74;;4936:34;4932:1;4927:3;4923:11;4916:55;5002:7;4997:2;4992:3;4988:12;4981:29;5036:2;5031:3;5027:12;5020:19;;4822:223;;;:::o;5051:368::-;;5214:67;5278:2;5273:3;5214:67;:::i;:::-;5207:74;;5311:34;5307:1;5302:3;5298:11;5291:55;5377:6;5372:2;5367:3;5363:12;5356:28;5410:2;5405:3;5401:12;5394:19;;5197:222;;;:::o;5425:369::-;;5588:67;5652:2;5647:3;5588:67;:::i;:::-;5581:74;;5685:34;5681:1;5676:3;5672:11;5665:55;5751:7;5746:2;5741:3;5737:12;5730:29;5785:2;5780:3;5776:12;5769:19;;5571:223;;;:::o;5800:118::-;5887:24;5905:5;5887:24;:::i;:::-;5882:3;5875:37;5865:53;;:::o;5924:112::-;6007:22;6023:5;6007:22;:::i;:::-;6002:3;5995:35;5985:51;;:::o;6042:210::-;;6167:2;6156:9;6152:18;6144:26;;6180:65;6242:1;6231:9;6227:17;6218:6;6180:65;:::i;:::-;6134:118;;;;:::o;6258:313::-;;6409:2;6398:9;6394:18;6386:26;;6458:9;6452:4;6448:20;6444:1;6433:9;6429:17;6422:47;6486:78;6559:4;6550:6;6486:78;:::i;:::-;6478:86;;6376:195;;;;:::o;6577:419::-;;6781:2;6770:9;6766:18;6758:26;;6830:9;6824:4;6820:20;6816:1;6805:9;6801:17;6794:47;6858:131;6984:4;6858:131;:::i;:::-;6850:139;;6748:248;;;:::o;7002:419::-;;7206:2;7195:9;7191:18;7183:26;;7255:9;7249:4;7245:20;7241:1;7230:9;7226:17;7219:47;7283:131;7409:4;7283:131;:::i;:::-;7275:139;;7173:248;;;:::o;7427:419::-;;7631:2;7620:9;7616:18;7608:26;;7680:9;7674:4;7670:20;7666:1;7655:9;7651:17;7644:47;7708:131;7834:4;7708:131;:::i;:::-;7700:139;;7598:248;;;:::o;7852:419::-;;8056:2;8045:9;8041:18;8033:26;;8105:9;8099:4;8095:20;8091:1;8080:9;8076:17;8069:47;8133:131;8259:4;8133:131;:::i;:::-;8125:139;;8023:248;;;:::o;8277:419::-;;8481:2;8470:9;8466:18;8458:26;;8530:9;8524:4;8520:20;8516:1;8505:9;8501:17;8494:47;8558:131;8684:4;8558:131;:::i;:::-;8550:139;;8448:248;;;:::o;8702:419::-;;8906:2;8895:9;8891:18;8883:26;;8955:9;8949:4;8945:20;8941:1;8930:9;8926:17;8919:47;8983:131;9109:4;8983:131;:::i;:::-;8975:139;;8873:248;;;:::o;9127:419::-;;9331:2;9320:9;9316:18;9308:26;;9380:9;9374:4;9370:20;9366:1;9355:9;9351:17;9344:47;9408:131;9534:4;9408:131;:::i;:::-;9400:139;;9298:248;;;:::o;9552:419::-;;9756:2;9745:9;9741:18;9733:26;;9805:9;9799:4;9795:20;9791:1;9780:9;9776:17;9769:47;9833:131;9959:4;9833:131;:::i;:::-;9825:139;;9723:248;;;:::o;9977:419::-;;10181:2;10170:9;10166:18;10158:26;;10230:9;10224:4;10220:20;10216:1;10205:9;10201:17;10194:47;10258:131;10384:4;10258:131;:::i;:::-;10250:139;;10148:248;;;:::o;10402:222::-;;10533:2;10522:9;10518:18;10510:26;;10546:71;10614:1;10603:9;10599:17;10590:6;10546:71;:::i;:::-;10500:124;;;;:::o;10630:214::-;;10757:2;10746:9;10742:18;10734:26;;10770:67;10834:1;10823:9;10819:17;10810:6;10770:67;:::i;:::-;10724:120;;;;:::o;10850:99::-;;10936:5;10930:12;10920:22;;10909:40;;;:::o;10955:169::-;;11073:6;11068:3;11061:19;11113:4;11108:3;11104:14;11089:29;;11051:73;;;;:::o;11130:305::-;;11189:20;11207:1;11189:20;:::i;:::-;11184:25;;11223:20;11241:1;11223:20;:::i;:::-;11218:25;;11377:1;11309:66;11305:74;11302:1;11299:81;11296:2;;;11383:18;;:::i;:::-;11296:2;11427:1;11424;11420:9;11413:16;;11174:261;;;;:::o;11441:185::-;;11498:20;11516:1;11498:20;:::i;:::-;11493:25;;11532:20;11550:1;11532:20;:::i;:::-;11527:25;;11571:1;11561:2;;11576:18;;:::i;:::-;11561:2;11618:1;11615;11611:9;11606:14;;11483:143;;;;:::o;11632:191::-;;11692:20;11710:1;11692:20;:::i;:::-;11687:25;;11726:20;11744:1;11726:20;:::i;:::-;11721:25;;11765:1;11762;11759:8;11756:2;;;11770:18;;:::i;:::-;11756:2;11815:1;11812;11808:9;11800:17;;11677:146;;;;:::o;11829:96::-;;11895:24;11913:5;11895:24;:::i;:::-;11884:35;;11874:51;;;:::o;11931:90::-;;12008:5;12001:13;11994:21;11983:32;;11973:48;;;:::o;12027:126::-;;12104:42;12097:5;12093:54;12082:65;;12072:81;;;:::o;12159:77::-;;12225:5;12214:16;;12204:32;;;:::o;12242:86::-;;12317:4;12310:5;12306:16;12295:27;;12285:43;;;:::o;12334:307::-;12402:1;12412:113;12426:6;12423:1;12420:13;12412:113;;;12511:1;12506:3;12502:11;12496:18;12492:1;12487:3;12483:11;12476:39;12448:2;12445:1;12441:10;12436:15;;12412:113;;;12543:6;12540:1;12537:13;12534:2;;;12623:1;12614:6;12609:3;12605:16;12598:27;12534:2;12383:258;;;;:::o;12647:320::-;;12728:1;12722:4;12718:12;12708:22;;12775:1;12769:4;12765:12;12796:18;12786:2;;12852:4;12844:6;12840:17;12830:27;;12786:2;12914;12906:6;12903:14;12883:18;12880:38;12877:2;;;12933:18;;:::i;:::-;12877:2;12698:269;;;;:::o;12973:180::-;13021:77;13018:1;13011:88;13118:4;13115:1;13108:15;13142:4;13139:1;13132:15;13159:180;13207:77;13204:1;13197:88;13304:4;13301:1;13294:15;13328:4;13325:1;13318:15;13345:180;13393:77;13390:1;13383:88;13490:4;13487:1;13480:15;13514:4;13511:1;13504:15;13531:102;;13623:2;13619:7;13614:2;13607:5;13603:14;13599:28;13589:38;;13579:54;;;:::o;13639:122::-;13712:24;13730:5;13712:24;:::i;:::-;13705:5;13702:35;13692:2;;13751:1;13748;13741:12;13692:2;13682:79;:::o;13767:122::-;13840:24;13858:5;13840:24;:::i;:::-;13833:5;13830:35;13820:2;;13879:1;13876;13869:12;13820:2;13810:79;:::o

Swarm Source

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