ETH Price: $3,331.21 (+3.35%)

Token

Flirtchat (FLIRT)
 

Overview

Max Total Supply

1,000,000,000 FLIRT

Holders

40

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.214309425031536483 FLIRT

Value
$0.00
0xc5e1d4ce51f05edd23096be39e4ea2d140e0f507
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:
Flirtchat

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

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

/*
    *** Join the future of flirtual chats with flirtchat AI ***
    The world's first conversational entertainment chat powered by A.I. and crypto.

    Website & white paper: flirtchat.ai
    Community & Flirtgirls: t.me/flirtchatAI
    Official channel: t.me/flirtchatAI_news
*/

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 Flirtchat 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("Flirtchat", "FLIRT") {

        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 = 1000000000  * 1e18;

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

        buyFee = 5;
        sellFee = 45;

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

        MarketingAddress = address(0x69F96876c7c0B8f5C959Da03547166368c6d09a0);

        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), "Flirtchat: 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), "Flirtchat: 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), "Flirtchat: 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, "Flirtchat: new swap amount less than 0.001% of total supply");
        require(newAmount <= totalSupply() * 1 / 1000, "Flirtchat: 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, "Flirtchat: account to be exscluded is pair address");
        }
        _excludeFromLimits(account, isExcluded);
    }

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

    function updateSellFee(uint256 newSellFee) external onlyOwner {
        if (sellFee > 5) {
            require(newSellFee <= sellFee, "Flirtchat: new sell fee exceeds current sell fee");
        } else {
            require(sellFee <= 5, "Flirtchat: 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, "Flirtchat: amount is zero");
        require(!isSniper[from], "Flirtchat: sender marked as sniper");
        require(!isSniper[to], "Flirtchat: recipient marked as sniper");
 
        if (limitsInEffect) {
            if (from != owner() && to != owner() && !isExcludedFromFees[from] && !isExcludedFromFees[to]) {
                require(tradingActive, "Flirtchat: trading is not active");
                if (tradingActiveBlock > 0 && block.number < (tradingActiveBlock + deadBlocks) ) {
                    isSniper[to] = true;
                }
                // buy
                if (automatedMarketMakerPairs[from] && !isExcludedFromLimits[to]) {
                    require(amount <= maxBuyAmount, "Flirtchat: transfer amount exceeds max buy amount");
                    require(amount + balanceOf(to) <= maxWalletAmount, "Flirtchat: balance exceeds max wallet amount");
                }
                // sell
                else if (automatedMarketMakerPairs[to] && !isExcludedFromLimits[from]) {
                    require(amount <= maxSellAmount, "Flirtchat: transfer amount exceeds max sell amount");
                }
                else if (!isExcludedFromLimits[to]) {
                    require(amount + balanceOf(to) <= maxWalletAmount, "Flirtchat: 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, "Flirtchat: 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, "Flirtchat: trading is already active");
        require(_deadBlocks <= 5, "Flirtchat: 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), "Flirtchat: new marketing address is the zero address");
        MarketingAddress = payable(newMarketingAddress);
    }

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

    function manageSnipers(address[] calldata addresses, bool status) external onlyOwner {
        require(sniperManagementEnabled, "Flirtchat: 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), "Flirtchat: 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"}]

60c06040526000600c556002600d55600e805463ffffffff191663010000011790553480156200002e57600080fd5b5060405180604001604052806009815260200168119b1a5c9d18da185d60ba1b81525060405180604001604052806005815260200164119312549560da1b81525081600390816200008091906200077f565b5060046200008f82826200077f565b5050506000620000a46200047a60201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003730833981519152908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d600081905260126020527f3c6737805ae477fd0cfdda13dc5f99b32fcbfecb81e47f9e11e1b03813c08ec2805460ff191660011790553390806001600160a01b03166080816001600160a01b03168152505060003090506000826001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b491906200084b565b9050600080826001600160a01b0316846001600160a01b031610620001db578284620001de565b83835b91509150846001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024791906200084b565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002f79291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291815281516020928301206001600160a01b031660a08190526000908152601383528181208054600160ff199182168117909255601290945291902080549092161790556b033b2e3c9fd0803ce800000060646200036482600162000893565b620003709190620008b3565b60065560646200038282600162000893565b6200038e9190620008b3565b6007556064620003a082600262000893565b620003ac9190620008b3565b600855620186a0620003c082603262000893565b620003cc9190620008b3565b600a556005600f55602d6010556001600160a01b0387166000908152601260205260409020805460ff19166001179055306000908152601260205260409020805460ff19166001179055600b80546001600160a01b0319167369f96876c7c0b8f5c959da03547166368c6d09a0179055620004498760016200047e565b620004563060016200047e565b620004628782620004f8565b6200046d87620005dd565b50505050505050620008ec565b3390565b6005546001600160a01b03163314620004cd5760405162461bcd60e51b815260206004820181905260248201526000805160206200371083398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b038216620005505760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004c4565b8060026000828254620005649190620008d6565b90915550506001600160a01b0382166000908152602081905260408120805483929062000593908490620008d6565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620006285760405162461bcd60e51b81526020600482018190526024820152600080516020620037108339815191526044820152606401620004c4565b6001600160a01b0381166200068f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620004c4565b6005546040516001600160a01b038084169216906000805160206200373083398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200070557607f821691505b6020821081036200072657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200077a57600081815260208120601f850160051c81016020861015620007555750805b601f850160051c820191505b81811015620007765782815560010162000761565b5050505b505050565b81516001600160401b038111156200079b576200079b620006da565b620007b381620007ac8454620006f0565b846200072c565b602080601f831160018114620007eb5760008415620007d25750858301515b600019600386901b1c1916600185901b17855562000776565b600085815260208120601f198616915b828110156200081c57888601518255948401946001909101908401620007fb565b50858210156200083b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200085e57600080fd5b81516001600160a01b03811681146200087657600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620008ad57620008ad6200087d565b92915050565b600082620008d157634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620008ad57620008ad6200087d565b60805160a051612dcd6200094360003960008181610506015281816112c10152611684015260008181610391015281816113d301528181611464015281816127e50152818161289e01526128da0152612dcd6000f3fe6080604052600436106102e85760003560e01c80638366e79a11610190578063c0a904a2116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461092e578063f5648a4f1461094e578063fabb0b4f14610963578063faf216e31461097957600080fd5b8063e2f45605146108e2578063ed494189146108f8578063ee40166e1461091857600080fd5b8063c0a904a2146107fb578063c18bc1951461081b578063d257b34f1461083b578063dbf5b9161461085b578063dc3f0d0f1461087c578063dd62ed3e1461089c57600080fd5b80639e78fb4f11610149578063aa4bde2811610123578063aa4bde2814610776578063b62496f51461078c578063bbc0c742146107bc578063c0246668146107db57600080fd5b80639e78fb4f14610721578063a457c2d714610736578063a9059cbb1461075657600080fd5b80638366e79a1461067857806388e765ff146106985780638da5cb5b146106ae578063906e9dd0146106cc57806395d89b41146106ec5780639a7a23d61461070157600080fd5b8063467abe0a1161024f5780635e83ae761161020857806370a08231116101e257806370a08231146105f8578063715018a61461062e578063751039fc14610643578063819d38d21461065857600080fd5b80635e83ae76146105a257806366d602ae146105c25780636ddd1713146105d857600080fd5b8063467abe0a146104be57806347062402146104de57806349bd5a5e146104f45780634a62bb65146105285780634fbee193146105425780635cce86cd1461057257600080fd5b806323b872dd116102a157806323b872dd1461040c5780632b14ca561461042c5780632be32b6114610442578063313ce567146104625780633936e8b91461047e578063395093511461049e57600080fd5b806306fdde03146102f4578063095ea7b31461031f5780630f3a325f1461034f5780631694505e1461037f57806318160ddd146103cb5780631d933a4a146103ea57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961098e565b604051610316919061294e565b60405180910390f35b34801561032b57600080fd5b5061033f61033a3660046129b1565b610a20565b6040519015158152602001610316565b34801561035b57600080fd5b5061033f61036a3660046129dd565b60146020526000908152604090205460ff1681565b34801561038b57600080fd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610316565b3480156103d757600080fd5b506002545b604051908152602001610316565b3480156103f657600080fd5b5061040a610405366004612a01565b610a37565b005b34801561041857600080fd5b5061033f610427366004612a1a565b610b43565b34801561043857600080fd5b506103dc60105481565b34801561044e57600080fd5b5061040a61045d366004612a01565b610bed565b34801561046e57600080fd5b5060405160128152602001610316565b34801561048a57600080fd5b50600b546103b3906001600160a01b031681565b3480156104aa57600080fd5b5061033f6104b93660046129b1565b610cd5565b3480156104ca57600080fd5b5061040a6104d9366004612a01565b610d11565b3480156104ea57600080fd5b506103dc600f5481565b34801561050057600080fd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b34801561053457600080fd5b50600e5461033f9060ff1681565b34801561054e57600080fd5b5061033f61055d3660046129dd565b60116020526000908152604090205460ff1681565b34801561057e57600080fd5b5061033f61058d3660046129dd565b60126020526000908152604090205460ff1681565b3480156105ae57600080fd5b5061040a6105bd366004612a69565b610d9b565b3480156105ce57600080fd5b506103dc60075481565b3480156105e457600080fd5b50600e5461033f9062010000900460ff1681565b34801561060457600080fd5b506103dc6106133660046129dd565b6001600160a01b031660009081526020819052604090205490565b34801561063a57600080fd5b5061040a610ed7565b34801561064f57600080fd5b5061040a610f4b565b34801561066457600080fd5b5061040a610673366004612a87565b610f81565b34801561068457600080fd5b5061033f610693366004612ac0565b611049565b3480156106a457600080fd5b506103dc60065481565b3480156106ba57600080fd5b506005546001600160a01b03166103b3565b3480156106d857600080fd5b5061040a6106e73660046129dd565b6111c2565b3480156106f857600080fd5b50610309611281565b34801561070d57600080fd5b5061040a61071c366004612a87565b611290565b34801561072d57600080fd5b5061040a6113a7565b34801561074257600080fd5b5061033f6107513660046129b1565b611558565b34801561076257600080fd5b5061033f6107713660046129b1565b6115f1565b34801561078257600080fd5b506103dc60085481565b34801561079857600080fd5b5061033f6107a73660046129dd565b60136020526000908152604090205460ff1681565b3480156107c857600080fd5b50600e5461033f90610100900460ff1681565b3480156107e757600080fd5b5061040a6107f6366004612a87565b6115fe565b34801561080757600080fd5b5061040a610816366004612a87565b611653565b34801561082757600080fd5b5061040a610836366004612a01565b611748565b34801561084757600080fd5b5061040a610856366004612a01565b611830565b34801561086757600080fd5b50600e5461033f906301000000900460ff1681565b34801561088857600080fd5b5061040a610897366004612a01565b6119b0565b3480156108a857600080fd5b506103dc6108b7366004612ac0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108ee57600080fd5b506103dc600a5481565b34801561090457600080fd5b5061040a610913366004612aee565b611a98565b34801561092457600080fd5b506103dc600c5481565b34801561093a57600080fd5b5061040a6109493660046129dd565b611bab565b34801561095a57600080fd5b5061040a611c96565b34801561096f57600080fd5b506103dc600d5481565b34801561098557600080fd5b5061040a611d02565b60606003805461099d90612b74565b80601f01602080910402602001604051908101604052809291908181526020018280546109c990612b74565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000610a2d338484611d3b565b5060015b92915050565b6005546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610a6190612bae565b60405180910390fd5b60056010541115610ae557601054811115610ae05760405162461bcd60e51b815260206004820152603060248201527f466c697274636861743a206e65772073656c6c2066656520657863656564732060448201526f63757272656e742073656c6c2066656560801b6064820152608401610a61565b601055565b60056010541115610ae05760405162461bcd60e51b815260206004820152602260248201527f466c697274636861743a206e65772073656c6c20666565206578636565647320604482015261352560f01b6064820152608401610a61565b6000610b50848484611e5f565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bd55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a61565b610be28533858403611d3b565b506001949350505050565b6005546001600160a01b03163314610c175760405162461bcd60e51b8152600401610a6190612bae565b6064610c2260025490565b610c2d906001612bf9565b610c379190612c10565b610c4982670de0b6b3a7640000612bf9565b1015610cbd5760405162461bcd60e51b815260206004820152603a60248201527f466c697274636861743a206e6577206d61782062757920616d6f756e74206c6560448201527f7373207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a61565b610ccf81670de0b6b3a7640000612bf9565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a2d918590610d0c908690612c32565b611d3b565b6005546001600160a01b03163314610d3b5760405162461bcd60e51b8152600401610a6190612bae565b6005811115610d965760405162461bcd60e51b815260206004820152602160248201527f466c697274636861743a206e65772062757920666565206578636565647320356044820152602560f81b6064820152608401610a61565b600f55565b6005546001600160a01b03163314610dc55760405162461bcd60e51b8152600401610a6190612bae565b600e54610100900460ff1615610e295760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a2074726164696e6720697320616c72656164792061636044820152637469766560e01b6064820152608401610a61565b6005811115610e895760405162461bcd60e51b815260206004820152602660248201527f466c697274636861743a2064656164626c6f636b7320616d6f756e742065786360448201526565656473203560d01b6064820152608401610a61565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610ec45750600c54155b15610ed35743600c55600d8190555b5050565b6005546001600160a01b03163314610f015760405162461bcd60e51b8152600401610a6190612bae565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f755760405162461bcd60e51b8152600401610a6190612bae565b600e805460ff19169055565b6005546001600160a01b03163314610fab5760405162461bcd60e51b8152600401610a6190612bae565b600e546301000000900460ff1661101e5760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a20736e69706572206d616e6167656d656e74207065726044820152701b585b995b9d1b1e48191a5cd8589b1959607a1b6064820152608401610a61565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146110765760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b0383166110d85760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a20746f6b656e20697320746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561111f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111439190612c45565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190612c5e565b949350505050565b6005546001600160a01b031633146111ec5760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152603460248201527f466c697274636861743a206e6577206d61726b6574696e67206164647265737360448201527320697320746865207a65726f206164647265737360601b6064820152608401610a61565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461099d90612b74565b6005546001600160a01b031633146112ba5760405162461bcd60e51b8152600401610a6190612bae565b80611366577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036113665760405162461bcd60e51b815260206004820152603960248201527f466c697274636861743a206175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320756e69737761702056322070616972000000000000006064820152608401610a61565b6001600160a01b0382166000908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610ed3565b6005546001600160a01b031633146113d15760405162461bcd60e51b8152600401610a6190612bae565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114539190612c7b565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190612c7b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115559190612c7b565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a61565b6115e73385858403611d3b565b5060019392505050565b6000610a2d338484611e5f565b6005546001600160a01b031633146116285760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461167d5760405162461bcd60e51b8152600401610a6190612bae565b8061171e577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361171e5760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a206163636f756e7420746f20626520657873636c756460448201527165642069732070616972206164647265737360701b6064820152608401610a61565b6001600160a01b0382166000908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117725760405162461bcd60e51b8152600401610a6190612bae565b606461177d60025490565b611788906002612bf9565b6117929190612c10565b6117a482670de0b6b3a7640000612bf9565b10156118185760405162461bcd60e51b815260206004820152603d60248201527f466c697274636861743a206e6577206d61782077616c6c657420616d6f756e7460448201527f206c657373207468616e203225206f6620746f74616c20737570706c790000006064820152608401610a61565b61182a81670de0b6b3a7640000612bf9565b60085550565b6005546001600160a01b0316331461185a5760405162461bcd60e51b8152600401610a6190612bae565b620186a061186760025490565b611872906001612bf9565b61187c9190612c10565b61188e82670de0b6b3a7640000612bf9565b10156119025760405162461bcd60e51b815260206004820152603b60248201527f466c697274636861743a206e6577207377617020616d6f756e74206c6573732060448201527f7468616e20302e30303125206f6620746f74616c20737570706c7900000000006064820152608401610a61565b6103e861190e60025490565b611919906001612bf9565b6119239190612c10565b8111156119985760405162461bcd60e51b815260206004820152603760248201527f466c697274636861743a206e6577205377617020616d6f756e7420657863656560448201527f647320302e3125206f6620746f74616c20737570706c790000000000000000006064820152608401610a61565b6119aa81670de0b6b3a7640000612bf9565b600a5550565b6005546001600160a01b031633146119da5760405162461bcd60e51b8152600401610a6190612bae565b60646119e560025490565b6119f0906001612bf9565b6119fa9190612c10565b611a0c82670de0b6b3a7640000612bf9565b1015611a805760405162461bcd60e51b815260206004820152603b60248201527f466c697274636861743a206e6577206d61782073656c6c20616d6f756e74206c60448201527f657373207468616e203125206f6620746f74616c20737570706c7900000000006064820152608401610a61565b611a9281670de0b6b3a7640000612bf9565b60075550565b6005546001600160a01b03163314611ac25760405162461bcd60e51b8152600401610a6190612bae565b600e546301000000900460ff16611b365760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a20736e6970657273206d616e6167656d656e742070656044820152711c9b585b995b9d1b1e48191a5cd8589b195960721b6064820152608401610a61565b60005b82811015611ba5578160146000868685818110611b5857611b58612c98565b9050602002016020810190611b6d91906129dd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611b9e81612cae565b9050611b39565b50505050565b6005546001600160a01b03163314611bd55760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b038116611c3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a61565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611cc05760405162461bcd60e51b8152600401610a6190612bae565b604051600090339047908381818185875af1925050503d8060008114611ba5576040519150601f19603f3d011682016040523d82523d6000602084013e611ba5565b6005546001600160a01b03163314611d2c5760405162461bcd60e51b8152600401610a6190612bae565b600e805463ff00000019169055565b6001600160a01b038316611d9d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6001600160a01b038216611dfe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111611eaf5760405162461bcd60e51b815260206004820152601960248201527f466c697274636861743a20616d6f756e74206973207a65726f000000000000006044820152606401610a61565b6001600160a01b03831660009081526014602052604090205460ff1615611f235760405162461bcd60e51b815260206004820152602260248201527f466c697274636861743a2073656e646572206d61726b656420617320736e697060448201526132b960f11b6064820152608401610a61565b6001600160a01b03821660009081526014602052604090205460ff1615611f9a5760405162461bcd60e51b815260206004820152602560248201527f466c697274636861743a20726563697069656e74206d61726b656420617320736044820152643734b832b960d91b6064820152608401610a61565b600e5460ff16156122d2576005546001600160a01b03848116911614801590611fd157506005546001600160a01b03838116911614155b8015611ff657506001600160a01b03831660009081526011602052604090205460ff16155b801561201b57506001600160a01b03821660009081526011602052604090205460ff16155b156122d257600e54610100900460ff166120775760405162461bcd60e51b815260206004820181905260248201527f466c697274636861743a2074726164696e67206973206e6f74206163746976656044820152606401610a61565b6000600c541180156120975750600d54600c546120949190612c32565b43105b156120c0576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff16801561210157506001600160a01b03821660009081526012602052604090205460ff16155b156121bb576006548111156121725760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a207472616e7366657220616d6f756e74206578636565604482015270191cc81b585e08189d5e48185b5bdd5b9d607a1b6064820152608401610a61565b6008546001600160a01b0383166000908152602081905260409020546121989083612c32565b11156121b65760405162461bcd60e51b8152600401610a6190612cc7565b6122d2565b6001600160a01b03821660009081526013602052604090205460ff1680156121fc57506001600160a01b03831660009081526012602052604090205460ff16155b1561226e576007548111156121b65760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a207472616e7366657220616d6f756e74206578636565604482015271191cc81b585e081cd95b1b08185b5bdd5b9d60721b6064820152608401610a61565b6001600160a01b03821660009081526012602052604090205460ff166122d2576008546001600160a01b0383166000908152602081905260409020546122b49083612c32565b11156122d25760405162461bcd60e51b8152600401610a6190612cc7565b30600090815260208190526040902054600a54811080159081906122fe5750600e5462010000900460ff165b801561230d575060095460ff16155b801561233257506001600160a01b03851660009081526013602052604090205460ff16155b801561235757506001600160a01b03851660009081526011602052604090205460ff16155b801561237c57506001600160a01b03841660009081526011602052604090205460ff16155b156123a1576009805460ff1916600117905561239661251e565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff161580156123e557506001600160a01b03861660009081526011602052604090205460ff16155b1561250a576000600c5411801561240a5750600d54600c546124079190612c32565b43105b1561244657606461241c866062612bf9565b6124269190612c10565b600b549091506124419088906001600160a01b0316836125bf565b6124e2565b6001600160a01b03861660009081526013602052604090205460ff16801561247057506000601054115b15612496576064601054866124859190612bf9565b61248f9190612c10565b91506124e2565b6001600160a01b03871660009081526013602052604090205460ff1680156124c057506000600f54115b156124e2576064600f54866124d59190612bf9565b6124df9190612c10565b91505b81156124f3576124f38730846125bf565b6124fd8183612c32565b6125079086612d13565b94505b6125158787876125bf565b50505050505050565b30600090815260208190526040812054908190036125395750565b600a805461254691612bf9565b81111561255d57600a805461255a91612bf9565b90505b6125668161278e565b600b546040516000916001600160a01b03169047908381818185875af1925050503d80600081146125b3576040519150601f19603f3d011682016040523d82523d6000602084013e6125b8565b606091505b5050505050565b6001600160a01b0383166126235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a61565b6001600160a01b0382166126855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a61565b6001600160a01b038316600090815260208190526040902054818110156126fd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a61565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612734908490612c32565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161278091815260200190565b60405180910390a350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106127c3576127c3612c98565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128659190612c7b565b8160018151811061287857612878612c98565b60200260200101906001600160a01b031690816001600160a01b0316815250506128c3307f000000000000000000000000000000000000000000000000000000000000000084611d3b565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612918908590600090869030904290600401612d26565b600060405180830381600087803b15801561293257600080fd5b505af1158015612946573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561297b5785810183015185820160400152820161295f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155557600080fd5b600080604083850312156129c457600080fd5b82356129cf8161299c565b946020939093013593505050565b6000602082840312156129ef57600080fd5b81356129fa8161299c565b9392505050565b600060208284031215612a1357600080fd5b5035919050565b600080600060608486031215612a2f57600080fd5b8335612a3a8161299c565b92506020840135612a4a8161299c565b929592945050506040919091013590565b801515811461155557600080fd5b60008060408385031215612a7c57600080fd5b82356129cf81612a5b565b60008060408385031215612a9a57600080fd5b8235612aa58161299c565b91506020830135612ab581612a5b565b809150509250929050565b60008060408385031215612ad357600080fd5b8235612ade8161299c565b91506020830135612ab58161299c565b600080600060408486031215612b0357600080fd5b833567ffffffffffffffff80821115612b1b57600080fd5b818601915086601f830112612b2f57600080fd5b813581811115612b3e57600080fd5b8760208260051b8501011115612b5357600080fd5b60209283019550935050840135612b6981612a5b565b809150509250925092565b600181811c90821680612b8857607f821691505b602082108103612ba857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a3157610a31612be3565b600082612c2d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a3157610a31612be3565b600060208284031215612c5757600080fd5b5051919050565b600060208284031215612c7057600080fd5b81516129fa81612a5b565b600060208284031215612c8d57600080fd5b81516129fa8161299c565b634e487b7160e01b600052603260045260246000fd5b600060018201612cc057612cc0612be3565b5060010190565b6020808252602c908201527f466c697274636861743a2062616c616e63652065786365656473206d6178207760408201526b185b1b195d08185b5bdd5b9d60a21b606082015260800190565b81810381811115610a3157610a31612be3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d765784516001600160a01b031683529383019391830191600101612d51565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c44f9fbb37579393bd3455768e4c41ba0e1032161e223b2e8bc8a84527be2eff64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x6080604052600436106102e85760003560e01c80638366e79a11610190578063c0a904a2116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b1461092e578063f5648a4f1461094e578063fabb0b4f14610963578063faf216e31461097957600080fd5b8063e2f45605146108e2578063ed494189146108f8578063ee40166e1461091857600080fd5b8063c0a904a2146107fb578063c18bc1951461081b578063d257b34f1461083b578063dbf5b9161461085b578063dc3f0d0f1461087c578063dd62ed3e1461089c57600080fd5b80639e78fb4f11610149578063aa4bde2811610123578063aa4bde2814610776578063b62496f51461078c578063bbc0c742146107bc578063c0246668146107db57600080fd5b80639e78fb4f14610721578063a457c2d714610736578063a9059cbb1461075657600080fd5b80638366e79a1461067857806388e765ff146106985780638da5cb5b146106ae578063906e9dd0146106cc57806395d89b41146106ec5780639a7a23d61461070157600080fd5b8063467abe0a1161024f5780635e83ae761161020857806370a08231116101e257806370a08231146105f8578063715018a61461062e578063751039fc14610643578063819d38d21461065857600080fd5b80635e83ae76146105a257806366d602ae146105c25780636ddd1713146105d857600080fd5b8063467abe0a146104be57806347062402146104de57806349bd5a5e146104f45780634a62bb65146105285780634fbee193146105425780635cce86cd1461057257600080fd5b806323b872dd116102a157806323b872dd1461040c5780632b14ca561461042c5780632be32b6114610442578063313ce567146104625780633936e8b91461047e578063395093511461049e57600080fd5b806306fdde03146102f4578063095ea7b31461031f5780630f3a325f1461034f5780631694505e1461037f57806318160ddd146103cb5780631d933a4a146103ea57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061030961098e565b604051610316919061294e565b60405180910390f35b34801561032b57600080fd5b5061033f61033a3660046129b1565b610a20565b6040519015158152602001610316565b34801561035b57600080fd5b5061033f61036a3660046129dd565b60146020526000908152604090205460ff1681565b34801561038b57600080fd5b506103b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610316565b3480156103d757600080fd5b506002545b604051908152602001610316565b3480156103f657600080fd5b5061040a610405366004612a01565b610a37565b005b34801561041857600080fd5b5061033f610427366004612a1a565b610b43565b34801561043857600080fd5b506103dc60105481565b34801561044e57600080fd5b5061040a61045d366004612a01565b610bed565b34801561046e57600080fd5b5060405160128152602001610316565b34801561048a57600080fd5b50600b546103b3906001600160a01b031681565b3480156104aa57600080fd5b5061033f6104b93660046129b1565b610cd5565b3480156104ca57600080fd5b5061040a6104d9366004612a01565b610d11565b3480156104ea57600080fd5b506103dc600f5481565b34801561050057600080fd5b506103b37f00000000000000000000000004846c8acc0b91f23402a2ee51f9e52af2221f3881565b34801561053457600080fd5b50600e5461033f9060ff1681565b34801561054e57600080fd5b5061033f61055d3660046129dd565b60116020526000908152604090205460ff1681565b34801561057e57600080fd5b5061033f61058d3660046129dd565b60126020526000908152604090205460ff1681565b3480156105ae57600080fd5b5061040a6105bd366004612a69565b610d9b565b3480156105ce57600080fd5b506103dc60075481565b3480156105e457600080fd5b50600e5461033f9062010000900460ff1681565b34801561060457600080fd5b506103dc6106133660046129dd565b6001600160a01b031660009081526020819052604090205490565b34801561063a57600080fd5b5061040a610ed7565b34801561064f57600080fd5b5061040a610f4b565b34801561066457600080fd5b5061040a610673366004612a87565b610f81565b34801561068457600080fd5b5061033f610693366004612ac0565b611049565b3480156106a457600080fd5b506103dc60065481565b3480156106ba57600080fd5b506005546001600160a01b03166103b3565b3480156106d857600080fd5b5061040a6106e73660046129dd565b6111c2565b3480156106f857600080fd5b50610309611281565b34801561070d57600080fd5b5061040a61071c366004612a87565b611290565b34801561072d57600080fd5b5061040a6113a7565b34801561074257600080fd5b5061033f6107513660046129b1565b611558565b34801561076257600080fd5b5061033f6107713660046129b1565b6115f1565b34801561078257600080fd5b506103dc60085481565b34801561079857600080fd5b5061033f6107a73660046129dd565b60136020526000908152604090205460ff1681565b3480156107c857600080fd5b50600e5461033f90610100900460ff1681565b3480156107e757600080fd5b5061040a6107f6366004612a87565b6115fe565b34801561080757600080fd5b5061040a610816366004612a87565b611653565b34801561082757600080fd5b5061040a610836366004612a01565b611748565b34801561084757600080fd5b5061040a610856366004612a01565b611830565b34801561086757600080fd5b50600e5461033f906301000000900460ff1681565b34801561088857600080fd5b5061040a610897366004612a01565b6119b0565b3480156108a857600080fd5b506103dc6108b7366004612ac0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108ee57600080fd5b506103dc600a5481565b34801561090457600080fd5b5061040a610913366004612aee565b611a98565b34801561092457600080fd5b506103dc600c5481565b34801561093a57600080fd5b5061040a6109493660046129dd565b611bab565b34801561095a57600080fd5b5061040a611c96565b34801561096f57600080fd5b506103dc600d5481565b34801561098557600080fd5b5061040a611d02565b60606003805461099d90612b74565b80601f01602080910402602001604051908101604052809291908181526020018280546109c990612b74565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000610a2d338484611d3b565b5060015b92915050565b6005546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610a6190612bae565b60405180910390fd5b60056010541115610ae557601054811115610ae05760405162461bcd60e51b815260206004820152603060248201527f466c697274636861743a206e65772073656c6c2066656520657863656564732060448201526f63757272656e742073656c6c2066656560801b6064820152608401610a61565b601055565b60056010541115610ae05760405162461bcd60e51b815260206004820152602260248201527f466c697274636861743a206e65772073656c6c20666565206578636565647320604482015261352560f01b6064820152608401610a61565b6000610b50848484611e5f565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bd55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a61565b610be28533858403611d3b565b506001949350505050565b6005546001600160a01b03163314610c175760405162461bcd60e51b8152600401610a6190612bae565b6064610c2260025490565b610c2d906001612bf9565b610c379190612c10565b610c4982670de0b6b3a7640000612bf9565b1015610cbd5760405162461bcd60e51b815260206004820152603a60248201527f466c697274636861743a206e6577206d61782062757920616d6f756e74206c6560448201527f7373207468616e203125206f6620746f74616c20737570706c790000000000006064820152608401610a61565b610ccf81670de0b6b3a7640000612bf9565b60065550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a2d918590610d0c908690612c32565b611d3b565b6005546001600160a01b03163314610d3b5760405162461bcd60e51b8152600401610a6190612bae565b6005811115610d965760405162461bcd60e51b815260206004820152602160248201527f466c697274636861743a206e65772062757920666565206578636565647320356044820152602560f81b6064820152608401610a61565b600f55565b6005546001600160a01b03163314610dc55760405162461bcd60e51b8152600401610a6190612bae565b600e54610100900460ff1615610e295760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a2074726164696e6720697320616c72656164792061636044820152637469766560e01b6064820152608401610a61565b6005811115610e895760405162461bcd60e51b815260206004820152602660248201527f466c697274636861743a2064656164626c6f636b7320616d6f756e742065786360448201526565656473203560d01b6064820152608401610a61565b600e80546201000062ffff0019909116610100851515810262ff0000191691909117919091179182905560ff9104168015610ec45750600c54155b15610ed35743600c55600d8190555b5050565b6005546001600160a01b03163314610f015760405162461bcd60e51b8152600401610a6190612bae565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f755760405162461bcd60e51b8152600401610a6190612bae565b600e805460ff19169055565b6005546001600160a01b03163314610fab5760405162461bcd60e51b8152600401610a6190612bae565b600e546301000000900460ff1661101e5760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a20736e69706572206d616e6167656d656e74207065726044820152701b585b995b9d1b1e48191a5cd8589b1959607a1b6064820152608401610a61565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b6005546000906001600160a01b031633146110765760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b0383166110d85760405162461bcd60e51b8152602060048201526024808201527f466c697274636861743a20746f6b656e20697320746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561111f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111439190612c45565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190612c5e565b949350505050565b6005546001600160a01b031633146111ec5760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b03811661125f5760405162461bcd60e51b815260206004820152603460248201527f466c697274636861743a206e6577206d61726b6574696e67206164647265737360448201527320697320746865207a65726f206164647265737360601b6064820152608401610a61565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60606004805461099d90612b74565b6005546001600160a01b031633146112ba5760405162461bcd60e51b8152600401610a6190612bae565b80611366577f00000000000000000000000004846c8acc0b91f23402a2ee51f9e52af2221f386001600160a01b0316826001600160a01b0316036113665760405162461bcd60e51b815260206004820152603960248201527f466c697274636861743a206175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320756e69737761702056322070616972000000000000006064820152608401610a61565b6001600160a01b0382166000908152601360209081526040808320805485151560ff1991821681179092556012909352922080549091169091179055610ed3565b6005546001600160a01b031633146113d15760405162461bcd60e51b8152600401610a6190612bae565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114539190612c7b565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190612c7b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115559190612c7b565b50565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a61565b6115e73385858403611d3b565b5060019392505050565b6000610a2d338484611e5f565b6005546001600160a01b031633146116285760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461167d5760405162461bcd60e51b8152600401610a6190612bae565b8061171e577f00000000000000000000000004846c8acc0b91f23402a2ee51f9e52af2221f386001600160a01b0316826001600160a01b03160361171e5760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a206163636f756e7420746f20626520657873636c756460448201527165642069732070616972206164647265737360701b6064820152608401610a61565b6001600160a01b0382166000908152601260205260409020805482151560ff199091161790555050565b6005546001600160a01b031633146117725760405162461bcd60e51b8152600401610a6190612bae565b606461177d60025490565b611788906002612bf9565b6117929190612c10565b6117a482670de0b6b3a7640000612bf9565b10156118185760405162461bcd60e51b815260206004820152603d60248201527f466c697274636861743a206e6577206d61782077616c6c657420616d6f756e7460448201527f206c657373207468616e203225206f6620746f74616c20737570706c790000006064820152608401610a61565b61182a81670de0b6b3a7640000612bf9565b60085550565b6005546001600160a01b0316331461185a5760405162461bcd60e51b8152600401610a6190612bae565b620186a061186760025490565b611872906001612bf9565b61187c9190612c10565b61188e82670de0b6b3a7640000612bf9565b10156119025760405162461bcd60e51b815260206004820152603b60248201527f466c697274636861743a206e6577207377617020616d6f756e74206c6573732060448201527f7468616e20302e30303125206f6620746f74616c20737570706c7900000000006064820152608401610a61565b6103e861190e60025490565b611919906001612bf9565b6119239190612c10565b8111156119985760405162461bcd60e51b815260206004820152603760248201527f466c697274636861743a206e6577205377617020616d6f756e7420657863656560448201527f647320302e3125206f6620746f74616c20737570706c790000000000000000006064820152608401610a61565b6119aa81670de0b6b3a7640000612bf9565b600a5550565b6005546001600160a01b031633146119da5760405162461bcd60e51b8152600401610a6190612bae565b60646119e560025490565b6119f0906001612bf9565b6119fa9190612c10565b611a0c82670de0b6b3a7640000612bf9565b1015611a805760405162461bcd60e51b815260206004820152603b60248201527f466c697274636861743a206e6577206d61782073656c6c20616d6f756e74206c60448201527f657373207468616e203125206f6620746f74616c20737570706c7900000000006064820152608401610a61565b611a9281670de0b6b3a7640000612bf9565b60075550565b6005546001600160a01b03163314611ac25760405162461bcd60e51b8152600401610a6190612bae565b600e546301000000900460ff16611b365760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a20736e6970657273206d616e6167656d656e742070656044820152711c9b585b995b9d1b1e48191a5cd8589b195960721b6064820152608401610a61565b60005b82811015611ba5578160146000868685818110611b5857611b58612c98565b9050602002016020810190611b6d91906129dd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611b9e81612cae565b9050611b39565b50505050565b6005546001600160a01b03163314611bd55760405162461bcd60e51b8152600401610a6190612bae565b6001600160a01b038116611c3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a61565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611cc05760405162461bcd60e51b8152600401610a6190612bae565b604051600090339047908381818185875af1925050503d8060008114611ba5576040519150601f19603f3d011682016040523d82523d6000602084013e611ba5565b6005546001600160a01b03163314611d2c5760405162461bcd60e51b8152600401610a6190612bae565b600e805463ff00000019169055565b6001600160a01b038316611d9d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a61565b6001600160a01b038216611dfe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a61565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111611eaf5760405162461bcd60e51b815260206004820152601960248201527f466c697274636861743a20616d6f756e74206973207a65726f000000000000006044820152606401610a61565b6001600160a01b03831660009081526014602052604090205460ff1615611f235760405162461bcd60e51b815260206004820152602260248201527f466c697274636861743a2073656e646572206d61726b656420617320736e697060448201526132b960f11b6064820152608401610a61565b6001600160a01b03821660009081526014602052604090205460ff1615611f9a5760405162461bcd60e51b815260206004820152602560248201527f466c697274636861743a20726563697069656e74206d61726b656420617320736044820152643734b832b960d91b6064820152608401610a61565b600e5460ff16156122d2576005546001600160a01b03848116911614801590611fd157506005546001600160a01b03838116911614155b8015611ff657506001600160a01b03831660009081526011602052604090205460ff16155b801561201b57506001600160a01b03821660009081526011602052604090205460ff16155b156122d257600e54610100900460ff166120775760405162461bcd60e51b815260206004820181905260248201527f466c697274636861743a2074726164696e67206973206e6f74206163746976656044820152606401610a61565b6000600c541180156120975750600d54600c546120949190612c32565b43105b156120c0576001600160a01b0382166000908152601460205260409020805460ff191660011790555b6001600160a01b03831660009081526013602052604090205460ff16801561210157506001600160a01b03821660009081526012602052604090205460ff16155b156121bb576006548111156121725760405162461bcd60e51b815260206004820152603160248201527f466c697274636861743a207472616e7366657220616d6f756e74206578636565604482015270191cc81b585e08189d5e48185b5bdd5b9d607a1b6064820152608401610a61565b6008546001600160a01b0383166000908152602081905260409020546121989083612c32565b11156121b65760405162461bcd60e51b8152600401610a6190612cc7565b6122d2565b6001600160a01b03821660009081526013602052604090205460ff1680156121fc57506001600160a01b03831660009081526012602052604090205460ff16155b1561226e576007548111156121b65760405162461bcd60e51b815260206004820152603260248201527f466c697274636861743a207472616e7366657220616d6f756e74206578636565604482015271191cc81b585e081cd95b1b08185b5bdd5b9d60721b6064820152608401610a61565b6001600160a01b03821660009081526012602052604090205460ff166122d2576008546001600160a01b0383166000908152602081905260409020546122b49083612c32565b11156122d25760405162461bcd60e51b8152600401610a6190612cc7565b30600090815260208190526040902054600a54811080159081906122fe5750600e5462010000900460ff165b801561230d575060095460ff16155b801561233257506001600160a01b03851660009081526013602052604090205460ff16155b801561235757506001600160a01b03851660009081526011602052604090205460ff16155b801561237c57506001600160a01b03841660009081526011602052604090205460ff16155b156123a1576009805460ff1916600117905561239661251e565b6009805460ff191690555b6001600160a01b038516600090815260116020526040812054819060ff161580156123e557506001600160a01b03861660009081526011602052604090205460ff16155b1561250a576000600c5411801561240a5750600d54600c546124079190612c32565b43105b1561244657606461241c866062612bf9565b6124269190612c10565b600b549091506124419088906001600160a01b0316836125bf565b6124e2565b6001600160a01b03861660009081526013602052604090205460ff16801561247057506000601054115b15612496576064601054866124859190612bf9565b61248f9190612c10565b91506124e2565b6001600160a01b03871660009081526013602052604090205460ff1680156124c057506000600f54115b156124e2576064600f54866124d59190612bf9565b6124df9190612c10565b91505b81156124f3576124f38730846125bf565b6124fd8183612c32565b6125079086612d13565b94505b6125158787876125bf565b50505050505050565b30600090815260208190526040812054908190036125395750565b600a805461254691612bf9565b81111561255d57600a805461255a91612bf9565b90505b6125668161278e565b600b546040516000916001600160a01b03169047908381818185875af1925050503d80600081146125b3576040519150601f19603f3d011682016040523d82523d6000602084013e6125b8565b606091505b5050505050565b6001600160a01b0383166126235760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a61565b6001600160a01b0382166126855760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a61565b6001600160a01b038316600090815260208190526040902054818110156126fd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a61565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612734908490612c32565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161278091815260200190565b60405180910390a350505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106127c3576127c3612c98565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128659190612c7b565b8160018151811061287857612878612c98565b60200260200101906001600160a01b031690816001600160a01b0316815250506128c3307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611d3b565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612918908590600090869030904290600401612d26565b600060405180830381600087803b15801561293257600080fd5b505af1158015612946573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561297b5785810183015185820160400152820161295f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155557600080fd5b600080604083850312156129c457600080fd5b82356129cf8161299c565b946020939093013593505050565b6000602082840312156129ef57600080fd5b81356129fa8161299c565b9392505050565b600060208284031215612a1357600080fd5b5035919050565b600080600060608486031215612a2f57600080fd5b8335612a3a8161299c565b92506020840135612a4a8161299c565b929592945050506040919091013590565b801515811461155557600080fd5b60008060408385031215612a7c57600080fd5b82356129cf81612a5b565b60008060408385031215612a9a57600080fd5b8235612aa58161299c565b91506020830135612ab581612a5b565b809150509250929050565b60008060408385031215612ad357600080fd5b8235612ade8161299c565b91506020830135612ab58161299c565b600080600060408486031215612b0357600080fd5b833567ffffffffffffffff80821115612b1b57600080fd5b818601915086601f830112612b2f57600080fd5b813581811115612b3e57600080fd5b8760208260051b8501011115612b5357600080fd5b60209283019550935050840135612b6981612a5b565b809150509250925092565b600181811c90821680612b8857607f821691505b602082108103612ba857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a3157610a31612be3565b600082612c2d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610a3157610a31612be3565b600060208284031215612c5757600080fd5b5051919050565b600060208284031215612c7057600080fd5b81516129fa81612a5b565b600060208284031215612c8d57600080fd5b81516129fa8161299c565b634e487b7160e01b600052603260045260246000fd5b600060018201612cc057612cc0612be3565b5060010190565b6020808252602c908201527f466c697274636861743a2062616c616e63652065786365656473206d6178207760408201526b185b1b195d08185b5bdd5b9d60a21b606082015260800190565b81810381811115610a3157610a31612be3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d765784516001600160a01b031683529383019391830191600101612d51565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c44f9fbb37579393bd3455768e4c41ba0e1032161e223b2e8bc8a84527be2eff64736f6c63430008130033

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.