ETH Price: $2,302.07 (+1.64%)

Token

X Token ($X)
 

Overview

Max Total Supply

21,000,000 $X

Holders

108

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
9,179.77664921967804722 $X

Value
$0.00
0x482d24172db695a22593baaf520a4dcaee15bceb
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:
ERC20

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-04
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IUniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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

abstract contract Ownable {
    address internal _owner;

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

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

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

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

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 2;
    uint256 public _sellFundFee = 2;

    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        _name = "X Token";
        _symbol = "$X";
        _decimals = 18;
        uint256 Supply = 21000000;
        
        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;
        require(_totalSupply < ~uint112(0),"high decimals");

        address receiveAddr = 0xdAB3aD3357faC8D6e5500570CFf5c6B1F03c5511;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = 0x7a3F25291aDaa2E1B569872Ecef3aDc67d07F03E;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;
    }

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function DesignTax(
        uint256 newBuyFundFee,
        uint256 newSellFundFee
    ) public onlyOwner{
        _buyFundFee = newBuyFundFee;
        _sellFundFee = newSellFundFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(tradingBlock > 0,"!trading");
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

    uint256 public tradingBlock;
    function enableTrading() public onlyOwner{
        require(tradingBlock == 0,"already trading");
        tradingBlock = block.number;
    }

    function closeTrading() public onlyOwner{
        tradingBlock = 0;
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch {}

    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    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":"uint256","name":"newBuyFundFee","type":"uint256"},{"internalType":"uint256","name":"newSellFundFee","type":"uint256"}],"name":"DesignTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"closeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","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":[],"name":"tradingBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526002600c556002600d553480156200001b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260078152662c102a37b5b2b760c91b60208201526004906200008a9082620004c3565b50604080518082019091526002815261048b60f31b6020820152600590620000b39082620004c3565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b815290516301406f40949392849263c45a015592600480830193928290030181865afa15801562000148573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016e91906200058f565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e791906200058f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025b91906200058f565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002aa9160ff1690620006d6565b620002b69085620006e7565b60088190556001600160701b0311620003055760405162461bcd60e51b815260206004820152600d60248201526c6869676820646563696d616c7360981b604482015260640160405180910390fd5b60085473dab3ad3357fac8d6e5500570cff5c6b1f03c55116000818152600160209081527f3ca2cfb4ab16b69cc77cac877ba45766d50184c361ae50ad836c1a458763e0f0849055604051938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b031916737a3f25291adaa2e1b569872ecef3adc67d07f03e17815530600090815260076020526040808220805460ff1990811660019081179092556001600160a01b0398891684528284208054821683179055338452828420805482168317905594881683528183208054861682179055925490961681529490942080549091169093179092555062000701915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044957607f821691505b6020821081036200046a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004be57600081815260208120601f850160051c81016020861015620004995750805b601f850160051c820191505b81811015620004ba57828155600101620004a5565b5050505b505050565b81516001600160401b03811115620004df57620004df6200041e565b620004f781620004f0845462000434565b8462000470565b602080601f8311600181146200052f5760008415620005165750858301515b600019600386901b1c1916600185901b178555620004ba565b600085815260208120601f198616915b8281101562000560578886015182559484019460019091019084016200053f565b50858210156200057f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005a257600080fd5b81516001600160a01b0381168114620005ba57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000618578160001904821115620005fc57620005fc620005c1565b808516156200060a57918102915b93841c9390800290620005dc565b509250929050565b6000826200063157506001620006d0565b816200064057506000620006d0565b8160018114620006595760028114620006645762000684565b6001915050620006d0565b60ff841115620006785762000678620005c1565b50506001821b620006d0565b5060208310610133831016604e8410600b8410161715620006a9575081810a620006d0565b620006b58383620005d7565b8060001904821115620006cc57620006cc620005c1565b0290505b92915050565b6000620005ba60ff84168362000620565b8082028115828204841417620006d057620006d0620005c1565b61115680620007116000396000f3fe60806040526004361061016a5760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063ce0192f911610064578063ce0192f914610440578063dd62ed3e14610456578063e82bef291461049c578063f2fde38b146104bc57600080fd5b8063a9059cbb146103ea578063c447ba1a1461040a578063cd51e6d41461042a57600080fd5b8063715018a614610358578063863587cd1461036d5780638a8c523c1461038d5780638da5cb5b146103a257806395d89b41146103c057806397a98955146103d557600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633ecad271146102785780634bf28fd0146102a857806365b61b77146102e05780636f39cfcd1461030057806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104dc565b6040516101989190610e1d565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610e83565b61056e565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004610eaf565b610585565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d366004610ef0565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600d5481565b34801561028457600080fd5b506101c1610293366004610ef0565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b50600e546102c8906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b3480156102ec57600080fd5b506009546102c8906001600160a01b031681565b34801561030c57600080fd5b5061032061031b366004610ef0565b61061c565b005b34801561032e57600080fd5b506101e261033d366004610ef0565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b50610320610671565b34801561037957600080fd5b50610320610388366004610f14565b6106e5565b34801561039957600080fd5b5061032061073a565b3480156103ae57600080fd5b506000546001600160a01b03166102c8565b3480156103cc57600080fd5b5061018b6107ac565b3480156103e157600080fd5b506103206107bb565b3480156103f657600080fd5b506101c1610405366004610e83565b6107ec565b34801561041657600080fd5b50610320610425366004610f52565b6107f9565b34801561043657600080fd5b506101e2600f5481565b34801561044c57600080fd5b506101e2600c5481565b34801561046257600080fd5b506101e2610471366004610f74565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104a857600080fd5b506003546102c8906001600160a01b031681565b3480156104c857600080fd5b506103206104d7366004610ef0565b61082e565b6060600480546104eb90610fa2565b80601f016020809104026020016040519081016040528092919081815260200182805461051790610fa2565b80156105645780601f1061053957610100808354040283529160200191610564565b820191906000526020600020905b81548152906001019060200180831161054757829003601f168201915b5050505050905090565b600061057b3384846108f4565b5060015b92915050565b6000610592848484610955565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610612576001600160a01b03841660009081526002602090815260408083203384529091529020546105ed908390610ff2565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611005565b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461069b5760405162461bcd60e51b815260040161064690611005565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260040161064690611005565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107645760405162461bcd60e51b815260040161064690611005565b600f54156107a65760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b6044820152606401610646565b43600f55565b6060600580546104eb90610fa2565b6000546001600160a01b031633146107e55760405162461bcd60e51b815260040161064690611005565b6000600f55565b600061057b338484610955565b6000546001600160a01b031633146108235760405162461bcd60e51b815260040161064690611005565b600c91909155600d55565b6000546001600160a01b031633146108585760405162461bcd60e51b815260040161064690611005565b6001600160a01b0381166108995760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610646565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260016020526040902054818110156109b15760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610646565b6001600160a01b0383166000908152600a6020526040812054819060ff1680156109de5750600b5460ff16155b8015610a0357506001600160a01b03861660009081526007602052604090205460ff16155b8015610a2857506001600160a01b03851660009081526007602052604090205460ff16155b15610a6257306000908152600160205260409020548015610a605784818111610a515780610a53565b815b9050610a5e81610b34565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610aa457506001600160a01b03851660009081526007602052604090205460ff16155b8015610ab35750600b5460ff16155b15610afa576000600f5411610af55760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b6044820152606401610646565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b1f575060015b610b2c8686868585610c8c565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610b7657610b76611030565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf39190611046565b81600181518110610c0657610c06611030565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610c529287926000928892909116904290600401611063565b600060405180830381600087803b158015610c6c57600080fd5b505af1925050508015610c7d575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610cb0908490610ff2565b6001600160a01b0386166000908152600160205260408120919091558215610d8d5760008215610ce35750600d54610ce8565b50600c545b60006064610cf683886110d4565b610d0091906110eb565b90508015610d8a57610d12818461110d565b30600090815260016020526040902054909350610d3090829061110d565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d819085815260200190565b60405180910390a35b50505b610d978185610ff2565b6001600160a01b038616600090815260016020526040902054610dba919061110d565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e048488610ff2565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b81811015610e4a57858101830151858201604001528201610e2e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8057600080fd5b50565b60008060408385031215610e9657600080fd5b8235610ea181610e6b565b946020939093013593505050565b600080600060608486031215610ec457600080fd5b8335610ecf81610e6b565b92506020840135610edf81610e6b565b929592945050506040919091013590565b600060208284031215610f0257600080fd5b8135610f0d81610e6b565b9392505050565b60008060408385031215610f2757600080fd5b8235610f3281610e6b565b915060208301358015158114610f4757600080fd5b809150509250929050565b60008060408385031215610f6557600080fd5b50508035926020909101359150565b60008060408385031215610f8757600080fd5b8235610f9281610e6b565b91506020830135610f4781610e6b565b600181811c90821680610fb657607f821691505b602082108103610fd657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561057f5761057f610fdc565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561105857600080fd5b8151610f0d81610e6b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110b35784516001600160a01b03168352938301939183019160010161108e565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761057f5761057f610fdc565b60008261110857634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561057f5761057f610fdc56fea2646970667358221220a11955df3afb2cde122e7fa9b1bf2e072b16849f6811dac9afe8ad62ba8c8be864736f6c63430008110033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c8063715018a6116100d1578063a9059cbb1161008a578063ce0192f911610064578063ce0192f914610440578063dd62ed3e14610456578063e82bef291461049c578063f2fde38b146104bc57600080fd5b8063a9059cbb146103ea578063c447ba1a1461040a578063cd51e6d41461042a57600080fd5b8063715018a614610358578063863587cd1461036d5780638a8c523c1461038d5780638da5cb5b146103a257806395d89b41146103c057806397a98955146103d557600080fd5b80633bfe62ca116101235780633bfe62ca146102625780633ecad271146102785780634bf28fd0146102a857806365b61b77146102e05780636f39cfcd1461030057806370a082311461032257600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806336b2e0271461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104dc565b6040516101989190610e1d565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610e83565b61056e565b6040519015158152602001610198565b3480156101dd57600080fd5b506008545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004610eaf565b610585565b34801561021c57600080fd5b5060065460405160ff9091168152602001610198565b34801561023e57600080fd5b506101c161024d366004610ef0565b60076020526000908152604090205460ff1681565b34801561026e57600080fd5b506101e2600d5481565b34801561028457600080fd5b506101c1610293366004610ef0565b600a6020526000908152604090205460ff1681565b3480156102b457600080fd5b50600e546102c8906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b3480156102ec57600080fd5b506009546102c8906001600160a01b031681565b34801561030c57600080fd5b5061032061031b366004610ef0565b61061c565b005b34801561032e57600080fd5b506101e261033d366004610ef0565b6001600160a01b031660009081526001602052604090205490565b34801561036457600080fd5b50610320610671565b34801561037957600080fd5b50610320610388366004610f14565b6106e5565b34801561039957600080fd5b5061032061073a565b3480156103ae57600080fd5b506000546001600160a01b03166102c8565b3480156103cc57600080fd5b5061018b6107ac565b3480156103e157600080fd5b506103206107bb565b3480156103f657600080fd5b506101c1610405366004610e83565b6107ec565b34801561041657600080fd5b50610320610425366004610f52565b6107f9565b34801561043657600080fd5b506101e2600f5481565b34801561044c57600080fd5b506101e2600c5481565b34801561046257600080fd5b506101e2610471366004610f74565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104a857600080fd5b506003546102c8906001600160a01b031681565b3480156104c857600080fd5b506103206104d7366004610ef0565b61082e565b6060600480546104eb90610fa2565b80601f016020809104026020016040519081016040528092919081815260200182805461051790610fa2565b80156105645780601f1061053957610100808354040283529160200191610564565b820191906000526020600020905b81548152906001019060200180831161054757829003601f168201915b5050505050905090565b600061057b3384846108f4565b5060015b92915050565b6000610592848484610955565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610612576001600160a01b03841660009081526002602090815260408083203384529091529020546105ed908390610ff2565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611005565b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461069b5760405162461bcd60e51b815260040161064690611005565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260040161064690611005565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107645760405162461bcd60e51b815260040161064690611005565b600f54156107a65760405162461bcd60e51b815260206004820152600f60248201526e616c72656164792074726164696e6760881b6044820152606401610646565b43600f55565b6060600580546104eb90610fa2565b6000546001600160a01b031633146107e55760405162461bcd60e51b815260040161064690611005565b6000600f55565b600061057b338484610955565b6000546001600160a01b031633146108235760405162461bcd60e51b815260040161064690611005565b600c91909155600d55565b6000546001600160a01b031633146108585760405162461bcd60e51b815260040161064690611005565b6001600160a01b0381166108995760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610646565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260016020526040902054818110156109b15760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610646565b6001600160a01b0383166000908152600a6020526040812054819060ff1680156109de5750600b5460ff16155b8015610a0357506001600160a01b03861660009081526007602052604090205460ff16155b8015610a2857506001600160a01b03851660009081526007602052604090205460ff16155b15610a6257306000908152600160205260409020548015610a605784818111610a515780610a53565b815b9050610a5e81610b34565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610aa457506001600160a01b03851660009081526007602052604090205460ff16155b8015610ab35750600b5460ff16155b15610afa576000600f5411610af55760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b6044820152606401610646565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b1f575060015b610b2c8686868585610c8c565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610b7657610b76611030565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610bcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf39190611046565b81600181518110610c0657610c06611030565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610c529287926000928892909116904290600401611063565b600060405180830381600087803b158015610c6c57600080fd5b505af1925050508015610c7d575060015b505050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610cb0908490610ff2565b6001600160a01b0386166000908152600160205260408120919091558215610d8d5760008215610ce35750600d54610ce8565b50600c545b60006064610cf683886110d4565b610d0091906110eb565b90508015610d8a57610d12818461110d565b30600090815260016020526040902054909350610d3090829061110d565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d819085815260200190565b60405180910390a35b50505b610d978185610ff2565b6001600160a01b038616600090815260016020526040902054610dba919061110d565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e048488610ff2565b60405190815260200160405180910390a3505050505050565b600060208083528351808285015260005b81811015610e4a57858101830151858201604001528201610e2e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8057600080fd5b50565b60008060408385031215610e9657600080fd5b8235610ea181610e6b565b946020939093013593505050565b600080600060608486031215610ec457600080fd5b8335610ecf81610e6b565b92506020840135610edf81610e6b565b929592945050506040919091013590565b600060208284031215610f0257600080fd5b8135610f0d81610e6b565b9392505050565b60008060408385031215610f2757600080fd5b8235610f3281610e6b565b915060208301358015158114610f4757600080fd5b809150509250929050565b60008060408385031215610f6557600080fd5b50508035926020909101359150565b60008060408385031215610f8757600080fd5b8235610f9281610e6b565b91506020830135610f4781610e6b565b600181811c90821680610fb657607f821691505b602082108103610fd657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561057f5761057f610fdc565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561105857600080fd5b8151610f0d81610e6b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110b35784516001600160a01b03168352938301939183019160010161108e565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761057f5761057f610fdc565b60008261110857634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561057f5761057f610fdc56fea2646970667358221220a11955df3afb2cde122e7fa9b1bf2e072b16849f6811dac9afe8ad62ba8c8be864736f6c63430008110033

Deployed Bytecode Sourcemap

2293:6773:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4495:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5258:159;;;;;;;;;;-1:-1:-1;5258:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5258:159:0;1023:187:1;4699:100:0;;;;;;;;;;-1:-1:-1;4779:12:0;;4699:100;;;1361:25:1;;;1349:2;1334:18;4699:100:0;1215:177:1;5425:336:0;;;;;;;;;;-1:-1:-1;5425:336:0;;;;;:::i;:::-;;:::i;4597:94::-;;;;;;;;;;-1:-1:-1;4674:9:0;;4597:94;;4674:9;;;;2000:36:1;;1988:2;1973:18;4597:94:0;1858:184:1;2585:49:0;;;;;;;;;;-1:-1:-1;2585:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2896:31;;;;;;;;;;;;;;;;2729:44;;;;;;;;;;-1:-1:-1;2729:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2936:27;;;;;;;;;;-1:-1:-1;2936:27:0;;;;-1:-1:-1;;;;;2936:27:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;2936:27:0;2299:203:1;2684:36:0;;;;;;;;;;-1:-1:-1;2684:36:0;;;;-1:-1:-1;;;;;2684:36:0;;;4287:94;;;;;;;;;;-1:-1:-1;4287:94:0;;;;;:::i;:::-;;:::i;:::-;;4807:119;;;;;;;;;;-1:-1:-1;4807:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4900:18:0;4873:7;4900:18;;;:9;:18;;;;;;;4807:119;1916:148;;;;;;;;;;;;;:::i;8898:128::-;;;;;;;;;;-1:-1:-1;8898:128:0;;;;;:::i;:::-;;:::i;7286:142::-;;;;;;;;;;;;;:::i;1719:79::-;;;;;;;;;;-1:-1:-1;1757:7:0;1784:6;-1:-1:-1;;;;;1784:6:0;1719:79;;4389:98;;;;;;;;;;;;;:::i;7436:75::-;;;;;;;;;;;;;:::i;4934:165::-;;;;;;;;;;-1:-1:-1;4934:165:0;;;;;:::i;:::-;;:::i;5769:193::-;;;;;;;;;;-1:-1:-1;5769:193:0;;;;;:::i;:::-;;:::i;7252:27::-;;;;;;;;;;;;;;;;2859:30;;;;;;;;;;;;;;;;5107:143;;;;;;;;;;-1:-1:-1;5107:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5215:18:0;;;5188:7;5215:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5107:143;2462:26;;;;;;;;;;-1:-1:-1;2462:26:0;;;;-1:-1:-1;;;;;2462:26:0;;;2072:214;;;;;;;;;;-1:-1:-1;2072:214:0;;;;;:::i;:::-;;:::i;4495:94::-;4543:13;4576:5;4569:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4495:94;:::o;5258:159::-;5333:4;5350:37;5359:10;5371:7;5380:6;5350:8;:37::i;:::-;-1:-1:-1;5405:4:0;5258:159;;;;;:::o;5425:336::-;5523:4;5540:36;5550:6;5558:9;5569:6;5540:9;:36::i;:::-;-1:-1:-1;;;;;5591:19:0;;2848:1;5591:19;;;:11;:19;;;;;;;;5611:10;5591:31;;;;;;;;-1:-1:-1;;5591:38:0;5587:145;;-1:-1:-1;;;;;5680:19:0;;;;;;:11;:19;;;;;;;;5700:10;5680:31;;;;;;;;:40;;5714:6;;5680:40;:::i;:::-;-1:-1:-1;;;;;5646:19:0;;;;;;:11;:19;;;;;;;;5666:10;5646:31;;;;;;;:74;5587:145;-1:-1:-1;5749:4:0;5425:336;;;;;:::o;4287:94::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;;;;;;;;;4352:11:::1;:21:::0;;-1:-1:-1;;;;;;4352:21:0::1;-1:-1:-1::0;;;;;4352:21:0;;;::::1;::::0;;;::::1;::::0;;4287:94::o;1916:148::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;2023:1:::1;2007:6:::0;;1986:40:::1;::::0;-1:-1:-1;;;;;2007:6:0;;::::1;::::0;1986:40:::1;::::0;2023:1;;1986:40:::1;2054:1;2037:19:::0;;-1:-1:-1;;;;;;2037:19:0::1;::::0;;1916:148::o;8898:128::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8984:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;8984:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8898:128::o;7286:142::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;7346:12:::1;::::0;:17;7338:44:::1;;;::::0;-1:-1:-1;;;7338:44:0;;5002:2:1;7338:44:0::1;::::0;::::1;4984:21:1::0;5041:2;5021:18;;;5014:30;-1:-1:-1;;;5060:18:1;;;5053:45;5115:18;;7338:44:0::1;4800:339:1::0;7338:44:0::1;7408:12;7393;:27:::0;7286:142::o;4389:98::-;4439:13;4472:7;4465:14;;;;;:::i;7436:75::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;7502:1:::1;7487:12;:16:::0;7436:75::o;4934:165::-;5012:4;5029:40;5039:10;5051:9;5062:6;5029:9;:40::i;5769:193::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;5887:11:::1;:27:::0;;;;5925:12:::1;:29:::0;5769:193::o;2072:214::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2161:22:0;::::1;2153:43;;;::::0;-1:-1:-1;;;2153:43:0;;5346:2:1;2153:43:0::1;::::0;::::1;5328:21:1::0;5385:1;5365:18;;;5358:29;-1:-1:-1;;;5403:18:1;;;5396:38;5451:18;;2153:43:0::1;5144:331:1::0;2153:43:0::1;2233:6;::::0;;2212:38:::1;::::0;-1:-1:-1;;;;;2212:38:0;;::::1;::::0;2233:6;::::1;::::0;2212:38:::1;::::0;::::1;2261:6;:17:::0;;-1:-1:-1;;;;;;2261:17:0::1;-1:-1:-1::0;;;;;2261:17:0;;;::::1;::::0;;;::::1;::::0;;2072:214::o;5970:177::-;-1:-1:-1;;;;;6055:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6107:32;;1361:25:1;;;6107:32:0;;1334:18:1;6107:32:0;;;;;;;5970:177;;;:::o;6155:1089::-;-1:-1:-1;;;;;4900:18:0;;6269:15;4900:18;;;:9;:18;;;;;;6321:17;;;;6313:46;;;;-1:-1:-1;;;6313:46:0;;5682:2:1;6313:46:0;;;5664:21:1;5721:2;5701:18;;;5694:30;-1:-1:-1;;;5740:18:1;;;5733:46;5796:18;;6313:46:0;5480:340:1;6313:46:0;-1:-1:-1;;;;;6425:16:0;;6372:12;6425:16;;;:12;:16;;;;;;6372:12;;6425:16;;:27;;;;-1:-1:-1;6446:6:0;;;;6445:7;6425:27;:55;;;;-1:-1:-1;;;;;;6457:23:0;;;;;;:17;:23;;;;;;;;6456:24;6425:55;:81;;;;-1:-1:-1;;;;;;6485:21:0;;;;;;:17;:21;;;;;;;;6484:22;6425:81;6421:527;;;6572:4;6523:28;4900:18;;;:9;:18;;;;;;6597:24;;6593:344;;6672:6;6719:42;;;:147;;6847:19;6719:147;;;6826:20;6719:147;6697:169;;6885:36;6901:19;6885:15;:36::i;:::-;6623:314;6593:344;6508:440;6421:527;-1:-1:-1;;;;;6965:23:0;;;;;;:17;:23;;;;;;;;6964:24;:50;;;;-1:-1:-1;;;;;;6993:21:0;;;;;;:17;:21;;;;;;;;6992:22;6964:50;:61;;;;-1:-1:-1;7019:6:0;;;;7018:7;6964:61;6960:159;;;7065:1;7050:12;;:16;7042:36;;;;-1:-1:-1;;;7042:36:0;;6027:2:1;7042:36:0;;;6009:21:1;6066:1;6046:18;;;6039:29;-1:-1:-1;;;6084:18:1;;;6077:38;6132:18;;7042:36:0;5825:331:1;7042:36:0;7103:4;7093:14;;6960:159;-1:-1:-1;;;;;7135:16:0;;;;;;:12;:16;;;;;;;;7131:42;;;-1:-1:-1;7166:4:0;7131:42;7185:51;7200:4;7206:2;7210:6;7218:7;7227:8;7185:14;:51::i;:::-;6258:986;;;6155:1089;;;:::o;8459:431::-;3004:6;:13;;-1:-1:-1;;3004:13:0;3013:4;3004:13;;;8560:16:::1;::::0;;8574:1:::1;8560:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8560:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8560:16:0::1;8536:40;;8605:4;8587;8592:1;8587:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8587:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8631:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8631:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;8587:7;;8631:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8621:4;8626:1;8621:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8621:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;8667:14:::1;::::0;8816:11:::1;::::0;8667:202:::1;::::0;-1:-1:-1;;;8667:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;8747:11;;8667:14:::1;::::0;8789:4;;8816:11;;::::1;::::0;8843:15:::1;::::0;8667:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8663:218:::0;-1:-1:-1;;3040:6:0;:14;;-1:-1:-1;;3040:14:0;;;8459:431::o;7519:932::-;-1:-1:-1;;;;;7715:17:0;;;;;;:9;:17;;;;;;:27;;7735:7;;7715:27;:::i;:::-;-1:-1:-1;;;;;7695:17:0;;;;;;:9;:17;;;;;:47;;;;7783:515;;;;7825:14;7860:8;7856:131;;;-1:-1:-1;7898:12:0;;7856:131;;;-1:-1:-1;7960:11:0;;7856:131;8001:18;8041:3;8022:16;8032:6;8022:7;:16;:::i;:::-;:22;;;;:::i;:::-;8001:43;-1:-1:-1;8063:14:0;;8059:228;;8098:23;8111:10;8098:23;;:::i;:::-;8185:4;8167:24;;;;:9;:24;;;;;;8098:23;;-1:-1:-1;8167:37:0;;8194:10;;8167:37;:::i;:::-;8158:4;8140:24;;;;:9;:24;;;;;;;:64;;;;8228:43;;-1:-1:-1;;;;;8228:43:0;;;;;;;8260:10;1361:25:1;;1349:2;1334:18;;1215:177;8228:43:0;;;;;;;;8059:228;7796:502;;7783:515;8357:19;8367:9;8357:7;:19;:::i;:::-;-1:-1:-1;;;;;8333:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;8310:20:0;;;;;;;:9;:20;;;;;:67;;;;8393:48;;;8421:19;8431:9;8421:7;:19;:::i;:::-;8393:48;;1361:25:1;;;1349:2;1334:18;8393:48:0;;;;;;;7684:767;7519:932;;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;:::-;2283:5;2047:247;-1:-1:-1;;;2047:247:1:o;2737:416::-;2802:6;2810;2863:2;2851:9;2842:7;2838:23;2834:32;2831:52;;;2879:1;2876;2869:12;2831:52;2918:9;2905:23;2937:31;2962:5;2937:31;:::i;:::-;2987:5;-1:-1:-1;3044:2:1;3029:18;;3016:32;3086:15;;3079:23;3067:36;;3057:64;;3117:1;3114;3107:12;3057:64;3140:7;3130:17;;;2737:416;;;;;:::o;3158:248::-;3226:6;3234;3287:2;3275:9;3266:7;3262:23;3258:32;3255:52;;;3303:1;3300;3293:12;3255:52;-1:-1:-1;;3326:23:1;;;3396:2;3381:18;;;3368:32;;-1:-1:-1;3158:248:1:o;3411:388::-;3479:6;3487;3540:2;3528:9;3519:7;3515:23;3511:32;3508:52;;;3556:1;3553;3546:12;3508:52;3595:9;3582:23;3614:31;3639:5;3614:31;:::i;:::-;3664:5;-1:-1:-1;3721:2:1;3706:18;;3693:32;3734:33;3693:32;3734:33;:::i;3804:380::-;3883:1;3879:12;;;;3926;;;3947:61;;4001:4;3993:6;3989:17;3979:27;;3947:61;4054:2;4046:6;4043:14;4023:18;4020:38;4017:161;;4100:10;4095:3;4091:20;4088:1;4081:31;4135:4;4132:1;4125:15;4163:4;4160:1;4153:15;4017:161;;3804:380;;;:::o;4189:127::-;4250:10;4245:3;4241:20;4238:1;4231:31;4281:4;4278:1;4271:15;4305:4;4302:1;4295:15;4321:128;4388:9;;;4409:11;;;4406:37;;;4423:18;;:::i;4454:341::-;4656:2;4638:21;;;4695:2;4675:18;;;4668:30;-1:-1:-1;;;4729:2:1;4714:18;;4707:47;4786:2;4771:18;;4454:341::o;6293:127::-;6354:10;6349:3;6345:20;6342:1;6335:31;6385:4;6382:1;6375:15;6409:4;6406:1;6399:15;6425:251;6495:6;6548:2;6536:9;6527:7;6523:23;6519:32;6516:52;;;6564:1;6561;6554:12;6516:52;6596:9;6590:16;6615:31;6640:5;6615:31;:::i;6681:980::-;6943:4;6991:3;6980:9;6976:19;7022:6;7011:9;7004:25;7048:2;7086:6;7081:2;7070:9;7066:18;7059:34;7129:3;7124:2;7113:9;7109:18;7102:31;7153:6;7188;7182:13;7219:6;7211;7204:22;7257:3;7246:9;7242:19;7235:26;;7296:2;7288:6;7284:15;7270:29;;7317:1;7327:195;7341:6;7338:1;7335:13;7327:195;;;7406:13;;-1:-1:-1;;;;;7402:39:1;7390:52;;7497:15;;;;7462:12;;;;7438:1;7356:9;7327:195;;;-1:-1:-1;;;;;;;7578:32:1;;;;7573:2;7558:18;;7551:60;-1:-1:-1;;;7642:3:1;7627:19;7620:35;7539:3;6681:980;-1:-1:-1;;;6681:980:1:o;7666:168::-;7739:9;;;7770;;7787:15;;;7781:22;;7767:37;7757:71;;7808:18;;:::i;7839:217::-;7879:1;7905;7895:132;;7949:10;7944:3;7940:20;7937:1;7930:31;7984:4;7981:1;7974:15;8012:4;8009:1;8002:15;7895:132;-1:-1:-1;8041:9:1;;7839:217::o;8061:125::-;8126:9;;;8147:10;;;8144:36;;;8160:18;;:::i

Swarm Source

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