ETH Price: $2,493.69 (+3.25%)

Token

CHECK (CHECK)
 

Overview

Max Total Supply

1,000,000,000 CHECK

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
20,810,755.463157248 CHECK

Value
$0.00
0xa9f36689e274d1d2507a24a4390f581d0aa273f9
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:
CHECK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-05
*/

// SPDX-License-Identifier: Unlicensed

/**
Elevate your trading game with Next-Gen Crypto & NFT AI-Enhanced Analytics Tools.

Website: https://www.checkerai.pro
Telegram: https://t.me/checker_erc
Twitter: https://twitter.com/checker_erc
 */

pragma solidity 0.8.19;

interface IUniswapFactory {
    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 set(address) external;
    function setSetter(address) external;
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IUniswapRouter {
    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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract CHECK is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string name_ = unicode"CHECK";
    string symbol_ = unicode"CHECK";

    uint8 decimals_ = 9;
    uint256 totalTokenSupply_ = 10**9 * 10**9;

    mapping(address => uint256) balances_;
    mapping(address => mapping(address => uint256)) allowances_;
    mapping(address => bool) isTaxExcluded_;
    mapping(address => bool) excludedMaxWallet_;
    mapping(address => bool) excludedMaxTx_;
    mapping(address => bool) isLiquidityAddr_;

    uint256 currentLiquidityFee_ = 0;
    uint256 currentMarketingFee_ = 22;
    uint256 currentDevelopmentFee_ = 0;
    uint256 currentTotalFee_ = 22;

    uint256 maxTransactionAmount_ = 25 * 10**6 * 10**9;
    uint256 maxWalletAmount_ = 25 * 10**6 * 10**9;
    uint256 feeThreshold_ = 10**4 * 10**9;

    address payable marketingWallet_;
    address payable teamAddress_;

    IUniswapRouter private routerInstance_;
    address private pairAddress_;

    uint256 sellChckLiquidityFee_ = 0;
    uint256 sellChckMarketingFee_ = 22;
    uint256 sellChckDevFee_ = 0;
    uint256 sellChckFee_ = 22;

    bool swapping_;
    bool swapEnabled_ = true;
    bool hasntMaxTx_ = false;
    bool hasntMaxWallet_ = true;

    uint256 buyChckLiquidityFee_ = 0;
    uint256 buyChckMarketingFee_ = 22;
    uint256 buyChckDevFee_ = 0;
    uint256 buyChckFee_ = 22;

    modifier lockSwap() {
        swapping_ = true;
        _;
        swapping_ = false;
    }

    constructor() {
        balances_[_msgSender()] = totalTokenSupply_;
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pairAddress_ = IUniswapFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        routerInstance_ = _uniswapV2Router;
        allowances_[address(this)][address(routerInstance_)] = totalTokenSupply_;
        marketingWallet_ = payable(0x77256aa97DbB6e2E8fAf7619818dA56FCdF4bf22);
        teamAddress_ = payable(0x77256aa97DbB6e2E8fAf7619818dA56FCdF4bf22);
        buyChckFee_ = buyChckLiquidityFee_.add(buyChckMarketingFee_).add(buyChckDevFee_);
        sellChckFee_ = sellChckLiquidityFee_.add(sellChckMarketingFee_).add(sellChckDevFee_);
        currentTotalFee_ = currentLiquidityFee_.add(currentMarketingFee_).add(currentDevelopmentFee_);

        isTaxExcluded_[owner()] = true;
        isTaxExcluded_[marketingWallet_] = true;
        excludedMaxWallet_[owner()] = true;
        excludedMaxWallet_[pairAddress_] = true;
        excludedMaxWallet_[address(this)] = true;
        excludedMaxTx_[owner()] = true;
        excludedMaxTx_[marketingWallet_] = true;
        excludedMaxTx_[address(this)] = true;
        isLiquidityAddr_[pairAddress_] = true;
        emit Transfer(address(0), _msgSender(), totalTokenSupply_);
    }

    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 totalTokenSupply_;
    }

    function transferChckETH_(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if (swapping_) {
            return _transferChck(sender, recipient, amount);
        } else {
            if (!excludedMaxTx_[sender] && !excludedMaxTx_[recipient]) {
                require(amount <= maxTransactionAmount_, "Transfer amount exceeds the maxTransactionAmount.");
            }

            uint256 swapAmount = balanceOf(address(this));
            bool minimumSwap = swapAmount >= feeThreshold_;

            if (minimumSwap && !swapping_ && isLiquidityAddr_[recipient] && swapEnabled_ && !isTaxExcluded_[sender] && amount > feeThreshold_) {
                if (hasntMaxTx_) {
                    swapAmount = feeThreshold_;
                }
                swapBackChck_(swapAmount);
            }

            uint256 finalAmount;
            if (isTaxExcluded_[sender] || isTaxExcluded_[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = getChckAmount_(sender, recipient, amount);
            }
            if (hasntMaxWallet_ && !excludedMaxWallet_[recipient]) {
                require(balances_[recipient].add(finalAmount) <= maxWalletAmount_);
            }

            uint256 amountToReduce = (!hasntMaxWallet_ && isTaxExcluded_[sender]) ? amount.sub(finalAmount) : amount;
            balances_[sender] = balances_[sender].sub(amountToReduce, "Insufficient Balance");
            balances_[recipient] = balances_[recipient].add(finalAmount);
            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function getChckAmount_(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 fee = 0;
        if (isLiquidityAddr_[sender]) {
            fee = amount.mul(buyChckFee_).div(100);
        } else if (isLiquidityAddr_[recipient]) {
            fee = amount.mul(sellChckFee_).div(100);
        }
        if (fee > 0) {
            balances_[address(this)] = balances_[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
        return amount.sub(fee);
    }

    function removeLimits() external onlyOwner {
        maxTransactionAmount_ = totalTokenSupply_;
        hasntMaxWallet_ = false;
        buyChckMarketingFee_ = 0;
        sellChckMarketingFee_ = 0;
        buyChckFee_ = 0;
        sellChckFee_ = 0;
    }

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        allowances_[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transferChck(address sender, address recipient, uint256 amount) internal returns (bool) {
        balances_[sender] = balances_[sender].sub(amount, "Insufficient Balance");
        balances_[recipient] = balances_[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    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 swapBackChck_(uint256 tokenAmount) private lockSwap {
        uint256 lpFeeTokens = tokenAmount.mul(currentLiquidityFee_).div(currentTotalFee_).div(2);
        uint256 tokensToSwap = tokenAmount.sub(lpFeeTokens);

        swapTokensForETH(tokensToSwap);
        uint256 ethCA = address(this).balance;

        uint256 totalETHFee = currentTotalFee_.sub(currentLiquidityFee_.div(2));

        uint256 amountETHLiquidity_ = ethCA.mul(currentLiquidityFee_).div(totalETHFee).div(2);
        uint256 amountETHDevelopment_ = ethCA.mul(currentDevelopmentFee_).div(totalETHFee);
        uint256 amountETHMarketing_ = ethCA.sub(amountETHLiquidity_).sub(amountETHDevelopment_);

        if (amountETHMarketing_ > 0) {
            transferChckETH_(marketingWallet_, amountETHMarketing_);
        }

        if (amountETHDevelopment_ > 0) {
            transferChckETH_(teamAddress_, amountETHDevelopment_);
        }
    }

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

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = routerInstance_.WETH();

        _approve(address(this), address(routerInstance_), tokenAmount);

        routerInstance_.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"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":[],"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":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526005608090815264434845434b60d81b60a05260029062000026908262000643565b50604080518082019091526005815264434845434b60d81b602082015260039062000052908262000643565b506004805460ff19166009179055670de0b6b3a76400006005556000600c8190556016600d819055600e829055600f8190556658d15e1762800060108190556011556509184e72a000601255601782905560188190556019829055601a819055601b8054630100010063ffffff0019909116179055601c829055601d819055601e91909155601f55348015620000e757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b691906200070f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a91906200070f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000278573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029e91906200070f565b601680546001600160a01b039283166001600160a01b031991821617909155601580549284169282168317905560055430600090815260076020908152604080832095835294905292909220919091556013805482167377256aa97dbb6e2e8faf7619818da56fcdf4bf2290811790915560148054909216179055601e54601d54601c546200033b92916200033491906200052f565b906200052f565b601f556019546018546017546200035992916200033491906200052f565b601a55600e54600d54600c546200037792916200033491906200052f565b600f55600160086000620003936000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560135490911681526008909252812080549092166001908117909255600990620003f36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556016549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a90620004636000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560135482168152600a845282812080548616600190811790915530825283822080548716821790556016549092168152600b90935291208054909216179055620004d83390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200052091815260200190565b60405180910390a3506200075c565b6000806200053e83856200073a565b905083811015620005955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005c957607f821691505b602082108103620005ea57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200063e57600081815260208120601f850160051c81016020861015620006195750805b601f850160051c820191505b818110156200063a5782815560010162000625565b5050505b505050565b81516001600160401b038111156200065f576200065f6200059e565b6200067781620006708454620005b4565b84620005f0565b602080601f831160018114620006af5760008415620006965750858301515b600019600386901b1c1916600185901b1785556200063a565b600085815260208120601f198616915b82811015620006e057888601518255948401946001909101908401620006bf565b5085821015620006ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200072257600080fd5b81516001600160a01b03811681146200059557600080fd5b808201808211156200059857634e487b7160e01b600052601160045260246000fd5b611483806200076c6000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190611174565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046111da565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506005545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004611206565b61035c565b34801561017857600080fd5b5060045460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a9366004611247565b6001600160a01b031660009081526006602052604090205490565b3480156101d057600080fd5b506101d96103c7565b005b3480156101e757600080fd5b506101d9610444565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610497565b34801561023957600080fd5b5061011d6102483660046111da565b6104a6565b34801561025957600080fd5b5061013e610268366004611264565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101d96102ae366004611247565b6104b3565b6060600280546102c29061129d565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee9061129d565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b600061035233848461059d565b5060015b92915050565b60006103698484846106c1565b506103bc84336103b785604051806060016040528060288152602001611426602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610b18565b61059d565b5060015b9392505050565b6000546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906112d7565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461046e5760405162461bcd60e51b81526004016103f1906112d7565b600554601055601b805463ff000000191690556000601d8190556018819055601f819055601a55565b6060600380546102c29061129d565b60006103bc3384846106c1565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103f1906112d7565b6001600160a01b0381166105425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166105ff5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b0382166106605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b0383166107895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b601b5460ff16156107a65761079f848484610b52565b90506103c0565b6001600160a01b0384166000908152600a602052604090205460ff161580156107e857506001600160a01b0383166000908152600a602052604090205460ff16155b15610859576010548211156108595760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152703930b739b0b1ba34b7b720b6b7bab73a1760791b60648201526084016103f1565b30600090815260066020526040902054601254811080159081906108805750601b5460ff16155b80156108a457506001600160a01b0385166000908152600b602052604090205460ff165b80156108b75750601b54610100900460ff165b80156108dc57506001600160a01b03861660009081526008602052604090205460ff16155b80156108e9575060125484115b1561090e57601b5462010000900460ff16156109055760125491505b61090e82610c38565b6001600160a01b03861660009081526008602052604081205460ff168061094d57506001600160a01b03861660009081526008602052604090205460ff165b15610959575083610967565b610964878787610d46565b90505b601b546301000000900460ff16801561099957506001600160a01b03861660009081526009602052604090205460ff16155b156109cf576011546001600160a01b0387166000908152600660205260409020546109c49083610e4c565b11156109cf57600080fd5b601b546000906301000000900460ff16158015610a0457506001600160a01b03881660009081526008602052604090205460ff165b610a0e5785610a18565b610a188683610eab565b9050610a808160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610b189092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610aaf9083610e4c565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b039086815260200190565b60405180910390a360019450505050506103c0565b60008184841115610b3c5760405162461bcd60e51b81526004016103f19190611174565b506000610b498486611322565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ba3918490610b18565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610bd29083610e4c565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c269086815260200190565b60405180910390a35060019392505050565b601b805460ff19166001179055600f54600c54600091610c6891600291610c629182908790610eed565b90610f6f565b90506000610c768383610eab565b9050610c8181610fb1565b600c544790600090610ca190610c98906002610f6f565b600f5490610eab565b90506000610cc36002610c6284610c62600c5488610eed90919063ffffffff16565b90506000610ce083610c62600e5487610eed90919063ffffffff16565b90506000610cf882610cf28786610eab565b90610eab565b90508015610d1657601354610d16906001600160a01b03168261110b565b8115610d3257601454610d32906001600160a01b03168361110b565b5050601b805460ff19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff1615610d8a57610d836064610c62601f5486610eed90919063ffffffff16565b9050610dc8565b6001600160a01b0384166000908152600b602052604090205460ff1615610dc857610dc56064610c62601a5486610eed90919063ffffffff16565b90505b8015610e425730600090815260066020526040902054610de89082610e4c565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e399085815260200190565b60405180910390a35b610b498382610eab565b600080610e598385611335565b9050838110156103c05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b60006103c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b18565b600082600003610eff57506000610356565b6000610f0b8385611348565b905082610f18858361135f565b146103c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b60006103c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611146565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610fe657610fe6611381565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190611397565b8160018151811061107657611076611381565b6001600160a01b03928316602091820292909201015260155461109c913091168461059d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906110d59085906000908690309042906004016113b4565b600060405180830381600087803b1580156110ef57600080fd5b505af1158015611103573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505050565b600081836111675760405162461bcd60e51b81526004016103f19190611174565b506000610b49848661135f565b600060208083528351808285015260005b818110156111a157858101830151858201604001528201611185565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111d757600080fd5b50565b600080604083850312156111ed57600080fd5b82356111f8816111c2565b946020939093013593505050565b60008060006060848603121561121b57600080fd5b8335611226816111c2565b92506020840135611236816111c2565b929592945050506040919091013590565b60006020828403121561125957600080fd5b81356103c0816111c2565b6000806040838503121561127757600080fd5b8235611282816111c2565b91506020830135611292816111c2565b809150509250929050565b600181811c908216806112b157607f821691505b6020821081036112d157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103565761035661130c565b808201808211156103565761035661130c565b80820281158282048414176103565761035661130c565b60008261137c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113a957600080fd5b81516103c0816111c2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114045784516001600160a01b0316835293830193918301916001016113df565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d45bbf863733ee738ddb132c342f6f70e9468ab4971a1d52ed5c3e0143fdf33c64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190611174565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046111da565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506005545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004611206565b61035c565b34801561017857600080fd5b5060045460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a9366004611247565b6001600160a01b031660009081526006602052604090205490565b3480156101d057600080fd5b506101d96103c7565b005b3480156101e757600080fd5b506101d9610444565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610497565b34801561023957600080fd5b5061011d6102483660046111da565b6104a6565b34801561025957600080fd5b5061013e610268366004611264565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101d96102ae366004611247565b6104b3565b6060600280546102c29061129d565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee9061129d565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b600061035233848461059d565b5060015b92915050565b60006103698484846106c1565b506103bc84336103b785604051806060016040528060288152602001611426602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610b18565b61059d565b5060015b9392505050565b6000546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906112d7565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461046e5760405162461bcd60e51b81526004016103f1906112d7565b600554601055601b805463ff000000191690556000601d8190556018819055601f819055601a55565b6060600380546102c29061129d565b60006103bc3384846106c1565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103f1906112d7565b6001600160a01b0381166105425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166105ff5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b0382166106605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b0383166107895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b601b5460ff16156107a65761079f848484610b52565b90506103c0565b6001600160a01b0384166000908152600a602052604090205460ff161580156107e857506001600160a01b0383166000908152600a602052604090205460ff16155b15610859576010548211156108595760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152703930b739b0b1ba34b7b720b6b7bab73a1760791b60648201526084016103f1565b30600090815260066020526040902054601254811080159081906108805750601b5460ff16155b80156108a457506001600160a01b0385166000908152600b602052604090205460ff165b80156108b75750601b54610100900460ff165b80156108dc57506001600160a01b03861660009081526008602052604090205460ff16155b80156108e9575060125484115b1561090e57601b5462010000900460ff16156109055760125491505b61090e82610c38565b6001600160a01b03861660009081526008602052604081205460ff168061094d57506001600160a01b03861660009081526008602052604090205460ff165b15610959575083610967565b610964878787610d46565b90505b601b546301000000900460ff16801561099957506001600160a01b03861660009081526009602052604090205460ff16155b156109cf576011546001600160a01b0387166000908152600660205260409020546109c49083610e4c565b11156109cf57600080fd5b601b546000906301000000900460ff16158015610a0457506001600160a01b03881660009081526008602052604090205460ff165b610a0e5785610a18565b610a188683610eab565b9050610a808160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610b189092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610aaf9083610e4c565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b039086815260200190565b60405180910390a360019450505050506103c0565b60008184841115610b3c5760405162461bcd60e51b81526004016103f19190611174565b506000610b498486611322565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ba3918490610b18565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610bd29083610e4c565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c269086815260200190565b60405180910390a35060019392505050565b601b805460ff19166001179055600f54600c54600091610c6891600291610c629182908790610eed565b90610f6f565b90506000610c768383610eab565b9050610c8181610fb1565b600c544790600090610ca190610c98906002610f6f565b600f5490610eab565b90506000610cc36002610c6284610c62600c5488610eed90919063ffffffff16565b90506000610ce083610c62600e5487610eed90919063ffffffff16565b90506000610cf882610cf28786610eab565b90610eab565b90508015610d1657601354610d16906001600160a01b03168261110b565b8115610d3257601454610d32906001600160a01b03168361110b565b5050601b805460ff19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff1615610d8a57610d836064610c62601f5486610eed90919063ffffffff16565b9050610dc8565b6001600160a01b0384166000908152600b602052604090205460ff1615610dc857610dc56064610c62601a5486610eed90919063ffffffff16565b90505b8015610e425730600090815260066020526040902054610de89082610e4c565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e399085815260200190565b60405180910390a35b610b498382610eab565b600080610e598385611335565b9050838110156103c05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b60006103c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b18565b600082600003610eff57506000610356565b6000610f0b8385611348565b905082610f18858361135f565b146103c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b60006103c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611146565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610fe657610fe6611381565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561103f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110639190611397565b8160018151811061107657611076611381565b6001600160a01b03928316602091820292909201015260155461109c913091168461059d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906110d59085906000908690309042906004016113b4565b600060405180830381600087803b1580156110ef57600080fd5b505af1158015611103573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505050565b600081836111675760405162461bcd60e51b81526004016103f19190611174565b506000610b49848661135f565b600060208083528351808285015260005b818110156111a157858101830151858201604001528201611185565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111d757600080fd5b50565b600080604083850312156111ed57600080fd5b82356111f8816111c2565b946020939093013593505050565b60008060006060848603121561121b57600080fd5b8335611226816111c2565b92506020840135611236816111c2565b929592945050506040919091013590565b60006020828403121561125957600080fd5b81356103c0816111c2565b6000806040838503121561127757600080fd5b8235611282816111c2565b91506020830135611292816111c2565b809150509250929050565b600181811c908216806112b157607f821691505b6020821081036112d157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103565761035661130c565b808201808211156103565761035661130c565b80820281158282048414176103565761035661130c565b60008261137c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113a957600080fd5b81516103c0816111c2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114045784516001600160a01b0316835293830193918301916001016113df565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d45bbf863733ee738ddb132c342f6f70e9468ab4971a1d52ed5c3e0143fdf33c64736f6c63430008130033

Deployed Bytecode Sourcemap

5085:9207:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7988:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11287:161;;;;;;;;;;-1:-1:-1;11287:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11287:161:0;1023:187:1;8265:105:0;;;;;;;;;;-1:-1:-1;8345:17:0;;8265:105;;;1361:25:1;;;1349:2;1334:18;8265:105:0;1215:177:1;12289:313:0;;;;;;;;;;-1:-1:-1;12289:313:0;;;;;:::i;:::-;;:::i;8174:83::-;;;;;;;;;;-1:-1:-1;8240:9:0;;8174:83;;8240:9;;;;2000:36:1;;1988:2;1973:18;8174:83:0;1858:184:1;8508:119:0;;;;;;;;;;-1:-1:-1;8508:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8601:18:0;8574:7;8601:18;;;:9;:18;;;;;;;8508:119;1898:148;;;;;;;;;;;;;:::i;:::-;;11018:261;;;;;;;;;;;;;:::i;1673:79::-;;;;;;;;;;-1:-1:-1;1711:7:0;1738:6;1673:79;;-1:-1:-1;;;;;1738:6:0;;;2445:51:1;;2433:2;2418:18;1673:79:0;2299:203:1;8079:87:0;;;;;;;;;;;;;:::i;13558:167::-;;;;;;;;;;-1:-1:-1;13558:167:0;;;;;:::i;:::-;;:::i;12138:143::-;;;;;;;;;;-1:-1:-1;12138:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;12246:18:0;;;12219:7;12246:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12138:143;2054:244;;;;;;;;;;-1:-1:-1;2054:244:0;;;;;:::i;:::-;;:::i;7988:83::-;8025:13;8058:5;8051:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7988:83;:::o;11287:161::-;11362:4;11379:39;1049:10;11402:7;11411:6;11379:8;:39::i;:::-;-1:-1:-1;11436:4:0;11287:161;;;;;:::o;12289:313::-;12387:4;12404:36;12414:6;12422:9;12433:6;12404:9;:36::i;:::-;-1:-1:-1;12451:121:0;12460:6;1049:10;12482:89;12520:6;12482:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12482:19:0;;;;;;:11;:19;;;;;;;;1049:10;12482:33;;;;;;;;;;:37;:89::i;:::-;12451:8;:121::i;:::-;-1:-1:-1;12590:4:0;12289:313;;;;;;:::o;1898:148::-;1807:6;;-1:-1:-1;;;;;1807:6:0;1049:10;1807:22;1799:67;;;;-1:-1:-1;;;1799:67:0;;;;;;;:::i;:::-;;;;;;;;;2005:1:::1;1989:6:::0;;1968:40:::1;::::0;-1:-1:-1;;;;;1989:6:0;;::::1;::::0;1968:40:::1;::::0;2005:1;;1968:40:::1;2036:1;2019:19:::0;;-1:-1:-1;;;;;;2019:19:0::1;::::0;;1898:148::o;11018:261::-;1807:6;;-1:-1:-1;;;;;1807:6:0;1049:10;1807:22;1799:67;;;;-1:-1:-1;;;1799:67:0;;;;;;;:::i;:::-;11096:17:::1;::::0;11072:21:::1;:41:::0;11124:15:::1;:23:::0;;-1:-1:-1;;11124:23:0::1;::::0;;-1:-1:-1;11158:20:0::1;:24:::0;;;11193:21:::1;:25:::0;;;11229:11:::1;:15:::0;;;11255:12:::1;:16:::0;11018:261::o;8079:87::-;8118:13;8151:7;8144:14;;;;;:::i;13558:167::-;13636:4;13653:42;1049:10;13677:9;13688:6;13653:9;:42::i;2054:244::-;1807:6;;-1:-1:-1;;;;;1807:6:0;1049:10;1807:22;1799:67;;;;-1:-1:-1;;;1799:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2143:22:0;::::1;2135:73;;;::::0;-1:-1:-1;;;2135:73:0;;3848:2:1;2135:73:0::1;::::0;::::1;3830:21:1::0;3887:2;3867:18;;;3860:30;3926:34;3906:18;;;3899:62;-1:-1:-1;;;3977:18:1;;;3970:36;4023:19;;2135:73:0::1;3646:402:1::0;2135:73:0::1;2245:6;::::0;;2224:38:::1;::::0;-1:-1:-1;;;;;2224:38:0;;::::1;::::0;2245:6;::::1;::::0;2224:38:::1;::::0;::::1;2273:6;:17:::0;;-1:-1:-1;;;;;;2273:17:0::1;-1:-1:-1::0;;;;;2273:17:0;;;::::1;::::0;;;::::1;::::0;;2054:244::o;11456:337::-;-1:-1:-1;;;;;11549:19:0;;11541:68;;;;-1:-1:-1;;;11541:68:0;;4255:2:1;11541:68:0;;;4237:21:1;4294:2;4274:18;;;4267:30;4333:34;4313:18;;;4306:62;-1:-1:-1;;;4384:18:1;;;4377:34;4428:19;;11541:68:0;4053:400:1;11541:68:0;-1:-1:-1;;;;;11628:21:0;;11620:68;;;;-1:-1:-1;;;11620:68:0;;4660:2:1;11620:68:0;;;4642:21:1;4699:2;4679:18;;;4672:30;4738:34;4718:18;;;4711:62;-1:-1:-1;;;4789:18:1;;;4782:32;4831:19;;11620:68:0;4458:398:1;11620:68:0;-1:-1:-1;;;;;11701:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11753:32;;1361:25:1;;;11753:32:0;;1334:18:1;11753:32:0;;;;;;;11456:337;;;:::o;8635:1822::-;8722:4;-1:-1:-1;;;;;8747:20:0;;8739:70;;;;-1:-1:-1;;;8739:70:0;;5063:2:1;8739:70:0;;;5045:21:1;5102:2;5082:18;;;5075:30;5141:34;5121:18;;;5114:62;-1:-1:-1;;;5192:18:1;;;5185:35;5237:19;;8739:70:0;4861:401:1;8739:70:0;-1:-1:-1;;;;;8828:23:0;;8820:71;;;;-1:-1:-1;;;8820:71:0;;5469:2:1;8820:71:0;;;5451:21:1;5508:2;5488:18;;;5481:30;5547:34;5527:18;;;5520:62;-1:-1:-1;;;5598:18:1;;;5591:33;5641:19;;8820:71:0;5267:399:1;8820:71:0;8906:9;;;;8902:1548;;;8939:40;8953:6;8961:9;8972:6;8939:13;:40::i;:::-;8932:47;;;;8902:1548;-1:-1:-1;;;;;9017:22:0;;;;;;:14;:22;;;;;;;;9016:23;:53;;;;-1:-1:-1;;;;;;9044:25:0;;;;;;:14;:25;;;;;;;;9043:26;9016:53;9012:187;;;9108:21;;9098:6;:31;;9090:93;;;;-1:-1:-1;;;9090:93:0;;5873:2:1;9090:93:0;;;5855:21:1;5912:2;5892:18;;;5885:30;5951:34;5931:18;;;5924:62;-1:-1:-1;;;6002:18:1;;;5995:47;6059:19;;9090:93:0;5671:413:1;9090:93:0;9254:4;9215:18;8601;;;:9;:18;;;;;;9308:13;;9294:27;;;;;;;9342:25;;-1:-1:-1;9358:9:0;;;;9357:10;9342:25;:56;;;;-1:-1:-1;;;;;;9371:27:0;;;;;;:16;:27;;;;;;;;9342:56;:72;;;;-1:-1:-1;9402:12:0;;;;;;;9342:72;:99;;;;-1:-1:-1;;;;;;9419:22:0;;;;;;:14;:22;;;;;;;;9418:23;9342:99;:125;;;;;9454:13;;9445:6;:22;9342:125;9338:295;;;9492:11;;;;;;;9488:86;;;9541:13;;9528:26;;9488:86;9592:25;9606:10;9592:13;:25::i;:::-;-1:-1:-1;;;;;9687:22:0;;9649:19;9687:22;;;:14;:22;;;;;;;;;:51;;-1:-1:-1;;;;;;9713:25:0;;;;;;:14;:25;;;;;;;;9687:51;9683:208;;;-1:-1:-1;9773:6:0;9683:208;;;9834:41;9849:6;9857:9;9868:6;9834:14;:41::i;:::-;9820:55;;9683:208;9909:15;;;;;;;:49;;;;-1:-1:-1;;;;;;9929:29:0;;;;;;:18;:29;;;;;;;;9928:30;9909:49;9905:156;;;10028:16;;-1:-1:-1;;;;;9987:20:0;;;;;;:9;:20;;;;;;:37;;10012:11;9987:24;:37::i;:::-;:57;;9979:66;;;;;;10104:15;;10077:22;;10104:15;;;;;10103:16;:42;;;;-1:-1:-1;;;;;;10123:22:0;;;;;;:14;:22;;;;;;;;10103:42;10102:79;;10175:6;10102:79;;;10149:23;:6;10160:11;10149:10;:23::i;:::-;10077:104;;10216:61;10238:14;10216:61;;;;;;;;;;;;;-1:-1:-1;;;10216:61:0;;;:9;:17;10226:6;-1:-1:-1;;;;;10216:17:0;-1:-1:-1;;;;;10216:17:0;;;;;;;;;;;;;:21;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;10196:17:0;;;;;;;:9;:17;;;;;;:81;;;;10315:20;;;;;;;:37;;10340:11;10315:24;:37::i;:::-;-1:-1:-1;;;;;10292:20:0;;;;;;;:9;:20;;;;;;;:60;;;;10372:40;;;;;;;;;;10400:11;1361:25:1;;1349:2;1334:18;;1215:177;10372:40:0;;;;;;;;10434:4;10427:11;;;;;;;;3979:192;4065:7;4101:12;4093:6;;;;4085:29;;;;-1:-1:-1;;;4085:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4125:9:0;4137:5;4141:1;4137;:5;:::i;:::-;4125:17;3979:192;-1:-1:-1;;;;;3979:192:0:o;11801:329::-;11930:53;;;;;;;;;;;-1:-1:-1;;;11930:53:0;;;;;;;;-1:-1:-1;;;;;11930:17:0;;11893:4;11930:17;;;:9;:17;;;;;;;:53;;11952:6;;11930:21;:53::i;:::-;-1:-1:-1;;;;;11910:17:0;;;;;;;:9;:17;;;;;;:73;;;;12017:20;;;;;;;:32;;12042:6;12017:24;:32::i;:::-;-1:-1:-1;;;;;11994:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12065:35;;;;;;;;;;12093:6;1361:25:1;;1349:2;1334:18;;1215:177;12065:35:0;;;;;;;;-1:-1:-1;12118:4:0;11801:329;;;;;:::o;12610:940::-;6539:9;:16;;-1:-1:-1;;6539:16:0;6551:4;6539:16;;;12746::::1;::::0;12720:20:::1;::::0;6539:9;;12704:66:::1;::::0;12768:1:::1;::::0;12704:59:::1;::::0;;;:11;;:15:::1;:37::i;:::-;:41:::0;::::1;:59::i;:66::-;12682:88:::0;-1:-1:-1;12781:20:0::1;12804:28;:11:::0;12682:88;12804:15:::1;:28::i;:::-;12781:51;;12845:30;12862:12;12845:16;:30::i;:::-;12979:20;::::0;12902:21:::1;::::0;12886:13:::1;::::0;12958:49:::1;::::0;12979:27:::1;::::0;13004:1:::1;12979:24;:27::i;:::-;12958:16;::::0;;:20:::1;:49::i;:::-;12936:71;;13020:27;13050:55;13103:1;13050:48;13086:11;13050:31;13060:20;;13050:5;:9;;:31;;;;:::i;:55::-;13020:85;;13116:29;13148:50;13186:11;13148:33;13158:22;;13148:5;:9;;:33;;;;:::i;:50::-;13116:82:::0;-1:-1:-1;13209:27:0::1;13239:57;13116:82:::0;13239:30:::1;:5:::0;13249:19;13239:9:::1;:30::i;:::-;:34:::0;::::1;:57::i;:::-;13209:87:::0;-1:-1:-1;13313:23:0;;13309:111:::1;;13370:16;::::0;13353:55:::1;::::0;-1:-1:-1;;;;;13370:16:0::1;13388:19:::0;13353:16:::1;:55::i;:::-;13436:25:::0;;13432:111:::1;;13495:12;::::0;13478:53:::1;::::0;-1:-1:-1;;;;;13495:12:0::1;13509:21:::0;13478:16:::1;:53::i;:::-;-1:-1:-1::0;;6578:9:0;:17;;-1:-1:-1;;6578:17:0;;;-1:-1:-1;;;;;;12610:940:0:o;10465:545::-;-1:-1:-1;;;;;10608:24:0;;10558:7;10608:24;;;:16;:24;;;;;;10558:7;;10608:24;;10604:200;;;10655:32;10683:3;10655:23;10666:11;;10655:6;:10;;:23;;;;:::i;:32::-;10649:38;;10604:200;;;-1:-1:-1;;;;;10709:27:0;;;;;;:16;:27;;;;;;;;10705:99;;;10759:33;10788:3;10759:24;10770:12;;10759:6;:10;;:24;;;;:::i;:33::-;10753:39;;10705:99;10818:7;;10814:156;;10887:4;10869:24;;;;:9;:24;;;;;;:33;;10898:3;10869:28;:33::i;:::-;10860:4;10842:24;;;;:9;:24;;;;;;;:60;;;;10922:36;;-1:-1:-1;;;;;10922:36:0;;;;;;;10954:3;1361:25:1;;1349:2;1334:18;;1215:177;10922:36:0;;;;;;;;10814:156;10987:15;:6;10998:3;10987:10;:15::i;3646:181::-;3704:7;;3736:5;3740:1;3736;:5;:::i;:::-;3724:17;;3765:1;3760;:6;;3752:46;;;;-1:-1:-1;;;3752:46:0;;6686:2:1;3752:46:0;;;6668:21:1;6725:2;6705:18;;;6698:30;6764:29;6744:18;;;6737:57;6811:18;;3752:46:0;6484:351:1;3835:136:0;3893:7;3920:43;3924:1;3927;3920:43;;;;;;;;;;;;;;;;;:3;:43::i;4179:250::-;4237:7;4261:1;4266;4261:6;4257:47;;-1:-1:-1;4291:1:0;4284:8;;4257:47;4316:9;4328:5;4332:1;4328;:5;:::i;:::-;4316:17;-1:-1:-1;4361:1:0;4352:5;4356:1;4316:17;4352:5;:::i;:::-;:10;4344:56;;;;-1:-1:-1;;;4344:56:0;;7437:2:1;4344:56:0;;;7419:21:1;7476:2;7456:18;;;7449:30;7515:34;7495:18;;;7488:62;-1:-1:-1;;;7566:18:1;;;7559:31;7607:19;;4344:56:0;7235:397:1;4437:132:0;4495:7;4522:39;4526:1;4529;4522:39;;;;;;;;;;;;;;;;;:3;:39::i;13733:519::-;13823:16;;;13837:1;13823:16;;;;;;;;13799:21;;13823:16;;;;;;;;;;-1:-1:-1;13823:16:0;13799:40;;13868:4;13850;13855:1;13850:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13850:23:0;;;:7;;;;;;;;;;:23;;;;13894:15;;:22;;;-1:-1:-1;;;13894:22:0;;;;:15;;;;;:20;;:22;;;;;13850:7;;13894:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13884:4;13889:1;13884:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13884:32:0;;;:7;;;;;;;;;:32;13961:15;;13929:62;;13946:4;;13961:15;13979:11;13929:8;:62::i;:::-;14004:15;;:240;;-1:-1:-1;;;14004:240:0;;-1:-1:-1;;;;;14004:15:0;;;;:66;;:240;;14085:11;;14004:15;;14155:4;;14182;;14218:15;;14004:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13788:464;13733:519;:::o;8378:122::-;8466:26;;-1:-1:-1;;;;;8466:18:0;;;:26;;;;;8485:6;;8466:26;;;;8485:6;8466:18;:26;;;;;;;;;;;;;;;;;;;;;8378:122;;:::o;4577:189::-;4663:7;4698:12;4691:5;4683:28;;;;-1:-1:-1;;;4683:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4722:9:0;4734:5;4738:1;4734;: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;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:380::-;2979:1;2975:12;;;;3022;;;3043:61;;3097:4;3089:6;3085:17;3075:27;;3043:61;3150:2;3142:6;3139:14;3119:18;3116:38;3113:161;;3196:10;3191:3;3187:20;3184:1;3177:31;3231:4;3228:1;3221:15;3259:4;3256:1;3249:15;3113:161;;2900:380;;;:::o;3285:356::-;3487:2;3469:21;;;3506:18;;;3499:30;3565:34;3560:2;3545:18;;3538:62;3632:2;3617:18;;3285:356::o;6089:127::-;6150:10;6145:3;6141:20;6138:1;6131:31;6181:4;6178:1;6171:15;6205:4;6202:1;6195:15;6221:128;6288:9;;;6309:11;;;6306:37;;;6323:18;;:::i;6354:125::-;6419:9;;;6440:10;;;6437:36;;;6453:18;;:::i;6840:168::-;6913:9;;;6944;;6961:15;;;6955:22;;6941:37;6931:71;;6982:18;;:::i;7013:217::-;7053:1;7079;7069:132;;7123:10;7118:3;7114:20;7111:1;7104:31;7158:4;7155:1;7148:15;7186:4;7183:1;7176:15;7069:132;-1:-1:-1;7215:9:1;;7013:217::o;7769:127::-;7830:10;7825:3;7821:20;7818:1;7811:31;7861:4;7858:1;7851:15;7885:4;7882:1;7875:15;7901:251;7971:6;8024:2;8012:9;8003:7;7999:23;7995:32;7992:52;;;8040:1;8037;8030:12;7992:52;8072:9;8066:16;8091:31;8116:5;8091:31;:::i;8157:980::-;8419:4;8467:3;8456:9;8452:19;8498:6;8487:9;8480:25;8524:2;8562:6;8557:2;8546:9;8542:18;8535:34;8605:3;8600:2;8589:9;8585:18;8578:31;8629:6;8664;8658:13;8695:6;8687;8680:22;8733:3;8722:9;8718:19;8711:26;;8772:2;8764:6;8760:15;8746:29;;8793:1;8803:195;8817:6;8814:1;8811:13;8803:195;;;8882:13;;-1:-1:-1;;;;;8878:39:1;8866:52;;8973:15;;;;8938:12;;;;8914:1;8832:9;8803:195;;;-1:-1:-1;;;;;;;9054:32:1;;;;9049:2;9034:18;;9027:60;-1:-1:-1;;;9118:3:1;9103:19;9096:35;9015:3;8157:980;-1:-1:-1;;;8157:980:1:o

Swarm Source

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