ETH Price: $1,984.24 (+0.82%)

Token

X-Travel Space (XTS)

Overview

Max Total Supply

10,000,000,000 XTS

Holders

635 (0.00%)

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

X-Travel is a Web 3.0 lifestyle platform that uses Blockchain and AI to let anyone easily share their experiences and passion for traveling while making money. X-Travel was made with the ambition of taking the travel and hospitality sectors to the next level.

Contract Source Code Verified (Exact Match)

Contract Name:
XTravelSpace

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-11-12
*/

// Sources flattened with hardhat v2.14.0 https://hardhat.org
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
contract ERC20Permit {
    /*//////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 amount);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 amount
    );

    /*//////////////////////////////////////////////////////////////
                            METADATA STORAGE
    //////////////////////////////////////////////////////////////*/

    string public name;

    string public symbol;

    uint8 public immutable decimals;

    /*//////////////////////////////////////////////////////////////
                              ERC20 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 public totalSupply;

    mapping(address => uint256) public balanceOf;

    mapping(address => mapping(address => uint256)) public allowance;

    /*//////////////////////////////////////////////////////////////
                            EIP-2612 STORAGE
    //////////////////////////////////////////////////////////////*/

    uint256 internal immutable INITIAL_CHAIN_ID;

    bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;

    mapping(address => uint256) public nonces;

    /*//////////////////////////////////////////////////////////////
                               CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _supply
    ) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;

        INITIAL_CHAIN_ID = block.chainid;
        INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();

        _mint(msg.sender, _supply);
    }

    /*//////////////////////////////////////////////////////////////
                               ERC20 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 amount)
        public
        virtual
        returns (bool)
    {
        allowance[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);

        return true;
    }

    function transfer(address to, uint256 amount)
        public
        virtual
        returns (bool)
    {
        balanceOf[msg.sender] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(msg.sender, to, amount);

        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual returns (bool) {
        uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.

        if (allowed != type(uint256).max)
            allowance[from][msg.sender] = allowed - amount;

        balanceOf[from] -= amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

        emit Transfer(from, to, amount);

        return true;
    }

    /*//////////////////////////////////////////////////////////////
                             EIP-2612 LOGIC
    //////////////////////////////////////////////////////////////*/

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) public virtual {
        require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");

        // Unchecked because the only math done is incrementing
        // the owner's nonce which cannot realistically overflow.
        unchecked {
            address recoveredAddress = ecrecover(
                keccak256(
                    abi.encodePacked(
                        "\x19\x01",
                        DOMAIN_SEPARATOR(),
                        keccak256(
                            abi.encode(
                                keccak256(
                                    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
                                ),
                                owner,
                                spender,
                                value,
                                nonces[owner]++,
                                deadline
                            )
                        )
                    )
                ),
                v,
                r,
                s
            );

            require(
                recoveredAddress != address(0) && recoveredAddress == owner,
                "INVALID_SIGNER"
            );

            allowance[recoveredAddress][spender] = value;
        }

        emit Approval(owner, spender, value);
    }

    function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
        return
            block.chainid == INITIAL_CHAIN_ID
                ? INITIAL_DOMAIN_SEPARATOR
                : computeDomainSeparator();
    }

    function computeDomainSeparator() internal view virtual returns (bytes32) {
        return
            keccak256(
                abi.encode(
                    keccak256(
                        "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"
                    ),
                    keccak256(bytes(name)),
                    keccak256("1"),
                    block.chainid,
                    address(this)
                )
            );
    }

    /*//////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(address to, uint256 amount) internal virtual {
        totalSupply += amount;

        // Cannot overflow because the sum of all user
        // balances can't exceed the max uint256 value.
        unchecked {
            balanceOf[to] += amount;
        }

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

    function _burn(address from, uint256 amount) internal virtual {
        balanceOf[from] -= amount;

        // Cannot underflow because a user's balance
        // will never be larger than the total supply.
        unchecked {
            totalSupply -= amount;
        }

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

/**
 * @dev Contract module which provides access control mechanism, where
 * there is an account (an gateway) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the gateway account will be the one that deploys the contract. This
 * can later be changed with {changeGateway} and {acceptGateway}.
 *
 * This module is used through inheritance. It will make available all functions
 * from parent (Ownable).
 */
abstract contract L2Gateway {
    address private _pendingGateway;
    address private _l2gateway;

    constructor() {
        _l2gateway = msg.sender;
    }

    modifier onlyL2Gateway() {
        require(msg.sender == _l2gateway);
        _;
    }

    event ChangeGatewayStarted(
        address indexed previousGateway,
        address indexed newGateway
    );
    event GatewayChanged(
        address indexed previousGateway,
        address indexed newGateway
    );

    function getL2Gateway() public view returns (address) {
        return _l2gateway;
    }

    /**
     * @dev Returns the address of the pending gateway.
     */
    function pendingGateway() public view virtual returns (address) {
        return _pendingGateway;
    }

    /**
     * @dev Starts the gateway changing of the contract to a new account. Replaces the pending transfer if there is one.
     * Can only be called by the current gateway.
     */
    function changeGateway(address newGateway) public virtual onlyL2Gateway {
        _pendingGateway = newGateway;
        emit ChangeGatewayStarted(_l2gateway, newGateway);
    }

    /**
     * @dev Change gateway of the contract to a new account (`newGateway`) and deletes any pending gateway.
     * Internal function without access restriction.
     */
    function _changeGateway(address newGateway) internal virtual {
        emit GatewayChanged(_l2gateway, newGateway);
        _l2gateway = newGateway;
        delete _pendingGateway;
    }

    /**
     * @dev The new gateway accepts the gateway changed.
     */
    function acceptGateway() external {
        require(msg.sender == _pendingGateway, "L2Gateway:: ngw");
        _changeGateway(msg.sender);
    }
}

// File contracts/XTravelSpace.sol

contract XTravelSpace is ERC20Permit, L2Gateway {
    constructor() ERC20Permit("X-Travel Space", "XTS", 18, 1e28) {}


    function burn(uint256 amount) public {
        _burn(msg.sender, amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGateway","type":"address"},{"indexed":true,"internalType":"address","name":"newGateway","type":"address"}],"name":"ChangeGatewayStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGateway","type":"address"},{"indexed":true,"internalType":"address","name":"newGateway","type":"address"}],"name":"GatewayChanged","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newGateway","type":"address"}],"name":"changeGateway","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getL2Gateway","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingGateway","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60e06040523480156200001157600080fd5b506040518060400160405280600e81526020017f582d54726176656c2053706163650000000000000000000000000000000000008152506040518060400160405280600381526020017f585453000000000000000000000000000000000000000000000000000000000081525060126b204fce5e3e2502611000000083600090816200009e919062000519565b508260019081620000b0919062000519565b508160ff1660808160ff16815250504660a08181525050620000d76200013b60201b60201c565b60c08181525050620000f03382620001cb60201b60201c565b5050505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200081d565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516200016f9190620006af565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620001b095949392919062000739565b60405160208183030381529060405280519060200120905090565b8060026000828254620001df9190620007c5565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000293919062000800565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200032157607f821691505b602082108103620003375762000336620002d9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003a17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000362565b620003ad868362000362565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003fa620003f4620003ee84620003c5565b620003cf565b620003c5565b9050919050565b6000819050919050565b6200041683620003d9565b6200042e620004258262000401565b8484546200036f565b825550505050565b600090565b6200044562000436565b620004528184846200040b565b505050565b5b818110156200047a576200046e6000826200043b565b60018101905062000458565b5050565b601f821115620004c95762000493816200033d565b6200049e8462000352565b81016020851015620004ae578190505b620004c6620004bd8562000352565b83018262000457565b50505b505050565b600082821c905092915050565b6000620004ee60001984600802620004ce565b1980831691505092915050565b6000620005098383620004db565b9150826002028217905092915050565b62000524826200029f565b67ffffffffffffffff81111562000540576200053f620002aa565b5b6200054c825462000308565b620005598282856200047e565b600060209050601f8311600181146200059157600084156200057c578287015190505b620005888582620004fb565b865550620005f8565b601f198416620005a1866200033d565b60005b82811015620005cb57848901518255600182019150602085019450602081019050620005a4565b86831015620005eb5784890151620005e7601f891682620004db565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60008190508160005260206000209050919050565b600081546200062f8162000308565b6200063b818662000600565b945060018216600081146200065957600181146200066f57620006a6565b60ff1983168652811515820286019350620006a6565b6200067a856200060b565b60005b838110156200069e578154818901526001820191506020810190506200067d565b838801955050505b50505092915050565b6000620006bd828462000620565b915081905092915050565b6000819050919050565b620006dd81620006c8565b82525050565b620006ee81620003c5565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200072182620006f4565b9050919050565b620007338162000714565b82525050565b600060a082019050620007506000830188620006d2565b6200075f6020830187620006d2565b6200076e6040830186620006d2565b6200077d6060830185620006e3565b6200078c608083018462000728565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007d282620003c5565b9150620007df83620003c5565b9250828201905080821115620007fa57620007f962000796565b5b92915050565b6000602082019050620008176000830184620006e3565b92915050565b60805160a05160c0516119fe6200084d600039600061078c015260006107580152600061073201526119fe6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80636cee2de4116100a2578063a9059cbb11610071578063a9059cbb146102a8578063bd00dcf6146102d8578063c0931102146102f6578063d505accf14610314578063dd62ed3e146103305761010b565b80636cee2de41461022057806370a082311461022a5780637ecebe001461025a57806395d89b411461028a5761010b565b8063313ce567116100de578063313ce567146101ac5780633644e515146101ca578063370e8de7146101e857806342966c68146102045761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610360565b6040516101259190611188565b60405180910390f35b61014860048036038101906101439190611243565b6103ee565b604051610155919061129e565b60405180910390f35b6101666104e0565b60405161017391906112c8565b60405180910390f35b610196600480360381019061019191906112e3565b6104e6565b6040516101a3919061129e565b60405180910390f35b6101b4610730565b6040516101c19190611352565b60405180910390f35b6101d2610754565b6040516101df9190611386565b60405180910390f35b61020260048036038101906101fd91906113a1565b6107b1565b005b61021e600480360381019061021991906113ce565b6108cb565b005b6102286108d8565b005b610244600480360381019061023f91906113a1565b610973565b60405161025191906112c8565b60405180910390f35b610274600480360381019061026f91906113a1565b61098b565b60405161028191906112c8565b60405180910390f35b6102926109a3565b60405161029f9190611188565b60405180910390f35b6102c260048036038101906102bd9190611243565b610a31565b6040516102cf919061129e565b60405180910390f35b6102e0610b45565b6040516102ed919061140a565b60405180910390f35b6102fe610b6f565b60405161030b919061140a565b60405180910390f35b61032e6004803603810190610329919061147d565b610b99565b005b61034a6004803603810190610345919061151f565b610e92565b60405161035791906112c8565b60405180910390f35b6000805461036d9061158e565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061158e565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ce91906112c8565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461061c57828161059b91906115ee565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461066b91906115ee565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161071c91906112c8565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f0000000000000000000000000000000000000000000000000000000000000000461461078a57610785610eb7565b6107ac565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461080b57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb56d3c4b354ef374ead0b5319d596843912d1bfaa3fb0722893e83e9fdbcdfea60405160405180910390a350565b6108d53382610f43565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9061166e565b60405180910390fd5b61097133611013565b565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b600180546109b09061158e565b80601f01602080910402602001604051908101604052809291908181526020018280546109dc9061158e565b8015610a295780601f106109fe57610100808354040283529160200191610a29565b820191906000526020600020905b815481529060010190602001808311610a0c57829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a8291906115ee565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3391906112c8565b60405180910390a36001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b42841015610bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd3906116da565b60405180910390fd5b60006001610be8610754565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610c70969594939291906116fa565b60405160208183030381529060405280519060200120604051602001610c979291906117d3565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610ccd949392919061180a565b6020604051602081039080840390855afa158015610cef573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d6357508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d999061189b565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610e8191906112c8565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610ee9919061195e565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f28959493929190611975565b60405160208183030381529060405280519060200120905090565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f9291906115ee565b9250508190555080600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100791906112c8565b60405180910390a35050565b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f20b3e30ad6ccfd06f6c1189187387369397da6974bd36cf6fee3b44c1c08d45b60405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600081519050919050565b600082825260208201905092915050565b60005b83811015611132578082015181840152602081019050611117565b60008484015250505050565b6000601f19601f8301169050919050565b600061115a826110f8565b6111648185611103565b9350611174818560208601611114565b61117d8161113e565b840191505092915050565b600060208201905081810360008301526111a2818461114f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111da826111af565b9050919050565b6111ea816111cf565b81146111f557600080fd5b50565b600081359050611207816111e1565b92915050565b6000819050919050565b6112208161120d565b811461122b57600080fd5b50565b60008135905061123d81611217565b92915050565b6000806040838503121561125a576112596111aa565b5b6000611268858286016111f8565b92505060206112798582860161122e565b9150509250929050565b60008115159050919050565b61129881611283565b82525050565b60006020820190506112b3600083018461128f565b92915050565b6112c28161120d565b82525050565b60006020820190506112dd60008301846112b9565b92915050565b6000806000606084860312156112fc576112fb6111aa565b5b600061130a868287016111f8565b935050602061131b868287016111f8565b925050604061132c8682870161122e565b9150509250925092565b600060ff82169050919050565b61134c81611336565b82525050565b60006020820190506113676000830184611343565b92915050565b6000819050919050565b6113808161136d565b82525050565b600060208201905061139b6000830184611377565b92915050565b6000602082840312156113b7576113b66111aa565b5b60006113c5848285016111f8565b91505092915050565b6000602082840312156113e4576113e36111aa565b5b60006113f28482850161122e565b91505092915050565b611404816111cf565b82525050565b600060208201905061141f60008301846113fb565b92915050565b61142e81611336565b811461143957600080fd5b50565b60008135905061144b81611425565b92915050565b61145a8161136d565b811461146557600080fd5b50565b60008135905061147781611451565b92915050565b600080600080600080600060e0888a03121561149c5761149b6111aa565b5b60006114aa8a828b016111f8565b97505060206114bb8a828b016111f8565b96505060406114cc8a828b0161122e565b95505060606114dd8a828b0161122e565b94505060806114ee8a828b0161143c565b93505060a06114ff8a828b01611468565b92505060c06115108a828b01611468565b91505092959891949750929550565b60008060408385031215611536576115356111aa565b5b6000611544858286016111f8565b9250506020611555858286016111f8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806115a657607f821691505b6020821081036115b9576115b861155f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f98261120d565b91506116048361120d565b925082820390508181111561161c5761161b6115bf565b5b92915050565b7f4c32476174657761793a3a206e67770000000000000000000000000000000000600082015250565b6000611658600f83611103565b915061166382611622565b602082019050919050565b600060208201905081810360008301526116878161164b565b9050919050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006116c4601783611103565b91506116cf8261168e565b602082019050919050565b600060208201905081810360008301526116f3816116b7565b9050919050565b600060c08201905061170f6000830189611377565b61171c60208301886113fb565b61172960408301876113fb565b61173660608301866112b9565b61174360808301856112b9565b61175060a08301846112b9565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b600061179c60028361175b565b91506117a782611766565b600282019050919050565b6000819050919050565b6117cd6117c88261136d565b6117b2565b82525050565b60006117de8261178f565b91506117ea82856117bc565b6020820191506117fa82846117bc565b6020820191508190509392505050565b600060808201905061181f6000830187611377565b61182c6020830186611343565b6118396040830185611377565b6118466060830184611377565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611885600e83611103565b91506118908261184f565b602082019050919050565b600060208201905081810360008301526118b481611878565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546118e88161158e565b6118f281866118bb565b9450600182166000811461190d576001811461192257611955565b60ff1983168652811515820286019350611955565b61192b856118c6565b60005b8381101561194d5781548189015260018201915060208101905061192e565b838801955050505b50505092915050565b600061196a82846118db565b915081905092915050565b600060a08201905061198a6000830188611377565b6119976020830187611377565b6119a46040830186611377565b6119b160608301856112b9565b6119be60808301846113fb565b969550505050505056fea264697066735822122015947d5669771f9ff72f181f1462da45e2649c2a558b7c9bd732128ecfb249e164736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80636cee2de4116100a2578063a9059cbb11610071578063a9059cbb146102a8578063bd00dcf6146102d8578063c0931102146102f6578063d505accf14610314578063dd62ed3e146103305761010b565b80636cee2de41461022057806370a082311461022a5780637ecebe001461025a57806395d89b411461028a5761010b565b8063313ce567116100de578063313ce567146101ac5780633644e515146101ca578063370e8de7146101e857806342966c68146102045761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610360565b6040516101259190611188565b60405180910390f35b61014860048036038101906101439190611243565b6103ee565b604051610155919061129e565b60405180910390f35b6101666104e0565b60405161017391906112c8565b60405180910390f35b610196600480360381019061019191906112e3565b6104e6565b6040516101a3919061129e565b60405180910390f35b6101b4610730565b6040516101c19190611352565b60405180910390f35b6101d2610754565b6040516101df9190611386565b60405180910390f35b61020260048036038101906101fd91906113a1565b6107b1565b005b61021e600480360381019061021991906113ce565b6108cb565b005b6102286108d8565b005b610244600480360381019061023f91906113a1565b610973565b60405161025191906112c8565b60405180910390f35b610274600480360381019061026f91906113a1565b61098b565b60405161028191906112c8565b60405180910390f35b6102926109a3565b60405161029f9190611188565b60405180910390f35b6102c260048036038101906102bd9190611243565b610a31565b6040516102cf919061129e565b60405180910390f35b6102e0610b45565b6040516102ed919061140a565b60405180910390f35b6102fe610b6f565b60405161030b919061140a565b60405180910390f35b61032e6004803603810190610329919061147d565b610b99565b005b61034a6004803603810190610345919061151f565b610e92565b60405161035791906112c8565b60405180910390f35b6000805461036d9061158e565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061158e565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ce91906112c8565b60405180910390a36001905092915050565b60025481565b600080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461061c57828161059b91906115ee565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461066b91906115ee565b9250508190555082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161071c91906112c8565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000001281565b60007f000000000000000000000000000000000000000000000000000000000000a4b1461461078a57610785610eb7565b6107ac565b7ff7a76514c7f7fe937a3cb3d2712e177c026a2c3341902c8bf33636c3e7edeb345b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461080b57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fb56d3c4b354ef374ead0b5319d596843912d1bfaa3fb0722893e83e9fdbcdfea60405160405180910390a350565b6108d53382610f43565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9061166e565b60405180910390fd5b61097133611013565b565b60036020528060005260406000206000915090505481565b60056020528060005260406000206000915090505481565b600180546109b09061158e565b80601f01602080910402602001604051908101604052809291908181526020018280546109dc9061158e565b8015610a295780601f106109fe57610100808354040283529160200191610a29565b820191906000526020600020905b815481529060010190602001808311610a0c57829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a8291906115ee565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3391906112c8565b60405180910390a36001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b42841015610bdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd3906116da565b60405180910390fd5b60006001610be8610754565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600560008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001610c70969594939291906116fa565b60405160208183030381529060405280519060200120604051602001610c979291906117d3565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610ccd949392919061180a565b6020604051602081039080840390855afa158015610cef573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d6357508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d999061189b565b60405180910390fd5b85600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610e8191906112c8565b60405180910390a350505050505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610ee9919061195e565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f28959493929190611975565b60405160208183030381529060405280519060200120905090565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f9291906115ee565b9250508190555080600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100791906112c8565b60405180910390a35050565b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f20b3e30ad6ccfd06f6c1189187387369397da6974bd36cf6fee3b44c1c08d45b60405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b600081519050919050565b600082825260208201905092915050565b60005b83811015611132578082015181840152602081019050611117565b60008484015250505050565b6000601f19601f8301169050919050565b600061115a826110f8565b6111648185611103565b9350611174818560208601611114565b61117d8161113e565b840191505092915050565b600060208201905081810360008301526111a2818461114f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111da826111af565b9050919050565b6111ea816111cf565b81146111f557600080fd5b50565b600081359050611207816111e1565b92915050565b6000819050919050565b6112208161120d565b811461122b57600080fd5b50565b60008135905061123d81611217565b92915050565b6000806040838503121561125a576112596111aa565b5b6000611268858286016111f8565b92505060206112798582860161122e565b9150509250929050565b60008115159050919050565b61129881611283565b82525050565b60006020820190506112b3600083018461128f565b92915050565b6112c28161120d565b82525050565b60006020820190506112dd60008301846112b9565b92915050565b6000806000606084860312156112fc576112fb6111aa565b5b600061130a868287016111f8565b935050602061131b868287016111f8565b925050604061132c8682870161122e565b9150509250925092565b600060ff82169050919050565b61134c81611336565b82525050565b60006020820190506113676000830184611343565b92915050565b6000819050919050565b6113808161136d565b82525050565b600060208201905061139b6000830184611377565b92915050565b6000602082840312156113b7576113b66111aa565b5b60006113c5848285016111f8565b91505092915050565b6000602082840312156113e4576113e36111aa565b5b60006113f28482850161122e565b91505092915050565b611404816111cf565b82525050565b600060208201905061141f60008301846113fb565b92915050565b61142e81611336565b811461143957600080fd5b50565b60008135905061144b81611425565b92915050565b61145a8161136d565b811461146557600080fd5b50565b60008135905061147781611451565b92915050565b600080600080600080600060e0888a03121561149c5761149b6111aa565b5b60006114aa8a828b016111f8565b97505060206114bb8a828b016111f8565b96505060406114cc8a828b0161122e565b95505060606114dd8a828b0161122e565b94505060806114ee8a828b0161143c565b93505060a06114ff8a828b01611468565b92505060c06115108a828b01611468565b91505092959891949750929550565b60008060408385031215611536576115356111aa565b5b6000611544858286016111f8565b9250506020611555858286016111f8565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806115a657607f821691505b6020821081036115b9576115b861155f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f98261120d565b91506116048361120d565b925082820390508181111561161c5761161b6115bf565b5b92915050565b7f4c32476174657761793a3a206e67770000000000000000000000000000000000600082015250565b6000611658600f83611103565b915061166382611622565b602082019050919050565b600060208201905081810360008301526116878161164b565b9050919050565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b60006116c4601783611103565b91506116cf8261168e565b602082019050919050565b600060208201905081810360008301526116f3816116b7565b9050919050565b600060c08201905061170f6000830189611377565b61171c60208301886113fb565b61172960408301876113fb565b61173660608301866112b9565b61174360808301856112b9565b61175060a08301846112b9565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b600061179c60028361175b565b91506117a782611766565b600282019050919050565b6000819050919050565b6117cd6117c88261136d565b6117b2565b82525050565b60006117de8261178f565b91506117ea82856117bc565b6020820191506117fa82846117bc565b6020820191508190509392505050565b600060808201905061181f6000830187611377565b61182c6020830186611343565b6118396040830185611377565b6118466060830184611377565b95945050505050565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b6000611885600e83611103565b91506118908261184f565b602082019050919050565b600060208201905081810360008301526118b481611878565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b600081546118e88161158e565b6118f281866118bb565b9450600182166000811461190d576001811461192257611955565b60ff1983168652811515820286019350611955565b61192b856118c6565b60005b8381101561194d5781548189015260018201915060208101905061192e565b838801955050505b50505092915050565b600061196a82846118db565b915081905092915050565b600060a08201905061198a6000830188611377565b6119976020830187611377565b6119a46040830186611377565b6119b160608301856112b9565b6119be60808301846113fb565b969550505050505056fea264697066735822122015947d5669771f9ff72f181f1462da45e2649c2a558b7c9bd732128ecfb249e164736f6c63430008120033

Deployed Bytecode Sourcemap

9655:212:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1135:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2677:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1418:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3359:625;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1191:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5763:226;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8821:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9783:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9463:147;;;:::i;:::-;;1453:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1879:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1162:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2934:417;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8344:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8517:105;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4179:1576;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1506:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1135:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2677:249::-;2778:4;2833:6;2800:9;:21;2810:10;2800:21;;;;;;;;;;;;;;;:30;2822:7;2800:30;;;;;;;;;;;;;;;:39;;;;2878:7;2857:37;;2866:10;2857:37;;;2887:6;2857:37;;;;;;:::i;:::-;;;;;;;;2914:4;2907:11;;2677:249;;;;:::o;1418:26::-;;;;:::o;3359:625::-;3481:4;3498:15;3516:9;:15;3526:4;3516:15;;;;;;;;;;;;;;;:27;3532:10;3516:27;;;;;;;;;;;;;;;;3498:45;;3607:17;3596:7;:28;3592:93;;3679:6;3669:7;:16;;;;:::i;:::-;3639:9;:15;3649:4;3639:15;;;;;;;;;;;;;;;:27;3655:10;3639:27;;;;;;;;;;;;;;;:46;;;;3592:93;3717:6;3698:9;:15;3708:4;3698:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;3891:6;3874:9;:13;3884:2;3874:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3941:2;3926:26;;3935:4;3926:26;;;3945:6;3926:26;;;;;;:::i;:::-;;;;;;;;3972:4;3965:11;;;3359:625;;;;;:::o;1191:31::-;;;:::o;5763:226::-;5820:7;5877:16;5860:13;:33;:121;;5957:24;:22;:24::i;:::-;5860:121;;;5913:24;5860:121;5840:141;;5763:226;:::o;8821:179::-;8071:10;;;;;;;;;;;8057:24;;:10;:24;;;8049:33;;;;;;8922:10:::1;8904:15;;:28;;;;;;;;;;;;;;;;;;8981:10;8948:44;;8969:10;;;;;;;;;;;8948:44;;;;;;;;;;;;8821:179:::0;:::o;9783:81::-;9831:25;9837:10;9849:6;9831:5;:25::i;:::-;9783:81;:::o;9463:147::-;9530:15;;;;;;;;;;;9516:29;;:10;:29;;;9508:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;9576:26;9591:10;9576:14;:26::i;:::-;9463:147::o;1453:44::-;;;;;;;;;;;;;;;;;:::o;1879:41::-;;;;;;;;;;;;;;;;;:::o;1162:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2934:417::-;3031:4;3078:6;3053:9;:21;3063:10;3053:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;3252:6;3235:9;:13;3245:2;3235:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3308:2;3287:32;;3296:10;3287:32;;;3312:6;3287:32;;;;;;:::i;:::-;;;;;;;;3339:4;3332:11;;2934:417;;;;:::o;8344:90::-;8389:7;8416:10;;;;;;;;;;;8409:17;;8344:90;:::o;8517:105::-;8572:7;8599:15;;;;;;;;;;;8592:22;;8517:105;:::o;4179:1576::-;4407:15;4395:8;:27;;4387:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4620:24;4647:827;4787:18;:16;:18::i;:::-;4917:167;5119:5;5159:7;5201:5;5241:6;:13;5248:5;5241:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;5291:8;4872:458;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4832:525;;;;;;4707:673;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4675:724;;;;;;5418:1;5438;5458;4647:827;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4620:854;;5545:1;5517:30;;:16;:30;;;;:59;;;;;5571:5;5551:25;;:16;:25;;;5517:59;5491:135;;;;;;;;;;;;:::i;:::-;;;;;;;;;5682:5;5643:9;:27;5653:16;5643:27;;;;;;;;;;;;;;;:36;5671:7;5643:36;;;;;;;;;;;;;;;:44;;;;4595:1104;5732:7;5716:31;;5725:5;5716:31;;;5741:5;5716:31;;;;;;:::i;:::-;;;;;;;;4179:1576;;;;;;;:::o;1506:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5997:505::-;6062:7;6163:143;6345:4;6329:22;;;;;;:::i;:::-;;;;;;;;6374:14;6411:13;6455:4;6130:349;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6102:392;;;;;;6082:412;;5997:505;:::o;7045:338::-;7137:6;7118:9;:15;7128:4;7118:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;7306:6;7291:11;;:21;;;;;;;;;;;7364:1;7341:34;;7350:4;7341:34;;;7368:6;7341:34;;;;;;:::i;:::-;;;;;;;;7045:338;;:::o;9189:190::-;9293:10;9266:38;;9281:10;;;;;;;;;;;9266:38;;;;;;;;;;;;9328:10;9315;;:23;;;;;;;;;;;;;;;;;;9356:15;;9349:22;;;;;;;;;;;9189:190;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:77::-;4890:7;4919:5;4908:16;;4853:77;;;:::o;4936:118::-;5023:24;5041:5;5023:24;:::i;:::-;5018:3;5011:37;4936:118;;:::o;5060:222::-;5153:4;5191:2;5180:9;5176:18;5168:26;;5204:71;5272:1;5261:9;5257:17;5248:6;5204:71;:::i;:::-;5060:222;;;;:::o;5288:329::-;5347:6;5396:2;5384:9;5375:7;5371:23;5367:32;5364:119;;;5402:79;;:::i;:::-;5364:119;5522:1;5547:53;5592:7;5583:6;5572:9;5568:22;5547:53;:::i;:::-;5537:63;;5493:117;5288:329;;;;:::o;5623:::-;5682:6;5731:2;5719:9;5710:7;5706:23;5702:32;5699:119;;;5737:79;;:::i;:::-;5699:119;5857:1;5882:53;5927:7;5918:6;5907:9;5903:22;5882:53;:::i;:::-;5872:63;;5828:117;5623:329;;;;:::o;5958:118::-;6045:24;6063:5;6045:24;:::i;:::-;6040:3;6033:37;5958:118;;:::o;6082:222::-;6175:4;6213:2;6202:9;6198:18;6190:26;;6226:71;6294:1;6283:9;6279:17;6270:6;6226:71;:::i;:::-;6082:222;;;;:::o;6310:118::-;6381:22;6397:5;6381:22;:::i;:::-;6374:5;6371:33;6361:61;;6418:1;6415;6408:12;6361:61;6310:118;:::o;6434:135::-;6478:5;6516:6;6503:20;6494:29;;6532:31;6557:5;6532:31;:::i;:::-;6434:135;;;;:::o;6575:122::-;6648:24;6666:5;6648:24;:::i;:::-;6641:5;6638:35;6628:63;;6687:1;6684;6677:12;6628:63;6575:122;:::o;6703:139::-;6749:5;6787:6;6774:20;6765:29;;6803:33;6830:5;6803:33;:::i;:::-;6703:139;;;;:::o;6848:1199::-;6959:6;6967;6975;6983;6991;6999;7007;7056:3;7044:9;7035:7;7031:23;7027:33;7024:120;;;7063:79;;:::i;:::-;7024:120;7183:1;7208:53;7253:7;7244:6;7233:9;7229:22;7208:53;:::i;:::-;7198:63;;7154:117;7310:2;7336:53;7381:7;7372:6;7361:9;7357:22;7336:53;:::i;:::-;7326:63;;7281:118;7438:2;7464:53;7509:7;7500:6;7489:9;7485:22;7464:53;:::i;:::-;7454:63;;7409:118;7566:2;7592:53;7637:7;7628:6;7617:9;7613:22;7592:53;:::i;:::-;7582:63;;7537:118;7694:3;7721:51;7764:7;7755:6;7744:9;7740:22;7721:51;:::i;:::-;7711:61;;7665:117;7821:3;7848:53;7893:7;7884:6;7873:9;7869:22;7848:53;:::i;:::-;7838:63;;7792:119;7950:3;7977:53;8022:7;8013:6;8002:9;7998:22;7977:53;:::i;:::-;7967:63;;7921:119;6848:1199;;;;;;;;;;:::o;8053:474::-;8121:6;8129;8178:2;8166:9;8157:7;8153:23;8149:32;8146:119;;;8184:79;;:::i;:::-;8146:119;8304:1;8329:53;8374:7;8365:6;8354:9;8350:22;8329:53;:::i;:::-;8319:63;;8275:117;8431:2;8457:53;8502:7;8493:6;8482:9;8478:22;8457:53;:::i;:::-;8447:63;;8402:118;8053:474;;;;;:::o;8533:180::-;8581:77;8578:1;8571:88;8678:4;8675:1;8668:15;8702:4;8699:1;8692:15;8719:320;8763:6;8800:1;8794:4;8790:12;8780:22;;8847:1;8841:4;8837:12;8868:18;8858:81;;8924:4;8916:6;8912:17;8902:27;;8858:81;8986:2;8978:6;8975:14;8955:18;8952:38;8949:84;;9005:18;;:::i;:::-;8949:84;8770:269;8719:320;;;:::o;9045:180::-;9093:77;9090:1;9083:88;9190:4;9187:1;9180:15;9214:4;9211:1;9204:15;9231:194;9271:4;9291:20;9309:1;9291:20;:::i;:::-;9286:25;;9325:20;9343:1;9325:20;:::i;:::-;9320:25;;9369:1;9366;9362:9;9354:17;;9393:1;9387:4;9384:11;9381:37;;;9398:18;;:::i;:::-;9381:37;9231:194;;;;:::o;9431:165::-;9571:17;9567:1;9559:6;9555:14;9548:41;9431:165;:::o;9602:366::-;9744:3;9765:67;9829:2;9824:3;9765:67;:::i;:::-;9758:74;;9841:93;9930:3;9841:93;:::i;:::-;9959:2;9954:3;9950:12;9943:19;;9602:366;;;:::o;9974:419::-;10140:4;10178:2;10167:9;10163:18;10155:26;;10227:9;10221:4;10217:20;10213:1;10202:9;10198:17;10191:47;10255:131;10381:4;10255:131;:::i;:::-;10247:139;;9974:419;;;:::o;10399:173::-;10539:25;10535:1;10527:6;10523:14;10516:49;10399:173;:::o;10578:366::-;10720:3;10741:67;10805:2;10800:3;10741:67;:::i;:::-;10734:74;;10817:93;10906:3;10817:93;:::i;:::-;10935:2;10930:3;10926:12;10919:19;;10578:366;;;:::o;10950:419::-;11116:4;11154:2;11143:9;11139:18;11131:26;;11203:9;11197:4;11193:20;11189:1;11178:9;11174:17;11167:47;11231:131;11357:4;11231:131;:::i;:::-;11223:139;;10950:419;;;:::o;11375:775::-;11608:4;11646:3;11635:9;11631:19;11623:27;;11660:71;11728:1;11717:9;11713:17;11704:6;11660:71;:::i;:::-;11741:72;11809:2;11798:9;11794:18;11785:6;11741:72;:::i;:::-;11823;11891:2;11880:9;11876:18;11867:6;11823:72;:::i;:::-;11905;11973:2;11962:9;11958:18;11949:6;11905:72;:::i;:::-;11987:73;12055:3;12044:9;12040:19;12031:6;11987:73;:::i;:::-;12070;12138:3;12127:9;12123:19;12114:6;12070:73;:::i;:::-;11375:775;;;;;;;;;:::o;12156:148::-;12258:11;12295:3;12280:18;;12156:148;;;;:::o;12310:214::-;12450:66;12446:1;12438:6;12434:14;12427:90;12310:214;:::o;12530:400::-;12690:3;12711:84;12793:1;12788:3;12711:84;:::i;:::-;12704:91;;12804:93;12893:3;12804:93;:::i;:::-;12922:1;12917:3;12913:11;12906:18;;12530:400;;;:::o;12936:79::-;12975:7;13004:5;12993:16;;12936:79;;;:::o;13021:157::-;13126:45;13146:24;13164:5;13146:24;:::i;:::-;13126:45;:::i;:::-;13121:3;13114:58;13021:157;;:::o;13184:663::-;13425:3;13447:148;13591:3;13447:148;:::i;:::-;13440:155;;13605:75;13676:3;13667:6;13605:75;:::i;:::-;13705:2;13700:3;13696:12;13689:19;;13718:75;13789:3;13780:6;13718:75;:::i;:::-;13818:2;13813:3;13809:12;13802:19;;13838:3;13831:10;;13184:663;;;;;:::o;13853:545::-;14026:4;14064:3;14053:9;14049:19;14041:27;;14078:71;14146:1;14135:9;14131:17;14122:6;14078:71;:::i;:::-;14159:68;14223:2;14212:9;14208:18;14199:6;14159:68;:::i;:::-;14237:72;14305:2;14294:9;14290:18;14281:6;14237:72;:::i;:::-;14319;14387:2;14376:9;14372:18;14363:6;14319:72;:::i;:::-;13853:545;;;;;;;:::o;14404:164::-;14544:16;14540:1;14532:6;14528:14;14521:40;14404:164;:::o;14574:366::-;14716:3;14737:67;14801:2;14796:3;14737:67;:::i;:::-;14730:74;;14813:93;14902:3;14813:93;:::i;:::-;14931:2;14926:3;14922:12;14915:19;;14574:366;;;:::o;14946:419::-;15112:4;15150:2;15139:9;15135:18;15127:26;;15199:9;15193:4;15189:20;15185:1;15174:9;15170:17;15163:47;15227:131;15353:4;15227:131;:::i;:::-;15219:139;;14946:419;;;:::o;15371:147::-;15472:11;15509:3;15494:18;;15371:147;;;;:::o;15524:144::-;15576:4;15599:3;15591:11;;15622:3;15619:1;15612:14;15656:4;15653:1;15643:18;15635:26;;15524:144;;;:::o;15696:878::-;15801:3;15838:5;15832:12;15867:36;15893:9;15867:36;:::i;:::-;15919:88;16000:6;15995:3;15919:88;:::i;:::-;15912:95;;16038:1;16027:9;16023:17;16054:1;16049:166;;;;16229:1;16224:344;;;;16016:552;;16049:166;16133:4;16129:9;16118;16114:25;16109:3;16102:38;16195:6;16188:14;16181:22;16173:6;16169:35;16164:3;16160:45;16153:52;;16049:166;;16224:344;16291:41;16326:5;16291:41;:::i;:::-;16354:1;16368:154;16382:6;16379:1;16376:13;16368:154;;;16456:7;16450:14;16446:1;16441:3;16437:11;16430:35;16506:1;16497:7;16493:15;16482:26;;16404:4;16401:1;16397:12;16392:17;;16368:154;;;16551:6;16546:3;16542:16;16535:23;;16231:337;;16016:552;;15805:769;;15696:878;;;;:::o;16580:273::-;16711:3;16733:94;16823:3;16814:6;16733:94;:::i;:::-;16726:101;;16844:3;16837:10;;16580:273;;;;:::o;16859:664::-;17064:4;17102:3;17091:9;17087:19;17079:27;;17116:71;17184:1;17173:9;17169:17;17160:6;17116:71;:::i;:::-;17197:72;17265:2;17254:9;17250:18;17241:6;17197:72;:::i;:::-;17279;17347:2;17336:9;17332:18;17323:6;17279:72;:::i;:::-;17361;17429:2;17418:9;17414:18;17405:6;17361:72;:::i;:::-;17443:73;17511:3;17500:9;17496:19;17487:6;17443:73;:::i;:::-;16859:664;;;;;;;;:::o

Swarm Source

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