ETH Price: $3,049.78 (+4.77%)
 

Overview

Max Total Supply

57,887,970 LEOX

Holders

11,494 ( 0.017%)

Market

Price

$0.17 @ 0.000056 ETH (-3.83%)

Onchain Market Cap

$9,876,201.17

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 LEOX

Value
$0.00
0x91ddba0fd06b2f5b4a09af7aab76ad7b64ddff11
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

At Galileo, we’re reshaping luxury ownership, provenance, and authenticity through tokenization. We help luxury brands reach millions of Web3 users by offering crypto payment and digital passport solutions.

Market

Volume (24H):$33,153.53
Market Capitalization:$0.00
Circulating Supply:0.00 LEOX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-04-03
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;

contract ERC20 {
    
    //stores current balances
    mapping(address => uint256) private _balances;
    //stores current approvals
    mapping(address => mapping(address => uint256)) private _allowances;
    //current total supply of token
    uint256 private _totalSupply;
    //current token metadata:
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    //the owner address of this contract, i.e. who can mint more tokens
    address private _owner;
    // For each account, a mapping of its account operators.
    mapping(address => mapping(address => bool)) private _accountOperators;
    // The absolute maximum supply that can be reached by minting. 
    uint256 private _maximumSupply;
    // Allow remint of tokens which have been burned.
    bool private _allowRemint;
    // Stores the accumulated burned total
    uint256 private _burnAccumulatedTotal;
        
    /**
     * @dev Emitted when `amount` tokens are moved from one account (`payerId`) to another (`payeeId`).
     *
     * Note that `amount` may be zero.
     */
    event Transfer(address indexed payerId, address indexed payeeId, uint256 amount);

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

    /**
     * @dev Emitted when tokens are minted or burned.
     */
    event MetaData(string indexed functionName, bytes data);

    /**
     * @dev Emitted when contract owner is changed from `oldContractOwnerId` to `newContractOwnerId`.
     */
    event OwnerChanged(address indexed oldContractOwnerId, address indexed newContractOwnerId);

    /**
     * @dev Emitted when `additionalOwnerAccountId` is authorised by `ownerAccountId`.
     */
    event AuthorizedOperator(address indexed additionalOwnerAccountId, address indexed ownerAccountId);

    /**
     * @dev Emitted when `additionalOwnerAccountId` is revoked by `ownerAccountId`.
     */
    event RevokedOperator(address indexed additionalOwnerAccountId, address indexed ownerAccountId);

    /**
     * @dev Emitted when the batched transactions failed for address `failedAddress` for function `functionName`.
     */
    event BatchFailure(string indexed functionName, address indexed failedAddress);

    /**
     * @dev Sets the values for {_name}, {_symbol}, {_decimals}, {_totalSupply}.
     * Additionally, all of the supply is initially given to the address corresponding to {giveSupplyTo_}
     */
    constructor(string memory name_, string memory symbol_, uint8 decimals_, uint256 supply_, address giveSupplyTo_, address owner_, uint256 maximumSupply_, bool allowRemint_) {
        require(supply_<=maximumSupply_, "Current supply must be less than or equal to max supply");
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
        _totalSupply = supply_;
        _balances[giveSupplyTo_] = supply_;
        _owner = owner_;
        _maximumSupply = maximumSupply_;
        _allowRemint = allowRemint_;

        emit Transfer(address(0), giveSupplyTo_, supply_);
    }

    /**
     * @dev Functions using this modifier restrict the caller to only be the contract owner address (or the account operator of the owner)
     */
   modifier onlyOwner {
        require(isOperatorFor(msg.sender, owner()), "Caller is not the account's operator");
      _;
   }

    /**
     * @dev Moves `amount` tokens from the caller's account to `payeeId`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     *
     * Requirements
     *
     * -  the caller must have at least `amount` tokens.
     * - `payeeId` cannot be the zero address.
     */
    function transfer(address payeeId, uint256 amount) external returns (bool) {
        _transfer(msg.sender, payeeId, amount);
        return true;
    }

    /**
     * @dev Moves `amount` tokens from `payerId` to `payeeId`. The caller must
     * be an account operator of `payerId`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     *
     * Requirements
     *
     * - `payerId` cannot be the zero address.
     * - `payerId` must have at least `amount` tokens.
     * -  the caller must be an account operator for `payerId`.
     * - `payeeId` cannot be the zero address.
     */
    function operatorTransfer(
        address payerId,
        address payeeId,
        uint256 amount
    ) external returns (bool) {
        require(isOperatorFor(msg.sender, payerId), "Caller not an operator for payerId");
        _transfer(payerId, payeeId, amount);
        return true;
    }

    /**
     * @dev Sets `amount` as the allowance of `payeeId` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits an {Approval} event.
     *
     * The if statement makes sure that this contract's approval system is not 
     * vulnerable to teh race condition (where a payee spends the previous
     * and new allowance)
     *
     * Requirements
     *
     * - the caller must have at least `amount` tokens.
     * - `payeeId` cannot be the zero address.
     */
    function approve(address payeeId, uint256 amount) external returns (bool) {
        if (_allowances[msg.sender][payeeId] > 0){
            require(amount == 0, "Must set approval to zero before setting new approval"); //otherwise approve call would be vulnerable to race condition. Need to set approval to zero first             
        }
        _approve(msg.sender, payeeId, amount);
        return true;
    }

    /**
     * @dev Approves `amount` tokens from `payerId` to `payeeId`. The caller must
     * be an account operator of `payerId`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * The if statement makes sure that this contract's approval system is not 
     * vulnerable to the race condition (where a payee spends the previous
     * and new allowance)
     *
     * Emits a {Approval} event.
     *
     * Requirements
     *
     * - `payerId` cannot be the zero address.
     * - `payerId` must have at least `amount` tokens.
     * - the caller must be an account operator for `payerId`.
     * - `payeeId` cannot be the zero address.
     */
    function operatorApprove(
        address payerId,
        address payeeId,
        uint256 amount
    ) external returns (bool) {
        require(isOperatorFor(msg.sender, payerId), "Caller is not an account operator for payerId");
        if (_allowances[payerId][payeeId] > 0){
            require(amount == 0, "Must cancel previous approval"); //otherwise approve call would be vulnerable to race condition. Need to set approval to zero first     
        }
        _approve(payerId, payeeId, amount);
        return true;
    }

    /**
     * @dev Moves `amount` tokens from `payerId` to `payeeId` 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.
     *
     * Requirements
     *
     * - `payerId` cannot be the zero address.
     * - the caller must have at least `amount` tokens approved tokens from `payeeId`.
     * - `payeeId` cannot be the zero address.
     */
    function transferFrom(address payerId, address payeeId, uint256 amount) external returns (bool) {
        _spendAllowance(payerId, msg.sender, amount);  // Decrease the msg.sender's approved spend amount
        _transfer(payerId, payeeId, amount);    // Transfer funds from the payerId to the payeeId as specified by the approved msg.sender
        return true;
    }

    /**
     * @dev Moves `amount` tokens from `payerId` to `payeeId` using the
     * allowance mechanism. `amount` is then deducted from the 'payerId'
     * allowance.
     *
     * Emits a {Transfer} event.
     *
     * Requirements
     *
     * - `payerId` cannot be the zero address.
     * - `payeeId` must have at least `amount` approved tokens from `payeeId`.
     * -  the caller must be an account operator for `payeeId`.
     * - `payeeId` cannot be the zero address.
     */
    function operatorTransferFrom(
        address payerId,
        address payeeId,
        uint256 amount
    ) external {
        require(isOperatorFor(msg.sender, payeeId), "Caller not an operator for payeeId");
        _spendAllowance(payerId, payeeId, amount);
        _transfer(payerId, payeeId, amount);
    }


    /** @dev Creates `amount` tokens and assigns them to `beneficiaryAccountId`, increasing
     * the total supply. Metadata can be assigned to this mint via the 'message' 
     * parameter if required.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     * Emits a {MetaData} event.
     *
     * Requirements:
     *
     * - `beneficiaryAccountId` cannot be the zero address.
     * - `msg.sender` must be the contract's owner address.
     */
    function mint(address beneficiaryAccountId, uint256 amount, bytes calldata data) external onlyOwner() returns (bool) {
        require(beneficiaryAccountId != address(0), "Zero address used");
        require((_allowRemint && _maximumSupply >= (_totalSupply + amount)) ||
                (!_allowRemint && (_maximumSupply >= (_totalSupply + amount + _burnAccumulatedTotal))) , "Minting would exceed the configured maximum supply.");

        _totalSupply += amount;
        _balances[beneficiaryAccountId] += amount;
        
        emit Transfer(address(0), beneficiaryAccountId, amount);
        emit MetaData("mint", data);

        return true;
    }

    /**
     * @dev Destroys `amount` tokens from the sender's address, reducing the
     * total supply. Metadata can be assigned to this burn via the 'data' 
     * parameter if required.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     * Emits a {MetaData} event.
     *
     * Requirements:
     *
     * - the caller's account must have at least `amount` tokens.
     */
    function burn(uint256 amount, bytes calldata data) external returns (bool) {
        _burn(msg.sender, amount, data);
        return true;
    }

    /**
     * @dev Destroys `amount` tokens from `payerId`, reducing the total supply.
     * Metadata can be assigned to this burn via the 'data' parameter if required.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     * Emits a {MetaData} event.
     *
     * Requirements
     *
     * - `payerId` cannot be the zero address.
     * - `payerId` must have at least `amount` tokens.
     * - the caller must be an account operator for `payerId`.
     */
    function operatorBurn(address payerId, uint256 amount, bytes calldata data) external returns (bool) {
        require(isOperatorFor(msg.sender, payerId), "Caller not an operator for payerId");
        _burn(payerId, amount, data);
        return true;
    }

    /**
     * @dev Changes the contract owner to 'newContractOwnerId', i.e. who can mint new tokens
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Requirements:
     *
     * - caller must have the owner role.
     */
    function changeOwner(address newContractOwnerId) external onlyOwner() returns (bool) {
        require(newContractOwnerId != address(0x0), "Zero address used");
        address oldOwner = _owner;
        _owner = newContractOwnerId;
        emit OwnerChanged(oldOwner, newContractOwnerId);
        return true;
    }


    /**
     * @dev Make `AdditionalOwnerAccountId` an account operator of caller.
     *
     * Emits an {AuthorizedOperator} event.
     *
     * Requirements:
     *
     * - `AdditionalOwnerAccountId` must not equal the caller.
     */
    function authorizeOperator(address additionalOwnerAccountId) external {
        require(msg.sender != additionalOwnerAccountId, "Authorizing self as operator");

        _accountOperators[msg.sender][additionalOwnerAccountId] = true;

        emit AuthorizedOperator(additionalOwnerAccountId, msg.sender);
    }

    /**
     * @dev Revoke `additionalOwnerAccountId`'s account operator status for caller.
     *
     * Emits a {RevokedOperator} event.
     *
     * Requirements:
     *
     * - `additionalOwnerAccountId` must not equal the caller.
     */
    function revokeOperator(address additionalOwnerAccountId) external {

        delete _accountOperators[msg.sender][additionalOwnerAccountId];

        emit RevokedOperator(additionalOwnerAccountId, msg.sender);
    }


    /**
     * @dev Same logic as calling the transfer function multiple times.
     * where payeeIds[x] receives amounts[x] tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     * If the operation failed, the payeeId causing the first failure will be returned;
     *
     * Emits a {Transfer} event for every transfer.
     *
     * Requirements:
     *
     * - `payerId` cannot be the zero address.
     * - `payerId` must have a balance of at least the total of the `amounts` array.
     * -  the caller must be `payerId` or an account operator for `payerId`.
     * -  Each `payeeIds[x]` cannot be the zero address.
     */
    function transferBatch(address payerId, address[] calldata payeeIds, uint256[] calldata amounts) external returns (bool, address) {
        require(isOperatorFor(msg.sender, payerId), "Caller not an operator for payerId");
        uint count;
        uint size = payeeIds.length;
        while (count < size){
            if (balanceOf(payerId) < amounts[count]){
                emit BatchFailure("transfer", payeeIds[count]); //alerts the listener to the address that failed the batch
                return (false, payeeIds[count]);
            }
            _transfer(payerId, payeeIds[count], amounts[count]);
            count++;
        }
        return (true, address(0x0));
    }


    /**
     * @dev Same logic as calling the transferFrom function multiple times.
     * where payeeId attempts to debit amounts[X] tokens from payerIds[X].
     * If a particular debit did is not possible (as the allowance is not high enough
     * for this particular payerIds[X]), the batch continues. 
     *
     * Returns firstly a boolean value indicating whether the batch transfer succeeded for every given payerId (true)
     * or if the batch transfer failed for some payerIds (false). If false, then the payerIds that could not
     * perform the transfer are also returned;
     *
     * Emits a {Transfer} event for every transfer
     *
     * Requirements
     *
     * -  Each `payerIds[x]` cannot be the zero address.
     * - `payeeId` must have at least `amount[x]` approved tokens from each `payerIds[x]`.
     * -  the caller must be `payeeId` or an account operator for `payeeId`.
     * -  `payeeId` cannot be the zero address.
     */
    function transferFromBatch(address payeeId, address[] calldata payerIds, uint256[] calldata amounts) external returns (bool) {
        require(isOperatorFor(msg.sender, payeeId), "Caller not an operator for payeeId");
        require(payerIds.length == amounts.length, "Length of 'payerIds' and 'amounts' arrays are not equal");

        uint count;
        uint size = payerIds.length;
        bool success = true;

        while (count < size){
            //
            if ((balanceOf(payerIds[count]) < amounts[count]) || (amounts[count] > allowance(payerIds[count], payeeId))){
                success = false;
                emit BatchFailure("transferFrom", payerIds[count]);
            } else {
                //only perform the transfer from if it will succeed
                _spendAllowance(payerIds[count], payeeId, amounts[count]);  // Decrease the payeeId's approved spend amount
                _transfer(payerIds[count], payeeId, amounts[count]);    // Transfer funds from the payerId to the payeeId as specified by the approved msg.sender
            }
            count++;
        }
        return success;
    }


    /**
     * @dev Moves `amount` of tokens from `payerId` to `payeeId`.
     *
     * This internal function is equivalent to {transfer}
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `payerId` cannot be the zero address.
     * - `payeeId` cannot be the zero address.
     * - `payerId` must have a balance of at least `amount`.
     */
    function _transfer(address payerId, address payeeId, uint256 amount) private {
        require(payerId != address(0), "Zero address used");
        require(payeeId != address(0), "Zero address used");
        require(payeeId != address(this), "Contract address used");

        uint256 senderBalance = _balances[payerId];
        require(senderBalance >= amount, "Amount exceeds balance");
        unchecked {
            _balances[payerId] = senderBalance - amount;
        }
        _balances[payeeId] += amount;

        emit Transfer(payerId, payeeId, amount);

    }

    /**
     * @dev Burns (deletes) `amount` of tokens from `payerId`, with optional metadata `data`.
     *
     * Emits a {Transfer} event.
     * Emits a {MetaData} event.
     *
     * Requirements:
     *
     * - `payerId` cannot be the zero address.
     * - `payerId` must have a balance of at least `amount`.
     */
    function _burn(address payerId, uint256 amount, bytes calldata data) private {

        require(payerId != address(0), "Zero address used");

        uint256 accountBalance = _balances[payerId];
        require(accountBalance >= amount, "Amount exceeds balance");
        unchecked {
            _balances[payerId] = accountBalance - amount;
        }
        _totalSupply -= amount;        
        _burnAccumulatedTotal += amount;

        emit Transfer(payerId, address(0), amount);
        emit MetaData("burn", data);
    }

    /**
     * @dev Sets `amount` as the allowance of `payeeId` over the `payerId` 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:
     *
     * - `payerId` cannot be the zero address.
     * - `payeeId` cannot be the zero address.
     */
    function _approve(address payerId, address payeeId, uint256 amount) private {
        require(payerId != address(0), "Zero address used");
        require(payeeId != address(0), "Zero address used");

        _allowances[payerId][payeeId] = amount;
        emit Approval(payerId, payeeId, amount);
    }

    /**
     * @dev Reduces the allowance `amount` of tokens approved by the `payerId` to the spender
     * In the case of max approval the allowance will not reduce unless the user sets the approval directly
     */
    function _spendAllowance(address payerId, address spender, uint256 amount) private {
        uint256 currentAllowance = allowance(payerId, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "Amount exceeds allowance");
            unchecked {
                _approve(payerId, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @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.
     *
     * NOTE: This information is only used for display purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {balanceOf} and {transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }

     /**
     * @dev Returns the amount of tokens in existence.
     *
     * This value changes when {mint} and {burn} are called.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Returns the address with the owner role of this token contract, 
     * i.e. what address can mint new tokens.
     * if a multi-sig account operator is required, this address should 
     * point to a smart contract implementing this multi-sig.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Returns the amount of tokens owned by `accountId`.
     *
     * This value changes when {transfer} and {transferFrom} are called.
     */
    function balanceOf(address accountId) public view returns (uint256) {
        return _balances[accountId];
    }

    /**
     *
     * Returns the maximum supply that can be reached by minting new tokens. A maximumSupply of zero means the supply is unlimited. 
     *
    */
    function maximumSupply() public view returns(uint256) {
        return _maximumSupply;
    }

    /**
     *
     * Returns the running total of the number of tokens burned
     *
    */
    function burnAccumulatedTotal() public view returns(uint256) {
        return _burnAccumulatedTotal;
    }

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

    /**
     * @dev Returns true if `AdditionalOwnerAccountId` is an account operator of `OwnerAccountId`.
     * Account operators can send and burn tokens for an authorised account. All
     * accounts are their own account operator.
     */
    function isOperatorFor(address AdditionalOwnerAccountId, address OwnerAccountId) public view returns (bool) {
        return
            AdditionalOwnerAccountId == OwnerAccountId ||
            _accountOperators[OwnerAccountId][AdditionalOwnerAccountId];
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"supply_","type":"uint256"},{"internalType":"address","name":"giveSupplyTo_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"maximumSupply_","type":"uint256"},{"internalType":"bool","name":"allowRemint_","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payerId","type":"address"},{"indexed":true,"internalType":"address","name":"payeeId","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"additionalOwnerAccountId","type":"address"},{"indexed":true,"internalType":"address","name":"ownerAccountId","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"functionName","type":"string"},{"indexed":true,"internalType":"address","name":"failedAddress","type":"address"}],"name":"BatchFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"functionName","type":"string"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"MetaData","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldContractOwnerId","type":"address"},{"indexed":true,"internalType":"address","name":"newContractOwnerId","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"additionalOwnerAccountId","type":"address"},{"indexed":true,"internalType":"address","name":"ownerAccountId","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payerId","type":"address"},{"indexed":true,"internalType":"address","name":"payeeId","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"address","name":"payeeId","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"additionalOwnerAccountId","type":"address"}],"name":"authorizeOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"accountId","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnAccumulatedTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newContractOwnerId","type":"address"}],"name":"changeOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"AdditionalOwnerAccountId","type":"address"},{"internalType":"address","name":"OwnerAccountId","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiaryAccountId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","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":"payerId","type":"address"},{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"operatorApprove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"operatorBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"operatorTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"operatorTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"additionalOwnerAccountId","type":"address"}],"name":"revokeOperator","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":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"address[]","name":"payeeIds","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"transferBatch","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payerId","type":"address"},{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payeeId","type":"address"},{"internalType":"address[]","name":"payerIds","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"transferFromBatch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162001c6238038062001c62833981016040819052620000349162000264565b81851115620000af5760405162461bcd60e51b815260206004820152603760248201527f43757272656e7420737570706c79206d757374206265206c657373207468616e60448201527f206f7220657175616c20746f206d617820737570706c79000000000000000000606482015260840160405180910390fd5b6003620000bd8982620003c3565b506004620000cc8882620003c3565b506005805460ff1990811660ff891617825560028790556001600160a01b038681166000818152602081815260408083208c90558654610100600160a81b031916610100958b16959095029490941790955560078790556008805490941686151517909355905188815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050505050506200048f565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019957600080fd5b81516001600160401b0380821115620001b657620001b662000171565b604051601f8301601f19908116603f01168101908282118183101715620001e157620001e162000171565b81604052838152602092508683858801011115620001fe57600080fd5b600091505b8382101562000222578582018301518183018401529082019062000203565b600093810190920192909252949350505050565b80516001600160a01b03811681146200024e57600080fd5b919050565b805180151581146200024e57600080fd5b600080600080600080600080610100898b0312156200028257600080fd5b88516001600160401b03808211156200029a57600080fd5b620002a88c838d0162000187565b995060208b0151915080821115620002bf57600080fd5b50620002ce8b828c0162000187565b975050604089015160ff81168114620002e657600080fd5b60608a01519096509450620002fe60808a0162000236565b93506200030e60a08a0162000236565b925060c089015191506200032560e08a0162000253565b90509295985092959890939650565b600181811c908216806200034957607f821691505b6020821081036200036a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003be57600081815260208120601f850160051c81016020861015620003995750805b601f850160051c820191505b81811015620003ba57828155600101620003a5565b5050505b505050565b81516001600160401b03811115620003df57620003df62000171565b620003f781620003f0845462000334565b8462000370565b602080601f8311600181146200042f5760008415620004165750858301515b600019600386901b1c1916600185901b178555620003ba565b600085815260208120601f198616915b8281101562000460578886015182559484019460019091019084016200043f565b50858210156200047f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6117c3806200049f6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638fd10f72116100c3578063ce30b8d91161007c578063ce30b8d914610302578063cf828b5314610315578063d95b63711461031d578063dd62ed3e14610330578063fad8b32a14610343578063fe9d93031461035657600080fd5b80638fd10f721461027c57806394d008ef146102ae578063959b8c3f146102c157806395d89b41146102d4578063a6f9dae1146102dc578063a9059cbb146102ef57600080fd5b806318160ddd1161011557806318160ddd146101e757806323b872dd146101ef578063313ce5671461020257806370a08231146102175780637c514984146102405780638da5cb5b1461025357600080fd5b806303679fc71461015d5780630480e58b1461017257806306fdde0314610189578063095ea7b31461019e5780630c297029146101c15780630d1af103146101d4575b600080fd5b61017061016b36600461130f565b610369565b005b6007545b6040519081526020015b60405180910390f35b6101916103b3565b604051610180919061134b565b6101b16101ac366004611399565b610445565b6040519015158152602001610180565b6101b16101cf36600461130f565b6104ef565b6101b16101e236600461130f565b6105eb565b600254610176565b6101b16101fd36600461130f565b61061e565b60055460405160ff9091168152602001610180565b6101766102253660046113c3565b6001600160a01b031660009081526020819052604090205490565b6101b161024e36600461142a565b61062b565b60055461010090046001600160a01b03166040516001600160a01b039091168152602001610180565b61028f61028a36600461142a565b6108a7565b6040805192151583526001600160a01b03909116602083015201610180565b6101b16102bc3660046114ed565b610a2d565b6101706102cf3660046113c3565b610c2c565b610191610cdc565b6101b16102ea3660046113c3565b610ceb565b6101b16102fd366004611399565b610dac565b6101b16103103660046114ed565b610db9565b600954610176565b6101b161032b366004611547565b610df8565b61017661033e366004611547565b610e46565b6101706103513660046113c3565b610e71565b6101b161036436600461157a565b610ec6565b6103733383610df8565b6103985760405162461bcd60e51b815260040161038f906115c6565b60405180910390fd5b6103a3838383610ed4565b6103ae838383610f4e565b505050565b6060600380546103c290611608565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611608565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b5050505050905090565b3360009081526001602090815260408083206001600160a01b0386168452909152812054156104da5781156104da5760405162461bcd60e51b815260206004820152603560248201527f4d7573742073657420617070726f76616c20746f207a65726f206265666f7265604482015274081cd95d1d1a5b99c81b995dc8185c1c1c9bdd985b605a1b606482015260840161038f565b6104e53384846110dd565b5060015b92915050565b60006104fb3385610df8565b61055d5760405162461bcd60e51b815260206004820152602d60248201527f43616c6c6572206973206e6f7420616e206163636f756e74206f70657261746f60448201526c1c88199bdc881c185e595c9259609a1b606482015260840161038f565b6001600160a01b03808516600090815260016020908152604080832093871683529290522054156105d65781156105d65760405162461bcd60e51b815260206004820152601d60248201527f4d7573742063616e63656c2070726576696f757320617070726f76616c000000604482015260640161038f565b6105e18484846110dd565b5060019392505050565b60006105f73385610df8565b6106135760405162461bcd60e51b815260040161038f90611642565b6105e1848484610f4e565b6000610613843384610ed4565b60006106373387610df8565b6106535760405162461bcd60e51b815260040161038f906115c6565b8382146106c85760405162461bcd60e51b815260206004820152603760248201527f4c656e677468206f66202770617965724964732720616e642027616d6f756e7460448201527f73272061727261797320617265206e6f7420657175616c000000000000000000606482015260840161038f565b60008460015b8183101561089b578585848181106106e8576106e8611684565b9050602002013561071989898681811061070457610704611684565b905060200201602081019061022591906113c3565b108061076b575061075088888581811061073557610735611684565b905060200201602081019061074a91906113c3565b8a610e46565b86868581811061076257610762611684565b90506020020135115b156107f75750600087878481811061078557610785611684565b905060200201602081019061079a91906113c3565b6001600160a01b03166040516107c2906b7472616e7366657246726f6d60a01b8152600c0190565b604051908190038120907f9ced85143b46956397827f2830e092929d343270e8524450940e1c3ae71befe190600090a3610889565b61084088888581811061080c5761080c611684565b905060200201602081019061082191906113c3565b8a88888781811061083457610834611684565b90506020020135610ed4565b61088988888581811061085557610855611684565b905060200201602081019061086a91906113c3565b8a88888781811061087d5761087d611684565b90506020020135610f4e565b82610893816116b0565b9350506106ce565b98975050505050505050565b6000806108b43388610df8565b6108d05760405162461bcd60e51b815260040161038f90611642565b6000855b80821015610a18578585838181106108ee576108ee611684565b905060200201356109148a6001600160a01b031660009081526020819052604090205490565b10156109c95787878381811061092c5761092c611684565b905060200201602081019061094191906113c3565b6001600160a01b031660405161096590673a3930b739b332b960c11b815260080190565b604051908190038120907f9ced85143b46956397827f2830e092929d343270e8524450940e1c3ae71befe190600090a360008888848181106109a9576109a9611684565b90506020020160208101906109be91906113c3565b935093505050610a23565b610a06898989858181106109df576109df611684565b90506020020160208101906109f491906113c3565b88888681811061087d5761087d611684565b81610a10816116b0565b9250506108d4565b600160009350935050505b9550959350505050565b6000610a4b3361032b6005546001600160a01b036101009091041690565b610a675760405162461bcd60e51b815260040161038f906116c9565b6001600160a01b038516610a8d5760405162461bcd60e51b815260040161038f9061170d565b60085460ff168015610aae575083600254610aa89190611738565b60075410155b80610ae3575060085460ff16158015610ae3575060095484600254610ad39190611738565b610add9190611738565b60075410155b610b4b5760405162461bcd60e51b815260206004820152603360248201527f4d696e74696e6720776f756c64206578636565642074686520636f6e666967756044820152723932b21036b0bc34b6bab69039bab838363c9760691b606482015260840161038f565b8360026000828254610b5d9190611738565b90915550506001600160a01b03851660009081526020819052604081208054869290610b8a908490611738565b90915550506040518481526001600160a01b038616906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604051631b5a5b9d60e21b815260040160405180910390207fb8ed7b1dcec9fe99007e055ff92bdea26fa8e2b943868e40eaa7d1c72d2743028484604051610c1992919061174b565b60405180910390a2506001949350505050565b6001600160a01b0381163303610c845760405162461bcd60e51b815260206004820152601c60248201527f417574686f72697a696e672073656c66206173206f70657261746f7200000000604482015260640161038f565b3360008181526006602090815260408083206001600160a01b0386168085529252808320805460ff191660011790555190917ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f991a350565b6060600480546103c290611608565b6000610d093361032b6005546001600160a01b036101009091041690565b610d255760405162461bcd60e51b815260040161038f906116c9565b6001600160a01b038216610d4b5760405162461bcd60e51b815260040161038f9061170d565b600580546001600160a01b03848116610100818102610100600160a81b031985161790945560405193909204169182907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90600090a360019150505b919050565b60006104e5338484610f4e565b6000610dc53386610df8565b610de15760405162461bcd60e51b815260040161038f90611642565b610ded8585858561118a565b506001949350505050565b6000816001600160a01b0316836001600160a01b03161480610e3f57506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360008181526006602090815260408083206001600160a01b0386168085529252808320805460ff191690555190917f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa191a350565b60006105e13385858561118a565b6000610ee08484610e46565b90506000198114610f485781811015610f3b5760405162461bcd60e51b815260206004820152601860248201527f416d6f756e74206578636565647320616c6c6f77616e63650000000000000000604482015260640161038f565b610f4884848484036110dd565b50505050565b6001600160a01b038316610f745760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b038216610f9a5760405162461bcd60e51b815260040161038f9061170d565b306001600160a01b03831603610fea5760405162461bcd60e51b815260206004820152601560248201527410dbdb9d1c9858dd081859191c995cdcc81d5cd959605a1b604482015260640161038f565b6001600160a01b0383166000908152602081905260409020548181101561104c5760405162461bcd60e51b8152602060048201526016602482015275416d6f756e7420657863656564732062616c616e636560501b604482015260640161038f565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611083908490611738565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110cf91815260200190565b60405180910390a350505050565b6001600160a01b0383166111035760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b0382166111295760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0384166111b05760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b038416600090815260208190526040902054838110156112125760405162461bcd60e51b8152602060048201526016602482015275416d6f756e7420657863656564732062616c616e636560501b604482015260640161038f565b6001600160a01b038516600090815260208190526040812085830390556002805486929061124190849061177a565b92505081905550836009600082825461125a9190611738565b90915550506040518481526000906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360405163313ab93760e11b815260040160405180910390207fb8ed7b1dcec9fe99007e055ff92bdea26fa8e2b943868e40eaa7d1c72d27430284846040516112e992919061174b565b60405180910390a25050505050565b80356001600160a01b0381168114610da757600080fd5b60008060006060848603121561132457600080fd5b61132d846112f8565b925061133b602085016112f8565b9150604084013590509250925092565b600060208083528351808285015260005b818110156113785785810183015185820160400152820161135c565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156113ac57600080fd5b6113b5836112f8565b946020939093013593505050565b6000602082840312156113d557600080fd5b610e3f826112f8565b60008083601f8401126113f057600080fd5b50813567ffffffffffffffff81111561140857600080fd5b6020830191508360208260051b850101111561142357600080fd5b9250929050565b60008060008060006060868803121561144257600080fd5b61144b866112f8565b9450602086013567ffffffffffffffff8082111561146857600080fd5b61147489838a016113de565b9096509450604088013591508082111561148d57600080fd5b5061149a888289016113de565b969995985093965092949392505050565b60008083601f8401126114bd57600080fd5b50813567ffffffffffffffff8111156114d557600080fd5b60208301915083602082850101111561142357600080fd5b6000806000806060858703121561150357600080fd5b61150c856112f8565b935060208501359250604085013567ffffffffffffffff81111561152f57600080fd5b61153b878288016114ab565b95989497509550505050565b6000806040838503121561155a57600080fd5b611563836112f8565b9150611571602084016112f8565b90509250929050565b60008060006040848603121561158f57600080fd5b83359250602084013567ffffffffffffffff8111156115ad57600080fd5b6115b9868287016114ab565b9497909650939450505050565b60208082526022908201527f43616c6c6572206e6f7420616e206f70657261746f7220666f72207061796565604082015261125960f21b606082015260800190565b600181811c9082168061161c57607f821691505b60208210810361163c57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f43616c6c6572206e6f7420616e206f70657261746f7220666f72207061796572604082015261125960f21b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016116c2576116c261169a565b5060010190565b60208082526024908201527f43616c6c6572206973206e6f7420746865206163636f756e742773206f70657260408201526330ba37b960e11b606082015260800190565b60208082526011908201527016995c9bc81859191c995cdcc81d5cd959607a1b604082015260600190565b808201808211156104e9576104e961169a565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b818103818111156104e9576104e961169a56fea2646970667358221220ad028ba2df50c1aaf446fc39e9812d2161040118e752016e3710c99b66453e7d64736f6c6343000810003300000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000017ee212c2da8cf8d7400000000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e597900000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e597900000000000000000000000000000000000000000007c13bc4b2c133c56000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000044c454f580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c454f5800000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c80638fd10f72116100c3578063ce30b8d91161007c578063ce30b8d914610302578063cf828b5314610315578063d95b63711461031d578063dd62ed3e14610330578063fad8b32a14610343578063fe9d93031461035657600080fd5b80638fd10f721461027c57806394d008ef146102ae578063959b8c3f146102c157806395d89b41146102d4578063a6f9dae1146102dc578063a9059cbb146102ef57600080fd5b806318160ddd1161011557806318160ddd146101e757806323b872dd146101ef578063313ce5671461020257806370a08231146102175780637c514984146102405780638da5cb5b1461025357600080fd5b806303679fc71461015d5780630480e58b1461017257806306fdde0314610189578063095ea7b31461019e5780630c297029146101c15780630d1af103146101d4575b600080fd5b61017061016b36600461130f565b610369565b005b6007545b6040519081526020015b60405180910390f35b6101916103b3565b604051610180919061134b565b6101b16101ac366004611399565b610445565b6040519015158152602001610180565b6101b16101cf36600461130f565b6104ef565b6101b16101e236600461130f565b6105eb565b600254610176565b6101b16101fd36600461130f565b61061e565b60055460405160ff9091168152602001610180565b6101766102253660046113c3565b6001600160a01b031660009081526020819052604090205490565b6101b161024e36600461142a565b61062b565b60055461010090046001600160a01b03166040516001600160a01b039091168152602001610180565b61028f61028a36600461142a565b6108a7565b6040805192151583526001600160a01b03909116602083015201610180565b6101b16102bc3660046114ed565b610a2d565b6101706102cf3660046113c3565b610c2c565b610191610cdc565b6101b16102ea3660046113c3565b610ceb565b6101b16102fd366004611399565b610dac565b6101b16103103660046114ed565b610db9565b600954610176565b6101b161032b366004611547565b610df8565b61017661033e366004611547565b610e46565b6101706103513660046113c3565b610e71565b6101b161036436600461157a565b610ec6565b6103733383610df8565b6103985760405162461bcd60e51b815260040161038f906115c6565b60405180910390fd5b6103a3838383610ed4565b6103ae838383610f4e565b505050565b6060600380546103c290611608565b80601f01602080910402602001604051908101604052809291908181526020018280546103ee90611608565b801561043b5780601f106104105761010080835404028352916020019161043b565b820191906000526020600020905b81548152906001019060200180831161041e57829003601f168201915b5050505050905090565b3360009081526001602090815260408083206001600160a01b0386168452909152812054156104da5781156104da5760405162461bcd60e51b815260206004820152603560248201527f4d7573742073657420617070726f76616c20746f207a65726f206265666f7265604482015274081cd95d1d1a5b99c81b995dc8185c1c1c9bdd985b605a1b606482015260840161038f565b6104e53384846110dd565b5060015b92915050565b60006104fb3385610df8565b61055d5760405162461bcd60e51b815260206004820152602d60248201527f43616c6c6572206973206e6f7420616e206163636f756e74206f70657261746f60448201526c1c88199bdc881c185e595c9259609a1b606482015260840161038f565b6001600160a01b03808516600090815260016020908152604080832093871683529290522054156105d65781156105d65760405162461bcd60e51b815260206004820152601d60248201527f4d7573742063616e63656c2070726576696f757320617070726f76616c000000604482015260640161038f565b6105e18484846110dd565b5060019392505050565b60006105f73385610df8565b6106135760405162461bcd60e51b815260040161038f90611642565b6105e1848484610f4e565b6000610613843384610ed4565b60006106373387610df8565b6106535760405162461bcd60e51b815260040161038f906115c6565b8382146106c85760405162461bcd60e51b815260206004820152603760248201527f4c656e677468206f66202770617965724964732720616e642027616d6f756e7460448201527f73272061727261797320617265206e6f7420657175616c000000000000000000606482015260840161038f565b60008460015b8183101561089b578585848181106106e8576106e8611684565b9050602002013561071989898681811061070457610704611684565b905060200201602081019061022591906113c3565b108061076b575061075088888581811061073557610735611684565b905060200201602081019061074a91906113c3565b8a610e46565b86868581811061076257610762611684565b90506020020135115b156107f75750600087878481811061078557610785611684565b905060200201602081019061079a91906113c3565b6001600160a01b03166040516107c2906b7472616e7366657246726f6d60a01b8152600c0190565b604051908190038120907f9ced85143b46956397827f2830e092929d343270e8524450940e1c3ae71befe190600090a3610889565b61084088888581811061080c5761080c611684565b905060200201602081019061082191906113c3565b8a88888781811061083457610834611684565b90506020020135610ed4565b61088988888581811061085557610855611684565b905060200201602081019061086a91906113c3565b8a88888781811061087d5761087d611684565b90506020020135610f4e565b82610893816116b0565b9350506106ce565b98975050505050505050565b6000806108b43388610df8565b6108d05760405162461bcd60e51b815260040161038f90611642565b6000855b80821015610a18578585838181106108ee576108ee611684565b905060200201356109148a6001600160a01b031660009081526020819052604090205490565b10156109c95787878381811061092c5761092c611684565b905060200201602081019061094191906113c3565b6001600160a01b031660405161096590673a3930b739b332b960c11b815260080190565b604051908190038120907f9ced85143b46956397827f2830e092929d343270e8524450940e1c3ae71befe190600090a360008888848181106109a9576109a9611684565b90506020020160208101906109be91906113c3565b935093505050610a23565b610a06898989858181106109df576109df611684565b90506020020160208101906109f491906113c3565b88888681811061087d5761087d611684565b81610a10816116b0565b9250506108d4565b600160009350935050505b9550959350505050565b6000610a4b3361032b6005546001600160a01b036101009091041690565b610a675760405162461bcd60e51b815260040161038f906116c9565b6001600160a01b038516610a8d5760405162461bcd60e51b815260040161038f9061170d565b60085460ff168015610aae575083600254610aa89190611738565b60075410155b80610ae3575060085460ff16158015610ae3575060095484600254610ad39190611738565b610add9190611738565b60075410155b610b4b5760405162461bcd60e51b815260206004820152603360248201527f4d696e74696e6720776f756c64206578636565642074686520636f6e666967756044820152723932b21036b0bc34b6bab69039bab838363c9760691b606482015260840161038f565b8360026000828254610b5d9190611738565b90915550506001600160a01b03851660009081526020819052604081208054869290610b8a908490611738565b90915550506040518481526001600160a01b038616906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3604051631b5a5b9d60e21b815260040160405180910390207fb8ed7b1dcec9fe99007e055ff92bdea26fa8e2b943868e40eaa7d1c72d2743028484604051610c1992919061174b565b60405180910390a2506001949350505050565b6001600160a01b0381163303610c845760405162461bcd60e51b815260206004820152601c60248201527f417574686f72697a696e672073656c66206173206f70657261746f7200000000604482015260640161038f565b3360008181526006602090815260408083206001600160a01b0386168085529252808320805460ff191660011790555190917ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f991a350565b6060600480546103c290611608565b6000610d093361032b6005546001600160a01b036101009091041690565b610d255760405162461bcd60e51b815260040161038f906116c9565b6001600160a01b038216610d4b5760405162461bcd60e51b815260040161038f9061170d565b600580546001600160a01b03848116610100818102610100600160a81b031985161790945560405193909204169182907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90600090a360019150505b919050565b60006104e5338484610f4e565b6000610dc53386610df8565b610de15760405162461bcd60e51b815260040161038f90611642565b610ded8585858561118a565b506001949350505050565b6000816001600160a01b0316836001600160a01b03161480610e3f57506001600160a01b0380831660009081526006602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360008181526006602090815260408083206001600160a01b0386168085529252808320805460ff191690555190917f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa191a350565b60006105e13385858561118a565b6000610ee08484610e46565b90506000198114610f485781811015610f3b5760405162461bcd60e51b815260206004820152601860248201527f416d6f756e74206578636565647320616c6c6f77616e63650000000000000000604482015260640161038f565b610f4884848484036110dd565b50505050565b6001600160a01b038316610f745760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b038216610f9a5760405162461bcd60e51b815260040161038f9061170d565b306001600160a01b03831603610fea5760405162461bcd60e51b815260206004820152601560248201527410dbdb9d1c9858dd081859191c995cdcc81d5cd959605a1b604482015260640161038f565b6001600160a01b0383166000908152602081905260409020548181101561104c5760405162461bcd60e51b8152602060048201526016602482015275416d6f756e7420657863656564732062616c616e636560501b604482015260640161038f565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611083908490611738565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110cf91815260200190565b60405180910390a350505050565b6001600160a01b0383166111035760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b0382166111295760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0384166111b05760405162461bcd60e51b815260040161038f9061170d565b6001600160a01b038416600090815260208190526040902054838110156112125760405162461bcd60e51b8152602060048201526016602482015275416d6f756e7420657863656564732062616c616e636560501b604482015260640161038f565b6001600160a01b038516600090815260208190526040812085830390556002805486929061124190849061177a565b92505081905550836009600082825461125a9190611738565b90915550506040518481526000906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360405163313ab93760e11b815260040160405180910390207fb8ed7b1dcec9fe99007e055ff92bdea26fa8e2b943868e40eaa7d1c72d27430284846040516112e992919061174b565b60405180910390a25050505050565b80356001600160a01b0381168114610da757600080fd5b60008060006060848603121561132457600080fd5b61132d846112f8565b925061133b602085016112f8565b9150604084013590509250925092565b600060208083528351808285015260005b818110156113785785810183015185820160400152820161135c565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156113ac57600080fd5b6113b5836112f8565b946020939093013593505050565b6000602082840312156113d557600080fd5b610e3f826112f8565b60008083601f8401126113f057600080fd5b50813567ffffffffffffffff81111561140857600080fd5b6020830191508360208260051b850101111561142357600080fd5b9250929050565b60008060008060006060868803121561144257600080fd5b61144b866112f8565b9450602086013567ffffffffffffffff8082111561146857600080fd5b61147489838a016113de565b9096509450604088013591508082111561148d57600080fd5b5061149a888289016113de565b969995985093965092949392505050565b60008083601f8401126114bd57600080fd5b50813567ffffffffffffffff8111156114d557600080fd5b60208301915083602082850101111561142357600080fd5b6000806000806060858703121561150357600080fd5b61150c856112f8565b935060208501359250604085013567ffffffffffffffff81111561152f57600080fd5b61153b878288016114ab565b95989497509550505050565b6000806040838503121561155a57600080fd5b611563836112f8565b9150611571602084016112f8565b90509250929050565b60008060006040848603121561158f57600080fd5b83359250602084013567ffffffffffffffff8111156115ad57600080fd5b6115b9868287016114ab565b9497909650939450505050565b60208082526022908201527f43616c6c6572206e6f7420616e206f70657261746f7220666f72207061796565604082015261125960f21b606082015260800190565b600181811c9082168061161c57607f821691505b60208210810361163c57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526022908201527f43616c6c6572206e6f7420616e206f70657261746f7220666f72207061796572604082015261125960f21b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016116c2576116c261169a565b5060010190565b60208082526024908201527f43616c6c6572206973206e6f7420746865206163636f756e742773206f70657260408201526330ba37b960e11b606082015260800190565b60208082526011908201527016995c9bc81859191c995cdcc81d5cd959607a1b604082015260600190565b808201808211156104e9576104e961169a565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b818103818111156104e9576104e961169a56fea2646970667358221220ad028ba2df50c1aaf446fc39e9812d2161040118e752016e3710c99b66453e7d64736f6c63430008100033

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

00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000017ee212c2da8cf8d7400000000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e597900000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e597900000000000000000000000000000000000000000007c13bc4b2c133c56000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000044c454f580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c454f5800000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): LEOX
Arg [1] : symbol_ (string): LEOX
Arg [2] : decimals_ (uint8): 18
Arg [3] : supply_ (uint256): 28929829000000000000000000
Arg [4] : giveSupplyTo_ (address): 0x0C9359D1E63f79a01c875B51bF71823dC2E59790
Arg [5] : owner_ (address): 0x0C9359D1E63f79a01c875B51bF71823dC2E59790
Arg [6] : maximumSupply_ (uint256): 150000000000000000000000000
Arg [7] : allowRemint_ (bool): True

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 00000000000000000000000000000000000000000017ee212c2da8cf8d740000
Arg [4] : 0000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e59790
Arg [5] : 0000000000000000000000000c9359d1e63f79a01c875b51bf71823dc2e59790
Arg [6] : 0000000000000000000000000000000000000000007c13bc4b2c133c56000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [9] : 4c454f5800000000000000000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [11] : 4c454f5800000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

62:23468:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8656:321;;;;;;:::i;:::-;;:::i;:::-;;22269:94;22341:14;;22269:94;;;671:25:1;;;659:2;644:18;22269:94:0;;;;;;;;20278:83;;;:::i;:::-;;;;;;;:::i;5547:419::-;;;;;;:::i;:::-;;:::i;:::-;;;1684:14:1;;1677:22;1659:41;;1647:2;1632:18;5547:419:0;1519:187:1;6691:543:0;;;;;;:::i;:::-;;:::i;4675:302::-;;;;;;:::i;:::-;;:::i;21350:91::-;21421:12;;21350:91;;7772:372;;;;;;:::i;:::-;;:::i;21114:83::-;21180:9;;21114:83;;21180:9;;;;1853:36:1;;1841:2;1826:18;21114:83:0;1711:184:1;21980:114:0;;;;;;:::i;:::-;-1:-1:-1;;;;;22066:20:0;22039:7;22066:20;;;;;;;;;;;;21980:114;15789:1155;;;;;;:::i;:::-;;:::i;21729:79::-;21794:6;;;;;-1:-1:-1;;;;;21794:6:0;21729:79;;-1:-1:-1;;;;;3479:32:1;;;3461:51;;3449:2;3434:18;21729:79:0;3315:203:1;14097:701:0;;;;;;:::i;:::-;;:::i;:::-;;;;3716:14:1;;3709:22;3691:41;;-1:-1:-1;;;;;3768:32:1;;;3763:2;3748:18;;3741:60;3664:18;14097:701:0;3523:284:1;9559:667:0;;;;;;:::i;:::-;;:::i;12600:317::-;;;;;;:::i;:::-;;:::i;20480:87::-;;;:::i;12019:322::-;;;;;;:::i;:::-;;:::i;3990:154::-;;;;;;:::i;:::-;;:::i;11473:261::-;;;;;;:::i;:::-;;:::i;22469:108::-;22548:21;;22469:108;;23258:265;;;;;;:::i;:::-;;:::i;22863:138::-;;;;;;:::i;:::-;;:::i;13179:221::-;;;;;;:::i;:::-;;:::i;10736:147::-;;;;;;:::i;:::-;;:::i;8656:321::-;8798:34;8812:10;8824:7;8798:13;:34::i;:::-;8790:81;;;;-1:-1:-1;;;8790:81:0;;;;;;;:::i;:::-;;;;;;;;;8882:41;8898:7;8907;8916:6;8882:15;:41::i;:::-;8934:35;8944:7;8953;8962:6;8934:9;:35::i;:::-;8656:321;;;:::o;20278:83::-;20315:13;20348:5;20341:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20278:83;:::o;5547:419::-;5648:10;5615:4;5636:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5636:32:0;;;;;;;;;;:36;5632:257;;5696:11;;5688:77;;;;-1:-1:-1;;;5688:77:0;;6457:2:1;5688:77:0;;;6439:21:1;6496:2;6476:18;;;6469:30;6535:34;6515:18;;;6508:62;-1:-1:-1;;;6586:18:1;;;6579:51;6647:19;;5688:77:0;6255:417:1;5688:77:0;5899:37;5908:10;5920:7;5929:6;5899:8;:37::i;:::-;-1:-1:-1;5954:4:0;5547:419;;;;;:::o;6691:543::-;6818:4;6843:34;6857:10;6869:7;6843:13;:34::i;:::-;6835:92;;;;-1:-1:-1;;;6835:92:0;;6879:2:1;6835:92:0;;;6861:21:1;6918:2;6898:18;;;6891:30;6957:34;6937:18;;;6930:62;-1:-1:-1;;;7008:18:1;;;7001:43;7061:19;;6835:92:0;6677:409:1;6835:92:0;-1:-1:-1;;;;;6942:20:0;;;6974:1;6942:20;;;:11;:20;;;;;;;;:29;;;;;;;;;;:33;6938:222;;6999:11;;6991:53;;;;-1:-1:-1;;;6991:53:0;;7293:2:1;6991:53:0;;;7275:21:1;7332:2;7312:18;;;7305:30;7371:31;7351:18;;;7344:59;7420:18;;6991:53:0;7091:353:1;6991:53:0;7170:34;7179:7;7188;7197:6;7170:8;:34::i;:::-;-1:-1:-1;7222:4:0;6691:543;;;;;:::o;4675:302::-;4803:4;4828:34;4842:10;4854:7;4828:13;:34::i;:::-;4820:81;;;;-1:-1:-1;;;4820:81:0;;;;;;;:::i;:::-;4912:35;4922:7;4931;4940:6;4912:9;:35::i;7772:372::-;7862:4;7879:44;7895:7;7904:10;7916:6;7879:15;:44::i;15789:1155::-;15908:4;15933:34;15947:10;15959:7;15933:13;:34::i;:::-;15925:81;;;;-1:-1:-1;;;15925:81:0;;;;;;;:::i;:::-;16025:33;;;16017:101;;;;-1:-1:-1;;;16017:101:0;;8054:2:1;16017:101:0;;;8036:21:1;8093:2;8073:18;;;8066:30;8132:34;8112:18;;;8105:62;8203:25;8183:18;;;8176:53;8246:19;;16017:101:0;7852:419:1;16017:101:0;16131:10;16164:8;16205:4;16222:690;16237:4;16229:5;:12;16222:690;;;16307:7;;16315:5;16307:14;;;;;;;:::i;:::-;;;;;;;16278:26;16288:8;;16297:5;16288:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;16278:26::-;:43;16277:103;;;;16344:35;16354:8;;16363:5;16354:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16371:7;16344:9;:35::i;:::-;16327:7;;16335:5;16327:14;;;;;;;:::i;:::-;;;;;;;:52;16277:103;16273:606;;;-1:-1:-1;16410:5:0;16468:8;;16477:5;16468:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16439:45:0;;;;;-1:-1:-1;;;8610:27:1;;8662:2;8653:12;;8408:263;16439:45:0;;;;;;;;;;;;;;;16273:606;;;16594:57;16610:8;;16619:5;16610:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16627:7;16636;;16644:5;16636:14;;;;;;;:::i;:::-;;;;;;;16594:15;:57::i;:::-;16719:51;16729:8;;16738:5;16729:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;16746:7;16755;;16763:5;16755:14;;;;;;;:::i;:::-;;;;;;;16719:9;:51::i;:::-;16893:7;;;;:::i;:::-;;;;16222:690;;;16929:7;15789:1155;-1:-1:-1;;;;;;;;15789:1155:0:o;14097:701::-;14212:4;14218:7;14246:34;14260:10;14272:7;14246:13;:34::i;:::-;14238:81;;;;-1:-1:-1;;;14238:81:0;;;;;;;:::i;:::-;14330:10;14363:8;14389:364;14404:4;14396:5;:12;14389:364;;;14449:7;;14457:5;14449:14;;;;;;;:::i;:::-;;;;;;;14428:18;14438:7;-1:-1:-1;;;;;22066:20:0;22039:7;22066:20;;;;;;;;;;;;21980:114;14428:18;:35;14424:230;;;14513:8;;14522:5;14513:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14488:41:0;;;;;-1:-1:-1;;;9150:23:1;;9198:1;9189:11;;8948:258;14488:41:0;;;;;;;;;;;;;;;14615:5;14622:8;;14631:5;14622:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14607:31;;;;;;;;14424:230;14668:51;14678:7;14687:8;;14696:5;14687:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14704:7;;14712:5;14704:14;;;;;;;:::i;14668:51::-;14734:7;;;;:::i;:::-;;;;14389:364;;;14771:4;14785:3;14763:27;;;;;;14097:701;;;;;;;;;:::o;9559:667::-;9670:4;3528:34;3542:10;3554:7;21794:6;;-1:-1:-1;;;;;21794:6:0;;;;;;21729:79;3528:34;3520:83;;;;-1:-1:-1;;;3520:83:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9695:34:0;::::1;9687:64;;;;-1:-1:-1::0;;;9687:64:0::1;;;;;;;:::i;:::-;9771:12;::::0;::::1;;:57:::0;::::1;;;;9821:6;9806:12;;:21;;;;:::i;:::-;9787:14;;:41;;9771:57;9770:166;;;-1:-1:-1::0;9852:12:0::1;::::0;::::1;;9851:13;:84:::0;::::1;;;;9912:21;;9903:6;9888:12;;:21;;;;:::i;:::-;:45;;;;:::i;:::-;9869:14;;:65;;9851:84;9762:231;;;::::0;-1:-1:-1;;;9762:231:0;;10294:2:1;9762:231:0::1;::::0;::::1;10276:21:1::0;10333:2;10313:18;;;10306:30;10372:34;10352:18;;;10345:62;-1:-1:-1;;;10423:18:1;;;10416:49;10482:19;;9762:231:0::1;10092:415:1::0;9762:231:0::1;10022:6;10006:12;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;10039:31:0;::::1;:9;:31:::0;;;::::1;::::0;;;;;;:41;;10074:6;;10039:9;:41:::1;::::0;10074:6;;10039:41:::1;:::i;:::-;::::0;;;-1:-1:-1;;10106:50:0::1;::::0;671:25:1;;;-1:-1:-1;;;;;10106:50:0;::::1;::::0;10123:1:::1;::::0;10106:50:::1;::::0;659:2:1;644:18;10106:50:0::1;;;;;;;10172:22;::::0;-1:-1:-1;;;10714:19:1;;10758:1;10749:11;10172:22:0::1;;;;;;;;10189:4;;10172:22;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;10214:4:0::1;9559:667:::0;;;;;;:::o;12600:317::-;-1:-1:-1;;;;;12689:38:0;;:10;:38;12681:79;;;;-1:-1:-1;;;12681:79:0;;11366:2:1;12681:79:0;;;11348:21:1;11405:2;11385:18;;;11378:30;11444;11424:18;;;11417:58;11492:18;;12681:79:0;11164:352:1;12681:79:0;12791:10;12773:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;12773:55:0;;;;;;;;;;:62;;-1:-1:-1;;12773:62:0;12831:4;12773:62;;;12853:56;12773:55;;12853:56;;;12600:317;:::o;20480:87::-;20519:13;20552:7;20545:14;;;;;:::i;12019:322::-;12098:4;3528:34;3542:10;3554:7;21794:6;;-1:-1:-1;;;;;21794:6:0;;;;;;21729:79;3528:34;3520:83;;;;-1:-1:-1;;;3520:83:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12123:34:0;::::1;12115:64;;;;-1:-1:-1::0;;;12115:64:0::1;;;;;;;:::i;:::-;12209:6;::::0;;-1:-1:-1;;;;;12226:27:0;;::::1;12209:6;12226:27:::0;;::::1;-1:-1:-1::0;;;;;;12226:27:0;::::1;;::::0;;;12269:42:::1;::::0;12209:6;;;::::1;;::::0;;;12269:42:::1;::::0;12190:16:::1;::::0;12269:42:::1;12329:4;12322:11;;;3612:1;12019:322:::0;;;:::o;3990:154::-;4059:4;4076:38;4086:10;4098:7;4107:6;4076:9;:38::i;11473:261::-;11567:4;11592:34;11606:10;11618:7;11592:13;:34::i;:::-;11584:81;;;;-1:-1:-1;;;11584:81:0;;;;;;;:::i;:::-;11676:28;11682:7;11691:6;11699:4;;11676:5;:28::i;:::-;-1:-1:-1;11722:4:0;11473:261;;;;;;:::o;23258:265::-;23360:4;23425:14;-1:-1:-1;;;;;23397:42:0;:24;-1:-1:-1;;;;;23397:42:0;;:118;;;-1:-1:-1;;;;;;23456:33:0;;;;;;;:17;:33;;;;;;;;:59;;;;;;;;;;;;23397:118;23377:138;23258:265;-1:-1:-1;;;23258:265:0:o;22863:138::-;-1:-1:-1;;;;;22964:20:0;;;22937:7;22964:20;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;22863:138::o;13179:221::-;13284:10;13266:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;13266:55:0;;;;;;;;;;13259:62;;-1:-1:-1;;13259:62:0;;;13339:53;13266:55;;13339:53;;;13179:221;:::o;10736:147::-;10805:4;10822:31;10828:10;10840:6;10848:4;;10822:5;:31::i;19797:411::-;19891:24;19918:27;19928:7;19937;19918:9;:27::i;:::-;19891:54;;-1:-1:-1;;19960:16:0;:37;19956:245;;20042:6;20022:16;:26;;20014:63;;;;-1:-1:-1;;;20014:63:0;;11723:2:1;20014:63:0;;;11705:21:1;11762:2;11742:18;;;11735:30;11801:26;11781:18;;;11774:54;11845:18;;20014:63:0;11521:348:1;20014:63:0;20121:53;20130:7;20139;20167:6;20148:16;:25;20121:8;:53::i;:::-;19880:328;19797:411;;;:::o;17344:585::-;-1:-1:-1;;;;;17440:21:0;;17432:51;;;;-1:-1:-1;;;17432:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17502:21:0;;17494:51;;;;-1:-1:-1;;;17494:51:0;;;;;;;:::i;:::-;17583:4;-1:-1:-1;;;;;17564:24:0;;;17556:58;;;;-1:-1:-1;;;17556:58:0;;12076:2:1;17556:58:0;;;12058:21:1;12115:2;12095:18;;;12088:30;-1:-1:-1;;;12134:18:1;;;12127:51;12195:18;;17556:58:0;11874:345:1;17556:58:0;-1:-1:-1;;;;;17651:18:0;;17627:21;17651:18;;;;;;;;;;;17688:23;;;;17680:58;;;;-1:-1:-1;;;17680:58:0;;12426:2:1;17680:58:0;;;12408:21:1;12465:2;12445:18;;;12438:30;-1:-1:-1;;;12484:18:1;;;12477:52;12546:18;;17680:58:0;12224:346:1;17680:58:0;-1:-1:-1;;;;;17774:18:0;;;:9;:18;;;;;;;;;;;17795:22;;;17774:43;;17839:18;;;;;;;;:28;;17811:6;;17774:9;17839:28;;17811:6;;17839:28;:::i;:::-;;;;;;;;17903:7;-1:-1:-1;;;;;17885:34:0;17894:7;-1:-1:-1;;;;;17885:34:0;;17912:6;17885:34;;;;671:25:1;;659:2;644:18;;525:177;17885:34:0;;;;;;;;17421:508;17344:585;;;:::o;19258:309::-;-1:-1:-1;;;;;19353:21:0;;19345:51;;;;-1:-1:-1;;;19345:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19415:21:0;;19407:51;;;;-1:-1:-1;;;19407:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19471:20:0;;;;;;;:11;:20;;;;;;;;:29;;;;;;;;;;;;;:38;;;19525:34;;671:25:1;;;19525:34:0;;644:18:1;19525:34:0;;;;;;;19258:309;;;:::o;18274:542::-;-1:-1:-1;;;;;18372:21:0;;18364:51;;;;-1:-1:-1;;;18364:51:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18453:18:0;;18428:22;18453:18;;;;;;;;;;;18490:24;;;;18482:59;;;;-1:-1:-1;;;18482:59:0;;12426:2:1;18482:59:0;;;12408:21:1;12465:2;12445:18;;;12438:30;-1:-1:-1;;;12484:18:1;;;12477:52;12546:18;;18482:59:0;12224:346:1;18482:59:0;-1:-1:-1;;;;;18577:18:0;;:9;:18;;;;;;;;;;18598:23;;;18577:44;;18643:12;:22;;18615:6;;18577:9;18643:22;;18615:6;;18643:22;:::i;:::-;;;;;;;;18709:6;18684:21;;:31;;;;;;;:::i;:::-;;;;-1:-1:-1;;18733:37:0;;671:25:1;;;18759:1:0;;-1:-1:-1;;;;;18733:37:0;;;;;659:2:1;644:18;18733:37:0;;;;;;;18786:22;;-1:-1:-1;;;12910:19:1;;12954:1;12945:11;18786:22:0;;;;;;;;18803:4;;18786:22;;;;;;;:::i;:::-;;;;;;;;18351:465;18274:542;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:328;269:6;277;285;338:2;326:9;317:7;313:23;309:32;306:52;;;354:1;351;344:12;306:52;377:29;396:9;377:29;:::i;:::-;367:39;;425:38;459:2;448:9;444:18;425:38;:::i;:::-;415:48;;510:2;499:9;495:18;482:32;472:42;;192:328;;;;;:::o;707:548::-;819:4;848:2;877;866:9;859:21;909:6;903:13;952:6;947:2;936:9;932:18;925:34;977:1;987:140;1001:6;998:1;995:13;987:140;;;1096:14;;;1092:23;;1086:30;1062:17;;;1081:2;1058:26;1051:66;1016:10;;987:140;;;991:3;1176:1;1171:2;1162:6;1151:9;1147:22;1143:31;1136:42;1246:2;1239;1235:7;1230:2;1222:6;1218:15;1214:29;1203:9;1199:45;1195:54;1187:62;;;;707:548;;;;:::o;1260:254::-;1328:6;1336;1389:2;1377:9;1368:7;1364:23;1360:32;1357:52;;;1405:1;1402;1395:12;1357:52;1428:29;1447:9;1428:29;:::i;:::-;1418:39;1504:2;1489:18;;;;1476:32;;-1:-1:-1;;;1260:254:1:o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;2091:367::-;2154:8;2164:6;2218:3;2211:4;2203:6;2199:17;2195:27;2185:55;;2236:1;2233;2226:12;2185:55;-1:-1:-1;2259:20:1;;2302:18;2291:30;;2288:50;;;2334:1;2331;2324:12;2288:50;2371:4;2363:6;2359:17;2347:29;;2431:3;2424:4;2414:6;2411:1;2407:14;2399:6;2395:27;2391:38;2388:47;2385:67;;;2448:1;2445;2438:12;2385:67;2091:367;;;;;:::o;2463:847::-;2594:6;2602;2610;2618;2626;2679:2;2667:9;2658:7;2654:23;2650:32;2647:52;;;2695:1;2692;2685:12;2647:52;2718:29;2737:9;2718:29;:::i;:::-;2708:39;;2798:2;2787:9;2783:18;2770:32;2821:18;2862:2;2854:6;2851:14;2848:34;;;2878:1;2875;2868:12;2848:34;2917:70;2979:7;2970:6;2959:9;2955:22;2917:70;:::i;:::-;3006:8;;-1:-1:-1;2891:96:1;-1:-1:-1;3094:2:1;3079:18;;3066:32;;-1:-1:-1;3110:16:1;;;3107:36;;;3139:1;3136;3129:12;3107:36;;3178:72;3242:7;3231:8;3220:9;3216:24;3178:72;:::i;:::-;2463:847;;;;-1:-1:-1;2463:847:1;;-1:-1:-1;3269:8:1;;3152:98;2463:847;-1:-1:-1;;;2463:847:1:o;3812:347::-;3863:8;3873:6;3927:3;3920:4;3912:6;3908:17;3904:27;3894:55;;3945:1;3942;3935:12;3894:55;-1:-1:-1;3968:20:1;;4011:18;4000:30;;3997:50;;;4043:1;4040;4033:12;3997:50;4080:4;4072:6;4068:17;4056:29;;4132:3;4125:4;4116:6;4108;4104:19;4100:30;4097:39;4094:59;;;4149:1;4146;4139:12;4164:551;4252:6;4260;4268;4276;4329:2;4317:9;4308:7;4304:23;4300:32;4297:52;;;4345:1;4342;4335:12;4297:52;4368:29;4387:9;4368:29;:::i;:::-;4358:39;;4444:2;4433:9;4429:18;4416:32;4406:42;;4499:2;4488:9;4484:18;4471:32;4526:18;4518:6;4515:30;4512:50;;;4558:1;4555;4548:12;4512:50;4597:58;4647:7;4638:6;4627:9;4623:22;4597:58;:::i;:::-;4164:551;;;;-1:-1:-1;4674:8:1;-1:-1:-1;;;;4164:551:1:o;4720:260::-;4788:6;4796;4849:2;4837:9;4828:7;4824:23;4820:32;4817:52;;;4865:1;4862;4855:12;4817:52;4888:29;4907:9;4888:29;:::i;:::-;4878:39;;4936:38;4970:2;4959:9;4955:18;4936:38;:::i;:::-;4926:48;;4720:260;;;;;:::o;4985:477::-;5064:6;5072;5080;5133:2;5121:9;5112:7;5108:23;5104:32;5101:52;;;5149:1;5146;5139:12;5101:52;5185:9;5172:23;5162:33;;5246:2;5235:9;5231:18;5218:32;5273:18;5265:6;5262:30;5259:50;;;5305:1;5302;5295:12;5259:50;5344:58;5394:7;5385:6;5374:9;5370:22;5344:58;:::i;:::-;4985:477;;5421:8;;-1:-1:-1;5318:84:1;;-1:-1:-1;;;;4985:477:1:o;5467:398::-;5669:2;5651:21;;;5708:2;5688:18;;;5681:30;5747:34;5742:2;5727:18;;5720:62;-1:-1:-1;;;5813:2:1;5798:18;;5791:32;5855:3;5840:19;;5467:398::o;5870:380::-;5949:1;5945:12;;;;5992;;;6013:61;;6067:4;6059:6;6055:17;6045:27;;6013:61;6120:2;6112:6;6109:14;6089:18;6086:38;6083:161;;6166:10;6161:3;6157:20;6154:1;6147:31;6201:4;6198:1;6191:15;6229:4;6226:1;6219:15;6083:161;;5870:380;;;:::o;7449:398::-;7651:2;7633:21;;;7690:2;7670:18;;;7663:30;7729:34;7724:2;7709:18;;7702:62;-1:-1:-1;;;7795:2:1;7780:18;;7773:32;7837:3;7822:19;;7449:398::o;8276:127::-;8337:10;8332:3;8328:20;8325:1;8318:31;8368:4;8365:1;8358:15;8392:4;8389:1;8382:15;8676:127;8737:10;8732:3;8728:20;8725:1;8718:31;8768:4;8765:1;8758:15;8792:4;8789:1;8782:15;8808:135;8847:3;8868:17;;;8865:43;;8888:18;;:::i;:::-;-1:-1:-1;8935:1:1;8924:13;;8808:135::o;9211:400::-;9413:2;9395:21;;;9452:2;9432:18;;;9425:30;9491:34;9486:2;9471:18;;9464:62;-1:-1:-1;;;9557:2:1;9542:18;;9535:34;9601:3;9586:19;;9211:400::o;9616:341::-;9818:2;9800:21;;;9857:2;9837:18;;;9830:30;-1:-1:-1;;;9891:2:1;9876:18;;9869:47;9948:2;9933:18;;9616:341::o;9962:125::-;10027:9;;;10048:10;;;10045:36;;;10061:18;;:::i;10771:388::-;10928:2;10917:9;10910:21;10967:6;10962:2;10951:9;10947:18;10940:34;11024:6;11016;11011:2;11000:9;10996:18;10983:48;11080:1;11051:22;;;11075:2;11047:31;;;11040:42;;;;11143:2;11122:15;;;-1:-1:-1;;11118:29:1;11103:45;11099:54;;10771:388;-1:-1:-1;10771:388:1:o;12575:128::-;12642:9;;;12663:11;;;12660:37;;;12677:18;;:::i

Swarm Source

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