ETH Price: $2,508.76 (-0.68%)

Token

Genghis Khan (KHAN)
 

Overview

Max Total Supply

1,000,000,000 KHAN

Holders

91

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
risitaswhale.eth
Balance
12,808,203.608377191 KHAN

Value
$0.00
0x96357756598b5e034aea83e9163bf5c6fd5f66ec
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:
KHAN

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-01-25
*/

// SPDX-License-Identifier: Unlicensed

/**
https://twitter.com/elonmusk/status/1750368096945070474

https://t.me/Genghis_Khan_ETH
 */

pragma solidity = 0.8.19;

//--- Interface for ERC20 ---//
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

//--- Context ---//
abstract contract Context {
    constructor() {
    }

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

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

//--- Ownable ---//
abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

interface IRouter01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

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

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

//--- Contract ---//

contract KHAN is Context, Ownable, IERC20 {

    string private constant _name = "Genghis Khan";
    string private constant _symbol = "KHAN";
    uint8 private constant _decimals = 9;

    uint256 public constant _total_supply = 10 ** 18;

    uint256 private constant _transfer_fees = 0;
    uint256 private constant _denominator = 1_000;
    uint256 private _max_wallet_amount = 30 * _total_supply / 1000;

    bool private _is_limit_deactive = false;
    uint256 private _buy_fees = 200;
    uint256 private _sell_fees = 200;

    address private _pair_address;
    IRouter02 private _uniswap_router;
    bool private _is_trading_opened = false;
    bool private _swapping;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _address_with_no_fee;
    mapping (address => bool) private _address_lp_provide;
    mapping (address => bool) private _address_liq_pairs;
    mapping (address => uint256) private _balances;

    uint256 private constant _swap_threshold = _total_supply / 100_000;
    address payable private _fee_address = payable(address(0xDDFDA8E138d5D1869539414A2DBD3fD987dd832a));
    address public constant dead = 0x000000000000000000000000000000000000dEaD;

    bool private _swap_enabled = true;

    modifier in_swaps() {
        _swapping = true;
        _;
        _swapping = false;
    }

    constructor () {
        _address_with_no_fee[msg.sender] = true;
        _address_with_no_fee[_fee_address] = true;

        if (block.chainid == 56) {
            _uniswap_router = IRouter02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            _uniswap_router = IRouter02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            _uniswap_router = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 42161) {
            _uniswap_router = IRouter02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        } else if (block.chainid == 5) {
            _uniswap_router = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else {
            revert("Chain not valid");
        }
        _address_lp_provide[msg.sender] = true;
        _balances[msg.sender] = _total_supply;
        emit Transfer(address(0), msg.sender, _total_supply);

        _pair_address = IFactoryV2(_uniswap_router.factory()).createPair(_uniswap_router.WETH(), address(this));
        _address_liq_pairs[_pair_address] = true;
        _approve(msg.sender, address(_uniswap_router), type(uint256).max);
        _approve(address(this), address(_uniswap_router), type(uint256).max);
    }

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        bool take_fee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (has_transfer_limits(from, to)) {
            require(_is_trading_opened, "Trading is not enabled");
            if (!_address_liq_pairs[to] && from != address(this) && to != address(this) || is_transferring(from, to) && !_is_limit_deactive) {
                require(_balances[to] + amount <= _max_wallet_amount, "_max_wallet_amount exceed");
            }
        }

        if (is_selling(from, to) && !_swapping && _verify_to_swap_back(from)) {
            uint256 contract_token_balance = _balances[address(this)];
            if (contract_token_balance >= _swap_threshold) {
                if (amount > _swap_threshold) swap_back(contract_token_balance);
            }
        }

        if (_address_with_no_fee[from] || _address_with_no_fee[to]) {
            take_fee = false;
        }
        uint256 amount_after_fee = (take_fee) ? get_recipient_amount(from, is_buying(from, to), is_selling(from, to), amount) : amount;
        uint256 amount_before_fee = (take_fee) ? amount : (!_is_trading_opened ? amount : 0);
        _balances[from] -= amount_before_fee;
        _balances[to] += amount_after_fee;
        emit Transfer(from, to, amount_after_fee);

        return true;
    }

    function enable_trading() external onlyOwner {
        require(!_is_trading_opened, "Trading already enabled");
        _is_trading_opened = true;
    }

    function remove_taxes_and_limits() external onlyOwner {
        require(!_is_limit_deactive, "Already initialized");
        _max_wallet_amount = _total_supply;
        _is_limit_deactive = true;
        _buy_fees = 0;
        _sell_fees = 0;
    }

    receive() external payable {}

    function _verify_to_swap_back(address ins) internal view returns (bool) {
        bool can_swap = _swap_enabled && !_address_with_no_fee[ins];
        return can_swap;
    }

    function is_buying(address ins, address out) internal view returns (bool) {
        return !_address_liq_pairs[out] && _address_liq_pairs[ins];
    }

    function is_selling(address ins, address out) internal view returns (bool) {
        return _address_liq_pairs[out] && !_address_liq_pairs[ins];
    }

    function is_transferring(address ins, address out) internal view returns (bool) {
        return !_address_liq_pairs[out] && !_address_liq_pairs[ins];
    }

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

        return _transfer(sender, recipient, amount);
    }

    function has_transfer_limits(address ins, address out) internal view returns (bool) {
        return ins != owner() && out != owner() && msg.sender != owner() && !_address_lp_provide[ins] && !_address_lp_provide[out] && out != address(0) && out != address(this);
    }

    function swap_back(uint256 contract_token_balance) internal in_swaps {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswap_router.WETH();

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

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

        if (address(this).balance > 0) {
            _fee_address.transfer(address(this).balance);
        }
    }

    function totalSupply() external pure override returns (uint256) {
        if (_total_supply == 0) {
            revert();
        }
        return _total_supply;
    }

    function decimals() external pure override returns (uint8) {
        if (_total_supply == 0) {
            revert();
        }
        return _decimals;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function name() external pure override returns (string memory) {
        return _name;
    }

    function getOwner() external view override returns (address) {
        return owner();
    }

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

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

    function get_recipient_amount(address from, bool is_buy, bool is_sell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (is_buy) {
            fee = _buy_fees;
        } else if (is_sell) {
            fee = _sell_fees;
        } else {
            fee = _transfer_fees;
        }
        if (fee == 0) {
            return amount;
        }
        uint256 fee_amount = (amount * fee) / _denominator;
        if (fee_amount > 0) {
            _balances[address(this)] += fee_amount;
            emit Transfer(from, address(this), fee_amount);
        }
        return amount - fee_amount;
    }

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_total_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enable_trading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remove_taxes_and_limits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"}]

60806040526103e86200001c670de0b6b3a7640000601e62000585565b620000289190620005b1565b6001556002805460ff1916905560c860038190556004556006805460ff60a01b19169055600c80546001600160a81b0319167401ddfda8e138d5d1869539414a2dbd3fd987dd832a1790553480156200008057600080fd5b506200008c336200046d565b336000908152600860205260408082208054600160ff199182168117909255600c546001600160a01b03168452919092208054909116909117905546603803620000fc57600680546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000229565b466061036200013157600680546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d117905562000229565b4660011480620001415750466004145b806200014d5750466003145b156200017f57600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000229565b4661a4b103620001b557600680546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b4799750617905562000229565b46600503620001ea57600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000229565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b336000818152600960209081526040808320805460ff19166001179055600b8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003049190620005d4565b6001600160a01b031663c9c65396600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000366573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038c9190620005d4565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620003d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ff9190620005d4565b600580546001600160a01b0319166001600160a01b039283169081179091556000908152600a60205260409020805460ff191660011790556006546200044b91339116600019620004bd565b600654620004679030906001600160a01b0316600019620004bd565b62000606565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200050b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000220565b6001600160a01b038216620005595760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000220565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b8082028115828204841417620005ab57634e487b7160e01b600052601160045260246000fd5b92915050565b600082620005cf57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005e757600080fd5b81516001600160a01b0381168114620005ff57600080fd5b9392505050565b6112ce80620006166000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c8578063beb51b57146102e8578063cb3bc15f146102fd578063dd62ed3e14610312578063f2fde38b1461035857600080fd5b8063715018a614610266578063893d20e81461027d5780638da5cb5b1461027d57806395d89b411461029b57600080fd5b8063313ce567116100d1578063313ce567146101ca57806336cf7c87146101e65780634d3cfc831461021457806370a082311461023057600080fd5b806306fdde031461010e578063095ea7b31461015557806318160ddd1461018557806323b872dd146101aa57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600c81526b23b2b733b434b99025b430b760a11b60208201525b60405161014c9190611024565b60405180910390f35b34801561016157600080fd5b50610175610170366004611087565b610378565b604051901515815260200161014c565b34801561019157600080fd5b50670de0b6b3a76400005b60405190815260200161014c565b3480156101b657600080fd5b506101756101c53660046110b3565b61038f565b3480156101d657600080fd5b506040516009815260200161014c565b3480156101f257600080fd5b506101fc61dead81565b6040516001600160a01b03909116815260200161014c565b34801561022057600080fd5b5061019c670de0b6b3a764000081565b34801561023c57600080fd5b5061019c61024b3660046110f4565b6001600160a01b03166000908152600b602052604090205490565b34801561027257600080fd5b5061027b610407565b005b34801561028957600080fd5b506000546001600160a01b03166101fc565b3480156102a757600080fd5b5060408051808201909152600481526325a420a760e11b602082015261013f565b3480156102d457600080fd5b506101756102e3366004611087565b610446565b3480156102f457600080fd5b5061027b61045d565b34801561030957600080fd5b5061027b6104f7565b34801561031e57600080fd5b5061019c61032d366004611111565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561036457600080fd5b5061027b6103733660046110f4565b610590565b600061038533848461062b565b5060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146103f4576001600160a01b0384166000908152600760209081526040808320338452909152812080548492906103ee908490611160565b90915550505b6103ff8484846106ef565b949350505050565b6000546001600160a01b0316331461043a5760405162461bcd60e51b815260040161043190611173565b60405180910390fd5b6104446000610b3b565b565b60006104533384846106ef565b5060019392505050565b6000546001600160a01b031633146104875760405162461bcd60e51b815260040161043190611173565b60025460ff16156104d05760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610431565b670de0b6b3a764000060019081556002805460ff1916909117905560006003819055600455565b6000546001600160a01b031633146105215760405162461bcd60e51b815260040161043190611173565b600654600160a01b900460ff161561057b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610431565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161043190611173565b6001600160a01b03811661061f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610431565b61062881610b3b565b50565b6001600160a01b0383166106775760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610431565b6001600160a01b0382166106c35760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610431565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166107555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610431565b6001600160a01b0385166107b95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610431565b6000831161081b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610431565b6108258585610b8b565b1561095c57600654600160a01b900460ff1661087c5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610431565b6001600160a01b0384166000908152600a602052604090205460ff161580156108ae57506001600160a01b0385163014155b80156108c357506001600160a01b0384163014155b806108e257506108d38585610c49565b80156108e2575060025460ff16155b1561095c576001546001600160a01b0385166000908152600b602052604090205461090e9085906111a8565b111561095c5760405162461bcd60e51b815260206004820152601960248201527f5f6d61785f77616c6c65745f616d6f756e7420657863656564000000000000006044820152606401610431565b6109668585610c8e565b801561097c5750600654600160a81b900460ff16155b801561098c575061098c85610cd2565b156109e357306000908152600b60205260409020546109b6620186a0670de0b6b3a76400006111bb565b81106109e1576109d1620186a0670de0b6b3a76400006111bb565b8411156109e1576109e181610d0c565b505b6001600160a01b03851660009081526008602052604090205460ff1680610a2257506001600160a01b03841660009081526008602052604090205460ff165b15610a2b575060005b600081610a385783610a56565b610a5686610a468888610f0f565b610a508989610c8e565b87610f53565b9050600082610a7e57600654600160a01b900460ff1615610a78576000610a80565b84610a80565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610aad908490611160565b90915550506001600160a01b0386166000908152600b602052604081208054849290610ada9084906111a8565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b2691815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b03848116911614801590610bb857506000546001600160a01b03838116911614155b8015610bcf57506000546001600160a01b03163314155b8015610bf457506001600160a01b03831660009081526009602052604090205460ff16155b8015610c1957506001600160a01b03821660009081526009602052604090205460ff16155b8015610c2d57506001600160a01b03821615155b8015610c4257506001600160a01b0382163014155b9392505050565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c42575050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a602052604081205460ff168015610c42575050506001600160a01b03166000908152600a602052604090205460ff161590565b600c546000908190600160a01b900460ff168015610c42575050506001600160a01b031660009081526008602052604090205460ff161590565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5457610d546111dd565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd191906111f3565b81600181518110610de457610de46111dd565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610e4e573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e87908590600090869030904290600401611210565b600060405180830381600087803b158015610ea157600080fd5b505af1925050508015610eb2575060015b610ebc5750610eff565b4715610efd57600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610efb573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c42575050506001600160a01b03166000908152600a602052604090205460ff1690565b6000808415610f655750600354610f78565b8315610f745750600454610f78565b5060005b80600003610f8957829150506103ff565b60006103e8610f988386611281565b610fa291906111bb565b9050801561100f57306000908152600b602052604081208054839290610fc99084906111a8565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6110198185611160565b979650505050505050565b600060208083528351808285015260005b8181101561105157858101830151858201604001528201611035565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461062857600080fd5b6000806040838503121561109a57600080fd5b82356110a581611072565b946020939093013593505050565b6000806000606084860312156110c857600080fd5b83356110d381611072565b925060208401356110e381611072565b929592945050506040919091013590565b60006020828403121561110657600080fd5b8135610c4281611072565b6000806040838503121561112457600080fd5b823561112f81611072565b9150602083013561113f81611072565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103895761038961114a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103895761038961114a565b6000826111d857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b8151610c4281611072565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112605784516001600160a01b03168352938301939183019160010161123b565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103895761038961114a56fea26469706673582212205aa28ebe6a0c2b7a6b683c3fc39b0ba697db399d5375afc5c5dabed60fb8862164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c8578063beb51b57146102e8578063cb3bc15f146102fd578063dd62ed3e14610312578063f2fde38b1461035857600080fd5b8063715018a614610266578063893d20e81461027d5780638da5cb5b1461027d57806395d89b411461029b57600080fd5b8063313ce567116100d1578063313ce567146101ca57806336cf7c87146101e65780634d3cfc831461021457806370a082311461023057600080fd5b806306fdde031461010e578063095ea7b31461015557806318160ddd1461018557806323b872dd146101aa57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600c81526b23b2b733b434b99025b430b760a11b60208201525b60405161014c9190611024565b60405180910390f35b34801561016157600080fd5b50610175610170366004611087565b610378565b604051901515815260200161014c565b34801561019157600080fd5b50670de0b6b3a76400005b60405190815260200161014c565b3480156101b657600080fd5b506101756101c53660046110b3565b61038f565b3480156101d657600080fd5b506040516009815260200161014c565b3480156101f257600080fd5b506101fc61dead81565b6040516001600160a01b03909116815260200161014c565b34801561022057600080fd5b5061019c670de0b6b3a764000081565b34801561023c57600080fd5b5061019c61024b3660046110f4565b6001600160a01b03166000908152600b602052604090205490565b34801561027257600080fd5b5061027b610407565b005b34801561028957600080fd5b506000546001600160a01b03166101fc565b3480156102a757600080fd5b5060408051808201909152600481526325a420a760e11b602082015261013f565b3480156102d457600080fd5b506101756102e3366004611087565b610446565b3480156102f457600080fd5b5061027b61045d565b34801561030957600080fd5b5061027b6104f7565b34801561031e57600080fd5b5061019c61032d366004611111565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561036457600080fd5b5061027b6103733660046110f4565b610590565b600061038533848461062b565b5060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146103f4576001600160a01b0384166000908152600760209081526040808320338452909152812080548492906103ee908490611160565b90915550505b6103ff8484846106ef565b949350505050565b6000546001600160a01b0316331461043a5760405162461bcd60e51b815260040161043190611173565b60405180910390fd5b6104446000610b3b565b565b60006104533384846106ef565b5060019392505050565b6000546001600160a01b031633146104875760405162461bcd60e51b815260040161043190611173565b60025460ff16156104d05760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610431565b670de0b6b3a764000060019081556002805460ff1916909117905560006003819055600455565b6000546001600160a01b031633146105215760405162461bcd60e51b815260040161043190611173565b600654600160a01b900460ff161561057b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c65640000000000000000006044820152606401610431565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ba5760405162461bcd60e51b815260040161043190611173565b6001600160a01b03811661061f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610431565b61062881610b3b565b50565b6001600160a01b0383166106775760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610431565b6001600160a01b0382166106c35760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610431565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166107555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610431565b6001600160a01b0385166107b95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610431565b6000831161081b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610431565b6108258585610b8b565b1561095c57600654600160a01b900460ff1661087c5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610431565b6001600160a01b0384166000908152600a602052604090205460ff161580156108ae57506001600160a01b0385163014155b80156108c357506001600160a01b0384163014155b806108e257506108d38585610c49565b80156108e2575060025460ff16155b1561095c576001546001600160a01b0385166000908152600b602052604090205461090e9085906111a8565b111561095c5760405162461bcd60e51b815260206004820152601960248201527f5f6d61785f77616c6c65745f616d6f756e7420657863656564000000000000006044820152606401610431565b6109668585610c8e565b801561097c5750600654600160a81b900460ff16155b801561098c575061098c85610cd2565b156109e357306000908152600b60205260409020546109b6620186a0670de0b6b3a76400006111bb565b81106109e1576109d1620186a0670de0b6b3a76400006111bb565b8411156109e1576109e181610d0c565b505b6001600160a01b03851660009081526008602052604090205460ff1680610a2257506001600160a01b03841660009081526008602052604090205460ff165b15610a2b575060005b600081610a385783610a56565b610a5686610a468888610f0f565b610a508989610c8e565b87610f53565b9050600082610a7e57600654600160a01b900460ff1615610a78576000610a80565b84610a80565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610aad908490611160565b90915550506001600160a01b0386166000908152600b602052604081208054849290610ada9084906111a8565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b2691815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b03848116911614801590610bb857506000546001600160a01b03838116911614155b8015610bcf57506000546001600160a01b03163314155b8015610bf457506001600160a01b03831660009081526009602052604090205460ff16155b8015610c1957506001600160a01b03821660009081526009602052604090205460ff16155b8015610c2d57506001600160a01b03821615155b8015610c4257506001600160a01b0382163014155b9392505050565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c42575050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a602052604081205460ff168015610c42575050506001600160a01b03166000908152600a602052604090205460ff161590565b600c546000908190600160a01b900460ff168015610c42575050506001600160a01b031660009081526008602052604090205460ff161590565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5457610d546111dd565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd191906111f3565b81600181518110610de457610de46111dd565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610e4e573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e87908590600090869030904290600401611210565b600060405180830381600087803b158015610ea157600080fd5b505af1925050508015610eb2575060015b610ebc5750610eff565b4715610efd57600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610efb573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c42575050506001600160a01b03166000908152600a602052604090205460ff1690565b6000808415610f655750600354610f78565b8315610f745750600454610f78565b5060005b80600003610f8957829150506103ff565b60006103e8610f988386611281565b610fa291906111bb565b9050801561100f57306000908152600b602052604081208054839290610fc99084906111a8565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6110198185611160565b979650505050505050565b600060208083528351808285015260005b8181101561105157858101830151858201604001528201611035565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461062857600080fd5b6000806040838503121561109a57600080fd5b82356110a581611072565b946020939093013593505050565b6000806000606084860312156110c857600080fd5b83356110d381611072565b925060208401356110e381611072565b929592945050506040919091013590565b60006020828403121561110657600080fd5b8135610c4281611072565b6000806040838503121561112457600080fd5b823561112f81611072565b9150602083013561113f81611072565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103895761038961114a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103895761038961114a565b6000826111d857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120557600080fd5b8151610c4281611072565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112605784516001600160a01b03168352938301939183019160010161123b565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103895761038961114a56fea26469706673582212205aa28ebe6a0c2b7a6b683c3fc39b0ba697db399d5375afc5c5dabed60fb8862164736f6c63430008130033

Deployed Bytecode Sourcemap

4767:9079:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12107:94;;;;;;;;;;-1:-1:-1;12188:5:0;;;;;;;;;;;;-1:-1:-1;;;12188:5:0;;;;12107:94;;;;;;;:::i;:::-;;;;;;;;13415:161;;;;;;;;;;-1:-1:-1;13415:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;13415:161:0;1023:187:1;11650:172:0;;;;;;;;;;-1:-1:-1;5003:8:0;11650:172;;;1361:25:1;;;1349:2;1334:18;11650:172:0;1215:177:1;10275:306:0;;;;;;;;;;-1:-1:-1;10275:306:0;;;;;:::i;:::-;;:::i;11830:163::-;;;;;;;;;;-1:-1:-1;11830:163:0;;4953:1;2000:36:1;;1988:2;1973:18;11830:163:0;1858:184:1;5961:73:0;;;;;;;;;;;;5992:42;5961:73;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;5961:73:0;2047:203:1;4963:48:0;;;;;;;;;;;;5003:8;4963:48;;12466:119;;;;;;;;;;-1:-1:-1;12466:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12559:18:0;12532:7;12559:18;;;:9;:18;;;;;;;12466:119;1907:94;;;;;;;;;;;;;:::i;:::-;;12209;;;;;;;;;;-1:-1:-1;12261:7:0;1757:6;-1:-1:-1;;;;;1757:6:0;12209:94;;12001:98;;;;;;;;;;-1:-1:-1;12084:7:0;;;;;;;;;;;;-1:-1:-1;;;12084:7:0;;;;12001:98;;13242:165;;;;;;;;;;-1:-1:-1;13242:165:0;;;;;:::i;:::-;;:::i;9307:254::-;;;;;;;;;;;;;:::i;9144:155::-;;;;;;;;;;;;;:::i;12311:147::-;;;;;;;;;;-1:-1:-1;12311:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;12422:19:0;;;12395:7;12422:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12311:147;2009:192;;;;;;;;;;-1:-1:-1;2009:192:0;;;;;:::i;:::-;;:::i;13415:161::-;13492:4;13509:37;13518:10;13530:7;13539:6;13509:8;:37::i;:::-;-1:-1:-1;13564:4:0;13415:161;;;;;:::o;10275:306::-;-1:-1:-1;;;;;10396:19:0;;10375:4;10396:19;;;:11;:19;;;;;;;;10416:10;10396:31;;;;;;;;-1:-1:-1;;10396:52:0;10392:126;;-1:-1:-1;;;;;10465:19:0;;;;;;:11;:19;;;;;;;;10485:10;10465:31;;;;;;;:41;;10500:6;;10465:19;:41;;10500:6;;10465:41;:::i;:::-;;;;-1:-1:-1;;10392:126:0;10537:36;10547:6;10555:9;10566:6;10537:9;:36::i;:::-;10530:43;10275:306;-1:-1:-1;;;;10275:306:0:o;1907:94::-;1730:7;1757:6;-1:-1:-1;;;;;1757:6:0;1292:10;1819:23;1811:68;;;;-1:-1:-1;;;1811:68:0;;;;;;;:::i;:::-;;;;;;;;;1972:21:::1;1990:1;1972:9;:21::i;:::-;1907:94::o:0;13242:165::-;13320:4;13337:40;13347:10;13359:9;13370:6;13337:9;:40::i;:::-;-1:-1:-1;13395:4:0;;13242:165;-1:-1:-1;;;13242:165:0:o;9307:254::-;1730:7;1757:6;-1:-1:-1;;;;;1757:6:0;1292:10;1819:23;1811:68;;;;-1:-1:-1;;;1811:68:0;;;;;;;:::i;:::-;9381:18:::1;::::0;::::1;;9380:19;9372:51;;;::::0;-1:-1:-1;;;9372:51:0;;3728:2:1;9372:51:0::1;::::0;::::1;3710:21:1::0;3767:2;3747:18;;;3740:30;-1:-1:-1;;;3786:18:1;;;3779:49;3845:18;;9372:51:0::1;3526:343:1::0;9372:51:0::1;5003:8;9434:18;:34:::0;;;9479:18:::1;:25:::0;;-1:-1:-1;;9479:25:0::1;::::0;;::::1;::::0;;:18:::1;9515:9;:13:::0;;;9539:10:::1;:14:::0;9307:254::o;9144:155::-;1730:7;1757:6;-1:-1:-1;;;;;1757:6:0;1292:10;1819:23;1811:68;;;;-1:-1:-1;;;1811:68:0;;;;;;;:::i;:::-;9209:18:::1;::::0;-1:-1:-1;;;9209:18:0;::::1;;;9208:19;9200:55;;;::::0;-1:-1:-1;;;9200:55:0;;4076:2:1;9200:55:0::1;::::0;::::1;4058:21:1::0;4115:2;4095:18;;;4088:30;4154:25;4134:18;;;4127:53;4197:18;;9200:55:0::1;3874:347:1::0;9200:55:0::1;9266:18;:25:::0;;-1:-1:-1;;;;9266:25:0::1;-1:-1:-1::0;;;9266:25:0::1;::::0;;9144:155::o;2009:192::-;1730:7;1757:6;-1:-1:-1;;;;;1757:6:0;1292:10;1819:23;1811:68;;;;-1:-1:-1;;;1811:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2098:22:0;::::1;2090:73;;;::::0;-1:-1:-1;;;2090:73:0;;4428:2:1;2090:73:0::1;::::0;::::1;4410:21:1::0;4467:2;4447:18;;;4440:30;4506:34;4486:18;;;4479:62;-1:-1:-1;;;4557:18:1;;;4550:36;4603:19;;2090:73:0::1;4226:402:1::0;2090:73:0::1;2174:19;2184:8;2174:9;:19::i;:::-;2009:192:::0;:::o;13584:259::-;-1:-1:-1;;;;;13679:20:0;;13671:52;;;;-1:-1:-1;;;13671:52:0;;4835:2:1;13671:52:0;;;4817:21:1;4874:2;4854:18;;;4847:30;-1:-1:-1;;;4893:18:1;;;4886:49;4952:18;;13671:52:0;4633:343:1;13671:52:0;-1:-1:-1;;;;;13742:21:0;;13734:53;;;;-1:-1:-1;;;13734:53:0;;4835:2:1;13734:53:0;;;4817:21:1;4874:2;4854:18;;;4847:30;-1:-1:-1;;;4893:18:1;;;4886:49;4952:18;;13734:53:0;4633:343:1;13734:53:0;-1:-1:-1;;;;;13798:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;13584:259::o;7557:1579::-;7636:4;7669;-1:-1:-1;;;;;7692:16:0;;7684:64;;;;-1:-1:-1;;;7684:64:0;;5183:2:1;7684:64:0;;;5165:21:1;5222:2;5202:18;;;5195:30;5261:34;5241:18;;;5234:62;-1:-1:-1;;;5312:18:1;;;5305:33;5355:19;;7684:64:0;4981:399:1;7684:64:0;-1:-1:-1;;;;;7767:18:0;;7759:68;;;;-1:-1:-1;;;7759:68:0;;5587:2:1;7759:68:0;;;5569:21:1;5626:2;5606:18;;;5599:30;5665:34;5645:18;;;5638:62;-1:-1:-1;;;5716:18:1;;;5709:35;5761:19;;7759:68:0;5385:401:1;7759:68:0;7855:1;7846:6;:10;7838:64;;;;-1:-1:-1;;;7838:64:0;;5993:2:1;7838:64:0;;;5975:21:1;6032:2;6012:18;;;6005:30;6071:34;6051:18;;;6044:62;-1:-1:-1;;;6122:18:1;;;6115:39;6171:19;;7838:64:0;5791:405:1;7838:64:0;7919:29;7939:4;7945:2;7919:19;:29::i;:::-;7915:375;;;7973:18;;-1:-1:-1;;;7973:18:0;;;;7965:53;;;;-1:-1:-1;;;7965:53:0;;6403:2:1;7965:53:0;;;6385:21:1;6442:2;6422:18;;;6415:30;-1:-1:-1;;;6461:18:1;;;6454:52;6523:18;;7965:53:0;6201:346:1;7965:53:0;-1:-1:-1;;;;;8038:22:0;;;;;;:18;:22;;;;;;;;8037:23;:48;;;;-1:-1:-1;;;;;;8064:21:0;;8080:4;8064:21;;8037:48;:71;;;;-1:-1:-1;;;;;;8089:19:0;;8103:4;8089:19;;8037:71;:123;;;;8112:25;8128:4;8134:2;8112:15;:25::i;:::-;:48;;;;-1:-1:-1;8142:18:0;;;;8141:19;8112:48;8033:246;;;8215:18;;-1:-1:-1;;;;;8189:13:0;;;;;;:9;:13;;;;;;:22;;8205:6;;8189:22;:::i;:::-;:44;;8181:82;;;;-1:-1:-1;;;8181:82:0;;6884:2:1;8181:82:0;;;6866:21:1;6923:2;6903:18;;;6896:30;6962:27;6942:18;;;6935:55;7007:18;;8181:82:0;6682:349:1;8181:82:0;8306:20;8317:4;8323:2;8306:10;:20::i;:::-;:34;;;;-1:-1:-1;8331:9:0;;-1:-1:-1;;;8331:9:0;;;;8330:10;8306:34;:64;;;;;8344:26;8365:4;8344:20;:26::i;:::-;8302:313;;;8438:4;8387:30;8420:24;;;:9;:24;;;;;;5825:23;5841:7;5003:8;5825:23;:::i;:::-;8463:22;:41;8459:145;;5825:23;5841:7;5003:8;5825:23;:::i;:::-;8529:6;:24;8525:63;;;8555:33;8565:22;8555:9;:33::i;:::-;8372:243;8302:313;-1:-1:-1;;;;;8631:26:0;;;;;;:20;:26;;;;;;;;;:54;;-1:-1:-1;;;;;;8661:24:0;;;;;;:20;:24;;;;;;;;8631:54;8627:103;;;-1:-1:-1;8713:5:0;8627:103;8740:24;8768:8;8767:99;;8860:6;8767:99;;;8780:77;8801:4;8807:19;8817:4;8823:2;8807:9;:19::i;:::-;8828:20;8839:4;8845:2;8828:10;:20::i;:::-;8850:6;8780:20;:77::i;:::-;8740:126;;8877:25;8906:8;8905:56;;8929:18;;-1:-1:-1;;;8929:18:0;;;;8928:19;:32;;8959:1;8905:56;;8928:32;8950:6;8905:56;;;8918:6;8905:56;-1:-1:-1;;;;;8972:15:0;;;;;;:9;:15;;;;;:36;;8877:84;;-1:-1:-1;8877:84:0;;8972:15;;;:36;;8877:84;;8972:36;:::i;:::-;;;;-1:-1:-1;;;;;;;9019:13:0;;;;;;:9;:13;;;;;:33;;9036:16;;9019:13;:33;;9036:16;;9019:33;:::i;:::-;;;;;;;;9083:2;-1:-1:-1;;;;;9068:36:0;9077:4;-1:-1:-1;;;;;9068:36:0;;9087:16;9068:36;;;;1361:25:1;;1349:2;1334:18;;1215:177;9068:36:0;;;;;;;;-1:-1:-1;9124:4:0;;7557:1579;-1:-1:-1;;;;;;7557:1579:0:o;2209:173::-;2265:16;2284:6;;-1:-1:-1;;;;;2301:17:0;;;-1:-1:-1;;;;;;2301:17:0;;;;;;2334:40;;2284:6;;;;;;;2334:40;;2265:16;2334:40;2254:128;2209:173;:::o;10589:270::-;10667:4;1757:6;;-1:-1:-1;;;;;10691:14:0;;;1757:6;;10691:14;;;;:32;;-1:-1:-1;1730:7:0;1757:6;-1:-1:-1;;;;;10709:14:0;;;1757:6;;10709:14;;10691:32;:57;;;;-1:-1:-1;1730:7:0;1757:6;-1:-1:-1;;;;;1757:6:0;10727:10;:21;;10691:57;:86;;;;-1:-1:-1;;;;;;10753:24:0;;;;;;:19;:24;;;;;;;;10752:25;10691:86;:115;;;;-1:-1:-1;;;;;;10782:24:0;;;;;;:19;:24;;;;;;;;10781:25;10691:115;:136;;;;-1:-1:-1;;;;;;10810:17:0;;;;10691:136;:160;;;;-1:-1:-1;;;;;;10831:20:0;;10846:4;10831:20;;10691:160;10684:167;10589:270;-1:-1:-1;;;10589:270:0:o;10109:158::-;-1:-1:-1;;;;;10208:23:0;;10183:4;10208:23;;;:18;:23;;;;;;;;10207:24;:52;;;;-1:-1:-1;;;;;;;;10236:23:0;;;;;:18;:23;;;;;;;;10235:24;;10109:158::o;9949:152::-;-1:-1:-1;;;;;10042:23:0;;10018:4;10042:23;;;:18;:23;;;;;;;;:51;;;;-1:-1:-1;;;;;;;;10070:23:0;;;;;:18;:23;;;;;;;;10069:24;;9949:152::o;9606:176::-;9705:13;;9672:4;;;;-1:-1:-1;;;9705:13:0;;;;:43;;;;-1:-1:-1;;;;;;;;9723:25:0;;;;;:20;:25;;;;;;;;9722:26;;9606:176::o;10867:775::-;6116:9;:16;;-1:-1:-1;;;;6116:16:0;-1:-1:-1;;;6116:16:0;;;10971::::1;::::0;;10985:1:::1;10971:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10971:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10971:16:0::1;10947:40;;11016:4;10998;11003:1;10998:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10998:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11042:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11042:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10998:7;;11042:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11032:4;11037:1;11032:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11032:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:32;;;;11101:4:::1;11081:26;::::0;;;:11:::1;:26:::0;;;;;;11116:15:::1;::::0;;;::::1;11081:52:::0;;;;;;;;-1:-1:-1;;11081:73:0::1;11077:178;;11191:4;11171:26;::::0;;;:11:::1;:26;::::0;;;;;;;11206:15:::1;::::0;-1:-1:-1;;;;;11206:15:0::1;11171:52:::0;;;;;;;-1:-1:-1;;11171:72:0;;11077:178:::1;11271:15;::::0;:207:::1;::::0;-1:-1:-1;;;11271:207:0;;-1:-1:-1;;;;;11271:15:0;;::::1;::::0;:66:::1;::::0;:207:::1;::::0;11352:22;;11271:15:::1;::::0;11405:4;;11432::::1;::::0;11452:15:::1;::::0;11271:207:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11267:254;;11503:7;;;11267:254;11537:21;:25:::0;11533:102:::1;;11579:12;::::0;:44:::1;::::0;-1:-1:-1;;;;;11579:12:0;;::::1;::::0;11601:21:::1;11579:44:::0;::::1;;;::::0;:12:::1;:44:::0;:12;:44;11601:21;11579:12;:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11533:102;10936:706;6143:1;-1:-1:-1::0;6155:9:0;:17;;-1:-1:-1;;;;6155:17:0;;;10867:775::o;9790:151::-;-1:-1:-1;;;;;9883:23:0;;9858:4;9883:23;;;:18;:23;;;;;;;;9882:24;:51;;;;-1:-1:-1;;;;;;;;9910:23:0;;;;;:18;:23;;;;;;;;;9790:151::o;12593:641::-;12698:7;12718:11;12744:6;12740:169;;;-1:-1:-1;12773:9:0;;12740:169;;;12804:7;12800:109;;;-1:-1:-1;12834:10:0;;12800:109;;;-1:-1:-1;5062:1:0;12800:109;12923:3;12930:1;12923:8;12919:54;;12955:6;12948:13;;;;;12919:54;12983:18;5110:5;13005:12;13014:3;13005:6;:12;:::i;:::-;13004:29;;;;:::i;:::-;12983:50;-1:-1:-1;13048:14:0;;13044:146;;13097:4;13079:24;;;;:9;:24;;;;;:38;;13107:10;;13079:24;:38;;13107:10;;13079:38;:::i;:::-;;;;-1:-1:-1;;13137:41:0;;1361:25:1;;;13160:4:0;;-1:-1:-1;;;;;13137:41:0;;;;;1349:2:1;1334:18;13137:41:0;;;;;;;13044:146;13207:19;13216:10;13207:6;:19;:::i;:::-;13200:26;12593:641;-1:-1:-1;;;;;;;12593:641:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:128;3099:9;;;3120:11;;;3117:37;;;3134:18;;:::i;3165:356::-;3367:2;3349:21;;;3386:18;;;3379:30;3445:34;3440:2;3425:18;;3418:62;3512:2;3497:18;;3165:356::o;6552:125::-;6617:9;;;6638:10;;;6635:36;;;6651:18;;:::i;7036:217::-;7076:1;7102;7092:132;;7146:10;7141:3;7137:20;7134:1;7127:31;7181:4;7178:1;7171:15;7209:4;7206:1;7199:15;7092:132;-1:-1:-1;7238:9:1;;7036:217::o;7390:127::-;7451:10;7446:3;7442:20;7439:1;7432:31;7482:4;7479:1;7472:15;7506:4;7503:1;7496:15;7522:251;7592:6;7645:2;7633:9;7624:7;7620:23;7616:32;7613:52;;;7661:1;7658;7651:12;7613:52;7693:9;7687:16;7712:31;7737:5;7712:31;:::i;7778:980::-;8040:4;8088:3;8077:9;8073:19;8119:6;8108:9;8101:25;8145:2;8183:6;8178:2;8167:9;8163:18;8156:34;8226:3;8221:2;8210:9;8206:18;8199:31;8250:6;8285;8279:13;8316:6;8308;8301:22;8354:3;8343:9;8339:19;8332:26;;8393:2;8385:6;8381:15;8367:29;;8414:1;8424:195;8438:6;8435:1;8432:13;8424:195;;;8503:13;;-1:-1:-1;;;;;8499:39:1;8487:52;;8594:15;;;;8559:12;;;;8535:1;8453:9;8424:195;;;-1:-1:-1;;;;;;;8675:32:1;;;;8670:2;8655:18;;8648:60;-1:-1:-1;;;8739:3:1;8724:19;8717:35;8636:3;7778:980;-1:-1:-1;;;7778:980:1:o;8763:168::-;8836:9;;;8867;;8884:15;;;8878:22;;8864:37;8854:71;;8905:18;;:::i

Swarm Source

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