ETH Price: $3,384.40 (-1.82%)
Gas: 3 Gwei

Token

DEXLIONS (LION)
 

Overview

Max Total Supply

100,000,000 LION

Holders

805

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.561529602688913921 LION

Value
$0.00
0x767992f2f0190571fc93595ba2c1b8e202502544
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:
DEXLIONS

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : lion.sol
// SPDX-License-Identifier: MIT

/*
STAY AHEAD IN THE GAME
Meet DexLions, the elite DeFi traders, and access their signals to boost your trading skills and outpace the market.

Website: https://dexlions.com
White paper: https://premium.dexlions.com
Telegram: https://t.me/dexlions
Twitter: https://twitter.com/dexlionscom
*/

pragma solidity ^0.8.0 <0.9.0;

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
    unchecked {
        _approve(sender, _msgSender(), currentAllowance - amount);
    }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
    }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
    unchecked {
        _balances[sender] = senderBalance - amount;
    }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _createInitialSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }
}

contract Ownable is Context {
    address private _owner;

    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() external 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 IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

interface IDexFactory {
    function createPair(address tokenA, address tokenB)
    external
    returns (address pair);
}

contract DEXLIONS is ERC20, Ownable {

    uint256 public maxBuyAmount;
    uint256 public maxSellAmount;
    uint256 public maxWalletAmount;

    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;

    bool private _swapping;
    uint256 public swapTokensAtAmount;

    address public MarketingAddress;

    uint256 public tradingActiveBlock = 0; 
    uint256 public deadBlocks = 2;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;
    bool public sniperManagementEnabled = true;

    uint256 public buyFee;

    uint256 public sellFee;

    mapping (address => bool) public isExcludedFromFees;
    mapping (address => bool) public isExcludedFromLimits;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) public isSniper;

    constructor() ERC20("DEXLIONS", "LION") {

        address newOwner = msg.sender; 

        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludeFromLimits(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        address tokenA = address(this);
        address tokenB = _uniswapV2Router.WETH();
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        uniswapV2Pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            _uniswapV2Router.factory(),
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        )))));

        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 100000000  * 1e18;

        maxBuyAmount = totalSupply * 2 / 100;
        maxSellAmount = totalSupply *  2 / 100;
        maxWalletAmount = totalSupply * 4 / 100;
        swapTokensAtAmount = totalSupply * 50 / 100000; 

        buyFee = 5;
        sellFee = 20;

        _excludeFromLimits(newOwner, true);
        _excludeFromLimits(address(this), true);

        MarketingAddress = address(0x8866214224889999716908e2c1663bb355ee3BBa);

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);

        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function createPair() external onlyOwner {
        IDexFactory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
    }

    function updateMaxBuyAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "DEXLIONS: new max buy amount less than 1% of total supply");
        maxBuyAmount = newAmount * 1e18;
    }

    function updateMaxSellAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 1 / 100), "DEXLIONS: new max sell amount less than 1% of total supply");
        maxSellAmount = newAmount * 1e18;
    }

    function updateMaxWalletAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= (totalSupply() * 2 / 100), "DEXLIONS: new max wallet amount less than 2% of total supply");
        maxWalletAmount = newAmount * 1e18;
    }

    function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner {
        require(newAmount * 1e18 >= totalSupply() * 1 / 100000, "DEXLIONS: new swap amount less than 0.001% of total supply");
        require(newAmount <= totalSupply() * 1 / 1000, "DEXLIONS: new Swap amount exceeds 0.1% of total supply");
        swapTokensAtAmount = newAmount * 1e18;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function _excludeFromLimits(address account, bool isExcluded) private {
        isExcludedFromLimits[account] = isExcluded;
    }

    function excludeFromLimits(address account, bool isExcluded) external onlyOwner {
        if (!isExcluded) {
            require(account != uniswapV2Pair, "DEXLIONS: account to be exscluded is pair address");
        }
        _excludeFromLimits(account, isExcluded);
    }

    function updateBuyFee(uint256 newBuyFee) external onlyOwner {
        require(newBuyFee <= 5, "DEXLIONS: new buy fee exceeds 5%");
        buyFee = newBuyFee;
    }

    function updateSellFee(uint256 newSellFee) external onlyOwner {
        if (sellFee > 5) {
            require(newSellFee <= sellFee, "DEXLIONS: new sell fee exceeds current sell fee");
        } else {
            require(sellFee <= 5, "DEXLIONS: new sell fee exceeds 5%");
        }
        sellFee = newSellFee;
    }

    function excludeFromFees(address account, bool isExcluded) public onlyOwner {
        isExcludedFromFees[account] = isExcluded;
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(amount > 0, "DEXLIONS: amount is zero");
        require(!isSniper[from], "DEXLIONS: sender marked as sniper");
        require(!isSniper[to], "DEXLIONS: recipient marked as sniper");
 
        if (limitsInEffect) {
            if (from != owner() && to != owner() && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
                require(tradingActive, "DEXLIONS: trading is not active");
                if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                    isSniper[to] = true;
                }
                // buy
                if (automatedMarketMakerPairs[from] && !isExcludedFromLimits[to]) {
                    require(amount <= maxBuyAmount, "DEXLIONS: transfer amount exceeds max buy amount");
                    require(amount + balanceOf(to) <= maxWalletAmount, "DEXLIONS: balance exceeds max wallet amount");
                }
                // sell
                else if (automatedMarketMakerPairs[to] && !isExcludedFromLimits[from]) {
                    require(amount <= maxSellAmount, "DEXLIONS: transfer amount exceeds max sell amount");
                }
                else if (!isExcludedFromLimits[to]) {
                    require(amount + balanceOf(to) <= maxWalletAmount, "DEXLIONS: balance exceeds max wallet amount");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= swapTokensAtAmount;
        if(canSwap && swapEnabled && !_swapping && !automatedMarketMakerPairs[from] && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
            _swapping = true;
            _swapBack();
            _swapping = false;
        }

        uint256 fee = 0;
        uint256 penaltyAmount = 0;
        if(!isExcludedFromFees[from] && !isExcludedFromFees[to]){
            // sniper penalty
            if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                penaltyAmount = amount * 98 / 100;
                super._transfer(from, MarketingAddress, penaltyAmount);
            }
            // sell
            else if (automatedMarketMakerPairs[to] && sellFee > 0){
                fee = amount * sellFee / 100;
            }
            // buy
            else if(automatedMarketMakerPairs[from] && buyFee > 0) {
                fee = amount * buyFee / 100;
            }
            if(fee > 0){
                super._transfer(from, address(this), fee);
            }
            amount -= fee + penaltyAmount;
        }

        super._transfer(from, to, amount);
    }

    function _swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setAutomatedMarketMakerPair(address pair, bool isAMM) external onlyOwner {
        if(!isAMM) {
            require(pair != uniswapV2Pair, "DEXLIONS: automated market maker pair is uniswap V2 pair");
        }
        _setAutomatedMarketMakerPair(pair, isAMM);
    }

    function _setAutomatedMarketMakerPair(address pair, bool isAMM) private {
        automatedMarketMakerPairs[pair] = isAMM;
        _excludeFromLimits(pair, isAMM);
    }

    // once enabled, can never be turned off
    function enableTrading(bool _status, uint256 _deadBlocks) external onlyOwner {
        require(!tradingActive, "DEXLIONS: trading is already active");
        require(_deadBlocks <= 5, "DEXLIONS: deadblocks amount exceeds 5");
        tradingActive = _status;
        swapEnabled = true;

        if (tradingActive && tradingActiveBlock == 0) {
            tradingActiveBlock = block.number;
            deadBlocks = _deadBlocks;
        }
    }

    function setMarketingAddress(address newMarketingAddress) external onlyOwner {
        require(newMarketingAddress != address(0), "DEXLIONS: new marketing address is the zero address");
        MarketingAddress = payable(newMarketingAddress);
    }

    function manageSniper(address sniperAddress, bool status) external onlyOwner {
        require(sniperManagementEnabled, "DEXLIONS: sniper management permanently disabled");
        isSniper[sniperAddress] = status;
    }

    function manageSnipers(address[] calldata addresses, bool status) external onlyOwner {
        require(sniperManagementEnabled, "DEXLIONS: snipers management permanently disabled");
        for (uint256 i; i < addresses.length; ++i) {
            isSniper[addresses[i]] = status;
        }
    }

    // permanently disable sniper management
    function disableSniperManagement() external onlyOwner {
        sniperManagementEnabled = false;
    }

    function _swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }
        if (contractBalance > swapTokensAtAmount * 10) {
            contractBalance = swapTokensAtAmount * 10;
        }
        _swapTokensForEth(contractBalance);
        bool success;
        (success,) = address(MarketingAddress).call{value: address(this).balance}("");
    }

    function transferForeignToken(address token, address to) external onlyOwner returns (bool) {
        require(token != address(0), "DEXLIONS: token is the zero address");
        uint256 _contractBalance = IERC20(token).balanceOf(address(this));
        return IERC20(token).transfer(to, _contractBalance);
    }

    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":"MarketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableSniperManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint256","name":"_deadBlocks","type":"uint256"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"excludeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniperAddress","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manageSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"isAMM","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sniperManagementEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","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":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"}],"name":"updateBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040525f600c556002600d55600e805463ffffffff191663010000011790553480156200002c575f80fd5b50604051806040016040528060088152602001674445584c494f4e5360c01b815250604051806040016040528060048152602001632624a7a760e11b81525081600390816200007c91906200075f565b5060046200008b82826200075f565b5050505f6200009f6200046760201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f8051602062003623833981519152908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d5f81905260126020527f3c6737805ae477fd0cfdda13dc5f99b32fcbfecb81e47f9e11e1b03813c08ec2805460ff191660011790553390806001600160a01b03166080816001600160a01b0316815250505f3090505f826001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000182573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a8919062000827565b90505f80826001600160a01b0316846001600160a01b031610620001ce578284620001d1565b83835b91509150846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000212573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000238919062000827565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002e89291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291815281516020928301206001600160a01b031660a08190525f908152601383528181208054600160ff199182168117909255601290945291902080549092161790556a52b7d2dcc80cd2e40000006064620003538260026200086a565b6200035f91906200088a565b6006556064620003718260026200086a565b6200037d91906200088a565b60075560646200038f8260046200086a565b6200039b91906200088a565b600855620186a0620003af8260326200086a565b620003bb91906200088a565b600a556005600f5560146010556001600160a01b0387165f908152601260205260409020805460ff19166001179055305f908152601260205260409020805460ff19166001179055600b80546001600160a01b031916738866214224889999716908e2c1663bb355ee3bba179055620004368760016200046b565b620004433060016200046b565b6200044f8782620004e3565b6200045a87620005c5565b50505050505050620008c0565b3390565b6005546001600160a01b03163314620004b95760405162461bcd60e51b815260206004820181905260248201525f805160206200360383398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b6001600160a01b0382166200053b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004b0565b8060025f8282546200054e9190620008aa565b90915550506001600160a01b0382165f90815260208190526040812080548392906200057c908490620008aa565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200060f5760405162461bcd60e51b815260206004820181905260248201525f80516020620036038339815191526044820152606401620004b0565b6001600160a01b038116620006765760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004b0565b6005546040516001600160a01b038084169216905f8051602062003623833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620006e857607f821691505b6020821081036200070757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200075a575f81815260208120601f850160051c81016020861015620007355750805b601f850160051c820191505b81811015620007565782815560010162000741565b5050505b505050565b81516001600160401b038111156200077b576200077b620006bf565b62000793816200078c8454620006d3565b846200070d565b602080601f831160018114620007c9575f8415620007b15750858301515b5f19600386901b1c1916600185901b17855562000756565b5f85815260208120601f198616915b82811015620007f957888601518255948401946001909101908401620007d8565b50858210156200081757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f6020828403121562000838575f80fd5b81516001600160a01b03811681146200084f575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141762000884576200088462000856565b92915050565b5f82620008a557634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111562000884576200088462000856565b60805160a051612cf0620009135f395f81816104e90152818161125d015261161501525f818161037f0152818161136e015281816113fd0152818161273e015281816127f501526128310152612cf05ff3fe6080604052600436106102dc575f3560e01c80638366e79a11610189578063c0a904a2116100d8578063e2f4560511610092578063f2fde38b1161006d578063f2fde38b146108ec578063f5648a4f1461090b578063fabb0b4f1461091f578063faf216e314610934575f80fd5b8063e2f45605146108a3578063ed494189146108b8578063ee40166e146108d7575f80fd5b8063c0a904a2146107c3578063c18bc195146107e2578063d257b34f14610801578063dbf5b91614610820578063dc3f0d0f14610840578063dd62ed3e1461085f575f80fd5b80639e78fb4f11610143578063aa4bde281161011e578063aa4bde2814610743578063b62496f514610758578063bbc0c74214610786578063c0246668146107a4575f80fd5b80639e78fb4f146106f1578063a457c2d714610705578063a9059cbb14610724575f80fd5b80638366e79a1461064e57806388e765ff1461066d5780638da5cb5b14610682578063906e9dd01461069f57806395d89b41146106be5780639a7a23d6146106d2575f80fd5b8063467abe0a116102455780635e83ae76116101ff57806370a08231116101da57806370a08231146105d3578063715018a614610607578063751039fc1461061b578063819d38d21461062f575f80fd5b80635e83ae761461058057806366d602ae1461059f5780636ddd1713146105b4575f80fd5b8063467abe0a146104a457806347062402146104c357806349bd5a5e146104d85780634a62bb651461050b5780634fbee193146105245780635cce86cd14610552575f80fd5b806323b872dd1161029657806323b872dd146103f85780632b14ca56146104175780632be32b611461042c578063313ce5671461044b5780633936e8b9146104665780633950935114610485575f80fd5b806306fdde03146102e7578063095ea7b3146103115780630f3a325f146103405780631694505e1461036e57806318160ddd146103b95780631d933a4a146103d7575f80fd5b366102e357005b5f80fd5b3480156102f2575f80fd5b506102fb610948565b604051610308919061289f565b60405180910390f35b34801561031c575f80fd5b5061033061032b3660046128fe565b6109d8565b6040519015158152602001610308565b34801561034b575f80fd5b5061033061035a366004612928565b60146020525f908152604090205460ff1681565b348015610379575f80fd5b506103a17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610308565b3480156103c4575f80fd5b506002545b604051908152602001610308565b3480156103e2575f80fd5b506103f66103f136600461294a565b6109ee565b005b348015610403575f80fd5b50610330610412366004612961565b610af8565b348015610422575f80fd5b506103c960105481565b348015610437575f80fd5b506103f661044636600461294a565b610ba0565b348015610456575f80fd5b5060405160128152602001610308565b348015610471575f80fd5b50600b546103a1906001600160a01b031681565b348015610490575f80fd5b5061033061049f3660046128fe565b610c88565b3480156104af575f80fd5b506103f66104be36600461294a565b610cc3565b3480156104ce575f80fd5b506103c9600f5481565b3480156104e3575f80fd5b506103a17f000000000000000000000000000000000000000000000000000000000000000081565b348015610516575f80fd5b50600e546103309060ff1681565b34801561052f575f80fd5b5061033061053e366004612928565b60116020525f908152604090205460ff1681565b34801561055d575f80fd5b5061033061056c366004612928565b60126020525f908152604090205460ff1681565b34801561058b575f80fd5b506103f661059a3660046129ac565b610d43565b3480156105aa575f80fd5b506103c960075481565b3480156105bf575f80fd5b50600e546103309062010000900460ff1681565b3480156105de575f80fd5b506103c96105ed366004612928565b6001600160a01b03165f9081526020819052604090205490565b348015610612575f80fd5b506103f6610e7e565b348015610626575f80fd5b506103f6610ef1565b34801561063a575f80fd5b506103f66106493660046129c8565b610f27565b348015610659575f80fd5b506103306106683660046129ff565b610fed565b348015610678575f80fd5b506103c960065481565b34801561068d575f80fd5b506005546001600160a01b03166103a1565b3480156106aa575f80fd5b506103f66106b9366004612928565b61115f565b3480156106c9575f80fd5b506102fb61121d565b3480156106dd575f80fd5b506103f66106ec3660046129c8565b61122c565b3480156106fc575f80fd5b506103f6611342565b348015610710575f80fd5b5061033061071f3660046128fe565b6114ec565b34801561072f575f80fd5b5061033061073e3660046128fe565b611584565b34801561074e575f80fd5b506103c960085481565b348015610763575f80fd5b50610330610772366004612928565b60136020525f908152604090205460ff1681565b348015610791575f80fd5b50600e5461033090610100900460ff1681565b3480156107af575f80fd5b506103f66107be3660046129c8565b611590565b3480156107ce575f80fd5b506103f66107dd3660046129c8565b6115e4565b3480156107ed575f80fd5b506103f66107fc36600461294a565b6116d7565b34801561080c575f80fd5b506103f661081b36600461294a565b6117bf565b34801561082b575f80fd5b50600e54610330906301000000900460ff1681565b34801561084b575f80fd5b506103f661085a36600461294a565b611938565b34801561086a575f80fd5b506103c96108793660046129ff565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156108ae575f80fd5b506103c9600a5481565b3480156108c3575f80fd5b506103f66108d2366004612a2b565b611a20565b3480156108e2575f80fd5b506103c9600c5481565b3480156108f7575f80fd5b506103f6610906366004612928565b611b2f565b348015610916575f80fd5b506103f6611c19565b34801561092a575f80fd5b506103c9600d5481565b34801561093f575f80fd5b506103f6611c82565b60606003805461095790612aaa565b80601f016020809104026020016040519081016040528092919081815260200182805461098390612aaa565b80156109ce5780601f106109a5576101008083540402835291602001916109ce565b820191905f5260205f20905b8154815290600101906020018083116109b157829003601f168201915b5050505050905090565b5f6109e4338484611cbb565b5060015b92915050565b6005546001600160a01b03163314610a215760405162461bcd60e51b8152600401610a1890612ae2565b60405180910390fd5b60056010541115610a9b57601054811115610a965760405162461bcd60e51b815260206004820152602f60248201527f4445584c494f4e533a206e65772073656c6c206665652065786365656473206360448201526e757272656e742073656c6c2066656560881b6064820152608401610a18565b601055565b60056010541115610a965760405162461bcd60e51b815260206004820152602160248201527f4445584c494f4e533a206e65772073656c6c20666565206578636565647320356044820152602560f81b6064820152608401610a18565b5f610b04848484611dde565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610b885760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a18565b610b958533858403611cbb565b506001949350505050565b6005546001600160a01b03163314610bca5760405162461bcd60e51b8152600401610a1890612ae2565b6064610bd560025490565b610be0906001612b2b565b610bea9190612b42565b610bfc82670de0b6b3a7640000612b2b565b1015610c705760405162461bcd60e51b815260206004820152603960248201527f4445584c494f4e533a206e6577206d61782062757920616d6f756e74206c657360448201527f73207468616e203125206f6620746f74616c20737570706c79000000000000006064820152608401610a18565b610c8281670de0b6b3a7640000612b2b565b60065550565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916109e4918590610cbe908690612b61565b611cbb565b6005546001600160a01b03163314610ced5760405162461bcd60e51b8152600401610a1890612ae2565b6005811115610d3e5760405162461bcd60e51b815260206004820181905260248201527f4445584c494f4e533a206e6577206275792066656520657863656564732035256044820152606401610a18565b600f55565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b8152600401610a1890612ae2565b600e54610100900460ff1615610dd15760405162461bcd60e51b815260206004820152602360248201527f4445584c494f4e533a2074726164696e6720697320616c72656164792061637460448201526269766560e81b6064820152608401610a18565b6005811115610e305760405162461bcd60e51b815260206004820152602560248201527f4445584c494f4e533a2064656164626c6f636b7320616d6f756e742065786365604482015264656473203560d81b6064820152608401610a18565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610e6b5750600c54155b15610e7a5743600c55600d8190555b5050565b6005546001600160a01b03163314610ea85760405162461bcd60e51b8152600401610a1890612ae2565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f1b5760405162461bcd60e51b8152600401610a1890612ae2565b600e805460ff19169055565b6005546001600160a01b03163314610f515760405162461bcd60e51b8152600401610a1890612ae2565b600e546301000000900460ff16610fc35760405162461bcd60e51b815260206004820152603060248201527f4445584c494f4e533a20736e69706572206d616e6167656d656e74207065726d60448201526f185b995b9d1b1e48191a5cd8589b195960821b6064820152608401610a18565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b6005545f906001600160a01b031633146110195760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b03831661107b5760405162461bcd60e51b815260206004820152602360248201527f4445584c494f4e533a20746f6b656e20697320746865207a65726f206164647260448201526265737360e81b6064820152608401610a18565b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156110bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e39190612b74565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303815f875af1158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612b8b565b949350505050565b6005546001600160a01b031633146111895760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b0381166111fb5760405162461bcd60e51b815260206004820152603360248201527f4445584c494f4e533a206e6577206d61726b6574696e67206164647265737320604482015272697320746865207a65726f206164647265737360681b6064820152608401610a18565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461095790612aaa565b6005546001600160a01b031633146112565760405162461bcd60e51b8152600401610a1890612ae2565b80611302577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036113025760405162461bcd60e51b815260206004820152603860248201527f4445584c494f4e533a206175746f6d61746564206d61726b6574206d616b657260448201527f207061697220697320756e6973776170205632207061697200000000000000006064820152608401610a18565b6001600160a01b0382165f908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610e7a565b6005546001600160a01b0316331461136c5760405162461bcd60e51b8152600401610a1890612ae2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ec9190612ba6565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611457573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147b9190612ba6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156114c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e99190612ba6565b50565b335f9081526001602090815260408083206001600160a01b03861684529091528120548281101561156d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a18565b61157a3385858403611cbb565b5060019392505050565b5f6109e4338484611dde565b6005546001600160a01b031633146115ba5760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461160e5760405162461bcd60e51b8152600401610a1890612ae2565b806116ae577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036116ae5760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a206163636f756e7420746f20626520657873636c756465604482015270642069732070616972206164647265737360781b6064820152608401610a18565b6001600160a01b0382165f908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117015760405162461bcd60e51b8152600401610a1890612ae2565b606461170c60025490565b611717906002612b2b565b6117219190612b42565b61173382670de0b6b3a7640000612b2b565b10156117a75760405162461bcd60e51b815260206004820152603c60248201527f4445584c494f4e533a206e6577206d61782077616c6c657420616d6f756e742060448201527f6c657373207468616e203225206f6620746f74616c20737570706c79000000006064820152608401610a18565b6117b981670de0b6b3a7640000612b2b565b60085550565b6005546001600160a01b031633146117e95760405162461bcd60e51b8152600401610a1890612ae2565b620186a06117f660025490565b611801906001612b2b565b61180b9190612b42565b61181d82670de0b6b3a7640000612b2b565b10156118915760405162461bcd60e51b815260206004820152603a60248201527f4445584c494f4e533a206e6577207377617020616d6f756e74206c657373207460448201527f68616e20302e30303125206f6620746f74616c20737570706c790000000000006064820152608401610a18565b6103e861189d60025490565b6118a8906001612b2b565b6118b29190612b42565b8111156119205760405162461bcd60e51b815260206004820152603660248201527f4445584c494f4e533a206e6577205377617020616d6f756e74206578636565646044820152757320302e3125206f6620746f74616c20737570706c7960501b6064820152608401610a18565b61193281670de0b6b3a7640000612b2b565b600a5550565b6005546001600160a01b031633146119625760405162461bcd60e51b8152600401610a1890612ae2565b606461196d60025490565b611978906001612b2b565b6119829190612b42565b61199482670de0b6b3a7640000612b2b565b1015611a085760405162461bcd60e51b815260206004820152603a60248201527f4445584c494f4e533a206e6577206d61782073656c6c20616d6f756e74206c6560448201527f7373207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a18565b611a1a81670de0b6b3a7640000612b2b565b60075550565b6005546001600160a01b03163314611a4a5760405162461bcd60e51b8152600401610a1890612ae2565b600e546301000000900460ff16611abd5760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a20736e6970657273206d616e6167656d656e74207065726044820152701b585b995b9d1b1e48191a5cd8589b1959607a1b6064820152608401610a18565b5f5b82811015611b29578160145f868685818110611add57611add612bc1565b9050602002016020810190611af29190612928565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055611b2281612bd5565b9050611abf565b50505050565b6005546001600160a01b03163314611b595760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b038116611bbe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a18565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611c435760405162461bcd60e51b8152600401610a1890612ae2565b6040515f90339047908381818185875af1925050503d805f8114611b29576040519150601f19603f3d011682016040523d82523d5f602084013e611b29565b6005546001600160a01b03163314611cac5760405162461bcd60e51b8152600401610a1890612ae2565b600e805463ff00000019169055565b6001600160a01b038316611d1d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a18565b6001600160a01b038216611d7e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a18565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111611e2d5760405162461bcd60e51b815260206004820152601860248201527f4445584c494f4e533a20616d6f756e74206973207a65726f00000000000000006044820152606401610a18565b6001600160a01b0383165f9081526014602052604090205460ff1615611e9f5760405162461bcd60e51b815260206004820152602160248201527f4445584c494f4e533a2073656e646572206d61726b656420617320736e6970656044820152603960f91b6064820152608401610a18565b6001600160a01b0382165f9081526014602052604090205460ff1615611f135760405162461bcd60e51b8152602060048201526024808201527f4445584c494f4e533a20726563697069656e74206d61726b656420617320736e60448201526334b832b960e11b6064820152608401610a18565b600e5460ff161561223e576005546001600160a01b03848116911614801590611f4a57506005546001600160a01b03838116911614155b8015611f6e57506001600160a01b0383165f9081526011602052604090205460ff16155b8015611f9257506001600160a01b0382165f9081526011602052604090205460ff16155b1561223e57600e54610100900460ff16611fee5760405162461bcd60e51b815260206004820152601f60248201527f4445584c494f4e533a2074726164696e67206973206e6f7420616374697665006044820152606401610a18565b5f600c5411801561200d5750600d54600c5461200a9190612b61565b43105b15612035576001600160a01b0382165f908152601460205260409020805460ff191660011790555b6001600160a01b0383165f9081526013602052604090205460ff16801561207457506001600160a01b0382165f9081526012602052604090205460ff16155b1561212c576006548111156120e45760405162461bcd60e51b815260206004820152603060248201527f4445584c494f4e533a207472616e7366657220616d6f756e742065786365656460448201526f1cc81b585e08189d5e48185b5bdd5b9d60821b6064820152608401610a18565b6008546001600160a01b0383165f908152602081905260409020546121099083612b61565b11156121275760405162461bcd60e51b8152600401610a1890612bed565b61223e565b6001600160a01b0382165f9081526013602052604090205460ff16801561216b57506001600160a01b0383165f9081526012602052604090205460ff16155b156121dc576007548111156121275760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a207472616e7366657220616d6f756e74206578636565646044820152701cc81b585e081cd95b1b08185b5bdd5b9d607a1b6064820152608401610a18565b6001600160a01b0382165f9081526012602052604090205460ff1661223e576008546001600160a01b0383165f908152602081905260409020546122209083612b61565b111561223e5760405162461bcd60e51b8152600401610a1890612bed565b305f90815260208190526040902054600a54811080159081906122695750600e5462010000900460ff165b8015612278575060095460ff16155b801561229c57506001600160a01b0385165f9081526013602052604090205460ff16155b80156122c057506001600160a01b0385165f9081526011602052604090205460ff16155b80156122e457506001600160a01b0384165f9081526011602052604090205460ff16155b15612309576009805460ff191660011790556122fe61247f565b6009805460ff191690555b6001600160a01b0385165f90815260116020526040812054819060ff1615801561234b57506001600160a01b0386165f9081526011602052604090205460ff16155b1561246b575f600c5411801561236f5750600d54600c5461236c9190612b61565b43105b156123ab576064612381866062612b2b565b61238b9190612b42565b600b549091506123a69088906001600160a01b03168361251c565b612443565b6001600160a01b0386165f9081526013602052604090205460ff1680156123d357505f601054115b156123f9576064601054866123e89190612b2b565b6123f29190612b42565b9150612443565b6001600160a01b0387165f9081526013602052604090205460ff16801561242157505f600f54115b15612443576064600f54866124369190612b2b565b6124409190612b42565b91505b81156124545761245487308461251c565b61245e8183612b61565b6124689086612c38565b94505b61247687878761251c565b50505050505050565b305f90815260208190526040812054908190036124995750565b600a80546124a691612b2b565b8111156124bd57600a80546124ba91612b2b565b90505b6124c6816126e9565b600b546040515f916001600160a01b03169047908381818185875af1925050503d805f8114612510576040519150601f19603f3d011682016040523d82523d5f602084013e612515565b606091505b5050505050565b6001600160a01b0383166125805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a18565b6001600160a01b0382166125e25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a18565b6001600160a01b0383165f90815260208190526040902054818110156126595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a18565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061268f908490612b61565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126db91815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061271c5761271c612bc1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127bc9190612ba6565b816001815181106127cf576127cf612bc1565b60200260200101906001600160a01b031690816001600160a01b03168152505061281a307f000000000000000000000000000000000000000000000000000000000000000084611cbb565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac9479061286e9085905f90869030904290600401612c4b565b5f604051808303815f87803b158015612885575f80fd5b505af1158015612897573d5f803e3d5ffd5b505050505050565b5f6020808352835180828501525f5b818110156128ca578581018301518582016040015282016128ae565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e9575f80fd5b5f806040838503121561290f575f80fd5b823561291a816128ea565b946020939093013593505050565b5f60208284031215612938575f80fd5b8135612943816128ea565b9392505050565b5f6020828403121561295a575f80fd5b5035919050565b5f805f60608486031215612973575f80fd5b833561297e816128ea565b9250602084013561298e816128ea565b929592945050506040919091013590565b80151581146114e9575f80fd5b5f80604083850312156129bd575f80fd5b823561291a8161299f565b5f80604083850312156129d9575f80fd5b82356129e4816128ea565b915060208301356129f48161299f565b809150509250929050565b5f8060408385031215612a10575f80fd5b8235612a1b816128ea565b915060208301356129f4816128ea565b5f805f60408486031215612a3d575f80fd5b833567ffffffffffffffff80821115612a54575f80fd5b818601915086601f830112612a67575f80fd5b813581811115612a75575f80fd5b8760208260051b8501011115612a89575f80fd5b60209283019550935050840135612a9f8161299f565b809150509250925092565b600181811c90821680612abe57607f821691505b602082108103612adc57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109e8576109e8612b17565b5f82612b5c57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156109e8576109e8612b17565b5f60208284031215612b84575f80fd5b5051919050565b5f60208284031215612b9b575f80fd5b81516129438161299f565b5f60208284031215612bb6575f80fd5b8151612943816128ea565b634e487b7160e01b5f52603260045260245ffd5b5f60018201612be657612be6612b17565b5060010190565b6020808252602b908201527f4445584c494f4e533a2062616c616e63652065786365656473206d617820776160408201526a1b1b195d08185b5bdd5b9d60aa1b606082015260800190565b818103818111156109e8576109e8612b17565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015612c995784516001600160a01b031683529383019391830191600101612c74565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220e9a958d8cb0a62563a40887be66ff6a7e17a93cbbea0a4b3c3a665cb916e22e564736f6c634300081500334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106102dc575f3560e01c80638366e79a11610189578063c0a904a2116100d8578063e2f4560511610092578063f2fde38b1161006d578063f2fde38b146108ec578063f5648a4f1461090b578063fabb0b4f1461091f578063faf216e314610934575f80fd5b8063e2f45605146108a3578063ed494189146108b8578063ee40166e146108d7575f80fd5b8063c0a904a2146107c3578063c18bc195146107e2578063d257b34f14610801578063dbf5b91614610820578063dc3f0d0f14610840578063dd62ed3e1461085f575f80fd5b80639e78fb4f11610143578063aa4bde281161011e578063aa4bde2814610743578063b62496f514610758578063bbc0c74214610786578063c0246668146107a4575f80fd5b80639e78fb4f146106f1578063a457c2d714610705578063a9059cbb14610724575f80fd5b80638366e79a1461064e57806388e765ff1461066d5780638da5cb5b14610682578063906e9dd01461069f57806395d89b41146106be5780639a7a23d6146106d2575f80fd5b8063467abe0a116102455780635e83ae76116101ff57806370a08231116101da57806370a08231146105d3578063715018a614610607578063751039fc1461061b578063819d38d21461062f575f80fd5b80635e83ae761461058057806366d602ae1461059f5780636ddd1713146105b4575f80fd5b8063467abe0a146104a457806347062402146104c357806349bd5a5e146104d85780634a62bb651461050b5780634fbee193146105245780635cce86cd14610552575f80fd5b806323b872dd1161029657806323b872dd146103f85780632b14ca56146104175780632be32b611461042c578063313ce5671461044b5780633936e8b9146104665780633950935114610485575f80fd5b806306fdde03146102e7578063095ea7b3146103115780630f3a325f146103405780631694505e1461036e57806318160ddd146103b95780631d933a4a146103d7575f80fd5b366102e357005b5f80fd5b3480156102f2575f80fd5b506102fb610948565b604051610308919061289f565b60405180910390f35b34801561031c575f80fd5b5061033061032b3660046128fe565b6109d8565b6040519015158152602001610308565b34801561034b575f80fd5b5061033061035a366004612928565b60146020525f908152604090205460ff1681565b348015610379575f80fd5b506103a17f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610308565b3480156103c4575f80fd5b506002545b604051908152602001610308565b3480156103e2575f80fd5b506103f66103f136600461294a565b6109ee565b005b348015610403575f80fd5b50610330610412366004612961565b610af8565b348015610422575f80fd5b506103c960105481565b348015610437575f80fd5b506103f661044636600461294a565b610ba0565b348015610456575f80fd5b5060405160128152602001610308565b348015610471575f80fd5b50600b546103a1906001600160a01b031681565b348015610490575f80fd5b5061033061049f3660046128fe565b610c88565b3480156104af575f80fd5b506103f66104be36600461294a565b610cc3565b3480156104ce575f80fd5b506103c9600f5481565b3480156104e3575f80fd5b506103a17f000000000000000000000000efd8fe6b15ad0bee51e3dff0102581988c49e62e81565b348015610516575f80fd5b50600e546103309060ff1681565b34801561052f575f80fd5b5061033061053e366004612928565b60116020525f908152604090205460ff1681565b34801561055d575f80fd5b5061033061056c366004612928565b60126020525f908152604090205460ff1681565b34801561058b575f80fd5b506103f661059a3660046129ac565b610d43565b3480156105aa575f80fd5b506103c960075481565b3480156105bf575f80fd5b50600e546103309062010000900460ff1681565b3480156105de575f80fd5b506103c96105ed366004612928565b6001600160a01b03165f9081526020819052604090205490565b348015610612575f80fd5b506103f6610e7e565b348015610626575f80fd5b506103f6610ef1565b34801561063a575f80fd5b506103f66106493660046129c8565b610f27565b348015610659575f80fd5b506103306106683660046129ff565b610fed565b348015610678575f80fd5b506103c960065481565b34801561068d575f80fd5b506005546001600160a01b03166103a1565b3480156106aa575f80fd5b506103f66106b9366004612928565b61115f565b3480156106c9575f80fd5b506102fb61121d565b3480156106dd575f80fd5b506103f66106ec3660046129c8565b61122c565b3480156106fc575f80fd5b506103f6611342565b348015610710575f80fd5b5061033061071f3660046128fe565b6114ec565b34801561072f575f80fd5b5061033061073e3660046128fe565b611584565b34801561074e575f80fd5b506103c960085481565b348015610763575f80fd5b50610330610772366004612928565b60136020525f908152604090205460ff1681565b348015610791575f80fd5b50600e5461033090610100900460ff1681565b3480156107af575f80fd5b506103f66107be3660046129c8565b611590565b3480156107ce575f80fd5b506103f66107dd3660046129c8565b6115e4565b3480156107ed575f80fd5b506103f66107fc36600461294a565b6116d7565b34801561080c575f80fd5b506103f661081b36600461294a565b6117bf565b34801561082b575f80fd5b50600e54610330906301000000900460ff1681565b34801561084b575f80fd5b506103f661085a36600461294a565b611938565b34801561086a575f80fd5b506103c96108793660046129ff565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b3480156108ae575f80fd5b506103c9600a5481565b3480156108c3575f80fd5b506103f66108d2366004612a2b565b611a20565b3480156108e2575f80fd5b506103c9600c5481565b3480156108f7575f80fd5b506103f6610906366004612928565b611b2f565b348015610916575f80fd5b506103f6611c19565b34801561092a575f80fd5b506103c9600d5481565b34801561093f575f80fd5b506103f6611c82565b60606003805461095790612aaa565b80601f016020809104026020016040519081016040528092919081815260200182805461098390612aaa565b80156109ce5780601f106109a5576101008083540402835291602001916109ce565b820191905f5260205f20905b8154815290600101906020018083116109b157829003601f168201915b5050505050905090565b5f6109e4338484611cbb565b5060015b92915050565b6005546001600160a01b03163314610a215760405162461bcd60e51b8152600401610a1890612ae2565b60405180910390fd5b60056010541115610a9b57601054811115610a965760405162461bcd60e51b815260206004820152602f60248201527f4445584c494f4e533a206e65772073656c6c206665652065786365656473206360448201526e757272656e742073656c6c2066656560881b6064820152608401610a18565b601055565b60056010541115610a965760405162461bcd60e51b815260206004820152602160248201527f4445584c494f4e533a206e65772073656c6c20666565206578636565647320356044820152602560f81b6064820152608401610a18565b5f610b04848484611dde565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610b885760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a18565b610b958533858403611cbb565b506001949350505050565b6005546001600160a01b03163314610bca5760405162461bcd60e51b8152600401610a1890612ae2565b6064610bd560025490565b610be0906001612b2b565b610bea9190612b42565b610bfc82670de0b6b3a7640000612b2b565b1015610c705760405162461bcd60e51b815260206004820152603960248201527f4445584c494f4e533a206e6577206d61782062757920616d6f756e74206c657360448201527f73207468616e203125206f6620746f74616c20737570706c79000000000000006064820152608401610a18565b610c8281670de0b6b3a7640000612b2b565b60065550565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916109e4918590610cbe908690612b61565b611cbb565b6005546001600160a01b03163314610ced5760405162461bcd60e51b8152600401610a1890612ae2565b6005811115610d3e5760405162461bcd60e51b815260206004820181905260248201527f4445584c494f4e533a206e6577206275792066656520657863656564732035256044820152606401610a18565b600f55565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b8152600401610a1890612ae2565b600e54610100900460ff1615610dd15760405162461bcd60e51b815260206004820152602360248201527f4445584c494f4e533a2074726164696e6720697320616c72656164792061637460448201526269766560e81b6064820152608401610a18565b6005811115610e305760405162461bcd60e51b815260206004820152602560248201527f4445584c494f4e533a2064656164626c6f636b7320616d6f756e742065786365604482015264656473203560d81b6064820152608401610a18565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610e6b5750600c54155b15610e7a5743600c55600d8190555b5050565b6005546001600160a01b03163314610ea85760405162461bcd60e51b8152600401610a1890612ae2565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f1b5760405162461bcd60e51b8152600401610a1890612ae2565b600e805460ff19169055565b6005546001600160a01b03163314610f515760405162461bcd60e51b8152600401610a1890612ae2565b600e546301000000900460ff16610fc35760405162461bcd60e51b815260206004820152603060248201527f4445584c494f4e533a20736e69706572206d616e6167656d656e74207065726d60448201526f185b995b9d1b1e48191a5cd8589b195960821b6064820152608401610a18565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b6005545f906001600160a01b031633146110195760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b03831661107b5760405162461bcd60e51b815260206004820152602360248201527f4445584c494f4e533a20746f6b656e20697320746865207a65726f206164647260448201526265737360e81b6064820152608401610a18565b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa1580156110bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e39190612b74565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303815f875af1158015611133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111579190612b8b565b949350505050565b6005546001600160a01b031633146111895760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b0381166111fb5760405162461bcd60e51b815260206004820152603360248201527f4445584c494f4e533a206e6577206d61726b6574696e67206164647265737320604482015272697320746865207a65726f206164647265737360681b6064820152608401610a18565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461095790612aaa565b6005546001600160a01b031633146112565760405162461bcd60e51b8152600401610a1890612ae2565b80611302577f000000000000000000000000efd8fe6b15ad0bee51e3dff0102581988c49e62e6001600160a01b0316826001600160a01b0316036113025760405162461bcd60e51b815260206004820152603860248201527f4445584c494f4e533a206175746f6d61746564206d61726b6574206d616b657260448201527f207061697220697320756e6973776170205632207061697200000000000000006064820152608401610a18565b6001600160a01b0382165f908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610e7a565b6005546001600160a01b0316331461136c5760405162461bcd60e51b8152600401610a1890612ae2565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ec9190612ba6565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611457573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061147b9190612ba6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156114c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e99190612ba6565b50565b335f9081526001602090815260408083206001600160a01b03861684529091528120548281101561156d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a18565b61157a3385858403611cbb565b5060019392505050565b5f6109e4338484611dde565b6005546001600160a01b031633146115ba5760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461160e5760405162461bcd60e51b8152600401610a1890612ae2565b806116ae577f000000000000000000000000efd8fe6b15ad0bee51e3dff0102581988c49e62e6001600160a01b0316826001600160a01b0316036116ae5760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a206163636f756e7420746f20626520657873636c756465604482015270642069732070616972206164647265737360781b6064820152608401610a18565b6001600160a01b0382165f908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117015760405162461bcd60e51b8152600401610a1890612ae2565b606461170c60025490565b611717906002612b2b565b6117219190612b42565b61173382670de0b6b3a7640000612b2b565b10156117a75760405162461bcd60e51b815260206004820152603c60248201527f4445584c494f4e533a206e6577206d61782077616c6c657420616d6f756e742060448201527f6c657373207468616e203225206f6620746f74616c20737570706c79000000006064820152608401610a18565b6117b981670de0b6b3a7640000612b2b565b60085550565b6005546001600160a01b031633146117e95760405162461bcd60e51b8152600401610a1890612ae2565b620186a06117f660025490565b611801906001612b2b565b61180b9190612b42565b61181d82670de0b6b3a7640000612b2b565b10156118915760405162461bcd60e51b815260206004820152603a60248201527f4445584c494f4e533a206e6577207377617020616d6f756e74206c657373207460448201527f68616e20302e30303125206f6620746f74616c20737570706c790000000000006064820152608401610a18565b6103e861189d60025490565b6118a8906001612b2b565b6118b29190612b42565b8111156119205760405162461bcd60e51b815260206004820152603660248201527f4445584c494f4e533a206e6577205377617020616d6f756e74206578636565646044820152757320302e3125206f6620746f74616c20737570706c7960501b6064820152608401610a18565b61193281670de0b6b3a7640000612b2b565b600a5550565b6005546001600160a01b031633146119625760405162461bcd60e51b8152600401610a1890612ae2565b606461196d60025490565b611978906001612b2b565b6119829190612b42565b61199482670de0b6b3a7640000612b2b565b1015611a085760405162461bcd60e51b815260206004820152603a60248201527f4445584c494f4e533a206e6577206d61782073656c6c20616d6f756e74206c6560448201527f7373207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a18565b611a1a81670de0b6b3a7640000612b2b565b60075550565b6005546001600160a01b03163314611a4a5760405162461bcd60e51b8152600401610a1890612ae2565b600e546301000000900460ff16611abd5760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a20736e6970657273206d616e6167656d656e74207065726044820152701b585b995b9d1b1e48191a5cd8589b1959607a1b6064820152608401610a18565b5f5b82811015611b29578160145f868685818110611add57611add612bc1565b9050602002016020810190611af29190612928565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055611b2281612bd5565b9050611abf565b50505050565b6005546001600160a01b03163314611b595760405162461bcd60e51b8152600401610a1890612ae2565b6001600160a01b038116611bbe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a18565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611c435760405162461bcd60e51b8152600401610a1890612ae2565b6040515f90339047908381818185875af1925050503d805f8114611b29576040519150601f19603f3d011682016040523d82523d5f602084013e611b29565b6005546001600160a01b03163314611cac5760405162461bcd60e51b8152600401610a1890612ae2565b600e805463ff00000019169055565b6001600160a01b038316611d1d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a18565b6001600160a01b038216611d7e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a18565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111611e2d5760405162461bcd60e51b815260206004820152601860248201527f4445584c494f4e533a20616d6f756e74206973207a65726f00000000000000006044820152606401610a18565b6001600160a01b0383165f9081526014602052604090205460ff1615611e9f5760405162461bcd60e51b815260206004820152602160248201527f4445584c494f4e533a2073656e646572206d61726b656420617320736e6970656044820152603960f91b6064820152608401610a18565b6001600160a01b0382165f9081526014602052604090205460ff1615611f135760405162461bcd60e51b8152602060048201526024808201527f4445584c494f4e533a20726563697069656e74206d61726b656420617320736e60448201526334b832b960e11b6064820152608401610a18565b600e5460ff161561223e576005546001600160a01b03848116911614801590611f4a57506005546001600160a01b03838116911614155b8015611f6e57506001600160a01b0383165f9081526011602052604090205460ff16155b8015611f9257506001600160a01b0382165f9081526011602052604090205460ff16155b1561223e57600e54610100900460ff16611fee5760405162461bcd60e51b815260206004820152601f60248201527f4445584c494f4e533a2074726164696e67206973206e6f7420616374697665006044820152606401610a18565b5f600c5411801561200d5750600d54600c5461200a9190612b61565b43105b15612035576001600160a01b0382165f908152601460205260409020805460ff191660011790555b6001600160a01b0383165f9081526013602052604090205460ff16801561207457506001600160a01b0382165f9081526012602052604090205460ff16155b1561212c576006548111156120e45760405162461bcd60e51b815260206004820152603060248201527f4445584c494f4e533a207472616e7366657220616d6f756e742065786365656460448201526f1cc81b585e08189d5e48185b5bdd5b9d60821b6064820152608401610a18565b6008546001600160a01b0383165f908152602081905260409020546121099083612b61565b11156121275760405162461bcd60e51b8152600401610a1890612bed565b61223e565b6001600160a01b0382165f9081526013602052604090205460ff16801561216b57506001600160a01b0383165f9081526012602052604090205460ff16155b156121dc576007548111156121275760405162461bcd60e51b815260206004820152603160248201527f4445584c494f4e533a207472616e7366657220616d6f756e74206578636565646044820152701cc81b585e081cd95b1b08185b5bdd5b9d607a1b6064820152608401610a18565b6001600160a01b0382165f9081526012602052604090205460ff1661223e576008546001600160a01b0383165f908152602081905260409020546122209083612b61565b111561223e5760405162461bcd60e51b8152600401610a1890612bed565b305f90815260208190526040902054600a54811080159081906122695750600e5462010000900460ff165b8015612278575060095460ff16155b801561229c57506001600160a01b0385165f9081526013602052604090205460ff16155b80156122c057506001600160a01b0385165f9081526011602052604090205460ff16155b80156122e457506001600160a01b0384165f9081526011602052604090205460ff16155b15612309576009805460ff191660011790556122fe61247f565b6009805460ff191690555b6001600160a01b0385165f90815260116020526040812054819060ff1615801561234b57506001600160a01b0386165f9081526011602052604090205460ff16155b1561246b575f600c5411801561236f5750600d54600c5461236c9190612b61565b43105b156123ab576064612381866062612b2b565b61238b9190612b42565b600b549091506123a69088906001600160a01b03168361251c565b612443565b6001600160a01b0386165f9081526013602052604090205460ff1680156123d357505f601054115b156123f9576064601054866123e89190612b2b565b6123f29190612b42565b9150612443565b6001600160a01b0387165f9081526013602052604090205460ff16801561242157505f600f54115b15612443576064600f54866124369190612b2b565b6124409190612b42565b91505b81156124545761245487308461251c565b61245e8183612b61565b6124689086612c38565b94505b61247687878761251c565b50505050505050565b305f90815260208190526040812054908190036124995750565b600a80546124a691612b2b565b8111156124bd57600a80546124ba91612b2b565b90505b6124c6816126e9565b600b546040515f916001600160a01b03169047908381818185875af1925050503d805f8114612510576040519150601f19603f3d011682016040523d82523d5f602084013e612515565b606091505b5050505050565b6001600160a01b0383166125805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a18565b6001600160a01b0382166125e25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a18565b6001600160a01b0383165f90815260208190526040902054818110156126595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a18565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061268f908490612b61565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126db91815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061271c5761271c612bc1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612798573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127bc9190612ba6565b816001815181106127cf576127cf612bc1565b60200260200101906001600160a01b031690816001600160a01b03168152505061281a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611cbb565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061286e9085905f90869030904290600401612c4b565b5f604051808303815f87803b158015612885575f80fd5b505af1158015612897573d5f803e3d5ffd5b505050505050565b5f6020808352835180828501525f5b818110156128ca578581018301518582016040015282016128ae565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e9575f80fd5b5f806040838503121561290f575f80fd5b823561291a816128ea565b946020939093013593505050565b5f60208284031215612938575f80fd5b8135612943816128ea565b9392505050565b5f6020828403121561295a575f80fd5b5035919050565b5f805f60608486031215612973575f80fd5b833561297e816128ea565b9250602084013561298e816128ea565b929592945050506040919091013590565b80151581146114e9575f80fd5b5f80604083850312156129bd575f80fd5b823561291a8161299f565b5f80604083850312156129d9575f80fd5b82356129e4816128ea565b915060208301356129f48161299f565b809150509250929050565b5f8060408385031215612a10575f80fd5b8235612a1b816128ea565b915060208301356129f4816128ea565b5f805f60408486031215612a3d575f80fd5b833567ffffffffffffffff80821115612a54575f80fd5b818601915086601f830112612a67575f80fd5b813581811115612a75575f80fd5b8760208260051b8501011115612a89575f80fd5b60209283019550935050840135612a9f8161299f565b809150509250925092565b600181811c90821680612abe57607f821691505b602082108103612adc57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176109e8576109e8612b17565b5f82612b5c57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156109e8576109e8612b17565b5f60208284031215612b84575f80fd5b5051919050565b5f60208284031215612b9b575f80fd5b81516129438161299f565b5f60208284031215612bb6575f80fd5b8151612943816128ea565b634e487b7160e01b5f52603260045260245ffd5b5f60018201612be657612be6612b17565b5060010190565b6020808252602b908201527f4445584c494f4e533a2062616c616e63652065786365656473206d617820776160408201526a1b1b195d08185b5bdd5b9d60aa1b606082015260800190565b818103818111156109e8576109e8612b17565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015612c995784516001600160a01b031683529383019391830191600101612c74565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220e9a958d8cb0a62563a40887be66ff6a7e17a93cbbea0a4b3c3a665cb916e22e564736f6c63430008150033

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.