ETH Price: $2,068.76 (-0.42%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve243081562026-01-25 0:11:2321 days ago1769299883IN
0xA9dB6C82...1d3119197
0 ETH0.00000530.11390601
Approve242628712026-01-18 16:35:2327 days ago1768754123IN
0xA9dB6C82...1d3119197
0 ETH0.000010380.22294179
Approve242426532026-01-15 20:58:2330 days ago1768510703IN
0xA9dB6C82...1d3119197
0 ETH0.000004610.09947063
Approve242426412026-01-15 20:55:5930 days ago1768510559IN
0xA9dB6C82...1d3119197
0 ETH0.000003860.08303778
Approve242388732026-01-15 8:19:4731 days ago1768465187IN
0xA9dB6C82...1d3119197
0 ETH0.000020220.43452616
Approve242378132026-01-15 4:46:2331 days ago1768452383IN
0xA9dB6C82...1d3119197
0 ETH0.000003130.06726858
Approve242368552026-01-15 1:33:5931 days ago1768440839IN
0xA9dB6C82...1d3119197
0 ETH0.000012050.25894539
Approve242352612026-01-14 20:13:4731 days ago1768421627IN
0xA9dB6C82...1d3119197
0 ETH0.000007610.16334755
Approve242349872026-01-14 19:18:5931 days ago1768418339IN
0xA9dB6C82...1d3119197
0 ETH0.000008590.18461198
Approve242349292026-01-14 19:07:2331 days ago1768417643IN
0xA9dB6C82...1d3119197
0 ETH0.000029740.64178558
Approve242347972026-01-14 18:40:5931 days ago1768416059IN
0xA9dB6C82...1d3119197
0 ETH0.000012080.25952816
Approve242347892026-01-14 18:39:2331 days ago1768415963IN
0xA9dB6C82...1d3119197
0 ETH0.000049651.06524772
Approve242347822026-01-14 18:37:5931 days ago1768415879IN
0xA9dB6C82...1d3119197
0 ETH0.00004180.89817064
Approve242347742026-01-14 18:36:2331 days ago1768415783IN
0xA9dB6C82...1d3119197
0 ETH0.000014170.30469745
Transfer242347532026-01-14 18:32:1131 days ago1768415531IN
0xA9dB6C82...1d3119197
0 ETH0.000023630.17986153
Approve242347532026-01-14 18:32:1131 days ago1768415531IN
0xA9dB6C82...1d3119197
0 ETH0.000027990.60055132
Transfer242347452026-01-14 18:30:3531 days ago1768415435IN
0xA9dB6C82...1d3119197
0 ETH0.000025730.3129215
Transfer242347432026-01-14 18:30:1131 days ago1768415411IN
0xA9dB6C82...1d3119197
0 ETH0.00002650.29537897
Transfer242347422026-01-14 18:29:5931 days ago1768415399IN
0xA9dB6C82...1d3119197
0 ETH0.000080850.30431263
Approve242347342026-01-14 18:28:2331 days ago1768415303IN
0xA9dB6C82...1d3119197
0 ETH0.000102342.20888106
Approve242347332026-01-14 18:28:1131 days ago1768415291IN
0xA9dB6C82...1d3119197
0 ETH0.0005691512.21433432
Approve242347322026-01-14 18:27:5931 days ago1768415279IN
0xA9dB6C82...1d3119197
0 ETH0.000102042.20346427
Approve242347232026-01-14 18:26:1131 days ago1768415171IN
0xA9dB6C82...1d3119197
0 ETH0.000150963.23906773
Approve242347212026-01-14 18:25:4731 days ago1768415147IN
0xA9dB6C82...1d3119197
0 ETH0.000011450.24607299
Approve242347192026-01-14 18:25:2331 days ago1768415123IN
0xA9dB6C82...1d3119197
0 ETH0.00001520.32667817
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer243081112026-01-25 0:02:2321 days ago1769299343
0xA9dB6C82...1d3119197
0.00092722 ETH
Transfer243081112026-01-25 0:02:2321 days ago1769299343
0xA9dB6C82...1d3119197
0.00092722 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00053274 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00053274 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00052553 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00052553 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00058387 ETH
Transfer242473342026-01-16 12:37:2329 days ago1768567043
0xA9dB6C82...1d3119197
0.00058387 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.0005883 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.0005883 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.00062962 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.00062962 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.00001329 ETH
Transfer242473332026-01-16 12:37:1129 days ago1768567031
0xA9dB6C82...1d3119197
0.00001329 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00065891 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00065891 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00080253 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00080253 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00077334 ETH
Transfer242473312026-01-16 12:36:4729 days ago1768567007
0xA9dB6C82...1d3119197
0.00077334 ETH
Transfer242473302026-01-16 12:36:3529 days ago1768566995
0xA9dB6C82...1d3119197
0.00055805 ETH
Transfer242473302026-01-16 12:36:3529 days ago1768566995
0xA9dB6C82...1d3119197
0.00055805 ETH
Transfer242473302026-01-16 12:36:3529 days ago1768566995
0xA9dB6C82...1d3119197
0.00029774 ETH
Transfer242473302026-01-16 12:36:3529 days ago1768566995
0xA9dB6C82...1d3119197
0.00029774 ETH
Transfer242473302026-01-16 12:36:3529 days ago1768566995
0xA9dB6C82...1d3119197
0.00053725 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CNL

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2026-01-13
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;

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

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

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];
        if (currentAllowance != type(uint256).max) {
            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
    );

    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
}

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

interface IProcessor {
    function process(address from, address to, uint256 amount) external returns (bool);
}

contract CNL is ERC20, Ownable {
    IDexFactory public immutable uniswapV2Factory;
    IDexRouter public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public immutable WETH;

    bool private swapping;
    uint256 public swapTokensAtAmount;

    address public treasuryAddress;
    uint256 public tradingActiveBlock = 0;
    bool public sellEnabled = false;

    function getSellEnabled() external view returns (bool) {
        return sellEnabled;
    }

    uint256 public maxBuyAmount;

    bool public limitsInEffect;
    bool public tradingActive;

    uint256 public buyFee;
    uint256 public sellFee;

    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) public _isExcludedMaxTransactionAmount;
    mapping (address => bool) public automatedMarketMakerPairs;

    uint256 public maxEthForSwap = 1 ether * 4 / 10;

    IProcessor internal _processor;

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event RemovedLimits();

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event MaxTransactionExclusion(address _address, bool excluded);

    function setProcessor(address processorAddress) public onlyOwner {
        _processor = IProcessor(processorAddress);
    }

    constructor() ERC20('Canonical3', 'CNL') {
        address newOwner = msg.sender;

        IDexRouter _uniswapV2Router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Factory = IDexFactory(_uniswapV2Router.factory());
        WETH = _uniswapV2Router.WETH();
        uniswapV2Pair = uniswapV2Factory.createPair(address(this), WETH);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 totalSupply = 1_000_000_000 * (10**18);

        maxBuyAmount = totalSupply;
        swapTokensAtAmount = totalSupply * 1 / 1_000_000;
        limitsInEffect = true;

        buyFee = 30 * 10000 / 100;
        sellFee = 30 * 10000 / 100;

        _excludeFromMaxTransaction(newOwner, true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);

        treasuryAddress = address(newOwner);

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromFees(treasuryAddress, true);

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

    receive() external payable {}

    function updateMaxBuyAmount(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 1 / 1000) / 1e18, "error");
        maxBuyAmount = newNum * (10**18);
    }

    bool public feesLocked = false;

    function lockFees() external onlyOwner {
        feesLocked = true;
    }

    function setFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(!feesLocked, "Fees are locked");
        require(_buyFee <= 10000 * 30 / 100, "High fee");
        require(_sellFee <= 10000 * 30 / 100, "High fee");
        buyFee = _buyFee;
        sellFee = _sellFee;
    }

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

    function _excludeFromMaxTransaction(address updAds, bool isExcluded) private {
        _isExcludedMaxTransactionAmount[updAds] = isExcluded;
        emit MaxTransactionExclusion(updAds, isExcluded);
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) external onlyOwner {
        if(!isEx){
            require(updAds != uniswapV2Pair, "Cannot remove uniswap pair from max txn");
        }
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function transferForeignToken(address _token, address _to) public returns (bool _sent) {
        require(_token != address(0), "_token address cannot be 0");
        require(msg.sender == treasuryAddress,
            "only treasuryAddress can withdraw");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        _sent = IERC20(_token).transfer(_to, _contractBalance);
    }

    function withdrawStuckETH() public {
        require(msg.sender == treasuryAddress, "only treasuryAddress can withdraw");
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function _checkLimits(address from, address to, uint256 amount) internal {
        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead)){
            if(!tradingActive){
                require(
                    _isExcludedMaxTransactionAmount[from] || _isExcludedMaxTransactionAmount[to],
                    "Trading is not active.");
                require(from == owner(), "Trading is not enabled");
            }
            if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                require(amount <= maxBuyAmount, "Buy transfer amount exceeds the max buy.");
            }
        }
    }

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

        if(limitsInEffect){
            _checkLimits(from, to, amount);
        }

        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;

        if(
            canSwap &&
            tradingActive &&
            sellEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;
            _swapBack();
            swapping = false;
        }

        bool takeFee = true;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        if (takeFee && tradingActiveBlock>0 && (block.number>tradingActiveBlock)) {
            uint256 fees = 0;

            // on sell
            if (automatedMarketMakerPairs[to] && sellFee > 0) {
                fees = amount * sellFee / 10000;
            }
            // on buy
            else if (automatedMarketMakerPairs[from] && buyFee > 0) {
                fees = amount * buyFee / 10000;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
                require(_processor.process(from, address(this), fees), "proc_fees");
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
        require(_processor.process(from, to, amount), "proc_transfer");
    }

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

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != uniswapV2Pair,
            "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        _excludeFromMaxTransaction(pair, value);
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function setTreasuryAddress(address _TreasuryAddress) external {
        require(
            msg.sender == treasuryAddress || msg.sender == owner(),
            "access denied"
        );
        require(_TreasuryAddress != address(0),
            "cannot be 0");
        treasuryAddress = payable(_TreasuryAddress);
    }

    function setMaxEthForSwap(uint256 _value) external onlyOwner {
        maxEthForSwap = _value;
    }

    function enableSell() external onlyOwner {
        sellEnabled = true;
    }

    function _swapBack() private {
        uint256 tokensToSwap = balanceOf(address(this));
        if(tokensToSwap == 0) {return;}

        address[] memory _path = new address[](2);
        _path[0] = WETH;
        _path[1] = address(this);

        if (maxEthForSwap != 0) {
            uint256 _maxTokenAmountTx = uniswapV2Router.getAmountsOut(maxEthForSwap, _path)[1];
            if (tokensToSwap > _maxTokenAmountTx) {
                tokensToSwap = _maxTokenAmountTx;
            }
        }

        if (tokensToSwap == 0) {return;}

        _swapTokensForEth(tokensToSwap);
        (bool status, ) = address(treasuryAddress).call{value: address(this).balance}("");
    }

    function makeManualSwap() external {
        require(_msgSender() == treasuryAddress,
            "Only treasuryAddress can manually swap");
        swapping = true;
        _swapBack();
        swapping = false;
    }

    function enableTrading() external onlyOwner {
        require(!tradingActive, "cannot re-enable");
        tradingActive = true;
        tradingActiveBlock = block.number;
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":"enableSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"makeManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxEthForSwap","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":"sellEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setMaxEthForSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"processorAddress","type":"address"}],"name":"setProcessor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_TreasuryAddress","type":"address"}],"name":"setTreasuryAddress","outputs":[],"stateMutability":"nonpayable","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":"_sent","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":"treasuryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Factory","outputs":[{"internalType":"contract IDexFactory","name":"","type":"address"}],"stateMutability":"view","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":"newNum","type":"uint256"}],"name":"updateMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

61010060405260006008556009805460ff1916905567058d15e1762800006011556012805460ff60a01b191690553480156200003a57600080fd5b506040518060400160405280600a81526020016943616e6f6e6963616c3360b01b8152506040518060400160405280600381526020016210d39360ea1b81525081600390805190602001906200009292919062000758565b508051620000a890600490602084019062000758565b5050506000620000bd620003f560201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003163833981519152908290a35033737a250d5630b4cf539739df2c5dacb4c659f2488d6200011d816001620003f9565b806001600160a01b031660a0816001600160a01b031660601b81525050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017457600080fd5b505afa15801562000189573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001af9190620007fe565b6001600160a01b03166080816001600160a01b031660601b81525050806001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020557600080fd5b505afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002409190620007fe565b606081811b6001600160601b03191660e0526080516040516364e329cb60e11b81523060048201526001600160a01b039093166024840152901c9063c9c6539690604401602060405180830381600087803b1580156200029f57600080fd5b505af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da9190620007fe565b6001600160601b0319606082901b1660c05262000302906001600160a01b031660016200045c565b6b033b2e3c9fd0803ce8000000600a819055620f42406200032582600162000846565b62000331919062000868565b600655600b805460ff19166001908117909155610bb8600c819055600d556200035c908490620003f9565b62000369306001620003f9565b6200037861dead6001620003f9565b600780546001600160a01b0319166001600160a01b038516179055620003a0836001620004c8565b620003ad306001620004c8565b620003bc61dead6001620004c8565b600754620003d5906001600160a01b03166001620004c8565b620003e1838262000576565b620003ec836200065b565b505050620008e3565b3390565b6001600160a01b0382166000818152600f6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382166000908152601060205260409020805460ff19168215151790556200048c8282620003f9565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314620005175760405162461bcd60e51b815260206004820181905260248201526000805160206200314383398151915260448201526064015b60405180910390fd5b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200050e565b8060026000828254620005e291906200088b565b90915550506001600160a01b03821660009081526020819052604081208054839290620006119084906200088b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620006a65760405162461bcd60e51b815260206004820181905260248201526000805160206200314383398151915260448201526064016200050e565b6001600160a01b0381166200070d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200050e565b6005546040516001600160a01b038084169216906000805160206200316383398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b8280546200076690620008a6565b90600052602060002090601f0160209004810192826200078a5760008555620007d5565b82601f10620007a557805160ff1916838001178555620007d5565b82800160010185558215620007d5579182015b82811115620007d5578251825591602001919060010190620007b8565b50620007e3929150620007e7565b5090565b5b80821115620007e35760008155600101620007e8565b6000602082840312156200081157600080fd5b81516001600160a01b03811681146200082957600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000863576200086362000830565b500290565b6000826200088657634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620008a157620008a162000830565b500190565b600181811c90821680620008bb57607f821691505b60208210811415620008dd57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c60a05160601c60c05160601c60e05160601c6127e96200095a6000396000818161071a01528181611b5e01526121290152600081816104a001528181610e1a01526111c001526000818161035701528181611c010152818161218101526121bd0152600061050801526127e96000f3fe60806040526004361061028c5760003560e01c8063751039fc1161015a578063ad5c4648116100c1578063dd62ed3e1161007a578063dd62ed3e146107e3578063e1a8eafd14610829578063e2f4560514610849578063ee40166e1461085f578063f2fde38b14610875578063f5648a4f1461089557600080fd5b8063ad5c464814610708578063b62496f51461073c578063bbc0c7421461076c578063c02466681461078b578063c5f956af146107ab578063c6a5c48c146107cb57600080fd5b80638e599acd116101135780638e599acd1461066957806395d89b411461067e5780639a7a23d614610693578063a457c2d7146106b3578063a9059cbb146106d3578063ab366292146106f357600080fd5b8063751039fc146105cb5780637571336a146105e05780638366e79a1461060057806388e765ff146106205780638a8c523c146106365780638da5cb5b1461064b57600080fd5b806339509351116101fe57806359d0f713116101b757806359d0f713146104f65780635a27a1f91461052a5780635f56315b1461054b5780636605bfda1461056057806370a0823114610580578063715018a6146105b657600080fd5b8063395093511461043857806343b25d6214610458578063470624021461047857806349bd5a5e1461048e5780634a62bb65146104c257806358197a9d146104dc57600080fd5b806318160ddd1161025057806318160ddd1461039157806323b872dd146103b05780632b14ca56146103d05780632be32b61146103e6578063313ce5671461040657806336379a331461042257600080fd5b806306fdde0314610298578063095ea7b3146102c35780630b78f9c0146102f357806310d5de53146103155780631694505e1461034557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108aa565b6040516102ba919061228c565b60405180910390f35b3480156102cf57600080fd5b506102e36102de3660046122fd565b61093c565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e366004612327565b610952565b005b34801561032157600080fd5b506102e3610330366004612349565b600f6020526000908152604090205460ff1681565b34801561035157600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ba565b34801561039d57600080fd5b506002545b6040519081526020016102ba565b3480156103bc57600080fd5b506102e36103cb36600461236b565b610a56565b3480156103dc57600080fd5b506103a2600d5481565b3480156103f257600080fd5b506103136104013660046123a7565b610b00565b34801561041257600080fd5b50604051601281526020016102ba565b34801561042e57600080fd5b506103a260115481565b34801561044457600080fd5b506102e36104533660046122fd565b610bad565b34801561046457600080fd5b506103136104733660046123a7565b610be9565b34801561048457600080fd5b506103a2600c5481565b34801561049a57600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ce57600080fd5b50600b546102e39060ff1681565b3480156104e857600080fd5b506009546102e39060ff1681565b34801561050257600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b34801561053657600080fd5b506012546102e390600160a01b900460ff1681565b34801561055757600080fd5b50610313610c18565b34801561056c57600080fd5b5061031361057b366004612349565b610c51565b34801561058c57600080fd5b506103a261059b366004612349565b6001600160a01b031660009081526020819052604090205490565b3480156105c257600080fd5b50610313610d16565b3480156105d757600080fd5b50610313610d8a565b3480156105ec57600080fd5b506103136105fb3660046123d1565b610de9565b34801561060c57600080fd5b506102e361061b366004612408565b610ed5565b34801561062c57600080fd5b506103a2600a5481565b34801561064257600080fd5b5061031361105f565b34801561065757600080fd5b506005546001600160a01b0316610379565b34801561067557600080fd5b506103136110e9565b34801561068a57600080fd5b506102ad611185565b34801561069f57600080fd5b506103136106ae3660046123d1565b611194565b3480156106bf57600080fd5b506102e36106ce3660046122fd565b611274565b3480156106df57600080fd5b506102e36106ee3660046122fd565b611316565b3480156106ff57600080fd5b50610313611323565b34801561071457600080fd5b506103797f000000000000000000000000000000000000000000000000000000000000000081565b34801561074857600080fd5b506102e3610757366004612349565b60106020526000908152604090205460ff1681565b34801561077857600080fd5b50600b546102e390610100900460ff1681565b34801561079757600080fd5b506103136107a63660046123d1565b611362565b3480156107b757600080fd5b50600754610379906001600160a01b031681565b3480156107d757600080fd5b5060095460ff166102e3565b3480156107ef57600080fd5b506103a26107fe366004612408565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561083557600080fd5b50610313610844366004612349565b6113eb565b34801561085557600080fd5b506103a260065481565b34801561086b57600080fd5b506103a260085481565b34801561088157600080fd5b50610313610890366004612349565b611437565b3480156108a157600080fd5b50610313611522565b6060600380546108b99061243b565b80601f01602080910402602001604051908101604052809291908181526020018280546108e59061243b565b80156109325780601f1061090757610100808354040283529160200191610932565b820191906000526020600020905b81548152906001019060200180831161091557829003601f168201915b5050505050905090565b6000610949338484611599565b50600192915050565b6005546001600160a01b031633146109855760405162461bcd60e51b815260040161097c90612476565b60405180910390fd5b601254600160a01b900460ff16156109d15760405162461bcd60e51b815260206004820152600f60248201526e1199595cc8185c99481b1bd8dad959608a1b604482015260640161097c565b610bb8821115610a0e5760405162461bcd60e51b8152602060048201526008602482015267486967682066656560c01b604482015260640161097c565b610bb8811115610a4b5760405162461bcd60e51b8152602060048201526008602482015267486967682066656560c01b604482015260640161097c565b600c91909155600d55565b6000610a638484846116bd565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610ae85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161097c565b610af58533858403611599565b506001949350505050565b6005546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161097c90612476565b670de0b6b3a76400006103e8610b3f60025490565b610b4a9060016124c1565b610b5491906124e0565b610b5e91906124e0565b811015610b955760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015260640161097c565b610ba781670de0b6b3a76400006124c1565b600a5550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610949918590610be4908690612502565b611599565b6005546001600160a01b03163314610c135760405162461bcd60e51b815260040161097c90612476565b601155565b6005546001600160a01b03163314610c425760405162461bcd60e51b815260040161097c90612476565b6009805460ff19166001179055565b6007546001600160a01b0316331480610c7457506005546001600160a01b031633145b610cb05760405162461bcd60e51b815260206004820152600d60248201526c1858d8d95cdcc819195b9a5959609a1b604482015260640161097c565b6001600160a01b038116610cf45760405162461bcd60e51b815260206004820152600b60248201526a063616e6e6f7420626520360ac1b604482015260640161097c565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610d405760405162461bcd60e51b815260040161097c90612476565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610db45760405162461bcd60e51b815260040161097c90612476565b600b805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b03163314610e135760405162461bcd60e51b815260040161097c90612476565b80610eaa577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415610eaa5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b606482015260840161097c565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b60006001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161097c565b6007546001600160a01b03163314610f575760405162461bcd60e51b815260040161097c9061251a565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610f9957600080fd5b505afa158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd1919061255b565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b15801561101f57600080fd5b505af1158015611033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110579190612574565b949350505050565b6005546001600160a01b031633146110895760405162461bcd60e51b815260040161097c90612476565b600b54610100900460ff16156110d45760405162461bcd60e51b815260206004820152601060248201526f63616e6e6f742072652d656e61626c6560801b604482015260640161097c565b600b805461ff00191661010017905543600855565b6007546001600160a01b0316336001600160a01b03161461115b5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79207472656173757279416464726573732063616e206d616e75616c6c60448201526507920737761760d41b606482015260840161097c565b6005805460ff60a01b1916600160a01b179055611176611b23565b6005805460ff60a01b19169055565b6060600480546108b99061243b565b6005546001600160a01b031633146111be5760405162461bcd60e51b815260040161097c90612476565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614156112665760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161097c565b6112708282611d20565b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054600019811461130c57828110156112ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161097c565b61130c3385858403611599565b5060019392505050565b60006109493384846116bd565b6005546001600160a01b0316331461134d5760405162461bcd60e51b815260040161097c90612476565b6012805460ff60a01b1916600160a01b179055565b6005546001600160a01b0316331461138c5760405162461bcd60e51b815260040161097c90612476565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146114155760405162461bcd60e51b815260040161097c90612476565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146114615760405162461bcd60e51b815260040161097c90612476565b6001600160a01b0381166114c65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161097c565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b0316331461154c5760405162461bcd60e51b815260040161097c9061251a565b604051600090339047908381818185875af1925050503d806000811461158e576040519150601f19603f3d011682016040523d82523d6000602084013e611593565b606091505b50505050565b6001600160a01b0383166115fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161097c565b6001600160a01b03821661165c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161097c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116e35760405162461bcd60e51b815260040161097c90612591565b6001600160a01b0382166117095760405162461bcd60e51b815260040161097c906125d6565b600081116117595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161097c565b600b5460ff161561176f5761176f838383611d8a565b600654306000908152602081905260409020541080159081906117995750600b54610100900460ff165b80156117a7575060095460ff165b80156117bd5750600554600160a01b900460ff16155b80156117e257506001600160a01b03841660009081526010602052604090205460ff16155b801561180757506001600160a01b0384166000908152600e602052604090205460ff16155b801561182c57506001600160a01b0383166000908152600e602052604090205460ff16155b1561185a576005805460ff60a01b1916600160a01b17905561184c611b23565b6005805460ff60a01b191690555b6001600160a01b0384166000908152600e602052604090205460019060ff168061189c57506001600160a01b0384166000908152600e602052604090205460ff165b156118a5575060005b8080156118b457506000600854115b80156118c1575060085443115b15611a47576001600160a01b03841660009081526010602052604081205460ff1680156118f057506000600d54115b1561191757612710600d548561190691906124c1565b61191091906124e0565b9050611964565b6001600160a01b03861660009081526010602052604090205460ff16801561194157506000600c54115b1561196457612710600c548561195791906124c1565b61196191906124e0565b90505b8015611a3957611975863083611f7d565b601254604051630f123d8d60e01b81526001600160a01b0388811660048301523060248301526044820184905290911690630f123d8d90606401602060405180830381600087803b1580156119c957600080fd5b505af11580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190612574565b611a395760405162461bcd60e51b815260206004820152600960248201526870726f635f6665657360b81b604482015260640161097c565b611a438185612619565b9350505b611a52858585611f7d565b601254604051630f123d8d60e01b81526001600160a01b03878116600483015286811660248301526044820186905290911690630f123d8d90606401602060405180830381600087803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae09190612574565b611b1c5760405162461bcd60e51b815260206004820152600d60248201526c383937b1afba3930b739b332b960991b604482015260640161097c565b5050505050565b3060009081526020819052604090205480611b3b5750565b6040805160028082526060820183526000926020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611b9057611b90612646565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611bc457611bc4612646565b6001600160a01b039092166020928302919091019091015260115415611cb45760115460405163d06ca61f60e01b81526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163d06ca61f91611c369186906004016126a0565b60006040518083038186803b158015611c4e57600080fd5b505afa158015611c62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c8a91908101906126b9565b600181518110611c9c57611c9c612646565b6020026020010151905080831115611cb2578092505b505b81611cbd575050565b611cc6826120d2565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611d13576040519150601f19603f3d011682016040523d82523d6000602084013e611d18565b606091505b505050505050565b6001600160a01b0382166000908152601060205260409020805460ff1916821515179055611d4e8282612229565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03848116911614801590611db657506005546001600160a01b03838116911614155b8015611dca57506001600160a01b03821615155b8015611de157506001600160a01b03821661dead14155b15611f7857600b54610100900460ff16611ecf576001600160a01b0383166000908152600f602052604090205460ff1680611e3457506001600160a01b0382166000908152600f602052604090205460ff165b611e795760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161097c565b6005546001600160a01b03848116911614611ecf5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161097c565b6001600160a01b03831660009081526010602052604090205460ff168015611f1057506001600160a01b0382166000908152600f602052604090205460ff16155b15611f7857600a54811115611f785760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b606482015260840161097c565b505050565b6001600160a01b038316611fa35760405162461bcd60e51b815260040161097c90612591565b6001600160a01b038216611fc95760405162461bcd60e51b815260040161097c906125d6565b6001600160a01b038316600090815260208190526040902054818110156120415760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161097c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612078908490612502565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120c491815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061210757612107612646565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061215b5761215b612646565b60200260200101906001600160a01b031690816001600160a01b0316815250506121a6307f000000000000000000000000000000000000000000000000000000000000000084611599565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906121fb908590600090869030904290600401612777565b600060405180830381600087803b15801561221557600080fd5b505af1158015611d18573d6000803e3d6000fd5b6001600160a01b0382166000818152600f6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b600060208083528351808285015260005b818110156122b95785810183015185820160400152820161229d565b818111156122cb576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146122f857600080fd5b919050565b6000806040838503121561231057600080fd5b612319836122e1565b946020939093013593505050565b6000806040838503121561233a57600080fd5b50508035926020909101359150565b60006020828403121561235b57600080fd5b612364826122e1565b9392505050565b60008060006060848603121561238057600080fd5b612389846122e1565b9250612397602085016122e1565b9150604084013590509250925092565b6000602082840312156123b957600080fd5b5035919050565b80151581146123ce57600080fd5b50565b600080604083850312156123e457600080fd5b6123ed836122e1565b915060208301356123fd816123c0565b809150509250929050565b6000806040838503121561241b57600080fd5b612424836122e1565b9150612432602084016122e1565b90509250929050565b600181811c9082168061244f57607f821691505b6020821081141561247057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156124db576124db6124ab565b500290565b6000826124fd57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612515576125156124ab565b500190565b60208082526021908201527f6f6e6c79207472656173757279416464726573732063616e20776974686472616040820152607760f81b606082015260800190565b60006020828403121561256d57600080fd5b5051919050565b60006020828403121561258657600080fd5b8151612364816123c0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60008282101561262b5761262b6124ab565b500390565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156126955781516001600160a01b031687529582019590820190600101612670565b509495945050505050565b828152604060208201526000611057604083018461265c565b600060208083850312156126cc57600080fd5b825167ffffffffffffffff808211156126e457600080fd5b818501915085601f8301126126f857600080fd5b81518181111561270a5761270a612630565b8060051b604051601f19603f8301168101818110858211171561272f5761272f612630565b60405291825284820192508381018501918883111561274d57600080fd5b938501935b8285101561276b57845184529385019392850192612752565b98975050505050505050565b85815284602082015260a06040820152600061279660a083018661265c565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220458d40400660fb1fa2d2649e67319e15bcef07f7cf3ead8949bd34a71a23ba5164736f6c634300080800334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x60806040526004361061028c5760003560e01c8063751039fc1161015a578063ad5c4648116100c1578063dd62ed3e1161007a578063dd62ed3e146107e3578063e1a8eafd14610829578063e2f4560514610849578063ee40166e1461085f578063f2fde38b14610875578063f5648a4f1461089557600080fd5b8063ad5c464814610708578063b62496f51461073c578063bbc0c7421461076c578063c02466681461078b578063c5f956af146107ab578063c6a5c48c146107cb57600080fd5b80638e599acd116101135780638e599acd1461066957806395d89b411461067e5780639a7a23d614610693578063a457c2d7146106b3578063a9059cbb146106d3578063ab366292146106f357600080fd5b8063751039fc146105cb5780637571336a146105e05780638366e79a1461060057806388e765ff146106205780638a8c523c146106365780638da5cb5b1461064b57600080fd5b806339509351116101fe57806359d0f713116101b757806359d0f713146104f65780635a27a1f91461052a5780635f56315b1461054b5780636605bfda1461056057806370a0823114610580578063715018a6146105b657600080fd5b8063395093511461043857806343b25d6214610458578063470624021461047857806349bd5a5e1461048e5780634a62bb65146104c257806358197a9d146104dc57600080fd5b806318160ddd1161025057806318160ddd1461039157806323b872dd146103b05780632b14ca56146103d05780632be32b61146103e6578063313ce5671461040657806336379a331461042257600080fd5b806306fdde0314610298578063095ea7b3146102c35780630b78f9c0146102f357806310d5de53146103155780631694505e1461034557600080fd5b3661029357005b600080fd5b3480156102a457600080fd5b506102ad6108aa565b6040516102ba919061228c565b60405180910390f35b3480156102cf57600080fd5b506102e36102de3660046122fd565b61093c565b60405190151581526020016102ba565b3480156102ff57600080fd5b5061031361030e366004612327565b610952565b005b34801561032157600080fd5b506102e3610330366004612349565b600f6020526000908152604090205460ff1681565b34801561035157600080fd5b506103797f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016102ba565b34801561039d57600080fd5b506002545b6040519081526020016102ba565b3480156103bc57600080fd5b506102e36103cb36600461236b565b610a56565b3480156103dc57600080fd5b506103a2600d5481565b3480156103f257600080fd5b506103136104013660046123a7565b610b00565b34801561041257600080fd5b50604051601281526020016102ba565b34801561042e57600080fd5b506103a260115481565b34801561044457600080fd5b506102e36104533660046122fd565b610bad565b34801561046457600080fd5b506103136104733660046123a7565b610be9565b34801561048457600080fd5b506103a2600c5481565b34801561049a57600080fd5b506103797f000000000000000000000000ae12bb31b1d1e9239fcab234f1905e6859c9479f81565b3480156104ce57600080fd5b50600b546102e39060ff1681565b3480156104e857600080fd5b506009546102e39060ff1681565b34801561050257600080fd5b506103797f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b34801561053657600080fd5b506012546102e390600160a01b900460ff1681565b34801561055757600080fd5b50610313610c18565b34801561056c57600080fd5b5061031361057b366004612349565b610c51565b34801561058c57600080fd5b506103a261059b366004612349565b6001600160a01b031660009081526020819052604090205490565b3480156105c257600080fd5b50610313610d16565b3480156105d757600080fd5b50610313610d8a565b3480156105ec57600080fd5b506103136105fb3660046123d1565b610de9565b34801561060c57600080fd5b506102e361061b366004612408565b610ed5565b34801561062c57600080fd5b506103a2600a5481565b34801561064257600080fd5b5061031361105f565b34801561065757600080fd5b506005546001600160a01b0316610379565b34801561067557600080fd5b506103136110e9565b34801561068a57600080fd5b506102ad611185565b34801561069f57600080fd5b506103136106ae3660046123d1565b611194565b3480156106bf57600080fd5b506102e36106ce3660046122fd565b611274565b3480156106df57600080fd5b506102e36106ee3660046122fd565b611316565b3480156106ff57600080fd5b50610313611323565b34801561071457600080fd5b506103797f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561074857600080fd5b506102e3610757366004612349565b60106020526000908152604090205460ff1681565b34801561077857600080fd5b50600b546102e390610100900460ff1681565b34801561079757600080fd5b506103136107a63660046123d1565b611362565b3480156107b757600080fd5b50600754610379906001600160a01b031681565b3480156107d757600080fd5b5060095460ff166102e3565b3480156107ef57600080fd5b506103a26107fe366004612408565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561083557600080fd5b50610313610844366004612349565b6113eb565b34801561085557600080fd5b506103a260065481565b34801561086b57600080fd5b506103a260085481565b34801561088157600080fd5b50610313610890366004612349565b611437565b3480156108a157600080fd5b50610313611522565b6060600380546108b99061243b565b80601f01602080910402602001604051908101604052809291908181526020018280546108e59061243b565b80156109325780601f1061090757610100808354040283529160200191610932565b820191906000526020600020905b81548152906001019060200180831161091557829003601f168201915b5050505050905090565b6000610949338484611599565b50600192915050565b6005546001600160a01b031633146109855760405162461bcd60e51b815260040161097c90612476565b60405180910390fd5b601254600160a01b900460ff16156109d15760405162461bcd60e51b815260206004820152600f60248201526e1199595cc8185c99481b1bd8dad959608a1b604482015260640161097c565b610bb8821115610a0e5760405162461bcd60e51b8152602060048201526008602482015267486967682066656560c01b604482015260640161097c565b610bb8811115610a4b5760405162461bcd60e51b8152602060048201526008602482015267486967682066656560c01b604482015260640161097c565b600c91909155600d55565b6000610a638484846116bd565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610ae85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161097c565b610af58533858403611599565b506001949350505050565b6005546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161097c90612476565b670de0b6b3a76400006103e8610b3f60025490565b610b4a9060016124c1565b610b5491906124e0565b610b5e91906124e0565b811015610b955760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015260640161097c565b610ba781670de0b6b3a76400006124c1565b600a5550565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610949918590610be4908690612502565b611599565b6005546001600160a01b03163314610c135760405162461bcd60e51b815260040161097c90612476565b601155565b6005546001600160a01b03163314610c425760405162461bcd60e51b815260040161097c90612476565b6009805460ff19166001179055565b6007546001600160a01b0316331480610c7457506005546001600160a01b031633145b610cb05760405162461bcd60e51b815260206004820152600d60248201526c1858d8d95cdcc819195b9a5959609a1b604482015260640161097c565b6001600160a01b038116610cf45760405162461bcd60e51b815260206004820152600b60248201526a063616e6e6f7420626520360ac1b604482015260640161097c565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610d405760405162461bcd60e51b815260040161097c90612476565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610db45760405162461bcd60e51b815260040161097c90612476565b600b805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b03163314610e135760405162461bcd60e51b815260040161097c90612476565b80610eaa577f000000000000000000000000ae12bb31b1d1e9239fcab234f1905e6859c9479f6001600160a01b0316826001600160a01b03161415610eaa5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b606482015260840161097c565b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b60006001600160a01b038316610f2d5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161097c565b6007546001600160a01b03163314610f575760405162461bcd60e51b815260040161097c9061251a565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610f9957600080fd5b505afa158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd1919061255b565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b15801561101f57600080fd5b505af1158015611033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110579190612574565b949350505050565b6005546001600160a01b031633146110895760405162461bcd60e51b815260040161097c90612476565b600b54610100900460ff16156110d45760405162461bcd60e51b815260206004820152601060248201526f63616e6e6f742072652d656e61626c6560801b604482015260640161097c565b600b805461ff00191661010017905543600855565b6007546001600160a01b0316336001600160a01b03161461115b5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79207472656173757279416464726573732063616e206d616e75616c6c60448201526507920737761760d41b606482015260840161097c565b6005805460ff60a01b1916600160a01b179055611176611b23565b6005805460ff60a01b19169055565b6060600480546108b99061243b565b6005546001600160a01b031633146111be5760405162461bcd60e51b815260040161097c90612476565b7f000000000000000000000000ae12bb31b1d1e9239fcab234f1905e6859c9479f6001600160a01b0316826001600160a01b031614156112665760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161097c565b6112708282611d20565b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054600019811461130c57828110156112ff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161097c565b61130c3385858403611599565b5060019392505050565b60006109493384846116bd565b6005546001600160a01b0316331461134d5760405162461bcd60e51b815260040161097c90612476565b6012805460ff60a01b1916600160a01b179055565b6005546001600160a01b0316331461138c5760405162461bcd60e51b815260040161097c90612476565b6001600160a01b0382166000818152600e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146114155760405162461bcd60e51b815260040161097c90612476565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146114615760405162461bcd60e51b815260040161097c90612476565b6001600160a01b0381166114c65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161097c565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b0316331461154c5760405162461bcd60e51b815260040161097c9061251a565b604051600090339047908381818185875af1925050503d806000811461158e576040519150601f19603f3d011682016040523d82523d6000602084013e611593565b606091505b50505050565b6001600160a01b0383166115fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161097c565b6001600160a01b03821661165c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161097c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166116e35760405162461bcd60e51b815260040161097c90612591565b6001600160a01b0382166117095760405162461bcd60e51b815260040161097c906125d6565b600081116117595760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161097c565b600b5460ff161561176f5761176f838383611d8a565b600654306000908152602081905260409020541080159081906117995750600b54610100900460ff165b80156117a7575060095460ff165b80156117bd5750600554600160a01b900460ff16155b80156117e257506001600160a01b03841660009081526010602052604090205460ff16155b801561180757506001600160a01b0384166000908152600e602052604090205460ff16155b801561182c57506001600160a01b0383166000908152600e602052604090205460ff16155b1561185a576005805460ff60a01b1916600160a01b17905561184c611b23565b6005805460ff60a01b191690555b6001600160a01b0384166000908152600e602052604090205460019060ff168061189c57506001600160a01b0384166000908152600e602052604090205460ff165b156118a5575060005b8080156118b457506000600854115b80156118c1575060085443115b15611a47576001600160a01b03841660009081526010602052604081205460ff1680156118f057506000600d54115b1561191757612710600d548561190691906124c1565b61191091906124e0565b9050611964565b6001600160a01b03861660009081526010602052604090205460ff16801561194157506000600c54115b1561196457612710600c548561195791906124c1565b61196191906124e0565b90505b8015611a3957611975863083611f7d565b601254604051630f123d8d60e01b81526001600160a01b0388811660048301523060248301526044820184905290911690630f123d8d90606401602060405180830381600087803b1580156119c957600080fd5b505af11580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190612574565b611a395760405162461bcd60e51b815260206004820152600960248201526870726f635f6665657360b81b604482015260640161097c565b611a438185612619565b9350505b611a52858585611f7d565b601254604051630f123d8d60e01b81526001600160a01b03878116600483015286811660248301526044820186905290911690630f123d8d90606401602060405180830381600087803b158015611aa857600080fd5b505af1158015611abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae09190612574565b611b1c5760405162461bcd60e51b815260206004820152600d60248201526c383937b1afba3930b739b332b960991b604482015260640161097c565b5050505050565b3060009081526020819052604090205480611b3b5750565b6040805160028082526060820183526000926020830190803683370190505090507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600081518110611b9057611b90612646565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611bc457611bc4612646565b6001600160a01b039092166020928302919091019091015260115415611cb45760115460405163d06ca61f60e01b81526000916001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169163d06ca61f91611c369186906004016126a0565b60006040518083038186803b158015611c4e57600080fd5b505afa158015611c62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c8a91908101906126b9565b600181518110611c9c57611c9c612646565b6020026020010151905080831115611cb2578092505b505b81611cbd575050565b611cc6826120d2565b6007546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611d13576040519150601f19603f3d011682016040523d82523d6000602084013e611d18565b606091505b505050505050565b6001600160a01b0382166000908152601060205260409020805460ff1916821515179055611d4e8282612229565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03848116911614801590611db657506005546001600160a01b03838116911614155b8015611dca57506001600160a01b03821615155b8015611de157506001600160a01b03821661dead14155b15611f7857600b54610100900460ff16611ecf576001600160a01b0383166000908152600f602052604090205460ff1680611e3457506001600160a01b0382166000908152600f602052604090205460ff165b611e795760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161097c565b6005546001600160a01b03848116911614611ecf5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161097c565b6001600160a01b03831660009081526010602052604090205460ff168015611f1057506001600160a01b0382166000908152600f602052604090205460ff16155b15611f7857600a54811115611f785760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b606482015260840161097c565b505050565b6001600160a01b038316611fa35760405162461bcd60e51b815260040161097c90612591565b6001600160a01b038216611fc95760405162461bcd60e51b815260040161097c906125d6565b6001600160a01b038316600090815260208190526040902054818110156120415760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161097c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612078908490612502565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120c491815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061210757612107612646565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061215b5761215b612646565b60200260200101906001600160a01b031690816001600160a01b0316815250506121a6307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611599565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906121fb908590600090869030904290600401612777565b600060405180830381600087803b15801561221557600080fd5b505af1158015611d18573d6000803e3d6000fd5b6001600160a01b0382166000818152600f6020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b600060208083528351808285015260005b818110156122b95785810183015185820160400152820161229d565b818111156122cb576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146122f857600080fd5b919050565b6000806040838503121561231057600080fd5b612319836122e1565b946020939093013593505050565b6000806040838503121561233a57600080fd5b50508035926020909101359150565b60006020828403121561235b57600080fd5b612364826122e1565b9392505050565b60008060006060848603121561238057600080fd5b612389846122e1565b9250612397602085016122e1565b9150604084013590509250925092565b6000602082840312156123b957600080fd5b5035919050565b80151581146123ce57600080fd5b50565b600080604083850312156123e457600080fd5b6123ed836122e1565b915060208301356123fd816123c0565b809150509250929050565b6000806040838503121561241b57600080fd5b612424836122e1565b9150612432602084016122e1565b90509250929050565b600181811c9082168061244f57607f821691505b6020821081141561247057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156124db576124db6124ab565b500290565b6000826124fd57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115612515576125156124ab565b500190565b60208082526021908201527f6f6e6c79207472656173757279416464726573732063616e20776974686472616040820152607760f81b606082015260800190565b60006020828403121561256d57600080fd5b5051919050565b60006020828403121561258657600080fd5b8151612364816123c0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60008282101561262b5761262b6124ab565b500390565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156126955781516001600160a01b031687529582019590820190600101612670565b509495945050505050565b828152604060208201526000611057604083018461265c565b600060208083850312156126cc57600080fd5b825167ffffffffffffffff808211156126e457600080fd5b818501915085601f8301126126f857600080fd5b81518181111561270a5761270a612630565b8060051b604051601f19603f8301168101818110858211171561272f5761272f612630565b60405291825284820192508381018501918883111561274d57600080fd5b938501935b8285101561276b57845184529385019392850192612752565b98975050505050505050565b85815284602082015260a06040820152600061279660a083018661265c565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220458d40400660fb1fa2d2649e67319e15bcef07f7cf3ead8949bd34a71a23ba5164736f6c63430008080033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.