ETH Price: $3,115.34 (+1.56%)

Token

CONV (CONV)
 

Overview

Max Total Supply

1,000,000,000 CONV

Holders

73

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.355702157 CONV

Value
$0.00
0x820Ecb05FF888614b339192e52Ed92F1C8cDaD7a
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:
CONV

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-14
*/

// SPDX-License-Identifier: Unlicensed

/**
Democratize Investment by Making Private Markets Public.

Website: https://www.convfi.org
Telegram: https://t.me/conv_erc20
Twitter: https://twitter.com/conv_erc
Dapp: https://app.convfi.org
 */

pragma solidity = 0.8.21;

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 getOwner() external view returns (address);
    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 IUniswapRouterV1 {
    function factory() external pure returns (address);
    function WETH() 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);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapRouterV2 is IUniswapRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address ammPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address ammPair);
    function createPair(address tokenA, address tokenB) external returns (address ammPair);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract CONV is Context, Ownable, IERC20 {

    string constant private _name = "CONV";
    string constant private _symbol = "CONV";
    uint8 constant private _decimals = 9;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public swapTaxThreshold = _totalSupply / 100_000;
    uint256 constant public feeTransfer = 0;
    uint256 constant public feeDividend = 1_000;
    uint256 public feeBuys = 130;
    uint256 public feeSells = 130;
    uint256 private maxTxAmount = 25 * _totalSupply / 1000;
    bool private taxSwapActivated = true;
    address payable private devWallet;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    address public ammPair;
    IUniswapRouterV2 public uniswapRouter;
    bool public tradeInited = false;
    bool private _swapping;
    bool private hasMaxTxEffect = false;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _noFeeAddy;
    mapping (address => bool) private _lpAdders;
    mapping (address => bool) private _automaticMarketPairs;
    mapping (address => uint256) private balance;

        modifier inSwapFlag {
        _swapping = true;
        _;
        _swapping = false;
    }
    event SwapAndLiquify();


    constructor () {
        if (block.chainid == 56) {
            uniswapRouter = IUniswapRouterV2(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            uniswapRouter = IUniswapRouterV2(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 42161) {
            uniswapRouter = IUniswapRouterV2(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        } else if (block.chainid == 5) {
            uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else {
            revert("Chain not valid");
        }
        _noFeeAddy[msg.sender] = true;
        devWallet = payable(address(0xc814919AD3009B145dA71b2f2540a44132cb8728));
        _noFeeAddy[devWallet] = true;
        _lpAdders[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        ammPair = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _automaticMarketPairs[ammPair] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }

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

    function afterLaunch() external onlyOwner {
        require(!tradeInited, "Trading already enabled");
        tradeInited = true;
    }
    
    function beforeRenounce() external onlyOwner {
        require(!hasMaxTxEffect,"Already initalized");
        maxTxAmount = _totalSupply;
        hasMaxTxEffect = true;
        feeBuys = 10;
        feeSells = 10;
    }

    receive() external payable {}
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function isSpecialAddress(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_lpAdders[ins]  && !_lpAdders[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function isTxBuy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_automaticMarketPairs[out] && _automaticMarketPairs[ins];
        return _is_buy;
    }

    function isTxSell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _automaticMarketPairs[out] && !_automaticMarketPairs[ins];
        return _is_sell;
    }

    function isTxTransfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_automaticMarketPairs[out] && !_automaticMarketPairs[ins];
        return _is_transfer;
    }

    function transferAmount(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = feeBuys;  else if (issell)  fee = feeSells;  else  fee = feeTransfer; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / feeDividend;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }

    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) devWallet.transfer(address(this).balance);
    } 
    
    function shouldSwapBackTax(address ins) internal view returns (bool) {
        bool canswap = taxSwapActivated && !_noFeeAddy[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (isSpecialAddress(from,to)) {
            require(tradeInited,"Trading is not enabled");
                    if(!_automaticMarketPairs[to] && from != address(this) && to != address(this) || isTxTransfer(from,to) && !hasMaxTxEffect)  { require(balanceOf(to) + amount <= maxTxAmount,"maxTxAmount exceed"); }}


        if(isTxSell(from, to) &&  !_swapping && shouldSwapBackTax(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= swapTaxThreshold) { 
                if(amount > swapTaxThreshold) swapBack(tokenAmount);
             }
        }

        if (_noFeeAddy[from] || _noFeeAddy[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? transferAmount(from, isTxBuy(from, to), isTxSell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeInited ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }
}

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":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"afterLaunch","outputs":[],"stateMutability":"nonpayable","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":[],"name":"ammPair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"beforeRenounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDividend","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTaxThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeInited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052608260018190556002556103e862000026670de0b6b3a7640000601962000576565b620000329190620005a0565b6003556004805460ff191660011790556006805462ff00ff60a01b191690553480156200005d575f80fd5b50620000693362000460565b466038036200009e57600680546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e179055620001cb565b46606103620000d357600680546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d1179055620001cb565b4660011480620000e35750466004145b80620000ef5750466003145b156200012157600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001cb565b4661a4b1036200015757600680546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b47997506179055620001cb565b466005036200018c57600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001cb565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b335f8181526008602090815260408083208054600160ff19918216811790925560048054610100600160a81b03191674c814919ad3009b145da71b2f2540a44132cb87280017908190556001600160a01b0361010090910416855282852080548216831790558585526009845282852080549091169091179055600b8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002da573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003009190620005c0565b6001600160a01b031663c9c6539660065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003859190620005c0565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af1158015620003cf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003f59190620005c0565b600580546001600160a01b0319166001600160a01b039283169081179091555f908152600a60205260409020805460ff191660011790556006546200043f913391165f19620004af565b6006546200045a9030906001600160a01b03165f19620004af565b620005ef565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620004fd5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401620001c2565b6001600160a01b0382166200054b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401620001c2565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b80820281158282048414176200059a57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620005bb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620005d1575f80fd5b81516001600160a01b0381168114620005e8575f80fd5b9392505050565b61139e80620005fd5f395ff3fe608060405260043610610164575f3560e01c806370a08231116100cd57806395d89b4111610087578063dd62ed3e11610062578063dd62ed3e146103c7578063ed0634091461040b578063f2fde38b1461041f578063f86d05451461043e575f80fd5b806395d89b41146101a15780639d98f90514610388578063a9059cbb146103a8575f80fd5b806370a08231146102f1578063715018a614610325578063735de9f714610339578063893d20e814610358578063896f9b9a146103745780638da5cb5b14610358575f80fd5b806323b872dd1161011e57806323b872dd1461025e5780632f667ea41461027d578063313ce567146102905780633eaaf86b146102ab57806355f34722146102c6578063574395fd146102db575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101d35780630d7d7f3e1461020257806318160ddd146102255780631e70b7a91461023f575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50604080518082018252600481526321a7a72b60e11b60208201529051610198919061110c565b3480156101de575f80fd5b506101f26101ed36600461116b565b610453565b6040519015158152602001610198565b34801561020d575f80fd5b5061021760025481565b604051908152602001610198565b348015610230575f80fd5b50670de0b6b3a7640000610217565b34801561024a575f80fd5b50600554610184906001600160a01b031681565b348015610269575f80fd5b506101f2610278366004611195565b610469565b348015610288575f80fd5b506102175f81565b34801561029b575f80fd5b5060405160098152602001610198565b3480156102b6575f80fd5b50610217670de0b6b3a764000081565b3480156102d1575f80fd5b5061021760015481565b3480156102e6575f80fd5b506102ef6104de565b005b3480156102fc575f80fd5b5061021761030b3660046111d3565b6001600160a01b03165f908152600b602052604090205490565b348015610330575f80fd5b506102ef61058a565b348015610344575f80fd5b50600654610184906001600160a01b031681565b348015610363575f80fd5b505f546001600160a01b0316610184565b34801561037f575f80fd5b506102ef6105be565b348015610393575f80fd5b506006546101f290600160a01b900460ff1681565b3480156103b3575f80fd5b506101f26103c236600461116b565b610656565b3480156103d2575f80fd5b506102176103e13660046111ee565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610416575f80fd5b5061021761066c565b34801561042a575f80fd5b506102ef6104393660046111d3565b610684565b348015610449575f80fd5b506102176103e881565b5f61045f33848461071e565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146104cb576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104c5908490611239565b90915550505b6104d68484846107e1565b949350505050565b5f546001600160a01b031633146105105760405162461bcd60e51b81526004016105079061124c565b60405180910390fd5b600654600160b01b900460ff161561055f5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b6044820152606401610507565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b5f546001600160a01b031633146105b35760405162461bcd60e51b81526004016105079061124c565b6105bc5f610c22565b565b5f546001600160a01b031633146105e75760405162461bcd60e51b81526004016105079061124c565b600654600160a01b900460ff16156106415760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610507565b6006805460ff60a01b1916600160a01b179055565b5f6106623384846107e1565b5060019392505050565b610681620186a0670de0b6b3a7640000611281565b81565b5f546001600160a01b031633146106ad5760405162461bcd60e51b81526004016105079061124c565b6001600160a01b0381166107125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610507565b61071b81610c22565b50565b6001600160a01b03831661076a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610507565b6001600160a01b0382166107b65760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610507565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610507565b6001600160a01b0385166108aa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610507565b5f831161090b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610507565b6109158585610c71565b15610a4c57600654600160a01b900460ff1661096c5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610507565b6001600160a01b0384165f908152600a602052604090205460ff1615801561099d57506001600160a01b0385163014155b80156109b257506001600160a01b0384163014155b806109d857506109c28585610d40565b80156109d85750600654600160b01b900460ff16155b15610a4c57600354836109ff866001600160a01b03165f908152600b602052604090205490565b610a0991906112a0565b1115610a4c5760405162461bcd60e51b81526020600482015260126024820152711b585e151e105b5bdd5b9d08195e18d9595960721b6044820152606401610507565b610a568585610d86565b8015610a6c5750600654600160a81b900460ff16155b8015610a7c5750610a7c85610dcb565b15610ad257305f908152600b6020526040902054610aa5620186a0670de0b6b3a7640000611281565b8110610ad057610ac0620186a0670de0b6b3a7640000611281565b841115610ad057610ad081610e00565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b0f57506001600160a01b0384165f9081526008602052604090205460ff165b15610b1757505f5b5f81610b235783610b41565b610b4186610b318888610ffb565b610b3b8989610d86565b87611040565b90505f82610b6757600654600160a01b900460ff1615610b61575f610b69565b84610b69565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610b95908490611239565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bc19084906112a0565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0d91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610c845f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cb257505f546001600160a01b03848116911614155b8015610cc857505f546001600160a01b03163314155b8015610cec57506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d1057506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d2457506001600160a01b03831615155b80156104d657506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d657505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff1680156104d657505050506001600160a01b03165f908152600a602052604090205460ff161590565b6004545f90819060ff168015610df957506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e4657610e466112b3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec191906112c7565b81600181518110610ed457610ed46112b3565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060065490941682529290915220545f1914610f3a57305f9081526007602090815260408083206006546001600160a01b0316845290915290205f1990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f729085905f908690309042906004016112e2565b5f604051808303815f87803b158015610f89575f80fd5b505af1925050508015610f9a575060015b610fa45750610feb565b4715610fe9576004546040516001600160a01b0361010090920491909116904780156108fc02915f818181858888f19350505050158015610fe7573d5f803e3d5ffd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d657505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f8084156110515750600154611063565b83156110605750600254611063565b505f5b805f0361107357829150506104d6565b5f6103e86110818386611351565b61108b9190611281565b905080156110f757305f908152600b6020526040812080548392906110b19084906112a0565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111018185611239565b979650505050505050565b5f6020808352835180828501525f5b818110156111375785810183015185820160400152820161111b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461071b575f80fd5b5f806040838503121561117c575f80fd5b823561118781611157565b946020939093013593505050565b5f805f606084860312156111a7575f80fd5b83356111b281611157565b925060208401356111c281611157565b929592945050506040919091013590565b5f602082840312156111e3575f80fd5b8135610df981611157565b5f80604083850312156111ff575f80fd5b823561120a81611157565b9150602083013561121a81611157565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561046357610463611225565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261129b57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561046357610463611225565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112d7575f80fd5b8151610df981611157565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113305784516001600160a01b03168352938301939183019160010161130b565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104635761046361122556fea26469706673582212202d722935cf2a7bb4508cd15b80435f93312eaf06d8a983b76eb8e21bacde6a3964736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806370a08231116100cd57806395d89b4111610087578063dd62ed3e11610062578063dd62ed3e146103c7578063ed0634091461040b578063f2fde38b1461041f578063f86d05451461043e575f80fd5b806395d89b41146101a15780639d98f90514610388578063a9059cbb146103a8575f80fd5b806370a08231146102f1578063715018a614610325578063735de9f714610339578063893d20e814610358578063896f9b9a146103745780638da5cb5b14610358575f80fd5b806323b872dd1161011e57806323b872dd1461025e5780632f667ea41461027d578063313ce567146102905780633eaaf86b146102ab57806355f34722146102c6578063574395fd146102db575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101d35780630d7d7f3e1461020257806318160ddd146102255780631e70b7a91461023f575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50604080518082018252600481526321a7a72b60e11b60208201529051610198919061110c565b3480156101de575f80fd5b506101f26101ed36600461116b565b610453565b6040519015158152602001610198565b34801561020d575f80fd5b5061021760025481565b604051908152602001610198565b348015610230575f80fd5b50670de0b6b3a7640000610217565b34801561024a575f80fd5b50600554610184906001600160a01b031681565b348015610269575f80fd5b506101f2610278366004611195565b610469565b348015610288575f80fd5b506102175f81565b34801561029b575f80fd5b5060405160098152602001610198565b3480156102b6575f80fd5b50610217670de0b6b3a764000081565b3480156102d1575f80fd5b5061021760015481565b3480156102e6575f80fd5b506102ef6104de565b005b3480156102fc575f80fd5b5061021761030b3660046111d3565b6001600160a01b03165f908152600b602052604090205490565b348015610330575f80fd5b506102ef61058a565b348015610344575f80fd5b50600654610184906001600160a01b031681565b348015610363575f80fd5b505f546001600160a01b0316610184565b34801561037f575f80fd5b506102ef6105be565b348015610393575f80fd5b506006546101f290600160a01b900460ff1681565b3480156103b3575f80fd5b506101f26103c236600461116b565b610656565b3480156103d2575f80fd5b506102176103e13660046111ee565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610416575f80fd5b5061021761066c565b34801561042a575f80fd5b506102ef6104393660046111d3565b610684565b348015610449575f80fd5b506102176103e881565b5f61045f33848461071e565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146104cb576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104c5908490611239565b90915550505b6104d68484846107e1565b949350505050565b5f546001600160a01b031633146105105760405162461bcd60e51b81526004016105079061124c565b60405180910390fd5b600654600160b01b900460ff161561055f5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b6044820152606401610507565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b5f546001600160a01b031633146105b35760405162461bcd60e51b81526004016105079061124c565b6105bc5f610c22565b565b5f546001600160a01b031633146105e75760405162461bcd60e51b81526004016105079061124c565b600654600160a01b900460ff16156106415760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610507565b6006805460ff60a01b1916600160a01b179055565b5f6106623384846107e1565b5060019392505050565b610681620186a0670de0b6b3a7640000611281565b81565b5f546001600160a01b031633146106ad5760405162461bcd60e51b81526004016105079061124c565b6001600160a01b0381166107125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610507565b61071b81610c22565b50565b6001600160a01b03831661076a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610507565b6001600160a01b0382166107b65760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610507565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610507565b6001600160a01b0385166108aa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610507565b5f831161090b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610507565b6109158585610c71565b15610a4c57600654600160a01b900460ff1661096c5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610507565b6001600160a01b0384165f908152600a602052604090205460ff1615801561099d57506001600160a01b0385163014155b80156109b257506001600160a01b0384163014155b806109d857506109c28585610d40565b80156109d85750600654600160b01b900460ff16155b15610a4c57600354836109ff866001600160a01b03165f908152600b602052604090205490565b610a0991906112a0565b1115610a4c5760405162461bcd60e51b81526020600482015260126024820152711b585e151e105b5bdd5b9d08195e18d9595960721b6044820152606401610507565b610a568585610d86565b8015610a6c5750600654600160a81b900460ff16155b8015610a7c5750610a7c85610dcb565b15610ad257305f908152600b6020526040902054610aa5620186a0670de0b6b3a7640000611281565b8110610ad057610ac0620186a0670de0b6b3a7640000611281565b841115610ad057610ad081610e00565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b0f57506001600160a01b0384165f9081526008602052604090205460ff165b15610b1757505f5b5f81610b235783610b41565b610b4186610b318888610ffb565b610b3b8989610d86565b87611040565b90505f82610b6757600654600160a01b900460ff1615610b61575f610b69565b84610b69565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610b95908490611239565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bc19084906112a0565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0d91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610c845f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cb257505f546001600160a01b03848116911614155b8015610cc857505f546001600160a01b03163314155b8015610cec57506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d1057506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d2457506001600160a01b03831615155b80156104d657506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d657505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff1680156104d657505050506001600160a01b03165f908152600a602052604090205460ff161590565b6004545f90819060ff168015610df957506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e4657610e466112b3565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec191906112c7565b81600181518110610ed457610ed46112b3565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060065490941682529290915220545f1914610f3a57305f9081526007602090815260408083206006546001600160a01b0316845290915290205f1990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f729085905f908690309042906004016112e2565b5f604051808303815f87803b158015610f89575f80fd5b505af1925050508015610f9a575060015b610fa45750610feb565b4715610fe9576004546040516001600160a01b0361010090920491909116904780156108fc02915f818181858888f19350505050158015610fe7573d5f803e3d5ffd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d657505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f8084156110515750600154611063565b83156110605750600254611063565b505f5b805f0361107357829150506104d6565b5f6103e86110818386611351565b61108b9190611281565b905080156110f757305f908152600b6020526040812080548392906110b19084906112a0565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111018185611239565b979650505050505050565b5f6020808352835180828501525f5b818110156111375785810183015185820160400152820161111b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461071b575f80fd5b5f806040838503121561117c575f80fd5b823561118781611157565b946020939093013593505050565b5f805f606084860312156111a7575f80fd5b83356111b281611157565b925060208401356111c281611157565b929592945050506040919091013590565b5f602082840312156111e3575f80fd5b8135610df981611157565b5f80604083850312156111ff575f80fd5b823561120a81611157565b9150602083013561121a81611157565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561046357610463611225565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8261129b57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561046357610463611225565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112d7575f80fd5b8151610df981611157565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113305784516001600160a01b03168352938301939183019160010161130b565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104635761046361122556fea26469706673582212202d722935cf2a7bb4508cd15b80435f93312eaf06d8a983b76eb8e21bacde6a3964736f6c63430008150033

Deployed Bytecode Sourcemap

4788:8691:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5420:73;;;;;;;;;;;;5451:42;5420:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5420:73:0;;;;;;;;7888:80;;;;;;;;;;-1:-1:-1;7960:5:0;;;;;;;;;;;-1:-1:-1;;;7960:5:0;;;;7888:80;;;;7960:5;7888:80;:::i;8925:161::-;;;;;;;;;;-1:-1:-1;8925:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;8925:161:0;1231:187:1;5240:29:0;;;;;;;;;;;;;;;;;;;1569:25:1;;;1557:2;1542:18;5240:29:0;1423:177:1;7544:125:0;;;;;;;;;;-1:-1:-1;5015:15:0;7544:125;;5502:22;;;;;;;;;;-1:-1:-1;5502:22:0;;;;-1:-1:-1;;;;;5502:22:0;;;9363:306;;;;;;;;;;-1:-1:-1;9363:306:0;;;;;:::i;:::-;;:::i;5109:39::-;;;;;;;;;;;;5147:1;5109:39;;7675:117;;;;;;;;;;-1:-1:-1;7675:117:0;;4966:1;2208:36:1;;2196:2;2181:18;7675:117:0;2066:184:1;4976:54:0;;;;;;;;;;;;5015:15;4976:54;;5205:28;;;;;;;;;;;;;;;;8474:225;;;;;;;;;;;;;:::i;:::-;;8199:117;;;;;;;;;;-1:-1:-1;8199:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8292:16:0;8265:7;8292:16;;;:7;:16;;;;;;;8199:117;4306:94;;;;;;;;;;;;;:::i;5531:37::-;;;;;;;;;;-1:-1:-1;5531:37:0;;;;-1:-1:-1;;;;;5531:37:0;;;7974:80;;;;;;;;;;-1:-1:-1;8026:7:0;4156:6;-1:-1:-1;;;;;4156:6:0;7974:80;;8324:138;;;;;;;;;;;;;:::i;5575:31::-;;;;;;;;;;-1:-1:-1;5575:31:0;;;;-1:-1:-1;;;5575:31:0;;;;;;8748:165;;;;;;;;;;-1:-1:-1;8748:165:0;;;;;:::i;:::-;;:::i;8060:133::-;;;;;;;;;;-1:-1:-1;8060:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8162:19:0;;;8144:7;8162:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8060:133;5037:65;;;;;;;;;;;;;:::i;4408:192::-;;;;;;;;;;-1:-1:-1;4408:192:0;;;;;:::i;:::-;;:::i;5155:43::-;;;;;;;;;;;;5193:5;5155:43;;8925:161;9002:4;9019:37;9028:10;9040:7;9049:6;9019:8;:37::i;:::-;-1:-1:-1;9074:4:0;8925:161;;;;;:::o;9363:306::-;-1:-1:-1;;;;;9484:19:0;;9463:4;9484:19;;;:11;:19;;;;;;;;9504:10;9484:31;;;;;;;;-1:-1:-1;;9484:52:0;9480:126;;-1:-1:-1;;;;;9553:19:0;;;;;;:11;:19;;;;;;;;9573:10;9553:31;;;;;;;:41;;9588:6;;9553:19;:41;;9588:6;;9553:41;:::i;:::-;;;;-1:-1:-1;;9480:126:0;9625:36;9635:6;9643:9;9654:6;9625:9;:36::i;:::-;9618:43;9363:306;-1:-1:-1;;;;9363:306:0:o;8474:225::-;4129:7;4156:6;-1:-1:-1;;;;;4156:6:0;3393:10;4218:23;4210:68;;;;-1:-1:-1;;;4210:68:0;;;;;;;:::i;:::-;;;;;;;;;8539:14:::1;::::0;-1:-1:-1;;;8539:14:0;::::1;;;8538:15;8530:45;;;::::0;-1:-1:-1;;;8530:45:0;;3960:2:1;8530:45:0::1;::::0;::::1;3942:21:1::0;3999:2;3979:18;;;3972:30;-1:-1:-1;;;4018:18:1;;;4011:48;4076:18;;8530:45:0::1;3758:342:1::0;8530:45:0::1;5015:15;8586:11;:26:::0;8623:14:::1;:21:::0;;-1:-1:-1;;;;8623:21:0::1;-1:-1:-1::0;;;8623:21:0::1;::::0;;8665:2:::1;8640:4;8655:12:::0;;;-1:-1:-1;8678:13:0;8474:225::o;4306:94::-;4129:7;4156:6;-1:-1:-1;;;;;4156:6:0;3393:10;4218:23;4210:68;;;;-1:-1:-1;;;4210:68:0;;;;;;;:::i;:::-;4371:21:::1;4389:1;4371:9;:21::i;:::-;4306:94::o:0;8324:138::-;4129:7;4156:6;-1:-1:-1;;;;;4156:6:0;3393:10;4218:23;4210:68;;;;-1:-1:-1;;;4210:68:0;;;;;;;:::i;:::-;8386:11:::1;::::0;-1:-1:-1;;;8386:11:0;::::1;;;8385:12;8377:48;;;::::0;-1:-1:-1;;;8377:48:0;;4307:2:1;8377:48:0::1;::::0;::::1;4289:21:1::0;4346:2;4326:18;;;4319:30;4385:25;4365:18;;;4358:53;4428:18;;8377:48:0::1;4105:347:1::0;8377:48:0::1;8436:11;:18:::0;;-1:-1:-1;;;;8436:18:0::1;-1:-1:-1::0;;;8436:18:0::1;::::0;;8324:138::o;8748:165::-;8826:4;8843:40;8853:10;8865:9;8876:6;8843:9;:40::i;:::-;-1:-1:-1;8901:4:0;;8748:165;-1:-1:-1;;;8748:165:0:o;5037:65::-;5080:22;5095:7;5015:15;5080:22;:::i;:::-;5037:65;:::o;4408:192::-;4129:7;4156:6;-1:-1:-1;;;;;4156:6:0;3393:10;4218:23;4210:68;;;;-1:-1:-1;;;4210:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4497:22:0;::::1;4489:73;;;::::0;-1:-1:-1;;;4489:73:0;;4881:2:1;4489:73:0::1;::::0;::::1;4863:21:1::0;4920:2;4900:18;;;4893:30;4959:34;4939:18;;;4932:62;-1:-1:-1;;;5010:18:1;;;5003:36;5056:19;;4489:73:0::1;4679:402:1::0;4489:73:0::1;4573:19;4583:8;4573:9;:19::i;:::-;4408:192:::0;:::o;9094:261::-;-1:-1:-1;;;;;9189:20:0;;9181:52;;;;-1:-1:-1;;;9181:52:0;;5288:2:1;9181:52:0;;;5270:21:1;5327:2;5307:18;;;5300:30;-1:-1:-1;;;5346:18:1;;;5339:49;5405:18;;9181:52:0;5086:343:1;9181:52:0;-1:-1:-1;;;;;9252:21:0;;9244:53;;;;-1:-1:-1;;;9244:53:0;;5288:2:1;9244:53:0;;;5270:21:1;5327:2;5307:18;;;5300:30;-1:-1:-1;;;5346:18:1;;;5339:49;5405:18;;9244:53:0;5086:343:1;9244:53:0;-1:-1:-1;;;;;9310:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9094:261::o;12067:1409::-;12147:4;12179;-1:-1:-1;;;;;12202:16:0;;12194:64;;;;-1:-1:-1;;;12194:64:0;;5636:2:1;12194:64:0;;;5618:21:1;5675:2;5655:18;;;5648:30;5714:34;5694:18;;;5687:62;-1:-1:-1;;;5765:18:1;;;5758:33;5808:19;;12194:64:0;5434:399:1;12194:64:0;-1:-1:-1;;;;;12277:18:0;;12269:68;;;;-1:-1:-1;;;12269:68:0;;6040:2:1;12269:68:0;;;6022:21:1;6079:2;6059:18;;;6052:30;6118:34;6098:18;;;6091:62;-1:-1:-1;;;6169:18:1;;;6162:35;6214:19;;12269:68:0;5838:401:1;12269:68:0;12365:1;12356:6;:10;12348:64;;;;-1:-1:-1;;;12348:64:0;;6446:2:1;12348:64:0;;;6428:21:1;6485:2;6465:18;;;6458:30;6524:34;6504:18;;;6497:62;-1:-1:-1;;;6575:18:1;;;6568:39;6624:19;;12348:64:0;6244:405:1;12348:64:0;12429:25;12446:4;12451:2;12429:16;:25::i;:::-;12425:311;;;12479:11;;-1:-1:-1;;;12479:11:0;;;;12471:45;;;;-1:-1:-1;;;12471:45:0;;6856:2:1;12471:45:0;;;6838:21:1;6895:2;6875:18;;;6868:30;-1:-1:-1;;;6914:18:1;;;6907:52;6976:18;;12471:45:0;6654:346:1;12471:45:0;-1:-1:-1;;;;;12543:25:0;;;;;;:21;:25;;;;;;;;12542:26;:51;;;;-1:-1:-1;;;;;;12572:21:0;;12588:4;12572:21;;12542:51;:74;;;;-1:-1:-1;;;;;;12597:19:0;;12611:4;12597:19;;12542:74;:118;;;;12620:21;12633:4;12638:2;12620:12;:21::i;:::-;:40;;;;-1:-1:-1;12646:14:0;;-1:-1:-1;;;12646:14:0;;;;12645:15;12620:40;12539:196;;;12699:11;;12689:6;12673:13;12683:2;-1:-1:-1;;;;;8292:16:0;8265:7;8292:16;;;:7;:16;;;;;;;8199:117;12673:13;:22;;;;:::i;:::-;:37;;12665:67;;;;-1:-1:-1;;;12665:67:0;;7337:2:1;12665:67:0;;;7319:21:1;7376:2;7356:18;;;7349:30;-1:-1:-1;;;7395:18:1;;;7388:48;7453:18;;12665:67:0;7135:342:1;12665:67:0;12753:18;12762:4;12768:2;12753:8;:18::i;:::-;:33;;;;-1:-1:-1;12777:9:0;;-1:-1:-1;;;12777:9:0;;;;12776:10;12753:33;:60;;;;;12790:23;12808:4;12790:17;:23::i;:::-;12750:278;;;12872:4;12832:19;8292:16;;;:7;:16;;;;;;5080:22;5095:7;5015:15;5080:22;:::i;:::-;12896:11;:31;12893:124;;5080:22;5095:7;5015:15;5080:22;:::i;:::-;12952:6;:25;12949:51;;;12979:21;12988:11;12979:8;:21::i;:::-;12815:213;12750:278;-1:-1:-1;;;;;13044:16:0;;;;;;:10;:16;;;;;;;;;:34;;-1:-1:-1;;;;;;13064:14:0;;;;;;:10;:14;;;;;;;;13044:34;13040:81;;;-1:-1:-1;13104:5:0;13040:81;13131:22;13157:7;13156:88;;13238:6;13156:88;;;13168:67;13183:4;13189:17;13197:4;13203:2;13189:7;:17::i;:::-;13208:18;13217:4;13223:2;13208:8;:18::i;:::-;13228:6;13168:14;:67::i;:::-;13131:113;;13255:23;13282:7;13281:48;;13304:11;;-1:-1:-1;;;13304:11:0;;;;13303:12;:25;;13327:1;13281:48;;13303:25;13318:6;13281:48;;;13293:6;13281:48;-1:-1:-1;;;;;13340:13:0;;;;;;:7;:13;;;;;:32;;13255:74;;-1:-1:-1;13255:74:0;;13340:13;;;:32;;13255:74;;13340:32;:::i;:::-;;;;-1:-1:-1;;;;;;;13374:11:0;;;;;;:7;:11;;;;;:29;;13389:14;;13374:11;:29;;13389:14;;13374:29;:::i;:::-;;;;;;;;13425:2;-1:-1:-1;;;;;13410:34:0;13419:4;-1:-1:-1;;;;;13410:34:0;;13429:14;13410:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;13410:34:0;;;;;;;;-1:-1:-1;13464:4:0;;12067:1409;-1:-1:-1;;;;;;12067:1409:0:o;4608:173::-;4664:16;4683:6;;-1:-1:-1;;;;;4700:17:0;;;-1:-1:-1;;;;;;4700:17:0;;;;;;4733:40;;4683:6;;;;;;;4733:40;;4664:16;4733:40;4653:128;4608:173;:::o;9677:328::-;9752:4;9769:14;9793:7;4129;4156:6;-1:-1:-1;;;;;4156:6:0;;4083:87;9793:7;-1:-1:-1;;;;;9786:14:0;:3;-1:-1:-1;;;;;9786:14:0;;;:45;;;;-1:-1:-1;4129:7:0;4156:6;-1:-1:-1;;;;;9817:14:0;;;4156:6;;9817:14;;9786:45;:83;;;;-1:-1:-1;4129:7:0;4156:6;-1:-1:-1;;;;;4156:6:0;9848:10;:21;;9786:83;:115;;;;-1:-1:-1;;;;;;9887:14:0;;;;;;:9;:14;;;;;;;;9886:15;9786:115;:135;;;;-1:-1:-1;;;;;;9907:14:0;;;;;;:9;:14;;;;;;;;9906:15;9786:135;:156;;;;-1:-1:-1;;;;;;9925:17:0;;;;9786:156;:180;;;;-1:-1:-1;;;;;;9946:20:0;;9961:4;9946:20;;9769:197;9677:328;-1:-1:-1;;;;9677:328:0:o;10413:205::-;-1:-1:-1;;;;;10523:26:0;;10484:4;10523:26;;;:21;:26;;;;;;10484:4;;10523:26;;10522:27;:58;;;;-1:-1:-1;;;;;;;;;10554:26:0;;;;;:21;:26;;;;;;;;10553:27;;10413:205::o;10213:192::-;-1:-1:-1;;;;;10314:26:0;;10280:4;10314:26;;;:21;:26;;;;;;10280:4;;10314:26;;:57;;;;-1:-1:-1;;;;;;;;;10345:26:0;;;;;:21;:26;;;;;;;;10344:27;;10213:192::o;11891:164::-;11986:16;;11954:4;;;;11986:16;;:36;;;;-1:-1:-1;;;;;;12007:15:0;;;;;;:10;:15;;;;;;;;12006:16;11986:36;11971:51;11891:164;-1:-1:-1;;;11891:164:0:o;11152:726::-;6013:9;:16;;-1:-1:-1;;;;6013:16:0;-1:-1:-1;;;6013:16:0;;;11256::::1;::::0;;11270:1:::1;11256:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11256:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11256:16:0::1;11232:40;;11301:4;11283;11288:1;11283:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11283:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11327:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;11327:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;11283:7;;11327:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11317:4;11322:1;11317:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11317:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;11384:4:::1;11364:26;::::0;;;:11:::1;:26:::0;;;;;;11399:13:::1;::::0;;;::::1;11364:50:::0;;;;;;;;-1:-1:-1;;11364:71:0::1;11360:174;;11472:4;11452:26;::::0;;;:11:::1;:26;::::0;;;;;;;11487:13:::1;::::0;-1:-1:-1;;;;;11487:13:0::1;11452:50:::0;;;;;;;-1:-1:-1;;11452:70:0;;11360:174:::1;11550:13;::::0;:194:::1;::::0;-1:-1:-1;;;11550:194:0;;-1:-1:-1;;;;;11550:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;11629:11;;11550:13:::1;::::0;11671:4;;11698::::1;::::0;11718:15:::1;::::0;11550:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11546:241;;11769:7;;;11546:241;11802:21;:25:::0;11799:71:::1;;11829:9;::::0;:41:::1;::::0;-1:-1:-1;;;;;11829:9:0::1;::::0;;::::1;::::0;;;::::1;::::0;11848:21:::1;11829:41:::0;::::1;;;::::0;::::1;::::0;;;11848:21;11829:9;:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11799:71;11211:667;6040:1;-1:-1:-1::0;6052:9:0;:17;;-1:-1:-1;;;;6052:17:0;;;11152:726::o;10017:188::-;-1:-1:-1;;;;;10116:26:0;;10083:4;10116:26;;;:21;:26;;;;;;10083:4;;10116:26;;10115:27;:57;;;;-1:-1:-1;;;;;;;;;10146:26:0;;;;;:21;:26;;;;;;;;;10017:188::o;10626:518::-;10723:7;10743:11;10769:5;10765:86;;;-1:-1:-1;10783:7:0;;10765:86;;;10802:6;10798:53;;;-1:-1:-1;10817:8:0;;10798:53;;;-1:-1:-1;5147:1:0;10798:53;10867:3;10874:1;10867:8;10863:28;;10885:6;10878:13;;;;;10863:28;10903:17;5193:5;10923:12;10932:3;10923:6;:12;:::i;:::-;:26;;;;:::i;:::-;10903:46;-1:-1:-1;10964:13:0;;10960:141;;11010:4;10994:22;;;;:7;:22;;;;;:35;;11020:9;;10994:22;:35;;11020:9;;10994:35;:::i;:::-;;;;-1:-1:-1;;11049:40:0;;1569:25:1;;;11072:4:0;;-1:-1:-1;;;;;11049:40:0;;;;;1557:2:1;1542:18;11049:40:0;;;;;;;10960:141;11118:18;11127:9;11118:6;:18;:::i;:::-;11111:25;10626:518;-1:-1:-1;;;;;;;10626:518:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;4457:217::-;4497:1;4523;4513:132;;4567:10;4562:3;4558:20;4555:1;4548:31;4602:4;4599:1;4592:15;4630:4;4627:1;4620:15;4513:132;-1:-1:-1;4659:9:1;;4457:217::o;7005:125::-;7070:9;;;7091:10;;;7088:36;;;7104:18;;:::i;7614:127::-;7675:10;7670:3;7666:20;7663:1;7656:31;7706:4;7703:1;7696:15;7730:4;7727:1;7720:15;7746:251;7816:6;7869:2;7857:9;7848:7;7844:23;7840:32;7837:52;;;7885:1;7882;7875:12;7837:52;7917:9;7911:16;7936:31;7961:5;7936:31;:::i;8002:980::-;8264:4;8312:3;8301:9;8297:19;8343:6;8332:9;8325:25;8369:2;8407:6;8402:2;8391:9;8387:18;8380:34;8450:3;8445:2;8434:9;8430:18;8423:31;8474:6;8509;8503:13;8540:6;8532;8525:22;8578:3;8567:9;8563:19;8556:26;;8617:2;8609:6;8605:15;8591:29;;8638:1;8648:195;8662:6;8659:1;8656:13;8648:195;;;8727:13;;-1:-1:-1;;;;;8723:39:1;8711:52;;8818:15;;;;8783:12;;;;8759:1;8677:9;8648:195;;;-1:-1:-1;;;;;;;8899:32:1;;;;8894:2;8879:18;;8872:60;-1:-1:-1;;;8963:3:1;8948:19;8941:35;8860:3;8002:980;-1:-1:-1;;;8002:980:1:o;8987:168::-;9060:9;;;9091;;9108:15;;;9102:22;;9088:37;9078:71;;9129:18;;:::i

Swarm Source

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