ETH Price: $2,840.12 (+9.88%)
 

Overview

Max Total Supply

2,000,000,000 PETER

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,201,166.599670611556218611 PETER

Value
$0.00
0x2534d86B268B6e112bC4c0668E6F971E092f6F28
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PETER

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-07
*/

/***
$PETER
                     __
                       ",'.
                         ",\
                         / Y
        ,             _,'--.\
        \_-(         ;--(/\ )
          \'.         )6,6 /)
           \ \_       \ _, |_
            ', '--/'---'- /_/'-._
              '-'-L._  -|/      /-._     /
                     |      |-~'--._'-._/(,
                    ,_/>   /         ''--~
                    /\<_ _/
                   // "-'-'\
                  ,~-.   ._ )
                  /   \_/  '\
                 /   /   \   |
                /  /`    _\  |
               ( ,/  _.-' __.'
              / /  [((---'
             / /   ) )
            / /    \/
           K=/
          / _>
         )_/

Telegram: https://t.me/PeterPan_Portal

Website: https://PeterPanCoin.xyz/

Twitter: https://twitter.com/PeterPanCoin

***/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract PETER is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Peter Pan Coin";
    string private constant _symbol = "PETER";
    uint256 private constant _totalSupply = 2_000_000_000 * 10**18;
    uint256 public maxWalletlimit = 50_000_001 * 10**18; // 
    uint256 public maxTxLimit = 50_000_001 * 10**18;
    uint256 public minSwap = 200_000 * 10**18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable public marketingWallet;
    bool public isOpen = false;
    mapping(address => bool) public _whiteList;
    mapping (address => bool) public _isBlacklisted;

    uint256 public buyTax;
    uint256 public sellTax;
    uint8 private inSwapAndLiquify;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 10;
        sellTax = 20;


        _whiteList[msg.sender] = true;
        _whiteList[address(this)] = true;
        
        //
        _whiteList[address(0x09AFa2615F8376Ede6bab95486E3d2a72c900450)] = true;
        _whiteList[address(0x0c3b4e260D47fcA69A4928A045be1C2A252F1419)] = true;
        _whiteList[address(0xe50cA986217A24484371C6c720585B74D42A2Ab0)] = true;
        _whiteList[address(0x5390858c10e37917C9b917441a0d29B9e68cD645)] = true;
        _whiteList[address(0xB90f0704D76E78183936cDF0Ef41096d986653f5)] = true;
        _whiteList[address(0x423b76C96534a4c29F7D818F387C54f143F98992)] = true;
        _whiteList[address(0xe69B5f516AF52655Dfd1FB453c7cf8772c038fBc)] = true;
        _whiteList[address(0xEE0Bea34c0803d56B508Ff4EFb11Ba0bf98620aD)] = true;
        _whiteList[address(0x4049bB0e91594283eF9aFe86C8ae973d759ac82c)] = true;
        _whiteList[address(0xf2EdaaF1173Ff98bC1f7DcdB41B67dFfECBBAdB8)] = true;
        _whiteList[address(0x273FA66B3645e86884D521114D224Dcc2205e208)] = true;
        _whiteList[address(0x051CBf7c5936d2fBF48EE0ca49ee7EcE3528486f)] = true;
        _whiteList[address(0x64Cc1873FFD76101fE0DeDdBe1591C69F623Fc06)] = true;
        _whiteList[address(0x5624b845D7dcc7E3871c6992d3C45a7FC2CffFAa)] = true;
        _whiteList[address(0x91305Ec3B81EaF943fDF4543817ed0Ed54a1669E)] = true;
        _whiteList[address(0xE944401b2633Df6917C3eA7D8BBa3a90563e634c)] = true;
        _whiteList[address(0xd1A3506272954e4dc20097820069E09d961F0f2B)] = true;
        _whiteList[address(0xe63b3a00ddf9a9bb67df85D4F232C3067d17505c)] = true;
        _whiteList[address(0xb79FeB421b9cAD30aC7F74fFC8B431d3C8F18026)] = true;

        
        
        //
        _isExcludedFromFees[address(0x09AFa2615F8376Ede6bab95486E3d2a72c900450)] = true;
        _isExcludedFromFees[address(0x0c3b4e260D47fcA69A4928A045be1C2A252F1419)] = true;
        _isExcludedFromFees[address(0xe50cA986217A24484371C6c720585B74D42A2Ab0)] = true;
        _isExcludedFromFees[address(0x5390858c10e37917C9b917441a0d29B9e68cD645)] = true;
        _isExcludedFromFees[address(0xB90f0704D76E78183936cDF0Ef41096d986653f5)] = true;
        _isExcludedFromFees[address(0x423b76C96534a4c29F7D818F387C54f143F98992)] = true;
        _isExcludedFromFees[address(0xe69B5f516AF52655Dfd1FB453c7cf8772c038fBc)] = true;
        _isExcludedFromFees[address(0xEE0Bea34c0803d56B508Ff4EFb11Ba0bf98620aD)] = true;
        _isExcludedFromFees[address(0x4049bB0e91594283eF9aFe86C8ae973d759ac82c)] = true;
        _isExcludedFromFees[address(0xf2EdaaF1173Ff98bC1f7DcdB41B67dFfECBBAdB8)] = true;
        

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0x43eB6D376e10C92ffe99169D2F8B51CeC4d3fF04);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFees[marketingWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(uniswapV2Router)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }
    
    function RemoveLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
        maxTxLimit = _totalSupply;
    }
    

    function ChangeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax <= 10, "Must keep fees at 10% or less");
        require(newSellTax <= 10, "Must keep fees at 10% or less");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }
    
    function ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }
    
    function EnableTrading() external onlyOwner {
        isOpen = true;
    }
    
        //a
    function BlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
      }
    }
     
    function UnBlackListWallet(address[] calldata addresses) external onlyOwner {
      for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = false;
      }
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");
        require(!_isBlacklisted[from] && !_isBlacklisted[to], "To/from address is blacklisted!");
        require(isOpen || _whiteList[from] || _whiteList[to], "Not Open");

        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to).add(amount) <= maxWalletlimit);
                require(amount <= maxTxLimit, "Buy transfer amount exceeds the maxTxLimit.");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }
        


        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"BlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"ChangeMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"UnBlackListWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_whiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e06040526a295be97c44bd1d196400006001819055600255692a5a058fc295ed0000006003556004805460ff60a01b191690553480156200003f575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000f8919062000823565b6001600160a01b0390811660c052600a6007556014600855335f9081526005602090815260408083208054600160ff19918216811790925530855282852080548216831790557fe55d0704b56675ef8b2d2e2737ab77727f2116820a0ef2abf53cd0a991eb9de680548216831790557fd88accc0f4994fef1142ee11b92bc8b3fb46e186225f6887bd928eeb93c2909c80548216831790557f22514ee73ec4e464a7daaf3b0366e5b6fb6bdab53fd4aeac4e90ff3323b01df680548216831790557fca90a566f9cce91076eadb80658c379d9cd08d73afd5e64402e177efca2cc57c80548216831790557fd0771ae605da50aff49e20b7a5a1c47565a5d0fb8be9e32d049a05705078a5bd80548216831790557f9fdad40bb220967e1319c85c84a2f0f8b282e3cd9d45a06a7e5793de000077bf80548216831790557fa124deb3ad1979edeb4b4504b36d669e6049df9055f2bace38ca19e36b409d4a80548216831790557f7c7dc0ce4ded4dbd0ce440588fc506e008cf5999dd45d52e0ec7b33241d5ad0680548216831790557fe630b3d6793dab2b320fbdf4cc25bde2cf56433fb40076bad1c4107e720e223980548216831790557fb207a48943ba00b91ed22da0ce93fdaf13a2636911ffe75332208081b63ba58680548216831790557fb701c4409de906a25d763712fe59ef925093258489cf0b923cb0a6251faef63780548216831790557f0e6d2535cad188858669bc362fb4a6499a8f5bdfb7a6782aa96d24d51c6149e080548216831790557f9a2f3a74ae88c36341b9b77ddc7ddfec790d42287f27045e5ba9446733c5314f80548216831790557f85d0219139151f3f38955d1baef7eb63ca62c7cea1c5faaeb202e68b2cdfa2c880548216831790557faf2aa9e964a4cc6c80330459d2e014f453dc51c39d30ebf96b3df5f76bf9fc2980548216831790557f8c79eb0a73f8ba60356e79c786077cd5c5eaaf05497679b460cb8a9e07ba180d80548216831790557ffc2f1ce71bdd6917a5c003add1e2247f0068939485b2819b2a725eef57274a9c80548216831790557f981faaf1dd42e3620b4128f057129e3fc898c0211d6846bd58249231b9ec754580548216831790557f07a3a75c48270b8dbb679f89452afe044f1712ae247c2b51721b1e53edffd4cb8054821683179055600c84527fb26cfc2153342e573a6aead23fffe8d94eeb8c07a90425905e904f8255da5ad780548216831790557fbf7ae5a3da3f937caf1886501ab6d0b3c3f27833281c48e2f3dae6c5d16a51f280548216831790557f92c6bfc97109bb34d59e6f3d81b29e2ed3d8425821bc6df49e2c2099ba5a623980548216831790557f1575239bfcac1ea2f938fb2c299d0f9f89007bac78ab45e7a299b1857ba1a85180548216831790557fe2d6611255faa62d836c9f373a57aa0557db05a2cc2e9830367658f532e3e69080548216831790557f5bb467e0100cb8cde6349b1ba385debfd460c8511a514d97af849c881ca53b3780548216831790557fc97736170ddcf9d285145eef9c05ddf6171bc9e9f4d371b22a964389ee3122e480548216831790557fbd4651b27f4b6db88563a2a3d6719eb5de61327af2aa7f4fb545480cb303e76d80548216831790557f52422f373b6e3d61956a5ada88a8ef8fd5bb8f1806f5b96cfeb5ff77ec55ab2d805482168317905573f2edaaf1173ff98bc1f7dcdb41b67dffecbbadb89094527f08efd26756c1acfd4cdec93717b79b8c18a76ed32535df093c10f0ce9a6d4d8a805490941617909255608051825163c45a015560e01b8152925193169263c45a01559260048082019392918290030181865afa1580156200063a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000660919062000823565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af1158015620006af573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006d5919062000823565b6001600160a01b0390811660a052600480546001600160a01b0319167343eb6d376e10c92ffe99169d2f8b51cec4d3ff04178155335f818152600a602090815260408083206b06765c793fa10079d00000009055845486168352600c8252808320805460ff1990811660019081179092558585528285208054821683179055308086528386208054831684179055608051891680875284872080549093169093179091558452600b80845282852082865284528285205f199081905595855280845282852082865284528285208690559554909616835293815283822094825293909352912055620007c43390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b06765c793fa10079d00000006040516200081591815260200190565b60405180910390a362000852565b5f6020828403121562000834575f80fd5b81516001600160a01b03811681146200084b575f80fd5b9392505050565b60805160a05160c051611511620008845f395f610edc01525f8181610d3e0152610e1b01525f610f3701526115115ff3fe6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610519578063d50a72a61461052e578063dd62ed3e1461054d578063f2fde38b14610591575f80fd5b80638da5cb5b1461049257806395d89b41146104ae5780639d8f7706146104db578063a9059cbb146104fa575f80fd5b806374233c06116100cd57806374233c061461041257806375f0a874146104315780638036d5901461046857806389e40cf91461047d575f80fd5b806359cd9031146103b557806370a08231146103ca578063715018a6146103fe575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034d5780634f7041a51461036d5780635165943f1461038257806356cd40e7146103a1575f80fd5b806323b872dd146102f45780632f6bc9e714610313578063313ce56714610332575f80fd5b8063095ea7b311610198578063095ea7b31461026b57806318160ddd1461028a5780631cdd3be3146102b25780631d97b7cd146102e0575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611210565b6105b0565b005b3480156101f4575f80fd5b50610217610203366004611210565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152600e81526d2832ba32b9102830b71021b7b4b760911b60208201525b6040516102239190611229565b348015610276575f80fd5b50610217610285366004611275565b6105e7565b348015610295575f80fd5b506b06765c793fa10079d00000005b604051908152602001610223565b3480156102bd575f80fd5b506102176102cc366004611210565b60066020525f908152604090205460ff1681565b3480156102eb575f80fd5b506101e76105fd565b3480156102ff575f80fd5b5061021761030e36600461129d565b610627565b34801561031e575f80fd5b506101e761032d3660046112d6565b610677565b34801561033d575f80fd5b5060405160128152602001610223565b348015610358575f80fd5b5060045461021790600160a01b900460ff1681565b348015610378575f80fd5b506102a460075481565b34801561038d575f80fd5b506101e761039c3660046112f6565b61073e565b3480156103ac575f80fd5b506101e76107bc565b3480156103c0575f80fd5b506102a460035481565b3480156103d5575f80fd5b506102a46103e4366004611210565b6001600160a01b03165f908152600a602052604090205490565b348015610409575f80fd5b506101e76107e8565b34801561041d575f80fd5b506101e761042c366004611365565b610845565b34801561043c575f80fd5b50600454610450906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610473575f80fd5b506102a460025481565b348015610488575f80fd5b506102a460015481565b34801561049d575f80fd5b505f546001600160a01b0316610450565b3480156104b9575f80fd5b506040805180820190915260058152642822aa22a960d91b602082015261025e565b3480156104e6575f80fd5b506101e76104f536600461137c565b610872565b348015610505575f80fd5b50610217610514366004611275565b6108b1565b348015610524575f80fd5b506102a460085481565b348015610539575f80fd5b506101e76105483660046112f6565b6108bd565b348015610558575f80fd5b506102a46105673660046113b5565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059c575f80fd5b506101e76105ab366004611210565b610937565b5f546001600160a01b031633146105c5575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f3338484610958565b5060015b92915050565b5f546001600160a01b03163314610612575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610633848484610a7b565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066d9186916106689086906113fa565b610958565b5060019392505050565b5f546001600160a01b0316331461068c575f80fd5b600a8211156106e25760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107335760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106d9565b600791909155600855565b5f546001600160a01b03163314610753575f80fd5b5f5b818110156107b7575f60065f8585858181106107735761077361140d565b90506020020160208101906107889190611210565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610755565b505050565b5f546001600160a01b031633146107d1575f80fd5b6b06765c793fa10079d00000006001819055600255565b5f546001600160a01b031633146107fd575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461085a575f80fd5b61086c81670de0b6b3a7640000611421565b60035550565b5f546001600160a01b03163314610887575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f3338484610a7b565b5f546001600160a01b031633146108d2575f80fd5b5f5b818110156107b757600160065f8585858181106108f3576108f361140d565b90506020020160208101906109089190611210565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d4565b5f546001600160a01b0316331461094c575f80fd5b61095581611125565b50565b6001600160a01b0383166109ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d9565b6001600160a01b038216610a1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d9565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610adf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d9565b633b9aca008111610b255760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106d9565b6001600160a01b0383165f9081526006602052604090205460ff16158015610b6557506001600160a01b0382165f9081526006602052604090205460ff16155b610bb15760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106d9565b600454600160a01b900460ff1680610be057506001600160a01b0383165f9081526005602052604090205460ff165b80610c0257506001600160a01b0382165f9081526005602052604090205460ff165b610c395760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106d9565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7657506001600160a01b0383165f908152600c602052604090205460ff165b15610c8257505f610fba565b60095460ff16600103610d3c576001600160a01b0384165f908152600a602052604081208054849290610cb69084906113fa565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce2908490611438565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2e91815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610e1957600154610da083610d9a866001600160a01b03165f908152600a602052604090205490565b90611190565b1115610daa575f80fd5b600254821115610e105760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106d9565b50600754610fba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610fb757305f908152600a602052604090205460035481118015610e75575060095460ff16155b15610fad576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610eba57610eba61140d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0e57610f0e61140d565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000084169363791ac94793610f749388935f93899392169142910161144b565b5f604051808303815f87803b158015610f8b575f80fd5b505af1158015610f9d573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fba565b505f5b80156110f8575f6064610fcd8385611421565b610fd791906114bc565b90505f610fe482856113fa565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110109084906113fa565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103c908490611438565b9091555050305f908152600a60205260408120805484929061105f908490611438565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e991815260200190565b60405180910390a3505061111f565b6001600160a01b0384165f908152600a602052604081208054849290610cb69084906113fa565b50505050565b6001600160a01b038116611137575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119c8385611438565b9050838110156111ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d9565b9392505050565b80356001600160a01b038116811461120b575f80fd5b919050565b5f60208284031215611220575f80fd5b6111ee826111f5565b5f602080835283518060208501525f5b8181101561125557858101830151858201604001528201611239565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611286575f80fd5b61128f836111f5565b946020939093013593505050565b5f805f606084860312156112af575f80fd5b6112b8846111f5565b92506112c6602085016111f5565b9150604084013590509250925092565b5f80604083850312156112e7575f80fd5b50508035926020909101359150565b5f8060208385031215611307575f80fd5b823567ffffffffffffffff8082111561131e575f80fd5b818501915085601f830112611331575f80fd5b81358181111561133f575f80fd5b8660208260051b8501011115611353575f80fd5b60209290920196919550909350505050565b5f60208284031215611375575f80fd5b5035919050565b5f806040838503121561138d575f80fd5b611396836111f5565b9150602083013580151581146113aa575f80fd5b809150509250929050565b5f80604083850312156113c6575f80fd5b6113cf836111f5565b91506113dd602084016111f5565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f7576105f76113e6565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f7576105f76113e6565b808201808211156105f7576105f76113e6565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561149b5784516001600160a01b031683529383019391830191600101611476565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d657634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e34b76ae49813752bdcdcdbce238247eaf9560ed4393fcf5516f88209d22b26764736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c806359cd9031116100f25780638da5cb5b11610092578063cc1776d311610062578063cc1776d314610519578063d50a72a61461052e578063dd62ed3e1461054d578063f2fde38b14610591575f80fd5b80638da5cb5b1461049257806395d89b41146104ae5780639d8f7706146104db578063a9059cbb146104fa575f80fd5b806374233c06116100cd57806374233c061461041257806375f0a874146104315780638036d5901461046857806389e40cf91461047d575f80fd5b806359cd9031146103b557806370a08231146103ca578063715018a6146103fe575f80fd5b806323b872dd1161015d57806347535d7b1161013857806347535d7b1461034d5780634f7041a51461036d5780635165943f1461038257806356cd40e7146103a1575f80fd5b806323b872dd146102f45780632f6bc9e714610313578063313ce56714610332575f80fd5b8063095ea7b311610198578063095ea7b31461026b57806318160ddd1461028a5780631cdd3be3146102b25780631d97b7cd146102e0575f80fd5b806305d2743f146101c857806305d60ffb146101e957806306fdde031461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e2366004611210565b6105b0565b005b3480156101f4575f80fd5b50610217610203366004611210565b60056020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610237575f80fd5b5060408051808201909152600e81526d2832ba32b9102830b71021b7b4b760911b60208201525b6040516102239190611229565b348015610276575f80fd5b50610217610285366004611275565b6105e7565b348015610295575f80fd5b506b06765c793fa10079d00000005b604051908152602001610223565b3480156102bd575f80fd5b506102176102cc366004611210565b60066020525f908152604090205460ff1681565b3480156102eb575f80fd5b506101e76105fd565b3480156102ff575f80fd5b5061021761030e36600461129d565b610627565b34801561031e575f80fd5b506101e761032d3660046112d6565b610677565b34801561033d575f80fd5b5060405160128152602001610223565b348015610358575f80fd5b5060045461021790600160a01b900460ff1681565b348015610378575f80fd5b506102a460075481565b34801561038d575f80fd5b506101e761039c3660046112f6565b61073e565b3480156103ac575f80fd5b506101e76107bc565b3480156103c0575f80fd5b506102a460035481565b3480156103d5575f80fd5b506102a46103e4366004611210565b6001600160a01b03165f908152600a602052604090205490565b348015610409575f80fd5b506101e76107e8565b34801561041d575f80fd5b506101e761042c366004611365565b610845565b34801561043c575f80fd5b50600454610450906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b348015610473575f80fd5b506102a460025481565b348015610488575f80fd5b506102a460015481565b34801561049d575f80fd5b505f546001600160a01b0316610450565b3480156104b9575f80fd5b506040805180820190915260058152642822aa22a960d91b602082015261025e565b3480156104e6575f80fd5b506101e76104f536600461137c565b610872565b348015610505575f80fd5b50610217610514366004611275565b6108b1565b348015610524575f80fd5b506102a460085481565b348015610539575f80fd5b506101e76105483660046112f6565b6108bd565b348015610558575f80fd5b506102a46105673660046113b5565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b34801561059c575f80fd5b506101e76105ab366004611210565b610937565b5f546001600160a01b031633146105c5575f80fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105f3338484610958565b5060015b92915050565b5f546001600160a01b03163314610612575f80fd5b6004805460ff60a01b1916600160a01b179055565b5f610633848484610a7b565b6001600160a01b0384165f908152600b602090815260408083203380855292529091205461066d9186916106689086906113fa565b610958565b5060019392505050565b5f546001600160a01b0316331461068c575f80fd5b600a8211156106e25760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b600a8111156107335760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064016106d9565b600791909155600855565b5f546001600160a01b03163314610753575f80fd5b5f5b818110156107b7575f60065f8585858181106107735761077361140d565b90506020020160208101906107889190611210565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610755565b505050565b5f546001600160a01b031633146107d1575f80fd5b6b06765c793fa10079d00000006001819055600255565b5f546001600160a01b031633146107fd575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461085a575f80fd5b61086c81670de0b6b3a7640000611421565b60035550565b5f546001600160a01b03163314610887575f80fd5b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f6105f3338484610a7b565b5f546001600160a01b031633146108d2575f80fd5b5f5b818110156107b757600160065f8585858181106108f3576108f361140d565b90506020020160208101906109089190611210565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108d4565b5f546001600160a01b0316331461094c575f80fd5b61095581611125565b50565b6001600160a01b0383166109ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106d9565b6001600160a01b038216610a1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106d9565b6001600160a01b038381165f818152600b602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610adf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106d9565b633b9aca008111610b255760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b60448201526064016106d9565b6001600160a01b0383165f9081526006602052604090205460ff16158015610b6557506001600160a01b0382165f9081526006602052604090205460ff16155b610bb15760405162461bcd60e51b815260206004820152601f60248201527f546f2f66726f6d206164647265737320697320626c61636b6c6973746564210060448201526064016106d9565b600454600160a01b900460ff1680610be057506001600160a01b0383165f9081526005602052604090205460ff165b80610c0257506001600160a01b0382165f9081526005602052604090205460ff165b610c395760405162461bcd60e51b81526020600482015260086024820152672737ba1027b832b760c11b60448201526064016106d9565b6001600160a01b0383165f908152600c602052604081205460ff1680610c7657506001600160a01b0383165f908152600c602052604090205460ff165b15610c8257505f610fba565b60095460ff16600103610d3c576001600160a01b0384165f908152600a602052604081208054849290610cb69084906113fa565b90915550506001600160a01b0383165f908152600a602052604081208054849290610ce2908490611438565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d2e91815260200190565b60405180910390a350505050565b7f0000000000000000000000001306f8415e924557c8251c2dbead572c2ef74f756001600160a01b0316846001600160a01b031603610e1957600154610da083610d9a866001600160a01b03165f908152600a602052604090205490565b90611190565b1115610daa575f80fd5b600254821115610e105760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b60648201526084016106d9565b50600754610fba565b7f0000000000000000000000001306f8415e924557c8251c2dbead572c2ef74f756001600160a01b0316836001600160a01b031603610fb757305f908152600a602052604090205460035481118015610e75575060095460ff16155b15610fad576009805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610eba57610eba61140d565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0e57610f0e61140d565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84169363791ac94793610f749388935f93899392169142910161144b565b5f604051808303815f87803b158015610f8b575f80fd5b505af1158015610f9d573d5f803e3d5ffd5b50506009805460ff191690555050505b5050600854610fba565b505f5b80156110f8575f6064610fcd8385611421565b610fd791906114bc565b90505f610fe482856113fa565b6001600160a01b0387165f908152600a60205260408120805492935086929091906110109084906113fa565b90915550506001600160a01b0385165f908152600a60205260408120805483929061103c908490611438565b9091555050305f908152600a60205260408120805484929061105f908490611438565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e991815260200190565b60405180910390a3505061111f565b6001600160a01b0384165f908152600a602052604081208054849290610cb69084906113fa565b50505050565b6001600160a01b038116611137575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061119c8385611438565b9050838110156111ee5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d9565b9392505050565b80356001600160a01b038116811461120b575f80fd5b919050565b5f60208284031215611220575f80fd5b6111ee826111f5565b5f602080835283518060208501525f5b8181101561125557858101830151858201604001528201611239565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611286575f80fd5b61128f836111f5565b946020939093013593505050565b5f805f606084860312156112af575f80fd5b6112b8846111f5565b92506112c6602085016111f5565b9150604084013590509250925092565b5f80604083850312156112e7575f80fd5b50508035926020909101359150565b5f8060208385031215611307575f80fd5b823567ffffffffffffffff8082111561131e575f80fd5b818501915085601f830112611331575f80fd5b81358181111561133f575f80fd5b8660208260051b8501011115611353575f80fd5b60209290920196919550909350505050565b5f60208284031215611375575f80fd5b5035919050565b5f806040838503121561138d575f80fd5b611396836111f5565b9150602083013580151581146113aa575f80fd5b809150509250929050565b5f80604083850312156113c6575f80fd5b6113cf836111f5565b91506113dd602084016111f5565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105f7576105f76113e6565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176105f7576105f76113e6565b808201808211156105f7576105f76113e6565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561149b5784516001600160a01b031683529383019391830191600101611476565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114d657634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e34b76ae49813752bdcdcdbce238247eaf9560ed4393fcf5516f88209d22b26764736f6c63430008160033

Deployed Bytecode Sourcemap

3612:10549:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10873:135;;;;;;;;;;-1:-1:-1;10873:135:0;;;;;:::i;:::-;;:::i;:::-;;4279:42;;;;;;;;;;-1:-1:-1;4279:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;4279:42:0;;;;;;;;8318:83;;;;;;;;;;-1:-1:-1;8388:5:0;;;;;;;;;;;;-1:-1:-1;;;8388:5:0;;;;8318:83;;;;;;;:::i;9228:193::-;;;;;;;;;;-1:-1:-1;9228:193:0;;;;;:::i;:::-;;:::i;8595:100::-;;;;;;;;;;-1:-1:-1;3844:22:0;8595:100;;;1533:25:1;;;1521:2;1506:18;8595:100:0;1387:177:1;4328:47:0;;;;;;;;;;-1:-1:-1;4328:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11020:76;;;;;;;;;;;;;:::i;9429:350::-;;;;;;;;;;-1:-1:-1;9429:350:0;;;;;:::i;:::-;;:::i;10449:282::-;;;;;;;;;;-1:-1:-1;10449:282:0;;;;;:::i;:::-;;:::i;8504:83::-;;;;;;;;;;-1:-1:-1;8504:83:0;;4072:2;2297:36:1;;2285:2;2270:18;8504:83:0;2155:184:1;4246:26:0;;;;;;;;;;-1:-1:-1;4246:26:0;;;;-1:-1:-1;;;4246:26:0;;;;;;4384:21;;;;;;;;;;;;;;;;11323:192;;;;;;;;;;-1:-1:-1;11323:192:0;;;;;:::i;:::-;;:::i;10308:127::-;;;;;;;;;;;;;:::i;3989:41::-;;;;;;;;;;;;;;;;8703:118;;;;;;;;;;-1:-1:-1;8703:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;8796:17:0;8769:7;8796:17;;;:8;:17;;;;;;;8703:118;2421:140;;;;;;;;;;;;;:::i;10743:122::-;;;;;;;;;;-1:-1:-1;10743:122:0;;;;;:::i;:::-;;:::i;4201:38::-;;;;;;;;;;-1:-1:-1;4201:38:0;;;;-1:-1:-1;;;;;4201:38:0;;;;;;-1:-1:-1;;;;;3329:32:1;;;3311:51;;3299:2;3284:18;4201:38:0;3149:219:1;3935:47:0;;;;;;;;;;;;;;;;3873:51;;;;;;;;;;;;;;;;2155:79;;;;;;;;;;-1:-1:-1;2193:7:0;2220:6;-1:-1:-1;;;;;2220:6:0;2155:79;;8409:87;;;;;;;;;;-1:-1:-1;8481:7:0;;;;;;;;;;;;-1:-1:-1;;;8481:7:0;;;;8409:87;;10168:128;;;;;;;;;;-1:-1:-1;10168:128:0;;;;;:::i;:::-;;:::i;8829:199::-;;;;;;;;;;-1:-1:-1;8829:199:0;;;;;:::i;:::-;;:::i;4412:22::-;;;;;;;;;;;;;;;;11121:189;;;;;;;;;;-1:-1:-1;11121:189:0;;;;;:::i;:::-;;:::i;9036:184::-;;;;;;;;;;-1:-1:-1;9036:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9185:18:0;;;9153:7;9185:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9036:184;2569:109;;;;;;;;;;-1:-1:-1;2569:109:0;;;;;:::i;:::-;;:::i;10873:135::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;10963:15:::1;:37:::0;;-1:-1:-1;;;;;;10963:37:0::1;-1:-1:-1::0;;;;;10963:37:0;;;::::1;::::0;;;::::1;::::0;;10873:135::o;9228:193::-;9330:4;9352:39;1064:10;9375:7;9384:6;9352:8;:39::i;:::-;-1:-1:-1;9409:4:0;9228:193;;;;;:::o;11020:76::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;11075:6:::1;:13:::0;;-1:-1:-1;;;;11075:13:0::1;-1:-1:-1::0;;;11075:13:0::1;::::0;;11020:76::o;9429:350::-;9561:4;9578:36;9588:6;9596:9;9607:6;9578:9;:36::i;:::-;-1:-1:-1;;;;;9696:19:0;;;;;;:11;:19;;;;;;;;1064:10;9696:33;;;;;;;;;9625:124;;9648:6;;9696:42;;9732:6;;9696:42;:::i;:::-;9625:8;:124::i;:::-;-1:-1:-1;9767:4:0;9429:350;;;;;:::o;10449:282::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;10558:2:::1;10545:9;:15;;10537:57;;;::::0;-1:-1:-1;;;10537:57:0;;4665:2:1;10537:57:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;10537:57:0::1;;;;;;;;;10627:2;10613:10;:16;;10605:58;;;::::0;-1:-1:-1;;;10605:58:0;;4665:2:1;10605:58:0::1;::::0;::::1;4647:21:1::0;4704:2;4684:18;;;4677:30;4743:31;4723:18;;;4716:59;4792:18;;10605:58:0::1;4463:353:1::0;10605:58:0::1;10674:6;:18:::0;;;;10703:7:::1;:20:::0;10449:282::o;11323:192::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;11413:9:::1;11408:100;11424:20:::0;;::::1;11408:100;;;11493:5;11462:14;:28;11477:9;;11487:1;11477:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11462:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11462:28:0;:36;;-1:-1:-1;;11462:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11446:3:0::1;11408:100;;;;11323:192:::0;;:::o;10308:127::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;3844:22:::1;10362:14;:29:::0;;;10402:10:::1;:25:::0;10308:127::o;2421:140::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;2520:1:::1;2504:6:::0;;2483:40:::1;::::0;-1:-1:-1;;;;;2504:6:0;;::::1;::::0;2483:40:::1;::::0;2520:1;;2483:40:::1;2551:1;2534:19:::0;;-1:-1:-1;;;;;;2534:19:0::1;::::0;;2421:140::o;10743:122::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;10832:25:::1;:16:::0;10851:6:::1;10832:25;:::i;:::-;10822:7;:35:::0;-1:-1:-1;10743:122:0:o;10168:128::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;-1:-1:-1;;;;;10252:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;10252:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10168:128::o;8829:199::-;8934:4;8956:42;1064:10;8980:9;8991:6;8956:9;:42::i;11121:189::-;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;11209:9:::1;11204:99;11220:20:::0;;::::1;11204:99;;;11289:4;11258:14;:28;11273:9;;11283:1;11273:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11258:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11258:28:0;:35;;-1:-1:-1;;11258:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11242:3:0::1;11204:99;;2569:109:::0;2361:4;2399:6;-1:-1:-1;;;;;2399:6:0;2385:10;:20;2274:18;;;;;;2642:28:::1;2661:8;2642:18;:28::i;:::-;2569:109:::0;:::o;9787:369::-;-1:-1:-1;;;;;9914:19:0;;9906:68;;;;-1:-1:-1;;;9906:68:0;;5328:2:1;9906:68:0;;;5310:21:1;5367:2;5347:18;;;5340:30;5406:34;5386:18;;;5379:62;-1:-1:-1;;;5457:18:1;;;5450:34;5501:19;;9906:68:0;5126:400:1;9906:68:0;-1:-1:-1;;;;;9993:21:0;;9985:68;;;;-1:-1:-1;;;9985:68:0;;5733:2:1;9985:68:0;;;5715:21:1;5772:2;5752:18;;;5745:30;5811:34;5791:18;;;5784:62;-1:-1:-1;;;5862:18:1;;;5855:32;5904:19;;9985:68:0;5531:398:1;9985:68:0;-1:-1:-1;;;;;10064:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10116:32;;1533:25:1;;;10116:32:0;;1506:18:1;10116:32:0;;;;;;;9787:369;;;:::o;11523:2598::-;-1:-1:-1;;;;;11645:18:0;;11637:68;;;;-1:-1:-1;;;11637:68:0;;6136:2:1;11637:68:0;;;6118:21:1;6175:2;6155:18;;;6148:30;6214:34;6194:18;;;6187:62;-1:-1:-1;;;6265:18:1;;;6258:35;6310:19;;11637:68:0;5934:401:1;11637:68:0;11733:3;11724:6;:12;11716:41;;;;-1:-1:-1;;;11716:41:0;;6542:2:1;11716:41:0;;;6524:21:1;6581:2;6561:18;;;6554:30;-1:-1:-1;;;6600:18:1;;;6593:46;6656:18;;11716:41:0;6340:340:1;11716:41:0;-1:-1:-1;;;;;11777:20:0;;;;;;:14;:20;;;;;;;;11776:21;:44;;;;-1:-1:-1;;;;;;11802:18:0;;;;;;:14;:18;;;;;;;;11801:19;11776:44;11768:88;;;;-1:-1:-1;;;11768:88:0;;6887:2:1;11768:88:0;;;6869:21:1;6926:2;6906:18;;;6899:30;6965:33;6945:18;;;6938:61;7016:18;;11768:88:0;6685:355:1;11768:88:0;11875:6;;-1:-1:-1;;;11875:6:0;;;;;:26;;-1:-1:-1;;;;;;11885:16:0;;;;;;:10;:16;;;;;;;;11875:26;:44;;;-1:-1:-1;;;;;;11905:14:0;;;;;;:10;:14;;;;;;;;11875:44;11867:65;;;;-1:-1:-1;;;11867:65:0;;7247:2:1;11867:65:0;;;7229:21:1;7286:1;7266:18;;;7259:29;-1:-1:-1;;;7304:18:1;;;7297:38;7352:18;;11867:65:0;7045:331:1;11867:65:0;-1:-1:-1;;;;;11972:25:0;;11945:12;11972:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;12001:23:0;;;;;;:19;:23;;;;;;;;11972:52;11968:1484;;;-1:-1:-1;12048:1:0;11968:1484;;;12088:16;;;;;:21;12084:239;;-1:-1:-1;;;;;12165:14:0;;;;;;:8;:14;;;;;:24;;12183:6;;12165:14;:24;;12183:6;;12165:24;:::i;:::-;;;;-1:-1:-1;;;;;;;12208:12:0;;;;;;:8;:12;;;;;:22;;12224:6;;12208:12;:22;;12224:6;;12208:22;:::i;:::-;;;;;;;;12271:2;-1:-1:-1;;;;;12256:26:0;12265:4;-1:-1:-1;;;;;12256:26:0;;12275:6;12256:26;;;;1533:25:1;;1521:2;1506:18;;1387:177;12256:26:0;;;;;;;;12301:7;11523:2598;;;:::o;12084:239::-;12351:13;-1:-1:-1;;;;;12343:21:0;:4;-1:-1:-1;;;;;12343:21:0;;12339:1102;;12422:14;;12393:25;12411:6;12393:13;12403:2;-1:-1:-1;;;;;8796:17:0;8769:7;8796:17;;;:8;:17;;;;;;;8703:118;12393:13;:17;;:25::i;:::-;:43;;12385:52;;;;;;12474:10;;12464:6;:20;;12456:76;;;;-1:-1:-1;;;12456:76:0;;7713:2:1;12456:76:0;;;7695:21:1;7752:2;7732:18;;;7725:30;7791:34;7771:18;;;7764:62;-1:-1:-1;;;7842:18:1;;;7835:41;7893:19;;12456:76:0;7511:407:1;12456:76:0;-1:-1:-1;12558:6:0;;12339:1102;;;12596:13;-1:-1:-1;;;;;12590:19:0;:2;-1:-1:-1;;;;;12590:19:0;;12586:855;;12670:4;12630:20;12653:23;;;:8;:23;;;;;;12714:7;;12699:22;;:47;;;;-1:-1:-1;12725:16:0;;;;:21;12699:47;12695:649;;;12771:16;:20;;-1:-1:-1;;12771:20:0;12790:1;12771:20;;;12838:16;;;12852:1;12838:16;;;;;;;;-1:-1:-1;;12838:16:0;;;;;;;;;;-1:-1:-1;12838:16:0;12814:40;;12895:4;12877;12882:1;12877:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;12877:23:0;;;-1:-1:-1;;;;;12877:23:0;;;;;12933:4;12923;12928:1;12923:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12923:14:0;;;:7;;;;;;;;;:14;13193:15;;;12960:321;;-1:-1:-1;;;12960:321:0;;:15;:92;;;;;:321;;13083:12;;13126:1;;13158:4;;13193:15;;;13239;;12960:321;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13304:16:0;:20;;-1:-1:-1;;13304:20:0;;;-1:-1:-1;;;12695:649:0;-1:-1:-1;;13369:7:0;;12586:855;;;-1:-1:-1;13424:1:0;12586:855;13525:9;;13521:593;;13579:17;13617:3;13600:13;13609:4;13600:6;:13;:::i;:::-;13599:21;;;;:::i;:::-;13579:41;-1:-1:-1;13635:22:0;13660:18;13579:41;13660:6;:18;:::i;:::-;-1:-1:-1;;;;;13695:14:0;;;;;;:8;:14;;;;;:24;;13635:43;;-1:-1:-1;13713:6:0;;13695:14;;;:24;;13713:6;;13695:24;:::i;:::-;;;;-1:-1:-1;;;;;;;13734:12:0;;;;;;:8;:12;;;;;:30;;13750:14;;13734:12;:30;;13750:14;;13734:30;:::i;:::-;;;;-1:-1:-1;;13796:4:0;13779:23;;;;:8;:23;;;;;:36;;13806:9;;13779:23;:36;;13806:9;;13779:36;:::i;:::-;;;;-1:-1:-1;;13835:40:0;;1533:25:1;;;13858:4:0;;-1:-1:-1;;;;;13835:40:0;;;;;1521:2:1;1506:18;13835:40:0;;;;;;;13910:2;-1:-1:-1;;;;;13895:34:0;13904:4;-1:-1:-1;;;;;13895:34:0;;13914:14;13895:34;;;;1533:25:1;;1521:2;1506:18;;1387:177;13895:34:0;;;;;;;;13536:405;;13521:593;;;-1:-1:-1;;;;;13993:14:0;;;;;;:8;:14;;;;;:24;;14011:6;;13993:14;:24;;14011:6;;13993:24;:::i;13521:593::-;11626:2495;11523:2598;;;:::o;2686:187::-;-1:-1:-1;;;;;2760:22:0;;2752:31;;;;;;2820:6;;;2799:38;;-1:-1:-1;;;;;2799:38:0;;;;2820:6;;;2799:38;;;2848:6;:17;;-1:-1:-1;;;;;;2848:17:0;-1:-1:-1;;;;;2848:17:0;;;;;;;;;;2686:187::o;2906:181::-;2964:7;;2996:5;3000:1;2996;:5;:::i;:::-;2984:17;;3025:1;3020;:6;;3012:46;;;;-1:-1:-1;;;3012:46:0;;9472:2:1;3012:46:0;;;9454:21:1;9511:2;9491:18;;;9484:30;9550:29;9530:18;;;9523:57;9597:18;;3012:46:0;9270:351:1;3012:46:0;3078:1;2906:181;-1:-1:-1;;;2906:181:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;575:548::-;687:4;716:2;745;734:9;727:21;777:6;771:13;820:6;815:2;804:9;800:18;793:34;845:1;855:140;869:6;866:1;863:13;855:140;;;964:14;;;960:23;;954:30;930:17;;;949:2;926:26;919:66;884:10;;855:140;;;859:3;1044:1;1039:2;1030:6;1019:9;1015:22;1011:31;1004:42;1114:2;1107;1103:7;1098:2;1090:6;1086:15;1082:29;1071:9;1067:45;1063:54;1055:62;;;;575:548;;;;:::o;1128:254::-;1196:6;1204;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;1296:29;1315:9;1296:29;:::i;:::-;1286:39;1372:2;1357:18;;;;1344:32;;-1:-1:-1;;;1128:254:1:o;1569:328::-;1646:6;1654;1662;1715:2;1703:9;1694:7;1690:23;1686:32;1683:52;;;1731:1;1728;1721:12;1683:52;1754:29;1773:9;1754:29;:::i;:::-;1744:39;;1802:38;1836:2;1825:9;1821:18;1802:38;:::i;:::-;1792:48;;1887:2;1876:9;1872:18;1859:32;1849:42;;1569:328;;;;;:::o;1902:248::-;1970:6;1978;2031:2;2019:9;2010:7;2006:23;2002:32;1999:52;;;2047:1;2044;2037:12;1999:52;-1:-1:-1;;2070:23:1;;;2140:2;2125:18;;;2112:32;;-1:-1:-1;1902:248:1:o;2344:615::-;2430:6;2438;2491:2;2479:9;2470:7;2466:23;2462:32;2459:52;;;2507:1;2504;2497:12;2459:52;2547:9;2534:23;2576:18;2617:2;2609:6;2606:14;2603:34;;;2633:1;2630;2623:12;2603:34;2671:6;2660:9;2656:22;2646:32;;2716:7;2709:4;2705:2;2701:13;2697:27;2687:55;;2738:1;2735;2728:12;2687:55;2778:2;2765:16;2804:2;2796:6;2793:14;2790:34;;;2820:1;2817;2810:12;2790:34;2873:7;2868:2;2858:6;2855:1;2851:14;2847:2;2843:23;2839:32;2836:45;2833:65;;;2894:1;2891;2884:12;2833:65;2925:2;2917:11;;;;;2947:6;;-1:-1:-1;2344:615:1;;-1:-1:-1;;;;2344:615:1:o;2964:180::-;3023:6;3076:2;3064:9;3055:7;3051:23;3047:32;3044:52;;;3092:1;3089;3082:12;3044:52;-1:-1:-1;3115:23:1;;2964:180;-1:-1:-1;2964:180:1:o;3581:347::-;3646:6;3654;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;3746:29;3765:9;3746:29;:::i;:::-;3736:39;;3825:2;3814:9;3810:18;3797:32;3872:5;3865:13;3858:21;3851:5;3848:32;3838:60;;3894:1;3891;3884:12;3838:60;3917:5;3907:15;;;3581:347;;;;;:::o;3933:260::-;4001:6;4009;4062:2;4050:9;4041:7;4037:23;4033:32;4030:52;;;4078:1;4075;4068:12;4030:52;4101:29;4120:9;4101:29;:::i;:::-;4091:39;;4149:38;4183:2;4172:9;4168:18;4149:38;:::i;:::-;4139:48;;3933:260;;;;;:::o;4198:127::-;4259:10;4254:3;4250:20;4247:1;4240:31;4290:4;4287:1;4280:15;4314:4;4311:1;4304:15;4330:128;4397:9;;;4418:11;;;4415:37;;;4432:18;;:::i;4821:127::-;4882:10;4877:3;4873:20;4870:1;4863:31;4913:4;4910:1;4903:15;4937:4;4934:1;4927:15;4953:168;5026:9;;;5057;;5074:15;;;5068:22;;5054:37;5044:71;;5095:18;;:::i;7381:125::-;7446:9;;;7467:10;;;7464:36;;;7480:18;;:::i;8055:988::-;8325:4;8373:3;8362:9;8358:19;8404:6;8393:9;8386:25;8430:2;8468:6;8463:2;8452:9;8448:18;8441:34;8511:3;8506:2;8495:9;8491:18;8484:31;8535:6;8570;8564:13;8601:6;8593;8586:22;8639:3;8628:9;8624:19;8617:26;;8678:2;8670:6;8666:15;8652:29;;8699:1;8709:195;8723:6;8720:1;8717:13;8709:195;;;8788:13;;-1:-1:-1;;;;;8784:39:1;8772:52;;8879:15;;;;8844:12;;;;8820:1;8738:9;8709:195;;;-1:-1:-1;;;;;;;8960:32:1;;;;8955:2;8940:18;;8933:60;-1:-1:-1;;;9024:3:1;9009:19;9002:35;8921:3;8055:988;-1:-1:-1;;;8055:988:1:o;9048:217::-;9088:1;9114;9104:132;;9158:10;9153:3;9149:20;9146:1;9139:31;9193:4;9190:1;9183:15;9221:4;9218:1;9211:15;9104:132;-1:-1:-1;9250:9:1;;9048:217::o

Swarm Source

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