ETH Price: $2,075.44 (-4.10%)
Gas: 0.09 Gwei

Contract

0x5aCEC617b7F65CC482E4D120B052D6be388952D6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve215829652025-01-08 23:12:11420 days ago1736377931IN
0x5aCEC617...e388952D6
0 ETH0.000261185.6136526
Approve215631462025-01-06 4:49:23423 days ago1736138963IN
0x5aCEC617...e388952D6
0 ETH0.00014045.31859227
Approve214630272024-12-23 5:13:23437 days ago1734930803IN
0x5aCEC617...e388952D6
0 ETH0.000108924.12608644
Approve214412182024-12-20 4:02:47440 days ago1734667367IN
0x5aCEC617...e388952D6
0 ETH0.000223228.45593169
Approve214269512024-12-18 4:12:11442 days ago1734495131IN
0x5aCEC617...e388952D6
0 ETH0.00025689.727918
Approve212874112024-11-28 16:32:23462 days ago1732811543IN
0x5aCEC617...e388952D6
0 ETH0.0005307411.46350365
Approve208817942024-10-03 1:46:47518 days ago1727920007IN
0x5aCEC617...e388952D6
0 ETH0.000277185.95604298
Approve205115582024-08-12 9:11:35570 days ago1723453895IN
0x5aCEC617...e388952D6
0 ETH0.000282966.1117523
Approve204074832024-07-28 20:36:59584 days ago1722199019IN
0x5aCEC617...e388952D6
0 ETH0.000121632.62371519
Approve202700032024-07-09 16:03:11604 days ago1720540991IN
0x5aCEC617...e388952D6
0 ETH0.0004772410.24154649
Approve194940302024-03-23 1:28:35712 days ago1711157315IN
0x5aCEC617...e388952D6
0 ETH0.0006135420.84109204
Approve194850692024-03-21 19:20:23713 days ago1711048823IN
0x5aCEC617...e388952D6
0 ETH0.001311628.36567471
Transfer192616392024-02-19 12:00:11745 days ago1708344011IN
0x5aCEC617...e388952D6
0 ETH0.0021451729.6008271
Approve191157102024-01-30 0:20:47765 days ago1706574047IN
0x5aCEC617...e388952D6
0 ETH0.001066722.89120237
Approve190247382024-01-17 6:12:35778 days ago1705471955IN
0x5aCEC617...e388952D6
0 ETH0.001474531.6424775
Approve190098342024-01-15 4:15:47780 days ago1705292147IN
0x5aCEC617...e388952D6
0 ETH0.0004838719.94929619
Approve190067722024-01-14 17:59:47781 days ago1705255187IN
0x5aCEC617...e388952D6
0 ETH0.0022048847.31612922
Approve189965332024-01-13 7:38:59782 days ago1705131539IN
0x5aCEC617...e388952D6
0 ETH0.0006168713.34111895
Approve189930752024-01-12 20:02:59782 days ago1705089779IN
0x5aCEC617...e388952D6
0 ETH0.0011822325.53480822
Approve189903032024-01-12 10:44:47783 days ago1705056287IN
0x5aCEC617...e388952D6
0 ETH0.0011179423.99069681
Approve189866552024-01-11 22:28:47783 days ago1705012127IN
0x5aCEC617...e388952D6
0 ETH0.0010796823.35015817
Approve189799112024-01-10 23:46:23784 days ago1704930383IN
0x5aCEC617...e388952D6
0 ETH0.0029434463.16535765
Approve189784672024-01-10 18:54:35784 days ago1704912875IN
0x5aCEC617...e388952D6
0 ETH0.0019286541.38834799
Approve189730312024-01-10 0:38:47785 days ago1704847127IN
0x5aCEC617...e388952D6
0 ETH0.0009470220.32275724
Approve189729352024-01-10 0:19:35785 days ago1704845975IN
0x5aCEC617...e388952D6
0 ETH0.0007990417.28079138
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer194850732024-03-21 19:21:11713 days ago1711048871
0x5aCEC617...e388952D6
0.08713424 ETH
Transfer194850732024-03-21 19:21:11713 days ago1711048871
0x5aCEC617...e388952D6
0.08713424 ETH
Transfer189903042024-01-12 10:44:59783 days ago1705056299
0x5aCEC617...e388952D6
0.09994653 ETH
Transfer189903042024-01-12 10:44:59783 days ago1705056299
0x5aCEC617...e388952D6
0.09994653 ETH
Transfer189853812024-01-11 18:11:35784 days ago1704996695
0x5aCEC617...e388952D6
0.15247675 ETH
Transfer189853812024-01-11 18:11:35784 days ago1704996695
0x5aCEC617...e388952D6
0.15247675 ETH
Transfer189789922024-01-10 20:39:47784 days ago1704919187
0x5aCEC617...e388952D6
0.24159921 ETH
Transfer189789922024-01-10 20:39:47784 days ago1704919187
0x5aCEC617...e388952D6
0.24159921 ETH
Transfer189730352024-01-10 0:39:35785 days ago1704847175
0x5aCEC617...e388952D6
0.05206346 ETH
Transfer189730352024-01-10 0:39:35785 days ago1704847175
0x5aCEC617...e388952D6
0.05206346 ETH
Transfer189702392024-01-09 15:15:59786 days ago1704813359
0x5aCEC617...e388952D6
0.35359683 ETH
Transfer189702392024-01-09 15:15:59786 days ago1704813359
0x5aCEC617...e388952D6
0.35359683 ETH
Transfer189701422024-01-09 14:56:35786 days ago1704812195
0x5aCEC617...e388952D6
0.01480867 ETH
Transfer189701422024-01-09 14:56:35786 days ago1704812195
0x5aCEC617...e388952D6
0.01480867 ETH
Transfer189695772024-01-09 13:02:59786 days ago1704805379
0x5aCEC617...e388952D6
0.0094443 ETH
Transfer189695772024-01-09 13:02:59786 days ago1704805379
0x5aCEC617...e388952D6
0.0094443 ETH
Transfer189656242024-01-08 23:42:35786 days ago1704757355
0x5aCEC617...e388952D6
0.24910073 ETH
Transfer189656242024-01-08 23:42:35786 days ago1704757355
0x5aCEC617...e388952D6
0.24910073 ETH
Transfer189652242024-01-08 22:21:11786 days ago1704752471
0x5aCEC617...e388952D6
0.13572489 ETH
Transfer189652242024-01-08 22:21:11786 days ago1704752471
0x5aCEC617...e388952D6
0.13572489 ETH
Transfer189649952024-01-08 21:34:59786 days ago1704749699
0x5aCEC617...e388952D6
0.08338613 ETH
Transfer189649952024-01-08 21:34:59786 days ago1704749699
0x5aCEC617...e388952D6
0.08338613 ETH
Transfer189644612024-01-08 19:47:35786 days ago1704743255
0x5aCEC617...e388952D6
0.25959193 ETH
Transfer189644612024-01-08 19:47:35786 days ago1704743255
0x5aCEC617...e388952D6
0.25959193 ETH
Transfer189634112024-01-08 16:14:59787 days ago1704730499
0x5aCEC617...e388952D6
0.47390374 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:
OneMesh

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-01-08
*/

// SPDX-License-Identifier: MIT

/**
 * @title OneMeshToken
 * @dev ERC-20 Token Contract for OneMesh Platform ($OMH)
 *
 * @notice Visit the official OneMesh website at https://www.onemeshcore.com.
 *         Explore the documentation at https://www.doc.onemeshcore.com for detailed contract information.
 *
 *     ............................................................................................                                                                                                                                             
 *     .                                                                                          .                         
 *     .      .oooooo.                         ooo        ooooo                    oooo           .
 *     .     d8P'  `Y8b                        `88.       .888'                    `888           .
 *     .    888      888 ooo. .oo.    .ooooo.   888b     d'888   .ooooo.   .ooooRo  888 .oo.      . 
 *     .    888      888 `888YOU88b  d88' `88b  8 Y88. .P  888  d88' `88b d88(  "8  888Ly"88b     . 
 *     .    888      888  888   888  888are888  8  `888'   888  888ooo888 `"Y88b.   888   888     . 
 *     .    `88b    d88'  888   888  888    .o  8    E     888  888    .o o.  )88b  888   888     .
 *     .     `Y8bood8P'  o888o o888o `Y8bod8P' o8o        o888o `Y8bAd8P' 8""888P' o888o o888o    .
 *     .                           - Next Generation of CEXs Ai-Driven -                          .
 *     ............................................................................................ 
 *
 * @dev This smart contract is authored by OneMesh team.
 * For any inquiries, please contact onemesh.dev@onemeshcore.com
 */
pragma solidity ^0.8.23;

// Interface for ERC-20 token standard
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);
}

// Ownable contract for ownership management
contract Ownable {
    error NotOwner();

    address private _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        if (_owner != msg.sender) revert NotOwner();
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}


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


interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

// Main OneMesh token contract
contract OneMesh is IERC20, Ownable {
    // Error declarations for verbosing purpose
    error TradingAlreadyOpen();
    error ZeroAddress();
    error ZeroAmount();
    error ZeroValue();
    error ZeroToken();
    error TaxTooHigh();
    error NotSelf();
    error Unauthorized();


    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    

    mapping(address => bool) private _isExcludedFromLimits;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    

    address payable private _taxWallet;
    uint256 private _firstBlock;

    // Tax rates and thresholds
    uint256 private _initialBuyTax = 35;
    uint256 private _initialSellTax = 45;

    uint256 private _finalBuyTax = 5;
    uint256 private _finalSellTax = 5;

    uint256 private _reduceBuyTaxAt = 24;
    uint256 private _reduceSellTaxAt = 30;

    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;

    // Token details
    uint8 private constant _DECIMALS = 9;
    uint256 private constant _TOTAL = 1000000000 * 10 ** _DECIMALS;
    string private constant _NAME = unicode"OneMesh";
    string private constant _SYMBOL = unicode"OMH";
    uint256 public maxTx = 50000000 * 10 ** _DECIMALS;
    uint256 public maxWallet = 50000000 * 10 ** _DECIMALS;
    uint256 public swapThreshold = 10000000 * 10 ** _DECIMALS;
    uint256 public maxTaxSwap = 10000000 * 10 ** _DECIMALS;

    // Uniswap V2 Router contract
    IUniswapV2Router02 private constant _UNISWAP_V2_ROUTER =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address private _uniswapV2Pair;
    bool public lpAdded;
    bool private _inSwap = false;
    bool private _swapEnabled = false;

    // Event for MaxTxAmountUpdated
    event MaxTxAmountUpdated(uint256 maxTx);

    // Constructor
    constructor() {
        _taxWallet = payable(msg.sender);
        _balances[msg.sender] = _TOTAL;


        _isExcludedFromLimits[tx.origin] = true;
        _isExcludedFromLimits[address(0)] = true;
        _isExcludedFromLimits[address(0xdead)] = true;
        _isExcludedFromLimits[address(this)] = true;
        _isExcludedFromLimits[address(_UNISWAP_V2_ROUTER)] = true;

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[tx.origin] = true;

        emit Transfer(address(0), msg.sender, _TOTAL);
    }

    receive() external payable {}

    function name() public pure returns (string memory) {
        return _NAME;
    }

    function symbol() public pure returns (string memory) {
        return _SYMBOL;
    }

    function decimals() public pure returns (uint8) {
        return _DECIMALS;
    }

    function totalSupply() public pure override returns (uint256) {
        return _TOTAL;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        if (owner == address(0)) revert ZeroAddress();
        if (spender == address(0)) revert ZeroAddress();
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        if (from == address(0)) revert ZeroAddress();
        if (to == address(0)) revert ZeroAddress();
        if (amount == 0) revert ZeroAmount();

        require(!bots[from] && !bots[to], "shoo");

        // Check for maximum wallet size
        if (maxWallet != _TOTAL && !_isExcludedFromLimits[to]) {
            require(balanceOf(to) + amount <= maxWallet, "Exceeds maxWalletSize");
        }

        // Check for maximum transaction size
        if (maxTx != _TOTAL && !_isExcludedFromLimits[from]) {
            require(amount <= maxTx, "Exceeds maxTx");
        }

        // Check for swapping conditions
        uint256 contractTokenBalance = balanceOf(address(this));
        if (
            !_inSwap && contractTokenBalance >= swapThreshold && _swapEnabled && _buyCount > _preventSwapBefore
                && to == _uniswapV2Pair && !_isExcludedFromFee[from]
        ) {
            _swapTokensForEth(_min(amount, _min(contractTokenBalance, maxTaxSwap)));
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                _sendETHToFee(contractETHBalance);
            }
        }

        // Calculate and apply tax
        uint256 taxAmount = 0;
        if (!_inSwap && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            if (to == _uniswapV2Pair) {
                taxAmount = (amount * ((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax)) / 100;
            }
            else if (from == _uniswapV2Pair) {
                if (_firstBlock + 25 > block.number) {
                    require(!_isContract(to), "contract");
                }
                taxAmount = (amount * ((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)) / 100;
                ++_buyCount;
            }
        }

        // Apply tax and transfer tokens
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)] + taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + amount - taxAmount;
        emit Transfer(from, to, amount - taxAmount);
    }

    function removeLimits() external onlyOwner {
        maxTx = _TOTAL;
        maxWallet = _TOTAL;
        emit MaxTxAmountUpdated(_TOTAL);
    }

    function setBots(address[] memory bots_, bool isBot_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = isBot_;
        }
    }

    // Function to open trading and add liquidity to Uniswap
    function openTrading(uint256 amount) external payable onlyOwner {
        if (lpAdded) revert TradingAlreadyOpen();
        if (msg.value == 0) revert ZeroValue();
        if (amount == 0) revert ZeroToken();
        _transfer(msg.sender, address(this), amount);
        _approve(address(this), address(_UNISWAP_V2_ROUTER), _TOTAL);

        _uniswapV2Pair =
            IUniswapV2Factory(_UNISWAP_V2_ROUTER.factory()).createPair(address(this), _UNISWAP_V2_ROUTER.WETH());
        _isExcludedFromLimits[_uniswapV2Pair] = true;

        _UNISWAP_V2_ROUTER.addLiquidityETH{value: address(this).balance}(
            address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp
        );
        IERC20(_uniswapV2Pair).approve(address(_UNISWAP_V2_ROUTER), type(uint256).max);
        _swapEnabled = true;
        lpAdded = true;
        _firstBlock = block.number;
    }

    function lowerTaxes(uint256 buyTax_, uint256 sellTax_) external onlyOwner {
        if (buyTax_ > _finalBuyTax) { revert TaxTooHigh(); }
        if (sellTax_ > _finalSellTax) { revert TaxTooHigh(); }

        _finalBuyTax = buyTax_;
        _finalSellTax = sellTax_;
    }

    function clearStuck() external {
        (bool success,) = _taxWallet.call{value: address(this).balance}("");
        require(success);
    }

    function clearStuckSelf() external {
        if (msg.sender != _taxWallet) { revert Unauthorized(); }
        _transfer(address(this), _taxWallet, balanceOf(address(this)));
    }

    function clearStuckToken(address token) external {
        if (token == address(this)) {
            revert NotSelf();
        }

        IERC20(token).transfer(_taxWallet, IERC20(token).balanceOf(address(this)));
    }


        /**
     * @dev Checks if an address is marked as a bot.
     * @param a The address to check.
     * @return True if the address is marked as a bot, false otherwise.
     */
    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    /**
     * @dev Internal function to get the minimum of two values.
     * @param a The first value.
     * @param b The second value.
     * @return The minimum of the two values.
     */
    function _min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    /**
     * @dev Internal function to check if an address is a contract.
     * @param account The address to check.
     * @return True if the address is a contract, false otherwise.
     */
    function _isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    /**
     * @dev Internal function to swap tokens for ETH using Uniswap.
     * @param tokenAmount The amount of tokens to swap.
     */
    function _swapTokensForEth(uint256 tokenAmount) private {
        _inSwap = true;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _UNISWAP_V2_ROUTER.WETH();
        _approve(address(this), address(_UNISWAP_V2_ROUTER), tokenAmount);
        _UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount, 0, path, address(this), block.timestamp
        );
        _inSwap = false;
    }

    /**
     * @dev Internal function to send ETH to the tax wallet.
     * @param amount The amount of ETH to send.
     */
    function _sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotSelf","type":"error"},{"inputs":[],"name":"TaxTooHigh","type":"error"},{"inputs":[],"name":"TradingAlreadyOpen","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroToken","type":"error"},{"inputs":[],"name":"ZeroValue","type":"error"},{"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":false,"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckSelf","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTax_","type":"uint256"},{"internalType":"uint256","name":"sellTax_","type":"uint256"}],"name":"lowerTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"payable","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":[{"internalType":"address[]","name":"bots_","type":"address[]"},{"internalType":"bool","name":"isBot_","type":"bool"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526023600855602d6009556005600a556005600b556018600c55601e600d556014600e555f600f556009600a6200003b919062000374565b6200004b906302faf0806200038b565b6010556200005c6009600a62000374565b6200006c906302faf0806200038b565b6011556200007d6009600a62000374565b6200008c90629896806200038b565b6012556200009d6009600a62000374565b620000ac90629896806200038b565b6013556014805461ffff60a81b19169055348015620000c9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b031916331790556200012a6009600a62000374565b6200013a90633b9aca006200038b565b335f818152600160208181526040808420959095553280845260038252858420805460ff1990811685179091557f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff80548216851790557f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805482168517905530855286852080548216851790557ffb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba88054821685179055600490925285842080548316841790558352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200023e6009600a62000374565b6200024e90633b9aca006200038b565b60405190815260200160405180910390a3620003a5565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002b957815f19048211156200029d576200029d62000265565b80851615620002ab57918102915b93841c93908002906200027e565b509250929050565b5f82620002d1575060016200036e565b81620002df57505f6200036e565b8160018114620002f85760028114620003035762000323565b60019150506200036e565b60ff84111562000317576200031762000265565b50506001821b6200036e565b5060208310610133831016604e8410600b841016171562000348575081810a6200036e565b62000354838362000279565b805f19048211156200036a576200036a62000265565b0290505b92915050565b5f6200038460ff841683620002c1565b9392505050565b80820281158282048414176200036e576200036e62000265565b6119fc80620003b35f395ff3fe60806040526004361061014a575f3560e01c80637437681e116100b35780639c0db5f31161006d5780639c0db5f3146103a8578063a9059cbb146103c7578063af8deddb146103e6578063d163364914610406578063dd62ed3e14610419578063f8b45b051461045d575f80fd5b80637437681e146102fb578063751039fc146103105780638da5cb5b146103245780638de5c0641461034a57806395d89b411461035e5780639be953b314610389575f80fd5b80633bbac579116101045780633bbac5791461023257806357d0a9821461026957806362997f8c1461028a5780636481f2011461029f57806370a08231146102b3578063715018a6146102e7575f80fd5b80630445b6671461015557806306fdde031461017d578063095ea7b3146101b557806318160ddd146101e457806323b872dd146101f8578063313ce56714610217575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60125481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600781526609edcca9acae6d60cb1b60208201525b60405161017491906114f4565b3480156101c0575f80fd5b506101d46101cf366004611564565b610472565b6040519015158152602001610174565b3480156101ef575f80fd5b5061016a610488565b348015610203575f80fd5b506101d461021236600461158e565b6104a8565b348015610222575f80fd5b5060405160098152602001610174565b34801561023d575f80fd5b506101d461024c3660046115cc565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610274575f80fd5b506102886102833660046115e7565b6104f6565b005b348015610295575f80fd5b5061016a60135481565b3480156102aa575f80fd5b50610288610571565b3480156102be575f80fd5b5061016a6102cd3660046115cc565b6001600160a01b03165f9081526001602052604090205490565b3480156102f2575f80fd5b506102886105c2565b348015610306575f80fd5b5061016a60105481565b34801561031b575f80fd5b50610288610634565b34801561032f575f80fd5b505f546040516001600160a01b039091168152602001610174565b348015610355575f80fd5b506102886106e6565b348015610369575f80fd5b5060408051808201909152600381526209e9a960eb1b60208201526101a8565b348015610394575f80fd5b506102886103a33660046115cc565b610745565b3480156103b3575f80fd5b506102886103c2366004611633565b610853565b3480156103d2575f80fd5b506101d46103e1366004611564565b6108dc565b3480156103f1575f80fd5b506014546101d490600160a01b900460ff1681565b610288610414366004611705565b6108e8565b348015610424575f80fd5b5061016a61043336600461171c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610468575f80fd5b5061016a60115481565b5f61047e338484610cd8565b5060015b92915050565b5f6104956009600a611847565b6104a390633b9aca00611855565b905090565b6001600160a01b0383165f9081526002602090815260408083203380855292528220546104e19186916104dc90869061186c565b610cd8565b6104ec848484610d86565b5060019392505050565b5f546001600160a01b03163314610520576040516330cd747160e01b815260040160405180910390fd5b600a5482111561054357604051632bc7b84d60e21b815260040160405180910390fd5b600b5481111561056657604051632bc7b84d60e21b815260040160405180910390fd5b600a91909155600b55565b6006546001600160a01b0316331461059b576040516282b42960e81b815260040160405180910390fd5b600654305f818152600160205260409020546105c0926001600160a01b031690610d86565b565b5f546001600160a01b031633146105ec576040516330cd747160e01b815260040160405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461065e576040516330cd747160e01b815260040160405180910390fd5b61066a6009600a611847565b61067890633b9aca00611855565b6010556106876009600a611847565b61069590633b9aca00611855565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c56009600a611847565b6106d390633b9aca00611855565b60405190815260200160405180910390a1565b6006546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610730576040519150601f19603f3d011682016040523d82523d5f602084013e610735565b606091505b5050905080610742575f80fd5b50565b306001600160a01b0382160361076e576040516314e1dbf760e11b815260040160405180910390fd5b6006546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156107bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e3919061187f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561082b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084f9190611896565b5050565b5f546001600160a01b0316331461087d576040516330cd747160e01b815260040160405180910390fd5b5f5b82518110156108d7578160055f85848151811061089e5761089e6118b1565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161087f565b505050565b5f61047e338484610d86565b5f546001600160a01b03163314610912576040516330cd747160e01b815260040160405180910390fd5b601454600160a01b900460ff161561093d5760405163250856ab60e21b815260040160405180910390fd5b345f0361095d57604051637c946ed760e01b815260040160405180910390fd5b805f0361097d5760405163ad1991f560e01b815260040160405180910390fd5b610988333083610d86565b6109bb30737a250d5630b4cf539739df2c5dacb4c659f2488d6109ad6009600a611847565b6104dc90633b9aca00611855565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2f91906118c5565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab291906118c5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610afc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2091906118c5565b601480546001600160a01b03929092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730610b92816001600160a01b03165f9081526001602052604090205490565b5f80610ba55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c0b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c3091906118e0565b505060145460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610c95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb99190611896565b50506014805462ff00ff60a01b19166201000160a01b17905543600755565b6001600160a01b038316610cff5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610d265760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dad5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610dd45760405163d92e233d60e01b815260040160405180910390fd5b805f03610df457604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f9081526005602052604090205460ff16158015610e3457506001600160a01b0382165f9081526005602052604090205460ff16155b610e725760405162461bcd60e51b8152600401610e699060208082526004908201526373686f6f60e01b604082015260600190565b60405180910390fd5b610e7e6009600a611847565b610e8c90633b9aca00611855565b60115414158015610eb557506001600160a01b0382165f9081526003602052604090205460ff16155b15610f2c5760115481610edc846001600160a01b03165f9081526001602052604090205490565b610ee6919061190b565b1115610f2c5760405162461bcd60e51b815260206004820152601560248201527445786365656473206d617857616c6c657453697a6560581b6044820152606401610e69565b610f386009600a611847565b610f4690633b9aca00611855565b60105414158015610f6f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fb657601054811115610fb65760405162461bcd60e51b815260206004820152600d60248201526c08af0c6cacac8e640dac2f0a8f609b1b6044820152606401610e69565b305f90815260016020526040902054601454600160a81b900460ff16158015610fe157506012548110155b8015610ff65750601454600160b01b900460ff165b80156110055750600e54600f54115b801561101e57506014546001600160a01b038481169116145b801561104257506001600160a01b0384165f9081526004602052604090205460ff16155b156110765761106461105f8361105a846013546112fd565b6112fd565b611314565b47801561107457611074816114bd565b505b6014545f90600160a81b900460ff161580156110aa57506001600160a01b0385165f9081526004602052604090205460ff16155b80156110ce57506001600160a01b0384165f9081526004602052604090205460ff16155b156111c5576014546001600160a01b039081169085160361111d576064600d54600f54116110fe57600954611102565b600b545b61110c9085611855565b611116919061191e565b90506111c5565b6014546001600160a01b03908116908616036111c557436007546019611143919061190b565b111561118357833b156111835760405162461bcd60e51b815260206004820152600860248201526718dbdb9d1c9858dd60c21b6044820152606401610e69565b6064600c54600f54116111985760085461119c565b600a545b6111a69085611855565b6111b0919061191e565b9050600f5f81546111c09061193d565b909155505b801561123e57305f908152600160205260409020546111e590829061190b565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112359085815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461126190849061186c565b6001600160a01b038087165f908152600160205260408082209390935590861681522054819061129290859061190b565b61129c919061186c565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112e5848761186c565b60405190815260200160405180910390a35050505050565b5f81831161130b578261130d565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135a5761135a6118b1565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ee91906118c5565b81600181518110611401576114016118b1565b60200260200101906001600160a01b031690816001600160a01b03168152505061144030737a250d5630b4cf539739df2c5dacb4c659f2488d84610cd8565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac9479061147f9085905f90869030904290600401611955565b5f604051808303815f87803b158015611496575f80fd5b505af11580156114a8573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561084f573d5f803e3d5ffd5b5f602080835283518060208501525f5b8181101561152057858101830151858201604001528201611504565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610742575f80fd5b803561155f81611540565b919050565b5f8060408385031215611575575f80fd5b823561158081611540565b946020939093013593505050565b5f805f606084860312156115a0575f80fd5b83356115ab81611540565b925060208401356115bb81611540565b929592945050506040919091013590565b5f602082840312156115dc575f80fd5b813561130d81611540565b5f80604083850312156115f8575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52604160045260245ffd5b8015158114610742575f80fd5b803561155f8161161b565b5f8060408385031215611644575f80fd5b823567ffffffffffffffff8082111561165b575f80fd5b818501915085601f83011261166e575f80fd5b813560208282111561168257611682611607565b8160051b604051601f19603f830116810181811086821117156116a7576116a7611607565b6040529283528183019350848101820192898411156116c4575f80fd5b948201945b838610156116e9576116da86611554565b855294820194938201936116c9565b96506116f89050878201611628565b9450505050509250929050565b5f60208284031215611715575f80fd5b5035919050565b5f806040838503121561172d575f80fd5b823561173881611540565b9150602083013561174881611540565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a157815f190482111561178757611787611753565b8085161561179457918102915b93841c939080029061176c565b509250929050565b5f826117b757506001610482565b816117c357505f610482565b81600181146117d957600281146117e3576117ff565b6001915050610482565b60ff8411156117f4576117f4611753565b50506001821b610482565b5060208310610133831016604e8410600b8410161715611822575081810a610482565b61182c8383611767565b805f190482111561183f5761183f611753565b029392505050565b5f61130d60ff8416836117a9565b808202811582820484141761048257610482611753565b8181038181111561048257610482611753565b5f6020828403121561188f575f80fd5b5051919050565b5f602082840312156118a6575f80fd5b815161130d8161161b565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156118d5575f80fd5b815161130d81611540565b5f805f606084860312156118f2575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561048257610482611753565b5f8261193857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161194e5761194e611753565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209b9c1d891dc60e2f9eaa8ddf1c2c5f5642faead2dd45cd3e86c702cc53070abd64736f6c63430008170033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80637437681e116100b35780639c0db5f31161006d5780639c0db5f3146103a8578063a9059cbb146103c7578063af8deddb146103e6578063d163364914610406578063dd62ed3e14610419578063f8b45b051461045d575f80fd5b80637437681e146102fb578063751039fc146103105780638da5cb5b146103245780638de5c0641461034a57806395d89b411461035e5780639be953b314610389575f80fd5b80633bbac579116101045780633bbac5791461023257806357d0a9821461026957806362997f8c1461028a5780636481f2011461029f57806370a08231146102b3578063715018a6146102e7575f80fd5b80630445b6671461015557806306fdde031461017d578063095ea7b3146101b557806318160ddd146101e457806323b872dd146101f8578063313ce56714610217575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60125481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600781526609edcca9acae6d60cb1b60208201525b60405161017491906114f4565b3480156101c0575f80fd5b506101d46101cf366004611564565b610472565b6040519015158152602001610174565b3480156101ef575f80fd5b5061016a610488565b348015610203575f80fd5b506101d461021236600461158e565b6104a8565b348015610222575f80fd5b5060405160098152602001610174565b34801561023d575f80fd5b506101d461024c3660046115cc565b6001600160a01b03165f9081526005602052604090205460ff1690565b348015610274575f80fd5b506102886102833660046115e7565b6104f6565b005b348015610295575f80fd5b5061016a60135481565b3480156102aa575f80fd5b50610288610571565b3480156102be575f80fd5b5061016a6102cd3660046115cc565b6001600160a01b03165f9081526001602052604090205490565b3480156102f2575f80fd5b506102886105c2565b348015610306575f80fd5b5061016a60105481565b34801561031b575f80fd5b50610288610634565b34801561032f575f80fd5b505f546040516001600160a01b039091168152602001610174565b348015610355575f80fd5b506102886106e6565b348015610369575f80fd5b5060408051808201909152600381526209e9a960eb1b60208201526101a8565b348015610394575f80fd5b506102886103a33660046115cc565b610745565b3480156103b3575f80fd5b506102886103c2366004611633565b610853565b3480156103d2575f80fd5b506101d46103e1366004611564565b6108dc565b3480156103f1575f80fd5b506014546101d490600160a01b900460ff1681565b610288610414366004611705565b6108e8565b348015610424575f80fd5b5061016a61043336600461171c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610468575f80fd5b5061016a60115481565b5f61047e338484610cd8565b5060015b92915050565b5f6104956009600a611847565b6104a390633b9aca00611855565b905090565b6001600160a01b0383165f9081526002602090815260408083203380855292528220546104e19186916104dc90869061186c565b610cd8565b6104ec848484610d86565b5060019392505050565b5f546001600160a01b03163314610520576040516330cd747160e01b815260040160405180910390fd5b600a5482111561054357604051632bc7b84d60e21b815260040160405180910390fd5b600b5481111561056657604051632bc7b84d60e21b815260040160405180910390fd5b600a91909155600b55565b6006546001600160a01b0316331461059b576040516282b42960e81b815260040160405180910390fd5b600654305f818152600160205260409020546105c0926001600160a01b031690610d86565b565b5f546001600160a01b031633146105ec576040516330cd747160e01b815260040160405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461065e576040516330cd747160e01b815260040160405180910390fd5b61066a6009600a611847565b61067890633b9aca00611855565b6010556106876009600a611847565b61069590633b9aca00611855565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106c56009600a611847565b6106d390633b9aca00611855565b60405190815260200160405180910390a1565b6006546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610730576040519150601f19603f3d011682016040523d82523d5f602084013e610735565b606091505b5050905080610742575f80fd5b50565b306001600160a01b0382160361076e576040516314e1dbf760e11b815260040160405180910390fd5b6006546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa1580156107bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e3919061187f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561082b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084f9190611896565b5050565b5f546001600160a01b0316331461087d576040516330cd747160e01b815260040160405180910390fd5b5f5b82518110156108d7578160055f85848151811061089e5761089e6118b1565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161087f565b505050565b5f61047e338484610d86565b5f546001600160a01b03163314610912576040516330cd747160e01b815260040160405180910390fd5b601454600160a01b900460ff161561093d5760405163250856ab60e21b815260040160405180910390fd5b345f0361095d57604051637c946ed760e01b815260040160405180910390fd5b805f0361097d5760405163ad1991f560e01b815260040160405180910390fd5b610988333083610d86565b6109bb30737a250d5630b4cf539739df2c5dacb4c659f2488d6109ad6009600a611847565b6104dc90633b9aca00611855565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2f91906118c5565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab291906118c5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610afc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2091906118c5565b601480546001600160a01b03929092166001600160a01b0319909216821790555f908152600360205260409020805460ff19166001179055737a250d5630b4cf539739df2c5dacb4c659f2488d63f305d7194730610b92816001600160a01b03165f9081526001602052604090205490565b5f80610ba55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c0b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c3091906118e0565b505060145460405163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201525f1960248201526001600160a01b03909116915063095ea7b3906044016020604051808303815f875af1158015610c95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb99190611896565b50506014805462ff00ff60a01b19166201000160a01b17905543600755565b6001600160a01b038316610cff5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610d265760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dad5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610dd45760405163d92e233d60e01b815260040160405180910390fd5b805f03610df457604051631f2a200560e01b815260040160405180910390fd5b6001600160a01b0383165f9081526005602052604090205460ff16158015610e3457506001600160a01b0382165f9081526005602052604090205460ff16155b610e725760405162461bcd60e51b8152600401610e699060208082526004908201526373686f6f60e01b604082015260600190565b60405180910390fd5b610e7e6009600a611847565b610e8c90633b9aca00611855565b60115414158015610eb557506001600160a01b0382165f9081526003602052604090205460ff16155b15610f2c5760115481610edc846001600160a01b03165f9081526001602052604090205490565b610ee6919061190b565b1115610f2c5760405162461bcd60e51b815260206004820152601560248201527445786365656473206d617857616c6c657453697a6560581b6044820152606401610e69565b610f386009600a611847565b610f4690633b9aca00611855565b60105414158015610f6f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610fb657601054811115610fb65760405162461bcd60e51b815260206004820152600d60248201526c08af0c6cacac8e640dac2f0a8f609b1b6044820152606401610e69565b305f90815260016020526040902054601454600160a81b900460ff16158015610fe157506012548110155b8015610ff65750601454600160b01b900460ff165b80156110055750600e54600f54115b801561101e57506014546001600160a01b038481169116145b801561104257506001600160a01b0384165f9081526004602052604090205460ff16155b156110765761106461105f8361105a846013546112fd565b6112fd565b611314565b47801561107457611074816114bd565b505b6014545f90600160a81b900460ff161580156110aa57506001600160a01b0385165f9081526004602052604090205460ff16155b80156110ce57506001600160a01b0384165f9081526004602052604090205460ff16155b156111c5576014546001600160a01b039081169085160361111d576064600d54600f54116110fe57600954611102565b600b545b61110c9085611855565b611116919061191e565b90506111c5565b6014546001600160a01b03908116908616036111c557436007546019611143919061190b565b111561118357833b156111835760405162461bcd60e51b815260206004820152600860248201526718dbdb9d1c9858dd60c21b6044820152606401610e69565b6064600c54600f54116111985760085461119c565b600a545b6111a69085611855565b6111b0919061191e565b9050600f5f81546111c09061193d565b909155505b801561123e57305f908152600160205260409020546111e590829061190b565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112359085815260200190565b60405180910390a35b6001600160a01b0385165f9081526001602052604090205461126190849061186c565b6001600160a01b038087165f908152600160205260408082209390935590861681522054819061129290859061190b565b61129c919061186c565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112e5848761186c565b60405190815260200160405180910390a35050505050565b5f81831161130b578261130d565b815b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061135a5761135a6118b1565b60200260200101906001600160a01b031690816001600160a01b031681525050737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ee91906118c5565b81600181518110611401576114016118b1565b60200260200101906001600160a01b031690816001600160a01b03168152505061144030737a250d5630b4cf539739df2c5dacb4c659f2488d84610cd8565b60405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac9479061147f9085905f90869030904290600401611955565b5f604051808303815f87803b158015611496575f80fd5b505af11580156114a8573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561084f573d5f803e3d5ffd5b5f602080835283518060208501525f5b8181101561152057858101830151858201604001528201611504565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610742575f80fd5b803561155f81611540565b919050565b5f8060408385031215611575575f80fd5b823561158081611540565b946020939093013593505050565b5f805f606084860312156115a0575f80fd5b83356115ab81611540565b925060208401356115bb81611540565b929592945050506040919091013590565b5f602082840312156115dc575f80fd5b813561130d81611540565b5f80604083850312156115f8575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52604160045260245ffd5b8015158114610742575f80fd5b803561155f8161161b565b5f8060408385031215611644575f80fd5b823567ffffffffffffffff8082111561165b575f80fd5b818501915085601f83011261166e575f80fd5b813560208282111561168257611682611607565b8160051b604051601f19603f830116810181811086821117156116a7576116a7611607565b6040529283528183019350848101820192898411156116c4575f80fd5b948201945b838610156116e9576116da86611554565b855294820194938201936116c9565b96506116f89050878201611628565b9450505050509250929050565b5f60208284031215611715575f80fd5b5035919050565b5f806040838503121561172d575f80fd5b823561173881611540565b9150602083013561174881611540565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a157815f190482111561178757611787611753565b8085161561179457918102915b93841c939080029061176c565b509250929050565b5f826117b757506001610482565b816117c357505f610482565b81600181146117d957600281146117e3576117ff565b6001915050610482565b60ff8411156117f4576117f4611753565b50506001821b610482565b5060208310610133831016604e8410600b8410161715611822575081810a610482565b61182c8383611767565b805f190482111561183f5761183f611753565b029392505050565b5f61130d60ff8416836117a9565b808202811582820484141761048257610482611753565b8181038181111561048257610482611753565b5f6020828403121561188f575f80fd5b5051919050565b5f602082840312156118a6575f80fd5b815161130d8161161b565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156118d5575f80fd5b815161130d81611540565b5f805f606084860312156118f2575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561048257610482611753565b5f8261193857634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161194e5761194e611753565b5060010190565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212209b9c1d891dc60e2f9eaa8ddf1c2c5f5642faead2dd45cd3e86c702cc53070abd64736f6c63430008170033

Deployed Bytecode Sourcemap

4029:10482:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:57;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5445:57:0;;;;;;;;6579:83;;;;;;;;;;-1:-1:-1;6649:5:0;;;;;;;;;;;;-1:-1:-1;;;6649:5:0;;;;6579:83;;;;;;;:::i;7409:159::-;;;;;;;;;;-1:-1:-1;7409:159:0;;;;;:::i;:::-;;:::i;:::-;;;1509:14:1;;1502:22;1484:41;;1472:2;1457:18;7409:159:0;1344:187:1;6856:94:0;;;;;;;;;;;;;:::i;7576:262::-;;;;;;;;;;-1:-1:-1;7576:262:0;;;;;:::i;:::-;;:::i;6765:83::-;;;;;;;;;;-1:-1:-1;6765:83:0;;5144:1;2139:36:1;;2127:2;2112:18;6765:83:0;1997:184:1;12841:86:0;;;;;;;;;;-1:-1:-1;12841:86:0;;;;;:::i;:::-;-1:-1:-1;;;;;12912:7:0;12888:4;12912:7;;;:4;:7;;;;;;;;;12841:86;11790:278;;;;;;;;;;-1:-1:-1;11790:278:0;;;;;:::i;:::-;;:::i;:::-;;5509:54;;;;;;;;;;;;;;;;12228:182;;;;;;;;;;;;;:::i;6958:119::-;;;;;;;;;;-1:-1:-1;6958:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7051:18:0;7024:7;7051:18;;;:9;:18;;;;;;;6958:119;3046:148;;;;;;;;;;;;;:::i;5329:49::-;;;;;;;;;;;;;;;;10478:147;;;;;;;;;;;;;:::i;2856:79::-;;;;;;;;;;-1:-1:-1;2894:7:0;2921:6;2856:79;;-1:-1:-1;;;;;2921:6:0;;;2837:51:1;;2825:2;2810:18;2856:79:0;2691:203:1;12076:144:0;;;;;;;;;;;;;:::i;6670:87::-;;;;;;;;;;-1:-1:-1;6742:7:0;;;;;;;;;;;;-1:-1:-1;;;6742:7:0;;;;6670:87;;12418:225;;;;;;;;;;-1:-1:-1;12418:225:0;;;;;:::i;:::-;;:::i;10633:182::-;;;;;;;;;;-1:-1:-1;10633:182:0;;;;;:::i;:::-;;:::i;7085:165::-;;;;;;;;;;-1:-1:-1;7085:165:0;;;;;:::i;:::-;;:::i;5779:19::-;;;;;;;;;;-1:-1:-1;5779:19:0;;;;-1:-1:-1;;;5779:19:0;;;;;;10885:897;;;;;;:::i;:::-;;:::i;7258:143::-;;;;;;;;;;-1:-1:-1;7258:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7366:18:0;;;7339:7;7366:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7258:143;5385:53;;;;;;;;;;;;;;;;7409:159;7484:4;7501:37;7510:10;7522:7;7531:6;7501:8;:37::i;:::-;-1:-1:-1;7556:4:0;7409:159;;;;;:::o;6856:94::-;6909:7;5199:15;5144:1;5199:2;:15;:::i;:::-;5186:28;;:10;:28;:::i;:::-;6929:13;;6856:94;:::o;7576:262::-;-1:-1:-1;;;;;7720:19:0;;7674:4;7720:19;;;:11;:19;;;;;;;;7708:10;7720:31;;;;;;;;7691:70;;7700:6;;7720:40;;7754:6;;7720:40;:::i;:::-;7691:8;:70::i;:::-;7772:36;7782:6;7790:9;7801:6;7772:9;:36::i;:::-;-1:-1:-1;7826:4:0;7576:262;;;;;:::o;11790:278::-;2979:6;;-1:-1:-1;;;;;2979:6:0;2989:10;2979:20;2975:43;;3008:10;;-1:-1:-1;;;3008:10:0;;;;;;;;;;;2975:43;11889:12:::1;;11879:7;:22;11875:52;;;11912:12;;-1:-1:-1::0;;;11912:12:0::1;;;;;;;;;;;11875:52;11952:13;;11941:8;:24;11937:54;;;11976:12;;-1:-1:-1::0;;;11976:12:0::1;;;;;;;;;;;11937:54;12003:12;:22:::0;;;;12036:13:::1;:24:::0;11790:278::o;12228:182::-;12292:10;;-1:-1:-1;;;;;12292:10:0;12278;:24;12274:56;;12313:14;;-1:-1:-1;;;12313:14:0;;;;;;;;;;;12274:56;12365:10;;12358:4;7024:7;7051:18;;;:9;:18;;;;;;12340:62;;-1:-1:-1;;;;;12365:10:0;;12340:9;:62::i;:::-;12228:182::o;3046:148::-;2979:6;;-1:-1:-1;;;;;2979:6:0;2989:10;2979:20;2975:43;;3008:10;;-1:-1:-1;;;3008:10:0;;;;;;;;;;;2975:43;3153:1:::1;3137:6:::0;;3116:40:::1;::::0;-1:-1:-1;;;;;3137:6:0;;::::1;::::0;3116:40:::1;::::0;3153:1;;3116:40:::1;3184:1;3167:19:::0;;-1:-1:-1;;;;;;3167:19:0::1;::::0;;3046:148::o;10478:147::-;2979:6;;-1:-1:-1;;;;;2979:6:0;2989:10;2979:20;2975:43;;3008:10;;-1:-1:-1;;;3008:10:0;;;;;;;;;;;2975:43;5199:15:::1;5144:1;5199:2;:15;:::i;:::-;5186:28;::::0;:10:::1;:28;:::i;:::-;10532:5;:14:::0;5199:15:::1;5144:1;5199:2;:15;:::i;:::-;5186:28;::::0;:10:::1;:28;:::i;:::-;10557:9;:18:::0;10591:26:::1;5199:15;5144:1;5199:2;:15;:::i;:::-;5186:28;::::0;:10:::1;:28;:::i;:::-;10591:26;::::0;160:25:1;;;148:2;133:18;10591:26:0::1;;;;;;;10478:147::o:0;12076:144::-;12136:10;;:49;;12119:12;;-1:-1:-1;;;;;12136:10:0;;12159:21;;12119:12;12136:49;12119:12;12136:49;12159:21;12136:10;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12118:67;;;12204:7;12196:16;;;;;;12107:113;12076:144::o;12418:225::-;12499:4;-1:-1:-1;;;;;12482:22:0;;;12478:71;;12528:9;;-1:-1:-1;;;12528:9:0;;;;;;;;;;;12478:71;12584:10;;12596:38;;-1:-1:-1;;;12596:38:0;;12628:4;12596:38;;;2837:51:1;-1:-1:-1;;;;;12561:22:0;;;;;;12584:10;;;12561:22;;12596:23;;2810:18:1;;12596:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12561:74;;-1:-1:-1;;;;;;12561:74:0;;;;;;;-1:-1:-1;;;;;7475:32:1;;;12561:74:0;;;7457:51:1;7524:18;;;7517:34;7430:18;;12561:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12418:225;:::o;10633:182::-;2979:6;;-1:-1:-1;;;;;2979:6:0;2989:10;2979:20;2975:43;;3008:10;;-1:-1:-1;;;3008:10:0;;;;;;;;;;;2975:43;10720:9:::1;10715:93;10739:5;:12;10735:1;:16;10715:93;;;10790:6;10773:4;:14;10778:5;10784:1;10778:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10773:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10773:14:0;:23;;-1:-1:-1;;10773:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10753:3:0::1;10715:93;;;;10633:182:::0;;:::o;7085:165::-;7163:4;7180:40;7190:10;7202:9;7213:6;7180:9;:40::i;10885:897::-;2979:6;;-1:-1:-1;;;;;2979:6:0;2989:10;2979:20;2975:43;;3008:10;;-1:-1:-1;;;3008:10:0;;;;;;;;;;;2975:43;10964:7:::1;::::0;-1:-1:-1;;;10964:7:0;::::1;;;10960:40;;;10980:20;;-1:-1:-1::0;;;10980:20:0::1;;;;;;;;;;;10960:40;11015:9;11028:1;11015:14:::0;11011:38:::1;;11038:11;;-1:-1:-1::0;;;11038:11:0::1;;;;;;;;;;;11011:38;11064:6;11074:1;11064:11:::0;11060:35:::1;;11084:11;;-1:-1:-1::0;;;11084:11:0::1;;;;;;;;;;;11060:35;11106:44;11116:10;11136:4;11143:6;11106:9;:44::i;:::-;11161:60;11178:4;5692:42;5199:15;5144:1;5199:2;:15;:::i;:::-;5186:28;::::0;:10:::1;:28;:::i;11161:60::-;5692:42;-1:-1:-1::0;;;;;11282:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11264:58:0::1;;11331:4;5692:42;-1:-1:-1::0;;;;;11338:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11264:100;::::0;-1:-1:-1;;;;;;11264:100:0::1;::::0;;;;;;-1:-1:-1;;;;;8430:15:1;;;11264:100:0::1;::::0;::::1;8412:34:1::0;8482:15;;8462:18;;;8455:43;8347:18;;11264:100:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11234:14;:130:::0;;-1:-1:-1;;;;;11234:130:0;;;::::1;-1:-1:-1::0;;;;;;11234:130:0;;::::1;::::0;::::1;::::0;;:14:::1;11375:37:::0;;;:21:::1;:37;::::0;;;;:44;;-1:-1:-1;;11375:44:0::1;11234:130:::0;11375:44:::1;::::0;;5692:42:::1;11432:34;11474:21;11519:4;11526:24;11519:4:::0;-1:-1:-1;;;;;7051:18:0;7024:7;7051:18;;;:9;:18;;;;;;;6958:119;11526:24:::1;11552:1;11555::::0;11558:7:::1;2894::::0;2921:6;-1:-1:-1;;;;;2921:6:0;;2856:79;11558:7:::1;11432:161;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11432:161:0;;;-1:-1:-1;;;;;8868:15:1;;;11432:161:0::1;::::0;::::1;8850:34:1::0;8900:18;;;8893:34;;;;8943:18;;;8936:34;;;;8986:18;;;8979:34;9050:15;;;9029:19;;;9022:44;11567:15:0::1;9082:19:1::0;;;9075:35;8784:19;;11432:161:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11611:14:0::1;::::0;11604:78:::1;::::0;-1:-1:-1;;;11604:78:0;;5692:42:::1;11604:78;::::0;::::1;7457:51:1::0;-1:-1:-1;;7524:18:1;;;7517:34;-1:-1:-1;;;;;11611:14:0;;::::1;::::0;-1:-1:-1;11604:30:0::1;::::0;7430:18:1;;11604:78:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11693:12:0::1;:19:::0;;-1:-1:-1;;;;11723:14:0;-1:-1:-1;;;11723:14:0;;;11762:12:::1;11748:11;:26:::0;10885:897::o;7846:291::-;-1:-1:-1;;;;;7935:19:0;;7931:45;;7963:13;;-1:-1:-1;;;7963:13:0;;;;;;;;;;;7931:45;-1:-1:-1;;;;;7991:21:0;;7987:47;;8021:13;;-1:-1:-1;;;8021:13:0;;;;;;;;;;;7987:47;-1:-1:-1;;;;;8045:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8097:32;;160:25:1;;;8097:32:0;;133:18:1;8097:32:0;;;;;;;7846:291;;;:::o;8145:2325::-;-1:-1:-1;;;;;8229:18:0;;8225:44;;8256:13;;-1:-1:-1;;;8256:13:0;;;;;;;;;;;8225:44;-1:-1:-1;;;;;8284:16:0;;8280:42;;8309:13;;-1:-1:-1;;;8309:13:0;;;;;;;;;;;8280:42;8337:6;8347:1;8337:11;8333:36;;8357:12;;-1:-1:-1;;;8357:12:0;;;;;;;;;;;8333:36;-1:-1:-1;;;;;8391:10:0;;;;;;:4;:10;;;;;;;;8390:11;:24;;;;-1:-1:-1;;;;;;8406:8:0;;;;;;:4;:8;;;;;;;;8405:9;8390:24;8382:41;;;;-1:-1:-1;;;8382:41:0;;;;;;9913:2:1;9895:21;;;9952:1;9932:18;;;9925:29;-1:-1:-1;;;9985:2:1;9970:18;;9963:34;10029:2;10014:18;;9711:327;8382:41:0;;;;;;;;;5199:15;5144:1;5199:2;:15;:::i;:::-;5186:28;;:10;:28;:::i;:::-;8482:9;;:19;;:49;;;;-1:-1:-1;;;;;;8506:25:0;;;;;;:21;:25;;;;;;;;8505:26;8482:49;8478:151;;;8582:9;;8572:6;8556:13;8566:2;-1:-1:-1;;;;;7051:18:0;7024:7;7051:18;;;:9;:18;;;;;;;6958:119;8556:13;:22;;;;:::i;:::-;:35;;8548:69;;;;-1:-1:-1;;;8548:69:0;;10375:2:1;8548:69:0;;;10357:21:1;10414:2;10394:18;;;10387:30;-1:-1:-1;;;10433:18:1;;;10426:51;10494:18;;8548:69:0;10173:345:1;8548:69:0;5199:15;5144:1;5199:2;:15;:::i;:::-;5186:28;;:10;:28;:::i;:::-;8692:5;;:15;;:47;;;;-1:-1:-1;;;;;;8712:27:0;;;;;;:21;:27;;;;;;;;8711:28;8692:47;8688:121;;;8774:5;;8764:6;:15;;8756:41;;;;-1:-1:-1;;;8756:41:0;;10725:2:1;8756:41:0;;;10707:21:1;10764:2;10744:18;;;10737:30;-1:-1:-1;;;10783:18:1;;;10776:43;10836:18;;8756:41:0;10523:337:1;8756:41:0;8912:4;8863:28;7051:18;;;:9;:18;;;;;;8948:7;;-1:-1:-1;;;8948:7:0;;;;8947:8;:49;;;;;8983:13;;8959:20;:37;;8947:49;:65;;;;-1:-1:-1;9000:12:0;;-1:-1:-1;;;9000:12:0;;;;8947:65;:99;;;;;9028:18;;9016:9;;:30;8947:99;:140;;;;-1:-1:-1;9073:14:0;;-1:-1:-1;;;;;9067:20:0;;;9073:14;;9067:20;8947:140;:169;;;;-1:-1:-1;;;;;;9092:24:0;;;;;;:18;:24;;;;;;;;9091:25;8947:169;8929:472;;;9143:71;9161:52;9166:6;9174:38;9179:20;9201:10;;9174:4;:38::i;:::-;9161:4;:52::i;:::-;9143:17;:71::i;:::-;9258:21;9298:22;;9294:96;;9341:33;9355:18;9341:13;:33::i;:::-;9128:273;8929:472;9486:7;;9449:17;;-1:-1:-1;;;9486:7:0;;;;9485:8;:37;;;;-1:-1:-1;;;;;;9498:24:0;;;;;;:18;:24;;;;;;;;9497:25;9485:37;:64;;;;-1:-1:-1;;;;;;9527:22:0;;;;;;:18;:22;;;;;;;;9526:23;9485:64;9481:591;;;9576:14;;-1:-1:-1;;;;;9576:14:0;;;9570:20;;;;9566:495;;9703:3;9647:16;;9635:9;;:28;9634:64;;9683:15;;9634:64;;;9667:13;;9634:64;9624:75;;:6;:75;:::i;:::-;9623:83;;;;:::i;:::-;9611:95;;9566:495;;;9753:14;;-1:-1:-1;;;;;9753:14:0;;;9745:22;;;;9741:320;;9811:12;9792:11;;9806:2;9792:16;;;;:::i;:::-;:31;9788:117;;;13582:20;;13630:8;9848:37;;;;-1:-1:-1;;;9848:37:0;;11289:2:1;9848:37:0;;;11271:21:1;11328:1;11308:18;;;11301:29;-1:-1:-1;;;11346:18:1;;;11339:38;11394:18;;9848:37:0;11087:331:1;9848:37:0;10012:3;9959:15;;9947:9;;:27;9946:61;;9993:14;;9946:61;;;9978:12;;9946:61;9936:72;;:6;:72;:::i;:::-;9935:80;;;;:::i;:::-;9923:92;;10036:9;;10034:11;;;;;:::i;:::-;;;;-1:-1:-1;9741:320:0;10130:13;;10126:169;;10205:4;10187:24;;;;:9;:24;;;;;;:36;;10214:9;;10187:36;:::i;:::-;10178:4;10160:24;;;;:9;:24;;;;;;;:63;;;;10243:40;;-1:-1:-1;;;;;10243:40:0;;;;;;;10273:9;160:25:1;;148:2;133:18;;14:177;10243:40:0;;;;;;;;10126:169;-1:-1:-1;;;;;10323:15:0;;;;;;:9;:15;;;;;;:24;;10341:6;;10323:24;:::i;:::-;-1:-1:-1;;;;;10305:15:0;;;;;;;:9;:15;;;;;;:42;;;;10374:13;;;;;;;10399:9;;10374:22;;10390:6;;10374:22;:::i;:::-;:34;;;;:::i;:::-;-1:-1:-1;;;;;10358:13:0;;;;;;;:9;:13;;;;;:50;;;;10424:38;;;10443:18;10452:9;10443:6;:18;:::i;:::-;10424:38;;160:25:1;;;148:2;133:18;10424:38:0;;;;;;;8214:2256;;8145:2325;;;:::o;13134:108::-;13192:7;13224:1;13220;:5;13219:15;;13233:1;13219:15;;;13229:1;13219:15;13212:22;13134:108;-1:-1:-1;;;13134:108:0:o;13798:480::-;13865:7;:14;;-1:-1:-1;;;;13865:14:0;-1:-1:-1;;;13865:14:0;;;13914:16;;;13928:1;13914:16;;;;;;;;-1:-1:-1;;13914:16:0;;;;;;;;;;-1:-1:-1;13914:16:0;13890:40;;13959:4;13941;13946:1;13941:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;13941:23:0;;;-1:-1:-1;;;;;13941:23:0;;;;;5692:42;-1:-1:-1;;;;;13985:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13975:4;13980:1;13975:7;;;;;;;;:::i;:::-;;;;;;:35;-1:-1:-1;;;;;13975:35:0;;;-1:-1:-1;;;;;13975:35:0;;;;;14021:65;14038:4;5692:42;14074:11;14021:8;:65::i;:::-;14097:147;;-1:-1:-1;;;14097:147:0;;5692:42;;14097:69;;:147;;14181:11;;14194:1;;14197:4;;14211;;14218:15;;14097:147;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14255:7:0;:15;;-1:-1:-1;;;;14255:15:0;;;-1:-1:-1;;;;13798:480:0:o;14415:93::-;14473:10;;:27;;-1:-1:-1;;;;;14473:10:0;;;;:27;;;;;14493:6;;14473:10;:27;:10;:27;14493:6;14473:10;:27;;;;;;;;;;;;;;;;;;;196:548:1;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:134;953:20;;982:31;953:20;982:31;:::i;:::-;885:134;;;:::o;1024:315::-;1092:6;1100;1153:2;1141:9;1132:7;1128:23;1124:32;1121:52;;;1169:1;1166;1159:12;1121:52;1208:9;1195:23;1227:31;1252:5;1227:31;:::i;:::-;1277:5;1329:2;1314:18;;;;1301:32;;-1:-1:-1;;;1024:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:247::-;2245:6;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2353:9;2340:23;2372:31;2397:5;2372:31;:::i;2438:248::-;2506:6;2514;2567:2;2555:9;2546:7;2542:23;2538:32;2535:52;;;2583:1;2580;2573:12;2535:52;-1:-1:-1;;2606:23:1;;;2676:2;2661:18;;;2648:32;;-1:-1:-1;2438:248:1:o;2899:127::-;2960:10;2955:3;2951:20;2948:1;2941:31;2991:4;2988:1;2981:15;3015:4;3012:1;3005:15;3031:118;3117:5;3110:13;3103:21;3096:5;3093:32;3083:60;;3139:1;3136;3129:12;3154:128;3219:20;;3248:28;3219:20;3248:28;:::i;3287:1191::-;3377:6;3385;3438:2;3426:9;3417:7;3413:23;3409:32;3406:52;;;3454:1;3451;3444:12;3406:52;3494:9;3481:23;3523:18;3564:2;3556:6;3553:14;3550:34;;;3580:1;3577;3570:12;3550:34;3618:6;3607:9;3603:22;3593:32;;3663:7;3656:4;3652:2;3648:13;3644:27;3634:55;;3685:1;3682;3675:12;3634:55;3721:2;3708:16;3743:4;3766:2;3762;3759:10;3756:36;;;3772:18;;:::i;:::-;3818:2;3815:1;3811:10;3850:2;3844:9;3913:2;3909:7;3904:2;3900;3896:11;3892:25;3884:6;3880:38;3968:6;3956:10;3953:22;3948:2;3936:10;3933:18;3930:46;3927:72;;;3979:18;;:::i;:::-;4015:2;4008:22;4065:18;;;4099:15;;;;-1:-1:-1;4141:11:1;;;4137:20;;;4169:19;;;4166:39;;;4201:1;4198;4191:12;4166:39;4225:11;;;;4245:148;4261:6;4256:3;4253:15;4245:148;;;4327:23;4346:3;4327:23;:::i;:::-;4315:36;;4278:12;;;;4371;;;;4245:148;;;4412:6;-1:-1:-1;4437:35:1;;-1:-1:-1;4453:18:1;;;4437:35;:::i;:::-;4427:45;;;;;;3287:1191;;;;;:::o;4483:180::-;4542:6;4595:2;4583:9;4574:7;4570:23;4566:32;4563:52;;;4611:1;4608;4601:12;4563:52;-1:-1:-1;4634:23:1;;4483:180;-1:-1:-1;4483:180:1:o;4668:388::-;4736:6;4744;4797:2;4785:9;4776:7;4772:23;4768:32;4765:52;;;4813:1;4810;4803:12;4765:52;4852:9;4839:23;4871:31;4896:5;4871:31;:::i;:::-;4921:5;-1:-1:-1;4978:2:1;4963:18;;4950:32;4991:33;4950:32;4991:33;:::i;:::-;5043:7;5033:17;;;4668:388;;;;;:::o;5061:127::-;5122:10;5117:3;5113:20;5110:1;5103:31;5153:4;5150:1;5143:15;5177:4;5174:1;5167:15;5193:416;5282:1;5319:5;5282:1;5333:270;5354:7;5344:8;5341:21;5333:270;;;5413:4;5409:1;5405:6;5401:17;5395:4;5392:27;5389:53;;;5422:18;;:::i;:::-;5472:7;5462:8;5458:22;5455:55;;;5492:16;;;;5455:55;5571:22;;;;5531:15;;;;5333:270;;;5337:3;5193:416;;;;;:::o;5614:806::-;5663:5;5693:8;5683:80;;-1:-1:-1;5734:1:1;5748:5;;5683:80;5782:4;5772:76;;-1:-1:-1;5819:1:1;5833:5;;5772:76;5864:4;5882:1;5877:59;;;;5950:1;5945:130;;;;5857:218;;5877:59;5907:1;5898:10;;5921:5;;;5945:130;5982:3;5972:8;5969:17;5966:43;;;5989:18;;:::i;:::-;-1:-1:-1;;6045:1:1;6031:16;;6060:5;;5857:218;;6159:2;6149:8;6146:16;6140:3;6134:4;6131:13;6127:36;6121:2;6111:8;6108:16;6103:2;6097:4;6094:12;6090:35;6087:77;6084:159;;;-1:-1:-1;6196:19:1;;;6228:5;;6084:159;6275:34;6300:8;6294:4;6275:34;:::i;:::-;6345:6;6341:1;6337:6;6333:19;6324:7;6321:32;6318:58;;;6356:18;;:::i;:::-;6394:20;;5614:806;-1:-1:-1;;;5614:806:1:o;6425:140::-;6483:5;6512:47;6553:4;6543:8;6539:19;6533:4;6512:47;:::i;6570:168::-;6643:9;;;6674;;6691:15;;;6685:22;;6671:37;6661:71;;6712:18;;:::i;6743:128::-;6810:9;;;6831:11;;;6828:37;;;6845:18;;:::i;7086:184::-;7156:6;7209:2;7197:9;7188:7;7184:23;7180:32;7177:52;;;7225:1;7222;7215:12;7177:52;-1:-1:-1;7248:16:1;;7086:184;-1:-1:-1;7086:184:1:o;7562:245::-;7629:6;7682:2;7670:9;7661:7;7657:23;7653:32;7650:52;;;7698:1;7695;7688:12;7650:52;7730:9;7724:16;7749:28;7771:5;7749:28;:::i;7812:127::-;7873:10;7868:3;7864:20;7861:1;7854:31;7904:4;7901:1;7894:15;7928:4;7925:1;7918:15;7944:251;8014:6;8067:2;8055:9;8046:7;8042:23;8038:32;8035:52;;;8083:1;8080;8073:12;8035:52;8115:9;8109:16;8134:31;8159:5;8134:31;:::i;9121:306::-;9209:6;9217;9225;9278:2;9266:9;9257:7;9253:23;9249:32;9246:52;;;9294:1;9291;9284:12;9246:52;9323:9;9317:16;9307:26;;9373:2;9362:9;9358:18;9352:25;9342:35;;9417:2;9406:9;9402:18;9396:25;9386:35;;9121:306;;;;;:::o;10043:125::-;10108:9;;;10129:10;;;10126:36;;;10142:18;;:::i;10865:217::-;10905:1;10931;10921:132;;10975:10;10970:3;10966:20;10963:1;10956:31;11010:4;11007:1;11000:15;11038:4;11035:1;11028:15;10921:132;-1:-1:-1;11067:9:1;;10865:217::o;11423:135::-;11462:3;11483:17;;;11480:43;;11503:18;;:::i;:::-;-1:-1:-1;11550:1:1;11539:13;;11423:135::o;11563:980::-;11825:4;11873:3;11862:9;11858:19;11904:6;11893:9;11886:25;11930:2;11968:6;11963:2;11952:9;11948:18;11941:34;12011:3;12006:2;11995:9;11991:18;11984:31;12035:6;12070;12064:13;12101:6;12093;12086:22;12139:3;12128:9;12124:19;12117:26;;12178:2;12170:6;12166:15;12152:29;;12199:1;12209:195;12223:6;12220:1;12217:13;12209:195;;;12288:13;;-1:-1:-1;;;;;12284:39:1;12272:52;;12379:15;;;;12344:12;;;;12320:1;12238:9;12209:195;;;-1:-1:-1;;;;;;;12460:32:1;;;;12455:2;12440:18;;12433:60;-1:-1:-1;;;12524:3:1;12509:19;12502:35;12421:3;11563:980;-1:-1:-1;;;11563:980:1:o

Swarm Source

ipfs://9b9c1d891dc60e2f9eaa8ddf1c2c5f5642faead2dd45cd3e86c702cc53070abd

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.