Token Recharge

DeFi  
 

Overview [ERC-20]

Price
$0.36 @ 0.000292 Eth (-0.91%)
Fully Diluted Market Cap
Max Total Supply:
140,985,417.431256382001077839 RCG

Holders:
80 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

Decentralized Incentive Hub for Electric Power Based Ecosystem. The Recharge provides All-In-one incentive solution to recharge holders on various major protocols.

Market

Volume (24H):$462,631.08
Market Capitalization:$0.00
Circulating Supply:0.00 RCG
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RCG

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-03
*/

// SPDX-License-Identifier: MIT


pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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


pragma solidity ^0.8.0;

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

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


pragma solidity ^0.8.0;


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

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

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



pragma solidity ^0.8.0;




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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

pragma solidity 0.8.4;


contract Owned {
    address public owner;
    address public nominatedOwner;
    address public benefitial;
    constructor(address _owner) public {
        require(_owner != address(0), 'Owner address cannot be 0');
        owner = _owner;
        benefitial = _owner;
        emit OwnerChanged(address(0), _owner);
    }
    function nominateNewOwner(address _owner) external isOwner {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }
    function acceptOwnership() external {
        require(msg.sender == nominatedOwner, 'You must be nominated before you can accept ownership');
        emit OwnerChanged(owner, nominatedOwner);
        owner = nominatedOwner;
        nominatedOwner = address(0);
    }
    function transferBenefitial(address _benefitial) external isOwner {
        address oldBenefitial = benefitial;
        benefitial = _benefitial;
        emit BenefitialChanged(oldBenefitial, benefitial);
    }
    modifier isOwner() {
        require(owner == msg.sender, "You are not Owner");
        _;
    }
    
    event OwnerNominated(address indexed newOwner);
    event OwnerChanged(address indexed oldOwner, address indexed newOwner);
    event BenefitialChanged(address indexed oldBenefitial, address indexed newBenefitial);
}

contract RCG is ERC20, Owned {
  mapping (address => uint256) private _balances;
  mapping (address => mapping (address => uint256)) private _allowed;

  string public constant tokenName = "Recharge";
  string public constant tokenSymbol = "RCG";
  uint256 _totalSupply = 0;
  uint256 public basePercent = 0;

  constructor(address _owner, uint256 amount) ERC20(tokenName, tokenSymbol) Owned(_owner) {
    _issue(msg.sender, amount);
    _totalSupply=amount;
  }
    
  function changeBurnRate(uint256 rate) public isOwner returns (bool){
    basePercent = rate;
    return true;
  }
  
  /// @notice Returns total token supply
  function totalSupply() public view override returns (uint256) {
    return _totalSupply;
  }

  /// @notice Returns user balance
  function balanceOf(address owner) public view override returns (uint256) {
    return _balances[owner];
  }

  /// @notice Returns number of tokens that the owner has allowed the spender to withdraw
  function allowance(address owner, address spender) public view override returns (uint256) {
    return _allowed[owner][spender];
  }

  /// @notice Returns value of calculate the quantity to destory during transfer
  function cut(uint256 value) public view returns (uint256)  {
    if(basePercent==0) return 0;
    uint256 c = value+basePercent;
    uint256 d = c-1;
    uint256 roundValue = d/basePercent*basePercent;
    uint256 cutValue = roundValue*basePercent/10000;
    return cutValue;
  }

  /// @notice From owner address sends value to address.
  function transfer(address to, uint256 value) public override returns (bool) {
    require(to != address(0), "Address cannot be 0x0");
      
    uint256 tokensToBurn = cut(value);
    uint256 tokensToTransfer = value-tokensToBurn;

    _balances[msg.sender] = _balances[msg.sender]-value;
    _balances[to] = _balances[to]+tokensToTransfer;
    _balances[benefitial] = _balances[benefitial]+tokensToBurn;

    emit Transfer(msg.sender, to, tokensToTransfer);
    emit Transfer(msg.sender, benefitial, tokensToBurn);
    return true;
  }

  /// @notice Give Spender the right to withdraw as much tokens as value
  function approve(address spender, uint256 value) public override returns (bool) {
    require(spender != address(0), "Address cannot be 0x0");
    _allowed[msg.sender][spender] = value;
    emit Approval(msg.sender, spender, value);
    return true;
  }

  /** @notice From address sends value to address.
              However, this function can only be performed by a spender 
              who is entitled to withdraw through the aprove function. 
  */
  function transferFrom(address from, address to, uint256 value) public override returns (bool) {
    require(to != address(0), "Address cannot be 0x0");

    _balances[from] = _balances[from]-value;

    uint256 tokensToBurn = cut(value);
    uint256 tokensToTransfer = value-tokensToBurn;

    _balances[to] = _balances[to]+tokensToTransfer;
    _balances[benefitial] = _balances[benefitial]+tokensToBurn;

    _allowed[from][msg.sender] = _allowed[from][msg.sender]-value;

    emit Approval(from, msg.sender, _allowed[from][msg.sender]);
    emit Transfer(from, to, tokensToTransfer);
    emit Transfer(from, benefitial, tokensToBurn);

    return true;
  }

  /// @notice Add the value of the privilege granted through the allowance function
  function upAllowance(address spender, uint256 addedValue) public returns (bool) {
    require(spender != address(0), "Address cannot be 0x0");
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender]+addedValue);
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  /// @notice Subtract the value of the privilege granted through the allowance function
  function downAllowance(address spender, uint256 subtractedValue) public returns (bool) {
    require(spender != address(0), "Address cannot be 0x0");
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender]-subtractedValue);
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  /// @notice Issue token from 0x address
  function _issue(address account, uint256 amount) internal {
    require(amount != 0, "Amount cannot be 0");
    _balances[account] = _balances[account]+amount;
    emit Transfer(address(0), account, amount);
  }

  /// @notice Returns _destory function
  function destroy(uint256 amount) external {
    _destroy(msg.sender, amount);
  }

  /// @notice Destroy the token by transferring it to the 0x address.
  function _destroy(address account, uint256 amount) internal {
    require(amount != 0, "Amount Cannot be 0");
    _balances[account] = _balances[account]-amount;
    _totalSupply = _totalSupply-amount;
    emit Transfer(account, address(0), amount);
  }

  /** @notice From address sends value 0x address.
              However, this function can only be performed by a spender 
              who is entitled to withdraw through the aprove function. 
  */
  function destroyFrom(address account, uint256 amount) external {
    _allowed[account][msg.sender] = _allowed[account][msg.sender]-amount;
    _destroy(account, amount);

    emit Approval(account, msg.sender, _allowed[account][msg.sender]);
  }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldBenefitial","type":"address"},{"indexed":true,"internalType":"address","name":"newBenefitial","type":"address"}],"name":"BenefitialChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","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":"acceptOwnership","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"benefitial","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"changeBurnRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"cut","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":"uint256","name":"amount","type":"uint256"}],"name":"destroy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"destroyFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"downAllowance","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":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_benefitial","type":"address"}],"name":"transferBenefitial","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"upAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526000600a556000600b553480156200001b57600080fd5b506040516200339038038062003390833981810160405281019062000041919062000475565b816040518060400160405280600881526020017f52656368617267650000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52434700000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000c692919062000397565b508060049080519060200190620000df92919062000397565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000155576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014c9062000537565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a3506200024533826200025460201b60201c565b80600a8190555050506200073c565b60008114156200029b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002929062000515565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002e8919062000587565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038b919062000559565b60405180910390a35050565b828054620003a59062000622565b90600052602060002090601f016020900481019282620003c9576000855562000415565b82601f10620003e457805160ff191683800117855562000415565b8280016001018555821562000415579182015b8281111562000414578251825591602001919060010190620003f7565b5b50905062000424919062000428565b5090565b5b808211156200044357600081600090555060010162000429565b5090565b600081519050620004588162000708565b92915050565b6000815190506200046f8162000722565b92915050565b600080604083850312156200048957600080fd5b6000620004998582860162000447565b9250506020620004ac858286016200045e565b9150509250929050565b6000620004c560128362000576565b9150620004d282620006b6565b602082019050919050565b6000620004ec60198362000576565b9150620004f982620006df565b602082019050919050565b6200050f8162000618565b82525050565b600060208201905081810360008301526200053081620004b6565b9050919050565b600060208201905081810360008301526200055281620004dd565b9050919050565b600060208201905062000570600083018462000504565b92915050565b600082825260208201905092915050565b6000620005948262000618565b9150620005a18362000618565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005d957620005d862000658565b5b828201905092915050565b6000620005f182620005f8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200063b57607f821691505b6020821081141562000652576200065162000687565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f416d6f756e742063616e6e6f7420626520300000000000000000000000000000600082015250565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000600082015250565b6200071381620005e4565b81146200071f57600080fd5b50565b6200072d8162000618565b81146200073957600080fd5b50565b612c44806200074c6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806379ba5097116100de578063a9059cbb11610097578063d68f617011610071578063d68f61701461049d578063dd62ed3e146104b9578063df401a96146104e9578063e5981a42146105195761018e565b8063a9059cbb14610431578063be20a8f014610461578063c5ac0ded1461047f5761018e565b806379ba5097146103815780637b61c3201461038b5780638da5cb5b146103a957806395d89b41146103c75780639d118770146103e5578063a457c2d7146104015761018e565b8063313ce5671161014b57806353a47bb71161012557806353a47bb7146102e557806356851060146103035780636c02a9311461033357806370a08231146103515761018e565b8063313ce5671461027b57806333393efa1461029957806339509351146102b55761018e565b806306fdde031461019357806309260db7146101b1578063095ea7b3146101e15780631627540c1461021157806318160ddd1461022d57806323b872dd1461024b575b600080fd5b61019b610549565b6040516101a89190612668565b60405180910390f35b6101cb60048036038101906101c6919061249f565b6105db565b6040516101d8919061276a565b60405180910390f35b6101fb60048036038101906101f69190612463565b61065e565b604051610208919061264d565b60405180910390f35b61022b600480360381019061022691906123af565b6107bf565b005b6102356108d6565b604051610242919061276a565b60405180910390f35b61026560048036038101906102609190612414565b6108e0565b604051610272919061264d565b60405180910390f35b610283610e3e565b6040516102909190612785565b60405180910390f35b6102b360048036038101906102ae9190612463565b610e47565b005b6102cf60048036038101906102ca9190612463565b61103e565b6040516102dc919061264d565b60405180910390f35b6102ed6110ea565b6040516102fa9190612632565b60405180910390f35b61031d6004803603810190610318919061249f565b611110565b60405161032a919061264d565b60405180910390f35b61033b6111b2565b6040516103489190612668565b60405180910390f35b61036b600480360381019061036691906123af565b6111eb565b604051610378919061276a565b60405180910390f35b610389611234565b005b610393611409565b6040516103a09190612668565b60405180910390f35b6103b1611442565b6040516103be9190612632565b60405180910390f35b6103cf611468565b6040516103dc9190612668565b60405180910390f35b6103ff60048036038101906103fa919061249f565b6114fa565b005b61041b60048036038101906104169190612463565b611507565b604051610428919061264d565b60405180910390f35b61044b60048036038101906104469190612463565b6115fb565b604051610458919061264d565b60405180910390f35b61046961196f565b6040516104769190612632565b60405180910390f35b610487611995565b604051610494919061276a565b60405180910390f35b6104b760048036038101906104b291906123af565b61199b565b005b6104d360048036038101906104ce91906123d8565b611b13565b6040516104e0919061276a565b60405180910390f35b61050360048036038101906104fe9190612463565b611b9a565b604051610510919061264d565b60405180910390f35b610533600480360381019061052e9190612463565b611dfe565b604051610540919061264d565b60405180910390f35b60606003805461055890612959565b80601f016020809104026020016040519081016040528092919081815260200182805461058490612959565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b600080600b5414156105f05760009050610659565b6000600b548361060091906127bc565b90506000600182610611919061289d565b90506000600b54600b54836106269190612812565b6106309190612843565b90506000612710600b54836106459190612843565b61064f9190612812565b9050809450505050505b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c69061272a565b60405180910390fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107ad919061276a565b60405180910390a36001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610846906126ea565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2260405160405180910390a250565b6000600a54905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610951576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109489061272a565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099c919061289d565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006109ea836105db565b9050600081846109fa919061289d565b905080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a4791906127bc565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610af791906127bc565b60086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be4919061289d565b600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051610d3d919061276a565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610da2919061276a565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e29919061276a565b60405180910390a36001925050509392505050565b60006012905090565b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ecf919061289d565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f598282612062565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611032919061276a565b60405180910390a35050565b60006110e061104b6121b2565b8484600160006110596121b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110db91906127bc565b6121ba565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611199906126ea565b60405180910390fd5b81600b8190555060019050919050565b6040518060400160405280600881526020017f526563686172676500000000000000000000000000000000000000000000000081525081565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb9061268a565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600381526020017f524347000000000000000000000000000000000000000000000000000000000081525081565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461147790612959565b80601f01602080910402602001604051908101604052809291908181526020018280546114a390612959565b80156114f05780601f106114c5576101008083540402835291602001916114f0565b820191906000526020600020905b8154815290600101906020018083116114d357829003601f168201915b5050505050905090565b6115043382612062565b50565b600080600160006115166121b2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca9061274a565b60405180910390fd5b6115f06115de6121b2565b8585846115eb919061289d565b6121ba565b600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561166c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116639061272a565b60405180910390fd5b6000611677836105db565b905060008184611687919061289d565b905083600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116d4919061289d565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176291906127bc565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181291906127bc565b60086000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118d4919061276a565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161195b919061276a565b60405180910390a360019250505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a22906126ea565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fca64dacef441dda80aed5ad77e51d3815217917007a7dd22d3a7c2d22502ec0860405160405180910390a35050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c029061272a565b60405180910390fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c93919061289d565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611dec919061276a565b60405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e669061272a565b60405180910390fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef791906127bc565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051612050919061276a565b60405180910390a36001905092915050565b60008114156120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d906126ca565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120f1919061289d565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600a54612142919061289d565b600a81905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121a6919061276a565b60405180910390a35050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561222a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122219061270a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561229a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612291906126aa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612378919061276a565b60405180910390a3505050565b60008135905061239481612be0565b92915050565b6000813590506123a981612bf7565b92915050565b6000602082840312156123c157600080fd5b60006123cf84828501612385565b91505092915050565b600080604083850312156123eb57600080fd5b60006123f985828601612385565b925050602061240a85828601612385565b9150509250929050565b60008060006060848603121561242957600080fd5b600061243786828701612385565b935050602061244886828701612385565b92505060406124598682870161239a565b9150509250925092565b6000806040838503121561247657600080fd5b600061248485828601612385565b92505060206124958582860161239a565b9150509250929050565b6000602082840312156124b157600080fd5b60006124bf8482850161239a565b91505092915050565b6124d1816128d1565b82525050565b6124e0816128e3565b82525050565b60006124f1826127a0565b6124fb81856127ab565b935061250b818560208601612926565b61251481612a18565b840191505092915050565b600061252c6035836127ab565b915061253782612a29565b604082019050919050565b600061254f6022836127ab565b915061255a82612a78565b604082019050919050565b60006125726012836127ab565b915061257d82612ac7565b602082019050919050565b60006125956011836127ab565b91506125a082612af0565b602082019050919050565b60006125b86024836127ab565b91506125c382612b19565b604082019050919050565b60006125db6015836127ab565b91506125e682612b68565b602082019050919050565b60006125fe6025836127ab565b915061260982612b91565b604082019050919050565b61261d8161290f565b82525050565b61262c81612919565b82525050565b600060208201905061264760008301846124c8565b92915050565b600060208201905061266260008301846124d7565b92915050565b6000602082019050818103600083015261268281846124e6565b905092915050565b600060208201905081810360008301526126a38161251f565b9050919050565b600060208201905081810360008301526126c381612542565b9050919050565b600060208201905081810360008301526126e381612565565b9050919050565b6000602082019050818103600083015261270381612588565b9050919050565b60006020820190508181036000830152612723816125ab565b9050919050565b60006020820190508181036000830152612743816125ce565b9050919050565b60006020820190508181036000830152612763816125f1565b9050919050565b600060208201905061277f6000830184612614565b92915050565b600060208201905061279a6000830184612623565b92915050565b600081519050919050565b600082825260208201905092915050565b60006127c78261290f565b91506127d28361290f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156128075761280661298b565b5b828201905092915050565b600061281d8261290f565b91506128288361290f565b925082612838576128376129ba565b5b828204905092915050565b600061284e8261290f565b91506128598361290f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128925761289161298b565b5b828202905092915050565b60006128a88261290f565b91506128b38361290f565b9250828210156128c6576128c561298b565b5b828203905092915050565b60006128dc826128ef565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612944578082015181840152602081019050612929565b83811115612953576000848401525b50505050565b6000600282049050600182168061297157607f821691505b60208210811415612985576129846129e9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560008201527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e742043616e6e6f7420626520300000000000000000000000000000600082015250565b7f596f7520617265206e6f74204f776e6572000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416464726573732063616e6e6f74206265203078300000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b612be9816128d1565b8114612bf457600080fd5b50565b612c008161290f565b8114612c0b57600080fd5b5056fea2646970667358221220604bf211be0360821368f7e2449b6149314265758a266a27426d0cb51750c0be64736f6c634300080400330000000000000000000000003c2465d88c6546eac6f9aa6f79081ad874ca2e8b0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

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

0000000000000000000000003c2465d88c6546eac6f9aa6f79081ad874ca2e8b0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000

-----Decoded View---------------
Arg [0] : _owner (address): 0x3c2465d88C6546eac6F9aa6f79081Ad874CA2E8b
Arg [1] : amount (uint256): 1000000000000000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003c2465d88c6546eac6f9aa6f79081ad874ca2e8b
Arg [1] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000


Deployed ByteCode Sourcemap

16390:5375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6277:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17604:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18583:258;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15414:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17040:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19052:677;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7239:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21506:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9926:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15125:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16874:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16548:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17176:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15559:271;;;:::i;:::-;;16598:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15098:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6496:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20877:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10644:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17954:549;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15161:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16674:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15836:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17382:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20235:331;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19820:319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6277:100;6331:13;6364:5;6357:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6277:100;:::o;17604:286::-;17653:7;17686:1;17673:11;;:14;17670:27;;;17696:1;17689:8;;;;17670:27;17704:9;17722:11;;17716:5;:17;;;;:::i;:::-;17704:29;;17740:9;17754:1;17752;:3;;;;:::i;:::-;17740:15;;17762:18;17797:11;;17785;;17783:1;:13;;;;:::i;:::-;:25;;;;:::i;:::-;17762:46;;17815:16;17857:5;17845:11;;17834:10;:22;;;;:::i;:::-;:28;;;;:::i;:::-;17815:47;;17876:8;17869:15;;;;;;17604:286;;;;:::o;18583:258::-;18657:4;18697:1;18678:21;;:7;:21;;;;18670:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18764:5;18732:8;:20;18741:10;18732:20;;;;;;;;;;;;;;;:29;18753:7;18732:29;;;;;;;;;;;;;;;:37;;;;18802:7;18781:36;;18790:10;18781:36;;;18811:5;18781:36;;;;;;:::i;:::-;;;;;;;;18831:4;18824:11;;18583:258;;;;:::o;15414:139::-;16103:10;16094:19;;:5;;;;;;;;;;;:19;;;16086:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;15501:6:::1;15484:14;;:23;;;;;;;;;;;;;;;;;;15538:6;15523:22;;;;;;;;;;;;15414:139:::0;:::o;17040:94::-;17093:7;17116:12;;17109:19;;17040:94;:::o;19052:677::-;19140:4;19175:1;19161:16;;:2;:16;;;;19153:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;19246:5;19230:9;:15;19240:4;19230:15;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;19212:9;:15;19222:4;19212:15;;;;;;;;;;;;;;;:39;;;;19260:20;19283:10;19287:5;19283:3;:10::i;:::-;19260:33;;19300:24;19333:12;19327:5;:18;;;;:::i;:::-;19300:45;;19384:16;19370:9;:13;19380:2;19370:13;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;19354:9;:13;19364:2;19354:13;;;;;;;;;;;;;;;:46;;;;19453:12;19431:9;:21;19441:10;;;;;;;;;;;19431:21;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;19407:9;:21;19417:10;;;;;;;;;;;19407:21;;;;;;;;;;;;;;;:58;;;;19530:5;19503:8;:14;19512:4;19503:14;;;;;;;;;;;;;;;:26;19518:10;19503:26;;;;;;;;;;;;;;;;:32;;;;:::i;:::-;19474:8;:14;19483:4;19474:14;;;;;;;;;;;;;;;:26;19489:10;19474:26;;;;;;;;;;;;;;;:61;;;;19564:10;19549:54;;19558:4;19549:54;;;19576:8;:14;19585:4;19576:14;;;;;;;;;;;;;;;:26;19591:10;19576:26;;;;;;;;;;;;;;;;19549:54;;;;;;:::i;:::-;;;;;;;;19630:2;19615:36;;19624:4;19615:36;;;19634:16;19615:36;;;;;;:::i;:::-;;;;;;;;19678:10;;;;;;;;;;;19663:40;;19672:4;19663:40;;;19690:12;19663:40;;;;;;:::i;:::-;;;;;;;;19719:4;19712:11;;;;19052:677;;;;;:::o;7239:93::-;7297:5;7322:2;7315:9;;7239:93;:::o;21506:250::-;21638:6;21608:8;:17;21617:7;21608:17;;;;;;;;;;;;;;;:29;21626:10;21608:29;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;21576:8;:17;21585:7;21576:17;;;;;;;;;;;;;;;:29;21594:10;21576:29;;;;;;;;;;;;;;;:68;;;;21651:25;21660:7;21669:6;21651:8;:25::i;:::-;21708:10;21690:60;;21699:7;21690:60;;;21720:8;:17;21729:7;21720:17;;;;;;;;;;;;;;;:29;21738:10;21720:29;;;;;;;;;;;;;;;;21690:60;;;;;;:::i;:::-;;;;;;;;21506:250;;:::o;9926:215::-;10014:4;10031:80;10040:12;:10;:12::i;:::-;10054:7;10100:10;10063:11;:25;10075:12;:10;:12::i;:::-;10063:25;;;;;;;;;;;;;;;:34;10089:7;10063:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;10031:8;:80::i;:::-;10129:4;10122:11;;9926:215;;;;:::o;15125:29::-;;;;;;;;;;;;;:::o;16874:116::-;16936:4;16103:10;16094:19;;:5;;;;;;;;;;;:19;;;16086:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;16962:4:::1;16948:11;:18;;;;16980:4;16973:11;;16874:116:::0;;;:::o;16548:45::-;;;;;;;;;;;;;;;;;;;:::o;17176:109::-;17240:7;17263:9;:16;17273:5;17263:16;;;;;;;;;;;;;;;;17256:23;;17176:109;;;:::o;15559:271::-;15628:14;;;;;;;;;;;15614:28;;:10;:28;;;15606:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;15736:14;;;;;;;;;;;15716:35;;15729:5;;;;;;;;;;;15716:35;;;;;;;;;;;;15770:14;;;;;;;;;;;15762:5;;:22;;;;;;;;;;;;;;;;;;15820:1;15795:14;;:27;;;;;;;;;;;;;;;;;;15559:271::o;16598:42::-;;;;;;;;;;;;;;;;;;;:::o;15098:20::-;;;;;;;;;;;;;:::o;6496:104::-;6552:13;6585:7;6578:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6496:104;:::o;20877:83::-;20926:28;20935:10;20947:6;20926:8;:28::i;:::-;20877:83;:::o;10644:377::-;10737:4;10754:24;10781:11;:25;10793:12;:10;:12::i;:::-;10781:25;;;;;;;;;;;;;;;:34;10807:7;10781:34;;;;;;;;;;;;;;;;10754:61;;10854:15;10834:16;:35;;10826:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10922:67;10931:12;:10;:12::i;:::-;10945:7;10973:15;10954:16;:34;;;;:::i;:::-;10922:8;:67::i;:::-;11009:4;11002:11;;;10644:377;;;;:::o;17954:549::-;18024:4;18059:1;18045:16;;:2;:16;;;;18037:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;18102:20;18125:10;18129:5;18125:3;:10::i;:::-;18102:33;;18142:24;18175:12;18169:5;:18;;;;:::i;:::-;18142:45;;18242:5;18220:9;:21;18230:10;18220:21;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;18196:9;:21;18206:10;18196:21;;;;;;;;;;;;;;;:51;;;;18284:16;18270:9;:13;18280:2;18270:13;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;18254:9;:13;18264:2;18254:13;;;;;;;;;;;;;;;:46;;;;18353:12;18331:9;:21;18341:10;;;;;;;;;;;18331:21;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;18307:9;:21;18317:10;;;;;;;;;;;18307:21;;;;;;;;;;;;;;;:58;;;;18400:2;18379:42;;18388:10;18379:42;;;18404:16;18379:42;;;;;;:::i;:::-;;;;;;;;18454:10;;;;;;;;;;;18433:46;;18442:10;18433:46;;;18466:12;18433:46;;;;;;:::i;:::-;;;;;;;;18493:4;18486:11;;;;17954:549;;;;:::o;15161:25::-;;;;;;;;;;;;;:::o;16674:30::-;;;;:::o;15836:214::-;16103:10;16094:19;;:5;;;;;;;;;;;:19;;;16086:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;15913:21:::1;15937:10;;;;;;;;;;;15913:34;;15971:11;15958:10;;:24;;;;;;;;;;;;;;;;;;16031:10;;;;;;;;;;;15998:44;;16016:13;15998:44;;;;;;;;;;;;16146:1;15836:214:::0;:::o;17382:134::-;17463:7;17486:8;:15;17495:5;17486:15;;;;;;;;;;;;;;;:24;17502:7;17486:24;;;;;;;;;;;;;;;;17479:31;;17382:134;;;;:::o;20235:331::-;20316:4;20356:1;20337:21;;:7;:21;;;;20329:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20454:15;20424:8;:20;20433:10;20424:20;;;;;;;;;;;;;;;:29;20445:7;20424:29;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;20391:8;:20;20400:10;20391:20;;;;;;;;;;;;;;;:29;20412:7;20391:29;;;;;;;;;;;;;;;:79;;;;20503:7;20482:60;;20491:10;20482:60;;;20512:8;:20;20521:10;20512:20;;;;;;;;;;;;;;;:29;20533:7;20512:29;;;;;;;;;;;;;;;;20482:60;;;;;;:::i;:::-;;;;;;;;20556:4;20549:11;;20235:331;;;;:::o;19820:319::-;19894:4;19934:1;19915:21;;:7;:21;;;;19907:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;20032:10;20002:8;:20;20011:10;20002:20;;;;;;;;;;;;;;;:29;20023:7;20002:29;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;19969:8;:20;19978:10;19969:20;;;;;;;;;;;;;;;:29;19990:7;19969:29;;;;;;;;;;;;;;;:74;;;;20076:7;20055:60;;20064:10;20055:60;;;20085:8;:20;20094:10;20085:20;;;;;;;;;;;;;;;:29;20106:7;20085:29;;;;;;;;;;;;;;;;20055:60;;;;;;:::i;:::-;;;;;;;;20129:4;20122:11;;19820:319;;;;:::o;21037:258::-;21122:1;21112:6;:11;;21104:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;21193:6;21174:9;:18;21184:7;21174:18;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;21153:9;:18;21163:7;21153:18;;;;;;;;;;;;;;;:46;;;;21234:6;21221:12;;:19;;;;:::i;:::-;21206:12;:34;;;;21278:1;21252:37;;21261:7;21252:37;;;21282:6;21252:37;;;;;;:::i;:::-;;;;;;;;21037:258;;:::o;3345:98::-;3398:7;3425:10;3418:17;;3345:98;:::o;14000:346::-;14119:1;14102:19;;:5;:19;;;;14094:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14200:1;14181:21;;:7;:21;;;;14173:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14284:6;14254:11;:18;14266:5;14254:18;;;;;;;;;;;;;;;:27;14273:7;14254:27;;;;;;;;;;;;;;;:36;;;;14322:7;14306:32;;14315:5;14306:32;;;14331:6;14306:32;;;;;;:::i;:::-;;;;;;;;14000:346;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;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::-;633:6;641;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::-;1055:6;1063;1071;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::-;1604:6;1612;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:262::-;2008:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:2;;;2073:1;2070;2063:12;2025:2;2116:1;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2087:117;2015:196;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2282:53;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2400:50;;:::o;2456:364::-;2544:3;2572:39;2605:5;2572:39;:::i;:::-;2627:71;2691:6;2686:3;2627:71;:::i;:::-;2620:78;;2707:52;2752:6;2747:3;2740:4;2733:5;2729:16;2707:52;:::i;:::-;2784:29;2806:6;2784:29;:::i;:::-;2779:3;2775:39;2768:46;;2548:272;;;;;:::o;2826:366::-;2968:3;2989:67;3053:2;3048:3;2989:67;:::i;:::-;2982:74;;3065:93;3154:3;3065:93;:::i;:::-;3183:2;3178:3;3174:12;3167:19;;2972:220;;;:::o;3198:366::-;3340:3;3361:67;3425:2;3420:3;3361:67;:::i;:::-;3354:74;;3437:93;3526:3;3437:93;:::i;:::-;3555:2;3550:3;3546:12;3539:19;;3344:220;;;:::o;3570:366::-;3712:3;3733:67;3797:2;3792:3;3733:67;:::i;:::-;3726:74;;3809:93;3898:3;3809:93;:::i;:::-;3927:2;3922:3;3918:12;3911:19;;3716:220;;;:::o;3942:366::-;4084:3;4105:67;4169:2;4164:3;4105:67;:::i;:::-;4098:74;;4181:93;4270:3;4181:93;:::i;:::-;4299:2;4294:3;4290:12;4283:19;;4088:220;;;:::o;4314:366::-;4456:3;4477:67;4541:2;4536:3;4477:67;:::i;:::-;4470:74;;4553:93;4642:3;4553:93;:::i;:::-;4671:2;4666:3;4662:12;4655:19;;4460:220;;;:::o;4686:366::-;4828:3;4849:67;4913:2;4908:3;4849:67;:::i;:::-;4842:74;;4925:93;5014:3;4925:93;:::i;:::-;5043:2;5038:3;5034:12;5027:19;;4832:220;;;:::o;5058:366::-;5200:3;5221:67;5285:2;5280:3;5221:67;:::i;:::-;5214:74;;5297:93;5386:3;5297:93;:::i;:::-;5415:2;5410:3;5406:12;5399:19;;5204:220;;;:::o;5430:118::-;5517:24;5535:5;5517:24;:::i;:::-;5512:3;5505:37;5495:53;;:::o;5554:112::-;5637:22;5653:5;5637:22;:::i;:::-;5632:3;5625:35;5615:51;;:::o;5672:222::-;5765:4;5803:2;5792:9;5788:18;5780:26;;5816:71;5884:1;5873:9;5869:17;5860:6;5816:71;:::i;:::-;5770:124;;;;:::o;5900:210::-;5987:4;6025:2;6014:9;6010:18;6002:26;;6038:65;6100:1;6089:9;6085:17;6076:6;6038:65;:::i;:::-;5992:118;;;;:::o;6116:313::-;6229:4;6267:2;6256:9;6252:18;6244:26;;6316:9;6310:4;6306:20;6302:1;6291:9;6287:17;6280:47;6344:78;6417:4;6408:6;6344:78;:::i;:::-;6336:86;;6234:195;;;;:::o;6435:419::-;6601:4;6639:2;6628:9;6624:18;6616:26;;6688:9;6682:4;6678:20;6674:1;6663:9;6659:17;6652:47;6716:131;6842:4;6716:131;:::i;:::-;6708:139;;6606:248;;;:::o;6860:419::-;7026:4;7064:2;7053:9;7049:18;7041:26;;7113:9;7107:4;7103:20;7099:1;7088:9;7084:17;7077:47;7141:131;7267:4;7141:131;:::i;:::-;7133:139;;7031:248;;;:::o;7285:419::-;7451:4;7489:2;7478:9;7474:18;7466:26;;7538:9;7532:4;7528:20;7524:1;7513:9;7509:17;7502:47;7566:131;7692:4;7566:131;:::i;:::-;7558:139;;7456:248;;;:::o;7710:419::-;7876:4;7914:2;7903:9;7899:18;7891:26;;7963:9;7957:4;7953:20;7949:1;7938:9;7934:17;7927:47;7991:131;8117:4;7991:131;:::i;:::-;7983:139;;7881:248;;;:::o;8135:419::-;8301:4;8339:2;8328:9;8324:18;8316:26;;8388:9;8382:4;8378:20;8374:1;8363:9;8359:17;8352:47;8416:131;8542:4;8416:131;:::i;:::-;8408:139;;8306:248;;;:::o;8560:419::-;8726:4;8764:2;8753:9;8749:18;8741:26;;8813:9;8807:4;8803:20;8799:1;8788:9;8784:17;8777:47;8841:131;8967:4;8841:131;:::i;:::-;8833:139;;8731:248;;;:::o;8985:419::-;9151:4;9189:2;9178:9;9174:18;9166:26;;9238:9;9232:4;9228:20;9224:1;9213:9;9209:17;9202:47;9266:131;9392:4;9266:131;:::i;:::-;9258:139;;9156:248;;;:::o;9410:222::-;9503:4;9541:2;9530:9;9526:18;9518:26;;9554:71;9622:1;9611:9;9607:17;9598:6;9554:71;:::i;:::-;9508:124;;;;:::o;9638:214::-;9727:4;9765:2;9754:9;9750:18;9742:26;;9778:67;9842:1;9831:9;9827:17;9818:6;9778:67;:::i;:::-;9732:120;;;;:::o;9858:99::-;9910:6;9944:5;9938:12;9928:22;;9917:40;;;:::o;9963:169::-;10047:11;10081:6;10076:3;10069:19;10121:4;10116:3;10112:14;10097:29;;10059:73;;;;:::o;10138:305::-;10178:3;10197:20;10215:1;10197:20;:::i;:::-;10192:25;;10231:20;10249:1;10231:20;:::i;:::-;10226:25;;10385:1;10317:66;10313:74;10310:1;10307:81;10304:2;;;10391:18;;:::i;:::-;10304:2;10435:1;10432;10428:9;10421:16;;10182:261;;;;:::o;10449:185::-;10489:1;10506:20;10524:1;10506:20;:::i;:::-;10501:25;;10540:20;10558:1;10540:20;:::i;:::-;10535:25;;10579:1;10569:2;;10584:18;;:::i;:::-;10569:2;10626:1;10623;10619:9;10614:14;;10491:143;;;;:::o;10640:348::-;10680:7;10703:20;10721:1;10703:20;:::i;:::-;10698:25;;10737:20;10755:1;10737:20;:::i;:::-;10732:25;;10925:1;10857:66;10853:74;10850:1;10847:81;10842:1;10835:9;10828:17;10824:105;10821:2;;;10932:18;;:::i;:::-;10821:2;10980:1;10977;10973:9;10962:20;;10688:300;;;;:::o;10994:191::-;11034:4;11054:20;11072:1;11054:20;:::i;:::-;11049:25;;11088:20;11106:1;11088:20;:::i;:::-;11083:25;;11127:1;11124;11121:8;11118:2;;;11132:18;;:::i;:::-;11118:2;11177:1;11174;11170:9;11162:17;;11039:146;;;;:::o;11191:96::-;11228:7;11257:24;11275:5;11257:24;:::i;:::-;11246:35;;11236:51;;;:::o;11293:90::-;11327:7;11370:5;11363:13;11356:21;11345:32;;11335:48;;;:::o;11389:126::-;11426:7;11466:42;11459:5;11455:54;11444:65;;11434:81;;;:::o;11521:77::-;11558:7;11587:5;11576:16;;11566:32;;;:::o;11604:86::-;11639:7;11679:4;11672:5;11668:16;11657:27;;11647:43;;;:::o;11696:307::-;11764:1;11774:113;11788:6;11785:1;11782:13;11774:113;;;11873:1;11868:3;11864:11;11858:18;11854:1;11849:3;11845:11;11838:39;11810:2;11807:1;11803:10;11798:15;;11774:113;;;11905:6;11902:1;11899:13;11896:2;;;11985:1;11976:6;11971:3;11967:16;11960:27;11896:2;11745:258;;;;:::o;12009:320::-;12053:6;12090:1;12084:4;12080:12;12070:22;;12137:1;12131:4;12127:12;12158:18;12148:2;;12214:4;12206:6;12202:17;12192:27;;12148:2;12276;12268:6;12265:14;12245:18;12242:38;12239:2;;;12295:18;;:::i;:::-;12239:2;12060:269;;;;:::o;12335:180::-;12383:77;12380:1;12373:88;12480:4;12477:1;12470:15;12504:4;12501:1;12494:15;12521:180;12569:77;12566:1;12559:88;12666:4;12663:1;12656:15;12690:4;12687:1;12680:15;12707:180;12755:77;12752:1;12745:88;12852:4;12849:1;12842:15;12876:4;12873:1;12866:15;12893:102;12934:6;12985:2;12981:7;12976:2;12969:5;12965:14;12961:28;12951:38;;12941:54;;;:::o;13001:240::-;13141:34;13137:1;13129:6;13125:14;13118:58;13210:23;13205:2;13197:6;13193:15;13186:48;13107:134;:::o;13247:221::-;13387:34;13383:1;13375:6;13371:14;13364:58;13456:4;13451:2;13443:6;13439:15;13432:29;13353:115;:::o;13474:168::-;13614:20;13610:1;13602:6;13598:14;13591:44;13580:62;:::o;13648:167::-;13788:19;13784:1;13776:6;13772:14;13765:43;13754:61;:::o;13821:223::-;13961:34;13957:1;13949:6;13945:14;13938:58;14030:6;14025:2;14017:6;14013:15;14006:31;13927:117;:::o;14050:171::-;14190:23;14186:1;14178:6;14174:14;14167:47;14156:65;:::o;14227:224::-;14367:34;14363:1;14355:6;14351:14;14344:58;14436:7;14431:2;14423:6;14419:15;14412:32;14333:118;:::o;14457:122::-;14530:24;14548:5;14530:24;:::i;:::-;14523:5;14520:35;14510:2;;14569:1;14566;14559:12;14510:2;14500:79;:::o;14585:122::-;14658:24;14676:5;14658:24;:::i;:::-;14651:5;14648:35;14638:2;;14697:1;14694;14687:12;14638:2;14628:79;:::o

Swarm Source

ipfs://604bf211be0360821368f7e2449b6149314265758a266a27426d0cb51750c0be

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.