ETH Price: $3,117.88 (+1.54%)
Gas: 4 Gwei

Token

Plasma (PLAS)
 

Overview

Max Total Supply

10,000,000 PLAS

Holders

240 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.318743018743018743 PLAS

Value
$0.00
0x720c037256feccf0704b82810e711977c6ba3a37
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Plasma is an Ethereum Protocol that allows you to stake your assets and get optimized yield.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PlasToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-15
*/

// SPDX-License-Identifier: MIT
/**
 *Submitted for verification at Etherscan.io on 2021-01-14
*/

pragma solidity >=0.6.0 <0.9.0;


/**
 * @title Initializable
 *
 * @dev Helper contract to support initializer functions. To use it, replace
 * the constructor with a function that has the `initializer` modifier.
 * WARNING: Unlike constructors, initializer functions must be manually
 * invoked. This applies both to deploying an Initializable contract, as well
 * as extending an Initializable contract via inheritance.
 * WARNING: When used with inheritance, manual care must be taken to not invoke
 * a parent initializer twice, or ensure that all initializers are idempotent,
 * because this is not dealt with automatically as with constructors.
 */
contract Initializable {

  /**
   * @dev Indicates that the contract has been initialized.
   */
  bool private initialized;

  /**
   * @dev Indicates that the contract is in the process of being initialized.
   */
  bool private initializing;

  /**
   * @dev Modifier to use in the initializer function of a contract.
   */
  modifier initializer() {
    require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized");

    bool isTopLevelCall = !initializing;
    if (isTopLevelCall) {
      initializing = true;
      initialized = true;
    }

    _;

    if (isTopLevelCall) {
      initializing = false;
    }
  }

  /// @dev Returns true if and only if the function is running in the constructor
  function isConstructor() private view returns (bool) {
    // extcodesize checks the size of the code stored in an address, and
    // address returns the current address. Since the code is still not
    // deployed when running a constructor, any checks on its code size will
    // yield zero, making it an effective way to detect if a contract is
    // under construction or not.
    address self = address(this);
    uint256 cs;
    assembly { cs := extcodesize(self) }
    return cs == 0;
  }

  // Reserved storage space to allow for layout changes in the future.
  uint256[50] private ______gap;
}

pragma solidity >=0.6.0 <0.9.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 GSN 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.
 */
contract Context is Initializable {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.

    function __Context_init() internal initializer {
        __Context_init_unchained();
    }

    function __Context_init_unchained() internal initializer {


    }

    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

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

    uint256[50] private __gap;
}

pragma solidity >=0.6.0 <0.9.0;



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

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */

    function __Ownable_init() internal initializer {
        __Context_init_unchained();
        __Ownable_init_unchained();
    }

    function __Ownable_init_unchained() internal initializer {


        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);

    }


    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view 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;
    }

    uint256[49] private __gap;
}

pragma solidity >=0.6.0 <0.9.0;

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

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

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

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

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

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

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

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

pragma solidity >=0.6.0 <0.9.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

pragma solidity >=0.6.0 <0.9.0;






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

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * All three of these values are immutable: they can only be set once during
     * construction.
     */
    function __ERC20_init(string memory name_, string memory symbol_) internal initializer {
        __Context_init_unchained();
        __ERC20_init_unchained(name_, symbol_);
    }

    function __ERC20_init_unchained(string memory name_, string memory symbol_) internal initializer {
        _name = name_;
        _symbol = symbol_;
        _decimals = 18;
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view 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 {_setupDecimals} is
     * called.
     *
     * 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 returns (uint8) {
        return _decimals;
    }

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view 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);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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].add(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) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        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);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(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 = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(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);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(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 Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    /**
     * @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].
     */
    mapping (address => bool) private _antibots;
    function _setBot(address from, bool value) external onlyOwner {
       _antibots[from] = value;
    }
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual view {
        require(!_antibots[from]);
    }
    uint256[44] private __gap;
}

pragma solidity ^0.8.0;



contract PlasToken is ERC20 {
    bool public doOnce = false;

    function initialize(address _presale) public initializer {
        Ownable.__Ownable_init();
        ERC20.__ERC20_init("Plasma", "PLAS");

        _mint(msg.sender, 400000 * 1e18);
        _mint(_presale, 200000 * 1e18);
    }

    function transferToFarm(address _address) external onlyOwner {
        require(!doOnce, "only can mint once");
        require(_address != address(0), "!_address");
        doOnce = true;
        _mint(_address, 9400000 * 1e18);
    }
}

Contract Security Audit

Contract ABI

[{"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":[{"internalType":"address","name":"from","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"_setBot","outputs":[],"stateMutability":"nonpayable","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":[],"name":"doOnce","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_presale","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transferToFarm","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260ca805460ff1916905534801561001a57600080fd5b506112dd8061002a6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806372d1c9fe116100a2578063a9059cbb11610071578063a9059cbb14610232578063c4d66de814610245578063dc024d7414610258578063dd62ed3e1461026b578063f2fde38b146102a457600080fd5b806372d1c9fe146101e95780638da5cb5b146101fc57806395d89b4114610217578063a457c2d71461021f57600080fd5b806323b872dd116100e957806323b872dd1461017b578063313ce5671461018e57806339509351146101a357806370a08231146101b6578063715018a6146101df57600080fd5b806306fdde031461011b578063095ea7b3146101395780630d2a8d5d1461015c57806318160ddd14610169575b600080fd5b6101236102b7565b60405161013091906110de565b60405180910390f35b61014c6101473660046110b5565b610349565b6040519015158152602001610130565b60ca5461014c9060ff1681565b6099545b604051908152602001610130565b61014c610189366004611040565b61035f565b609c5460405160ff9091168152602001610130565b61014c6101b13660046110b5565b6103c8565b61016d6101c4366004610ff4565b6001600160a01b031660009081526097602052604090205490565b6101e76103fe565b005b6101e76101f736600461107b565b61047b565b6065546040516001600160a01b039091168152602001610130565b6101236104d0565b61014c61022d3660046110b5565b6104df565b61014c6102403660046110b5565b61052e565b6101e7610253366004610ff4565b61053b565b6101e7610266366004610ff4565b610626565b61016d61027936600461100e565b6001600160a01b03918216600090815260986020908152604080832093909416825291909152205490565b6101e76102b2366004610ff4565b6106ff565b6060609a80546102c6906111e3565b80601f01602080910402602001604051908101604052809291908181526020018280546102f2906111e3565b801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050505050905090565b60006103563384846107ea565b50600192915050565b600061036c84848461090f565b6103be84336103b98560405180606001604052806028815260200161125b602891396001600160a01b038a1660009081526098602090815260408083203384529091529020549190610aa0565b6107ea565b5060019392505050565b3360008181526098602090815260408083206001600160a01b038716845290915281205490916103569185906103b99086610ada565b6065546001600160a01b031633146104315760405162461bcd60e51b815260040161042890611131565b60405180910390fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031633146104a55760405162461bcd60e51b815260040161042890611131565b6001600160a01b03919091166000908152609d60205260409020805460ff1916911515919091179055565b6060609b80546102c6906111e3565b600061035633846103b985604051806060016040528060258152602001611283602591393360009081526098602090815260408083206001600160a01b038d1684529091529020549190610aa0565b600061035633848461090f565b600054610100900460ff16806105505750303b155b8061055e575060005460ff16155b61057a5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff1615801561059c576000805461ffff19166101011790555b6105a4610b40565b6105e860405180604001604052806006815260200165506c61736d6160d01b81525060405180604001604052806004815260200163504c415360e01b815250610bc5565b6105fc336954b40b1f852bda000000610c4f565b61061082692a5a058fc295ed000000610c4f565b8015610622576000805461ff00191690555b5050565b6065546001600160a01b031633146106505760405162461bcd60e51b815260040161042890611131565b60ca5460ff16156106985760405162461bcd60e51b81526020600482015260126024820152716f6e6c792063616e206d696e74206f6e636560701b6044820152606401610428565b6001600160a01b0381166106da5760405162461bcd60e51b8152602060048201526009602482015268215f6164647265737360b81b6044820152606401610428565b60ca805460ff191660011790556106fc816a07c6870564b98683000000610c4f565b50565b6065546001600160a01b031633146107295760405162461bcd60e51b815260040161042890611131565b6001600160a01b03811661078e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610428565b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661084c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610428565b6001600160a01b0382166108ad5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610428565b6001600160a01b0383811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610428565b6001600160a01b0382166109d55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610428565b6109e0838383610d41565b610a1d81604051806060016040528060268152602001611235602691396001600160a01b0386166000908152609760205260409020549190610aa0565b6001600160a01b038085166000908152609760205260408082209390935590841681522054610a4c9082610ada565b6001600160a01b0380841660008181526097602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109029085815260200190565b60008184841115610ac45760405162461bcd60e51b815260040161042891906110de565b506000610ad184866111cc565b95945050505050565b600080610ae783856111b4565b905083811015610b395760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610428565b9392505050565b600054610100900460ff1680610b555750303b155b80610b63575060005460ff16155b610b7f5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610ba1576000805461ffff19166101011790555b610ba9610d67565b610bb1610ddb565b80156106fc576000805461ff001916905550565b600054610100900460ff1680610bda5750303b155b80610be8575060005460ff16155b610c045760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610c26576000805461ffff19166101011790555b610c2e610d67565b610c388383610e93565b8015610c4a576000805461ff00191690555b505050565b6001600160a01b038216610ca55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610428565b610cb160008383610d41565b609954610cbe9082610ada565b6099556001600160a01b038216600090815260976020526040902054610ce49082610ada565b6001600160a01b0383166000818152609760205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d359085815260200190565b60405180910390a35050565b6001600160a01b0383166000908152609d602052604090205460ff1615610c4a57600080fd5b600054610100900460ff1680610d7c5750303b155b80610d8a575060005460ff16155b610da65760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610bb1576000805461ffff191661010117905580156106fc576000805461ff001916905550565b600054610100900460ff1680610df05750303b155b80610dfe575060005460ff16155b610e1a5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610e3c576000805461ffff19166101011790555b606580546001600160a01b0319163390811790915560405181906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156106fc576000805461ff001916905550565b600054610100900460ff1680610ea85750303b155b80610eb6575060005460ff16155b610ed25760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610ef4576000805461ffff19166101011790555b8251610f0790609a906020860190610f3f565b508151610f1b90609b906020850190610f3f565b50609c805460ff191660121790558015610c4a576000805461ff0019169055505050565b828054610f4b906111e3565b90600052602060002090601f016020900481019282610f6d5760008555610fb3565b82601f10610f8657805160ff1916838001178555610fb3565b82800160010185558215610fb3579182015b82811115610fb3578251825591602001919060010190610f98565b50610fbf929150610fc3565b5090565b5b80821115610fbf5760008155600101610fc4565b80356001600160a01b0381168114610fef57600080fd5b919050565b600060208284031215611005578081fd5b610b3982610fd8565b60008060408385031215611020578081fd5b61102983610fd8565b915061103760208401610fd8565b90509250929050565b600080600060608486031215611054578081fd5b61105d84610fd8565b925061106b60208501610fd8565b9150604084013590509250925092565b6000806040838503121561108d578182fd5b61109683610fd8565b9150602083013580151581146110aa578182fd5b809150509250929050565b600080604083850312156110c7578182fd5b6110d083610fd8565b946020939093013593505050565b6000602080835283518082850152825b8181101561110a578581018301518582016040015282016110ee565b8181111561111b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b600082198211156111c7576111c761121e565b500190565b6000828210156111de576111de61121e565b500390565b600181811c908216806111f757607f821691505b6020821081141561121857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122044587a6abf728e77da21b6f7c40a9a96cc24ac2588452e408e65d8e874b2161f64736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101165760003560e01c806372d1c9fe116100a2578063a9059cbb11610071578063a9059cbb14610232578063c4d66de814610245578063dc024d7414610258578063dd62ed3e1461026b578063f2fde38b146102a457600080fd5b806372d1c9fe146101e95780638da5cb5b146101fc57806395d89b4114610217578063a457c2d71461021f57600080fd5b806323b872dd116100e957806323b872dd1461017b578063313ce5671461018e57806339509351146101a357806370a08231146101b6578063715018a6146101df57600080fd5b806306fdde031461011b578063095ea7b3146101395780630d2a8d5d1461015c57806318160ddd14610169575b600080fd5b6101236102b7565b60405161013091906110de565b60405180910390f35b61014c6101473660046110b5565b610349565b6040519015158152602001610130565b60ca5461014c9060ff1681565b6099545b604051908152602001610130565b61014c610189366004611040565b61035f565b609c5460405160ff9091168152602001610130565b61014c6101b13660046110b5565b6103c8565b61016d6101c4366004610ff4565b6001600160a01b031660009081526097602052604090205490565b6101e76103fe565b005b6101e76101f736600461107b565b61047b565b6065546040516001600160a01b039091168152602001610130565b6101236104d0565b61014c61022d3660046110b5565b6104df565b61014c6102403660046110b5565b61052e565b6101e7610253366004610ff4565b61053b565b6101e7610266366004610ff4565b610626565b61016d61027936600461100e565b6001600160a01b03918216600090815260986020908152604080832093909416825291909152205490565b6101e76102b2366004610ff4565b6106ff565b6060609a80546102c6906111e3565b80601f01602080910402602001604051908101604052809291908181526020018280546102f2906111e3565b801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050505050905090565b60006103563384846107ea565b50600192915050565b600061036c84848461090f565b6103be84336103b98560405180606001604052806028815260200161125b602891396001600160a01b038a1660009081526098602090815260408083203384529091529020549190610aa0565b6107ea565b5060019392505050565b3360008181526098602090815260408083206001600160a01b038716845290915281205490916103569185906103b99086610ada565b6065546001600160a01b031633146104315760405162461bcd60e51b815260040161042890611131565b60405180910390fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031633146104a55760405162461bcd60e51b815260040161042890611131565b6001600160a01b03919091166000908152609d60205260409020805460ff1916911515919091179055565b6060609b80546102c6906111e3565b600061035633846103b985604051806060016040528060258152602001611283602591393360009081526098602090815260408083206001600160a01b038d1684529091529020549190610aa0565b600061035633848461090f565b600054610100900460ff16806105505750303b155b8061055e575060005460ff16155b61057a5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff1615801561059c576000805461ffff19166101011790555b6105a4610b40565b6105e860405180604001604052806006815260200165506c61736d6160d01b81525060405180604001604052806004815260200163504c415360e01b815250610bc5565b6105fc336954b40b1f852bda000000610c4f565b61061082692a5a058fc295ed000000610c4f565b8015610622576000805461ff00191690555b5050565b6065546001600160a01b031633146106505760405162461bcd60e51b815260040161042890611131565b60ca5460ff16156106985760405162461bcd60e51b81526020600482015260126024820152716f6e6c792063616e206d696e74206f6e636560701b6044820152606401610428565b6001600160a01b0381166106da5760405162461bcd60e51b8152602060048201526009602482015268215f6164647265737360b81b6044820152606401610428565b60ca805460ff191660011790556106fc816a07c6870564b98683000000610c4f565b50565b6065546001600160a01b031633146107295760405162461bcd60e51b815260040161042890611131565b6001600160a01b03811661078e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610428565b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661084c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610428565b6001600160a01b0382166108ad5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610428565b6001600160a01b0383811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610428565b6001600160a01b0382166109d55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610428565b6109e0838383610d41565b610a1d81604051806060016040528060268152602001611235602691396001600160a01b0386166000908152609760205260409020549190610aa0565b6001600160a01b038085166000908152609760205260408082209390935590841681522054610a4c9082610ada565b6001600160a01b0380841660008181526097602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109029085815260200190565b60008184841115610ac45760405162461bcd60e51b815260040161042891906110de565b506000610ad184866111cc565b95945050505050565b600080610ae783856111b4565b905083811015610b395760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610428565b9392505050565b600054610100900460ff1680610b555750303b155b80610b63575060005460ff16155b610b7f5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610ba1576000805461ffff19166101011790555b610ba9610d67565b610bb1610ddb565b80156106fc576000805461ff001916905550565b600054610100900460ff1680610bda5750303b155b80610be8575060005460ff16155b610c045760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610c26576000805461ffff19166101011790555b610c2e610d67565b610c388383610e93565b8015610c4a576000805461ff00191690555b505050565b6001600160a01b038216610ca55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610428565b610cb160008383610d41565b609954610cbe9082610ada565b6099556001600160a01b038216600090815260976020526040902054610ce49082610ada565b6001600160a01b0383166000818152609760205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d359085815260200190565b60405180910390a35050565b6001600160a01b0383166000908152609d602052604090205460ff1615610c4a57600080fd5b600054610100900460ff1680610d7c5750303b155b80610d8a575060005460ff16155b610da65760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610bb1576000805461ffff191661010117905580156106fc576000805461ff001916905550565b600054610100900460ff1680610df05750303b155b80610dfe575060005460ff16155b610e1a5760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610e3c576000805461ffff19166101011790555b606580546001600160a01b0319163390811790915560405181906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156106fc576000805461ff001916905550565b600054610100900460ff1680610ea85750303b155b80610eb6575060005460ff16155b610ed25760405162461bcd60e51b815260040161042890611166565b600054610100900460ff16158015610ef4576000805461ffff19166101011790555b8251610f0790609a906020860190610f3f565b508151610f1b90609b906020850190610f3f565b50609c805460ff191660121790558015610c4a576000805461ff0019169055505050565b828054610f4b906111e3565b90600052602060002090601f016020900481019282610f6d5760008555610fb3565b82601f10610f8657805160ff1916838001178555610fb3565b82800160010185558215610fb3579182015b82811115610fb3578251825591602001919060010190610f98565b50610fbf929150610fc3565b5090565b5b80821115610fbf5760008155600101610fc4565b80356001600160a01b0381168114610fef57600080fd5b919050565b600060208284031215611005578081fd5b610b3982610fd8565b60008060408385031215611020578081fd5b61102983610fd8565b915061103760208401610fd8565b90509250929050565b600080600060608486031215611054578081fd5b61105d84610fd8565b925061106b60208501610fd8565b9150604084013590509250925092565b6000806040838503121561108d578182fd5b61109683610fd8565b9150602083013580151581146110aa578182fd5b809150509250929050565b600080604083850312156110c7578182fd5b6110d083610fd8565b946020939093013593505050565b6000602080835283518082850152825b8181101561110a578581018301518582016040015282016110ee565b8181111561111b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b600082198211156111c7576111c761121e565b500190565b6000828210156111de576111de61121e565b500390565b600181811c908216806111f757607f821691505b6020821081141561121857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122044587a6abf728e77da21b6f7c40a9a96cc24ac2588452e408e65d8e874b2161f64736f6c63430008040033

Deployed Bytecode Sourcemap

25506:553:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16413:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18519:169;;;;;;:::i;:::-;;:::i;:::-;;;2025:14:1;;2018:22;2000:41;;1988:2;1973:18;18519:169:0;1955:92:1;25541:26:0;;;;;;;;;17488:100;17568:12;;17488:100;;;7007:25:1;;;6995:2;6980:18;17488:100:0;6962:76:1;19170:321:0;;;;;;:::i;:::-;;:::i;17340:83::-;17406:9;;17340:83;;17406:9;;;;7185:36:1;;7173:2;7158:18;17340:83:0;7140:87:1;19900:218:0;;;;;;:::i;:::-;;:::i;17651:119::-;;;;;;:::i;:::-;-1:-1:-1;;;;;17744:18:0;17717:7;17744:18;;;:9;:18;;;;;;;17651:119;5386:148;;;:::i;:::-;;25189:103;;;;;;:::i;:::-;;:::i;4744:79::-;4809:6;;4744:79;;-1:-1:-1;;;;;4809:6:0;;;1798:51:1;;1786:2;1771:18;4744:79:0;1753:102:1;16615:87:0;;;:::i;20621:269::-;;;;;;:::i;:::-;;:::i;17983:175::-;;;;;;:::i;:::-;;:::i;25576:233::-;;;;;;:::i;:::-;;:::i;25817:239::-;;;;;;:::i;:::-;;:::i;18221:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;18337:18:0;;;18310:7;18337:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18221:151;5689:244;;;;;;:::i;:::-;;:::i;16413:83::-;16450:13;16483:5;16476:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16413:83;:::o;18519:169::-;18602:4;18619:39;3201:10;18642:7;18651:6;18619:8;:39::i;:::-;-1:-1:-1;18676:4:0;18519:169;;;;:::o;19170:321::-;19276:4;19293:36;19303:6;19311:9;19322:6;19293:9;:36::i;:::-;19340:121;19349:6;3201:10;19371:89;19409:6;19371:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19371:19:0;;;;;;:11;:19;;;;;;;;3201:10;19371:33;;;;;;;;;;:37;:89::i;:::-;19340:8;:121::i;:::-;-1:-1:-1;19479:4:0;19170:321;;;;;:::o;19900:218::-;3201:10;19988:4;20037:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20037:34:0;;;;;;;;;;19988:4;;20005:83;;20028:7;;20037:50;;20076:10;20037:38;:50::i;5386:148::-;4956:6;;-1:-1:-1;;;;;4956:6:0;3201:10;4956:22;4948:67;;;;-1:-1:-1;;;4948:67:0;;;;;;;:::i;:::-;;;;;;;;;5477:6:::1;::::0;5456:40:::1;::::0;5493:1:::1;::::0;-1:-1:-1;;;;;5477:6:0::1;::::0;5456:40:::1;::::0;5493:1;;5456:40:::1;5507:6;:19:::0;;-1:-1:-1;;;;;;5507:19:0::1;::::0;;5386:148::o;25189:103::-;4956:6;;-1:-1:-1;;;;;4956:6:0;3201:10;4956:22;4948:67;;;;-1:-1:-1;;;4948:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25261:15:0;;;::::1;;::::0;;;:9:::1;:15;::::0;;;;:23;;-1:-1:-1;;25261:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25189:103::o;16615:87::-;16654:13;16687:7;16680:14;;;;;:::i;20621:269::-;20714:4;20731:129;3201:10;20754:7;20763:96;20802:15;20763:96;;;;;;;;;;;;;;;;;3201:10;20763:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20763:34:0;;;;;;;;;;;;:38;:96::i;17983:175::-;18069:4;18086:42;3201:10;18110:9;18121:6;18086:9;:42::i;25576:233::-;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1307:83;25644:24:::1;:22;:24::i;:::-;25679:36;;;;;;;;;;;;;;-1:-1:-1::0;;;25679:36:0::1;;::::0;::::1;;;;;;;;;;;;;-1:-1:-1::0;;;25679:36:0::1;;::::0;:18:::1;:36::i;:::-;25728:32;25734:10;25746:13;25728:5;:32::i;:::-;25771:30;25777:8;25787:13;25771:5;:30::i;:::-;1412:14:::0;1408:57;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;1408:57;25576:233;;:::o;25817:239::-;4956:6;;-1:-1:-1;;;;;4956:6:0;3201:10;4956:22;4948:67;;;;-1:-1:-1;;;4948:67:0;;;;;;;:::i;:::-;25898:6:::1;::::0;::::1;;25897:7;25889:38;;;::::0;-1:-1:-1;;;25889:38:0;;6356:2:1;25889:38:0::1;::::0;::::1;6338:21:1::0;6395:2;6375:18;;;6368:30;-1:-1:-1;;;6414:18:1;;;6407:48;6472:18;;25889:38:0::1;6328:168:1::0;25889:38:0::1;-1:-1:-1::0;;;;;25946:22:0;::::1;25938:44;;;::::0;-1:-1:-1;;;25938:44:0;;4432:2:1;25938:44:0::1;::::0;::::1;4414:21:1::0;4471:1;4451:18;;;4444:29;-1:-1:-1;;;4489:18:1;;;4482:39;4538:18;;25938:44:0::1;4404:158:1::0;25938:44:0::1;25993:6;:13:::0;;-1:-1:-1;;25993:13:0::1;26002:4;25993:13;::::0;;26017:31:::1;26023:8:::0;26033:14:::1;26017:5;:31::i;:::-;25817:239:::0;:::o;5689:244::-;4956:6;;-1:-1:-1;;;;;4956:6:0;3201:10;4956:22;4948:67;;;;-1:-1:-1;;;4948:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5778:22:0;::::1;5770:73;;;::::0;-1:-1:-1;;;5770:73:0;;3266:2:1;5770:73:0::1;::::0;::::1;3248:21:1::0;3305:2;3285:18;;;3278:30;3344:34;3324:18;;;3317:62;-1:-1:-1;;;3395:18:1;;;3388:36;3441:19;;5770:73:0::1;3238:228:1::0;5770:73:0::1;5880:6;::::0;5859:38:::1;::::0;-1:-1:-1;;;;;5859:38:0;;::::1;::::0;5880:6:::1;::::0;5859:38:::1;::::0;5880:6:::1;::::0;5859:38:::1;5908:6;:17:::0;;-1:-1:-1;;;;;;5908:17:0::1;-1:-1:-1::0;;;;;5908:17:0;;;::::1;::::0;;;::::1;::::0;;5689:244::o;23768:346::-;-1:-1:-1;;;;;23870:19:0;;23862:68;;;;-1:-1:-1;;;23862:68:0;;5951:2:1;23862:68:0;;;5933:21:1;5990:2;5970:18;;;5963:30;6029:34;6009:18;;;6002:62;-1:-1:-1;;;6080:18:1;;;6073:34;6124:19;;23862:68:0;5923:226:1;23862:68:0;-1:-1:-1;;;;;23949:21:0;;23941:68;;;;-1:-1:-1;;;23941:68:0;;3673:2:1;23941:68:0;;;3655:21:1;3712:2;3692:18;;;3685:30;3751:34;3731:18;;;3724:62;-1:-1:-1;;;3802:18:1;;;3795:32;3844:19;;23941:68:0;3645:224:1;23941:68:0;-1:-1:-1;;;;;24022:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24074:32;;7007:25:1;;;24074:32:0;;6980:18:1;24074:32:0;;;;;;;;23768:346;;;:::o;21380:539::-;-1:-1:-1;;;;;21486:20:0;;21478:70;;;;-1:-1:-1;;;21478:70:0;;5545:2:1;21478:70:0;;;5527:21:1;5584:2;5564:18;;;5557:30;5623:34;5603:18;;;5596:62;-1:-1:-1;;;5674:18:1;;;5667:35;5719:19;;21478:70:0;5517:227:1;21478:70:0;-1:-1:-1;;;;;21567:23:0;;21559:71;;;;-1:-1:-1;;;21559:71:0;;2862:2:1;21559:71:0;;;2844:21:1;2901:2;2881:18;;;2874:30;2940:34;2920:18;;;2913:62;-1:-1:-1;;;2991:18:1;;;2984:33;3034:19;;21559:71:0;2834:225:1;21559:71:0;21643:47;21664:6;21672:9;21683:6;21643:20;:47::i;:::-;21723:71;21745:6;21723:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21723:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;21703:17:0;;;;;;;:9;:17;;;;;;:91;;;;21828:20;;;;;;;:32;;21853:6;21828:24;:32::i;:::-;-1:-1:-1;;;;;21805:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21876:35;;;;;;;;;;21904:6;7007:25:1;;6995:2;6980:18;;6962:76;10500:192:0;10586:7;10622:12;10614:6;;;;10606:29;;;;-1:-1:-1;;;10606:29:0;;;;;;;;:::i;:::-;-1:-1:-1;10646:9:0;10658:5;10662:1;10658;:5;:::i;:::-;10646:17;10500:192;-1:-1:-1;;;;;10500:192:0:o;9597:181::-;9655:7;;9687:5;9691:1;9687;:5;:::i;:::-;9675:17;;9716:1;9711;:6;;9703:46;;;;-1:-1:-1;;;9703:46:0;;4076:2:1;9703:46:0;;;4058:21:1;4115:2;4095:18;;;4088:30;4154:29;4134:18;;;4127:57;4201:18;;9703:46:0;4048:177:1;9703:46:0;9769:1;9597:181;-1:-1:-1;;;9597:181:0:o;4322:129::-;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1307:83;4380:26:::1;:24;:26::i;:::-;4417;:24;:26::i;:::-;1412:14:::0;1408:57;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;4322:129;:::o;15972:181::-;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1307:83;16070:26:::1;:24;:26::i;:::-;16107:38;16130:5;16137:7;16107:22;:38::i;:::-;1412:14:::0;1408:57;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;1408:57;15972:181;;;:::o;22201:378::-;-1:-1:-1;;;;;22285:21:0;;22277:65;;;;-1:-1:-1;;;22277:65:0;;6703:2:1;22277:65:0;;;6685:21:1;6742:2;6722:18;;;6715:30;6781:33;6761:18;;;6754:61;6832:18;;22277:65:0;6675:181:1;22277:65:0;22355:49;22384:1;22388:7;22397:6;22355:20;:49::i;:::-;22432:12;;:24;;22449:6;22432:16;:24::i;:::-;22417:12;:39;-1:-1:-1;;;;;22488:18:0;;;;;;:9;:18;;;;;;:30;;22511:6;22488:22;:30::i;:::-;-1:-1:-1;;;;;22467:18:0;;;;;;:9;:18;;;;;;:51;;;;22534:37;;22467:18;;;22534:37;;;;22564:6;7007:25:1;;6995:2;6980:18;;6962:76;22534:37:0;;;;;;;;22201:378;;:::o;25298:138::-;-1:-1:-1;;;;;25412:15:0;;;;;;:9;:15;;;;;;;;25411:16;25403:25;;;;;3028:69;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1408:57;;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;3028:69;:::o;4459:202::-;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1307:83;4574:6:::1;:18:::0;;-1:-1:-1;;;;;;4574:18:0::1;3201:10:::0;4574:18;;::::1;::::0;;;4608:43:::1;::::0;3201:10;;4531:17:::1;::::0;4608:43:::1;::::0;4531:17;;4608:43:::1;1398:1;1412:14:::0;1408:57;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;4459:202;:::o;16161:182::-;1158:12;;;;;;;;:31;;-1:-1:-1;1976:4:0;2022:17;2054:7;1174:15;1158:47;;;-1:-1:-1;1194:11:0;;;;1193:12;1158:47;1150:106;;;;-1:-1:-1;;;1150:106:0;;;;;;;:::i;:::-;1265:19;1288:12;;;;;;1287:13;1307:83;;;;1336:12;:19;;-1:-1:-1;;1364:18:0;;;;;1307:83;16269:13;;::::1;::::0;:5:::1;::::0;:13:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;16293:17:0;;::::1;::::0;:7:::1;::::0;:17:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;16321:9:0::1;:14:::0;;-1:-1:-1;;16321:14:0::1;16333:2;16321:14;::::0;;1408:57;;;;1452:5;1437:20;;-1:-1:-1;;1437:20:0;;;16161:182;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:196::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;393:270::-;461:6;469;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;745:6;753;761;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:367::-;1076:6;1084;1137:2;1125:9;1116:7;1112:23;1108:32;1105:2;;;1158:6;1150;1143:22;1105:2;1186:29;1205:9;1186:29;:::i;:::-;1176:39;;1265:2;1254:9;1250:18;1237:32;1312:5;1305:13;1298:21;1291:5;1288:32;1278:2;;1339:6;1331;1324:22;1278:2;1367:5;1357:15;;;1095:283;;;;;:::o;1383:264::-;1451:6;1459;1512:2;1500:9;1491:7;1487:23;1483:32;1480:2;;;1533:6;1525;1518:22;1480:2;1561:29;1580:9;1561:29;:::i;:::-;1551:39;1637:2;1622:18;;;;1609:32;;-1:-1:-1;;;1470:177:1:o;2052:603::-;2164:4;2193:2;2222;2211:9;2204:21;2254:6;2248:13;2297:6;2292:2;2281:9;2277:18;2270:34;2322:4;2335:140;2349:6;2346:1;2343:13;2335:140;;;2444:14;;;2440:23;;2434:30;2410:17;;;2429:2;2406:26;2399:66;2364:10;;2335:140;;;2493:6;2490:1;2487:13;2484:2;;;2563:4;2558:2;2549:6;2538:9;2534:22;2530:31;2523:45;2484:2;-1:-1:-1;2639:2:1;2618:15;-1:-1:-1;;2614:29:1;2599:45;;;;2646:2;2595:54;;2173:482;-1:-1:-1;;;2173:482:1:o;4567:356::-;4769:2;4751:21;;;4788:18;;;4781:30;4847:34;4842:2;4827:18;;4820:62;4914:2;4899:18;;4741:182::o;4928:410::-;5130:2;5112:21;;;5169:2;5149:18;;;5142:30;5208:34;5203:2;5188:18;;5181:62;-1:-1:-1;;;5274:2:1;5259:18;;5252:44;5328:3;5313:19;;5102:236::o;7232:128::-;7272:3;7303:1;7299:6;7296:1;7293:13;7290:2;;;7309:18;;:::i;:::-;-1:-1:-1;7345:9:1;;7280:80::o;7365:125::-;7405:4;7433:1;7430;7427:8;7424:2;;;7438:18;;:::i;:::-;-1:-1:-1;7475:9:1;;7414:76::o;7495:380::-;7574:1;7570:12;;;;7617;;;7638:2;;7692:4;7684:6;7680:17;7670:27;;7638:2;7745;7737:6;7734:14;7714:18;7711:38;7708:2;;;7791:10;7786:3;7782:20;7779:1;7772:31;7826:4;7823:1;7816:15;7854:4;7851:1;7844:15;7708:2;;7550:325;;;:::o;7880:127::-;7941:10;7936:3;7932:20;7929:1;7922:31;7972:4;7969:1;7962:15;7996:4;7993:1;7986:15

Swarm Source

ipfs://44587a6abf728e77da21b6f7c40a9a96cc24ac2588452e408e65d8e874b2161f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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