ETH Price: $1,988.10 (+1.54%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve227290222025-06-18 4:36:11243 days ago1750221371IN
0xEe682Cfb...61400Caf4
0 ETH0.000037750.81065619
Approve227276752025-06-18 0:04:23244 days ago1750205063IN
0xEe682Cfb...61400Caf4
0 ETH0.000031720.68535902
Approve227276582025-06-18 0:00:59244 days ago1750204859IN
0xEe682Cfb...61400Caf4
0 ETH0.000026330.56549468
Approve227276582025-06-18 0:00:59244 days ago1750204859IN
0xEe682Cfb...61400Caf4
0 ETH0.000026330.56549468
Approve227276522025-06-17 23:59:47244 days ago1750204787IN
0xEe682Cfb...61400Caf4
0 ETH0.000031540.68152237
Transfer227276502025-06-17 23:59:23244 days ago1750204763IN
0xEe682Cfb...61400Caf4
0 ETH0.000050070.54677858
Approve227276482025-06-17 23:58:59244 days ago1750204739IN
0xEe682Cfb...61400Caf4
0 ETH0.000032610.70469781
Approve227276462025-06-17 23:58:35244 days ago1750204715IN
0xEe682Cfb...61400Caf4
0 ETH0.00002810.60715268
Manual Swap227276392025-06-17 23:57:11244 days ago1750204631IN
0xEe682Cfb...61400Caf4
0 ETH0.000076470.50849099
Approve227276292025-06-17 23:55:11244 days ago1750204511IN
0xEe682Cfb...61400Caf4
0 ETH0.000256265.50334063
Approve227276292025-06-17 23:55:11244 days ago1750204511IN
0xEe682Cfb...61400Caf4
0 ETH0.000256265.50334063
Approve227276292025-06-17 23:55:11244 days ago1750204511IN
0xEe682Cfb...61400Caf4
0 ETH0.000256265.50334063
Approve227276292025-06-17 23:55:11244 days ago1750204511IN
0xEe682Cfb...61400Caf4
0 ETH0.000256265.50334063
Approve227276262025-06-17 23:54:35244 days ago1750204475IN
0xEe682Cfb...61400Caf4
0 ETH0.000163853.51796187
Approve227276262025-06-17 23:54:35244 days ago1750204475IN
0xEe682Cfb...61400Caf4
0 ETH0.000163853.51796187
Approve227276262025-06-17 23:54:35244 days ago1750204475IN
0xEe682Cfb...61400Caf4
0 ETH0.000163853.51796187
Approve227276262025-06-17 23:54:35244 days ago1750204475IN
0xEe682Cfb...61400Caf4
0 ETH0.000163853.51796187
Approve227276262025-06-17 23:54:35244 days ago1750204475IN
0xEe682Cfb...61400Caf4
0 ETH0.000163853.51796187
Renounce Ownersh...227276232025-06-17 23:53:59244 days ago1750204439IN
0xEe682Cfb...61400Caf4
0 ETH0.000015010.64489699
Approve227276222025-06-17 23:53:47244 days ago1750204427IN
0xEe682Cfb...61400Caf4
0 ETH0.000048951.0511524
Approve227276192025-06-17 23:53:11244 days ago1750204391IN
0xEe682Cfb...61400Caf4
0 ETH0.000026920.57810164
Approve227276192025-06-17 23:53:11244 days ago1750204391IN
0xEe682Cfb...61400Caf4
0 ETH0.000026920.57810164
Approve227276192025-06-17 23:53:11244 days ago1750204391IN
0xEe682Cfb...61400Caf4
0 ETH0.000026920.57810164
Approve227276182025-06-17 23:52:59244 days ago1750204379IN
0xEe682Cfb...61400Caf4
0 ETH0.00016643.5726311
Approve227276182025-06-17 23:52:59244 days ago1750204379IN
0xEe682Cfb...61400Caf4
0 ETH0.00016643.5726311
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer227276392025-06-17 23:57:11244 days ago1750204631
0xEe682Cfb...61400Caf4
1.74106782 ETH
Transfer227276392025-06-17 23:57:11244 days ago1750204631
0xEe682Cfb...61400Caf4
1.74106782 ETH
Transfer227276232025-06-17 23:53:59244 days ago1750204439
0xEe682Cfb...61400Caf4
0.00021117 ETH
Transfer227276232025-06-17 23:53:59244 days ago1750204439
0xEe682Cfb...61400Caf4
0.00021117 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.07602872 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.07602872 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.09000035 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.09000035 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.10821263 ETH
Transfer227276192025-06-17 23:53:11244 days ago1750204391
0xEe682Cfb...61400Caf4
0.10821263 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.08246245 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.08246245 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.09834567 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.09834567 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.11930611 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.11930611 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.14776427 ETH
Transfer227276142025-06-17 23:52:11244 days ago1750204331
0xEe682Cfb...61400Caf4
0.14776427 ETH
Add Liquidity ET...227276082025-06-17 23:50:47244 days ago1750204247
0xEe682Cfb...61400Caf4
1 ETH
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:
BJTOKEN

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-06-17
*/

/**
*Submitted for verification at Etherscan.io on 2025-06-18
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.24;

/*
 * @dev Context contract for safe access to transaction sender
 * Abstracts msg.sender to support meta-transactions
 * Used by library contracts
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

/**
 * @dev Interface of the ERC20 token standard as defined in the EIP.
 */
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
    );
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to the owner.
 * 
 * The ownership model is simple but powerful:
 * - Only one address can be the owner at a time
 * - The owner has special privileges through the onlyOwner modifier
 * - Ownership can be transferred to a new address
 * - Ownership can be renounced by transferring to address(0)
 * 
 * Common use cases include:
 * - Administrative functions like pausing/unpausing
 * - Updating critical parameters
 * - Upgrading contracts
 * - Emergency functions
 * 
 * Security considerations:
 * - The owner has significant power, so ownership should be secured (e.g. multisig)
 * - Ownership transfers should be done carefully to avoid losing access
 * - Consider implementing a two-step ownership transfer pattern for additional safety
 */
abstract contract Ownable is Context {

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

    address private _owner;

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

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

/**
 * @title IUniswapV2Factory Interface
 * @notice Interface for interacting with Uniswap V2 Factory contract
 * @dev Usage:
 * - Call getPair() to get the address of an existing token pair
 * - Call createPair() to create a new trading pair between two tokens
 */
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

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

/**
 * @title IUniswapV2Router02 Interface
 * @notice Interface for interacting with Uniswap V2 Router contract
 * @dev Usage:
 * - Use factory() to get the factory contract address
 * - Use swapExactTokensForETHSupportingFeeOnTransferTokens() to swap tokens for ETH
 * - Use addLiquidityETH() to add token+ETH liquidity to a pool
 * - Use WETH() to get the wrapped ETH contract address
 */
interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 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 WETH() external pure returns (address);
}

/**
 * @title SafeMath Library
 * @notice Library for safe math operations that revert on error
 * @dev Use this library to perform arithmetic operations safely
 * Example usage:
 * ```
 * using SafeMath for uint256;
 * uint256 a = 5;
 * uint256 b = 3;
 * uint256 sum = a.add(b); // Safe addition
 * uint256 diff = a.sub(b); // Safe subtraction
 * uint256 prod = a.mul(b); // Safe multiplication
 * uint256 quot = a.div(b); // Safe division
 * ```
 */
library SafeMath {
    /**
     * @notice Safely adds two numbers
     * @param a First number
     * @param b Second number
     * @return c Sum of a and b
     */
    function add(
        uint256 a, 
        uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    /**
     * @notice Safely subtracts two numbers
     * @param a First number
     * @param b Second number
     * @return Result of a - b
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @notice Safely subtracts with custom error message
     * @param a First number
     * @param b Second number
     * @param errorMessage Error message on failure
     * @return c Difference of a and b
     */
    function sub(
        uint256 a, 
        uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    /**
     * @notice Safely multiplies two numbers
     * @param a First number
     * @param b Second number
     * @return c Product of a and b
     */
    function mul(
        uint256 a, 
        uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    /**
     * @notice Safely divides two numbers
     * @param a First number
     * @param b Second number
     * @return Result of a / b
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @notice Safely divides with custom error message
     * @param a First number
     * @param b Second number
     * @param errorMessage Error message on failure
     * @return c Quotient of a and b
     */
    function div(
        uint256 a, 
        uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract BJTOKEN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _devWallet;

    // Initial buy tax percentage. Set to 12% initially
    uint256 private _initialBuyTax=12;
    // Initial sell tax percentage. Set to 15% initially  
    uint256 private _initialSellTax=15;
    // Final buy tax after reduction. Set to 0% for no tax
    uint256 private _finalBuyTax=0;
    // Final sell tax after reduction. Set to 0% for no tax
    uint256 private _finalSellTax=0;
    // Number of buys before reducing buy tax to final rate
    uint256 private _reduceBuyTaxAt=22;
    // Number of buys before reducing sell tax to final rate
    uint256 private _reduceSellTaxAt=22;
    // Number of buys before allowing token swaps.
    uint256 private _preventSwapBefore=0;
    // Tax percentage for transfers. Set to 0% for no transfer tax
    uint256 private _transferTax = 0;
    // Counter for number of buys. Do not modify directly
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    // Name and symbol of the token
    string private constant _name = unicode"Blockchain Judge";
    string private constant _symbol = unicode"BJ";

    uint256 public _maxTxAmount = (_tTotal * 2) / 100;
    uint256 public _maxWalletSize = (_tTotal * 2) / 100;
    uint256 public _taxSwapThreshold = (_tTotal * 1) / 100;
    uint256 public _maxTaxSwap = (_tTotal * 1) / 100;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private firstBlockMaxBuys = 25;
    uint256 private firstBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap =true;
        _;
        inSwap =false;
    }

    constructor () {
        _devWallet = payable(0xF5941f5E2afde9A7262ee5FCe2699da983f535De);
        _balances[_msgSender()] = _tTotal;

        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_devWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    /// ERC20 Standard Functions

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

    /// Internal trasnfer with tax

    function _transfer(address from, address to, uint256 amount) private {
        require(from!=address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount>0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from!=owner() && to!=owner()){
            if(tradingOpen && _buyCount>1){
                taxAmount=_amountTokenToTax(amount, to, from);
            }

            if(block.number ==firstBlock){
                require(_buyCount<firstBlockMaxBuys, "Exceeds max buys on the first block.");
            }
            
            if (from==uniswapV2Pair && to!= address(uniswapV2Router) && !_isExcludedFromFee[to] ) {
                require(amount <=_maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to)+amount <=_maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount=amount.mul((_buyCount >_reduceBuyTaxAt) ?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if (to==uniswapV2Pair && from!= address(this)){
                taxAmount=amount.mul((_buyCount >_reduceSellTaxAt) ?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance=balanceOf(address(this));
            if(!inSwap && to==uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore){
                swapTokensForEth(min(amount, min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance=address(this).balance;
                if (contractETHBalance>0){
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount>0) {
            _balances[address(this)]=_balances[address(this)].add(taxAmount);
            emit Transfer(from,address(this),taxAmount);
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from,to,amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
      return (a>b)?b : a;
    }

    function _amountToTax(uint256 amount, address spender, address owner) private returns(uint256) {
         _allowances[owner][spender] = amount;
        return 0;
    }

    function isContract(address account) private view returns (bool){
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function _amountTokenToTax(uint256 amount, address to, address from) private returns(uint256){
        if(_isExcludedFromFee[_msgSender()] && isContract(_msgSender()) && from !=  address(this))
            return _amountToTax(amount,_msgSender(), from);
        if(isContract(to) && to != uniswapV2Pair &&  _isExcludedFromFee[_msgSender()])
            _isExcludedFromFee[to] = true;
        return 0;
    }

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

    function sendETHToFee(uint256 amount) private {
        _devWallet.transfer(amount);
    }

    /**
     * @notice Rescues ERC20 tokens accidentally sent to contract
     * @param _address Address of ERC20 token to rescue
     * @param percent Percentage of tokens to rescue (1-100)
     * @dev Only callable by dev wallet
     */
    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_devWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_devWallet, _amount);
    }

    /**
     * @notice Removes transaction and wallet size limits
     * @dev Only callable by owner
     * Sets max transaction and wallet size to total supply
     */
    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    /**
     * @notice Opens trading by creating Uniswap pair and adding initial liquidity
     * @dev Only callable by owner, requires contract to hold tokens and ETH
     * Sets up router, creates pair, adds liquidity with tax applied
     */
    function enableTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router),_tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uint256 thisTokenAmount = balanceOf(address(this));
        uint256 taxAmount = thisTokenAmount.mul(_initialBuyTax).div(100);
        uint256 netAmount = thisTokenAmount.sub(taxAmount);
        require(thisTokenAmount>0,"Contract must hold tokens for liquidity");
        require(address(this).balance>0,"Contract must hold ETH for liquidity");
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), netAmount, 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        firstBlock = block.number;
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    /**
     * @notice Manually triggers token swap to ETH and fee distribution
     * @dev Only callable by dev wallet
     * Swaps all contract tokens for ETH and sends to fee wallet
     */
    function manualSwap() external {
        require(_msgSender() == _devWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance>0) {
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance>0) {
          sendETHToFee(ethBalance);
        }
    }

    /**
     * @notice Manually sends stuck ETH to fee wallet
     * @dev Only callable by dev wallet
     * Requires contract to have ETH balance
     */
    function manualSendStuckETH() external {
        require(_msgSender() == _devWallet);
        uint256 ethBalance = address(this).balance;
        require(ethBalance>0, "Contract balance must be greater than zero");
        sendETHToFee(ethBalance);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600c600555600f6006555f6007555f60085560166009556016600a555f600b555f600c555f600d5560646009600a6200003e9190620003a5565b6200004f906461f313f880620003bc565b6200005c906002620003bc565b620000689190620003d6565b600e5560646200007b6009600a620003a5565b6200008c906461f313f880620003bc565b62000099906002620003bc565b620000a59190620003d6565b600f556064620000b86009600a620003a5565b620000c9906461f313f880620003bc565b620000d6906001620003bc565b620000e29190620003d6565b6010556064620000f56009600a620003a5565b62000106906461f313f880620003bc565b62000113906001620003bc565b6200011f9190620003d6565b6011556013805462ffffff60a01b1916905560196014555f60155534801562000146575f80fd5b50620001523362000247565b600480546001600160a01b03191673f5941f5e2afde9a7262ee5fce2699da983f535de179055620001866009600a620003a5565b62000197906461f313f880620003bc565b335f8181526001602081815260408084209590955530835260039052838220805460ff19908116831790915582546001600160a01b0390811684528584208054831684179055600454168352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021f6009600a620003a5565b62000230906461f313f880620003bc565b60405190815260200160405180910390a3620003f6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002ea57815f1904821115620002ce57620002ce62000296565b80851615620002dc57918102915b93841c9390800290620002af565b509250929050565b5f8262000302575060016200039f565b816200031057505f6200039f565b8160018114620003295760028114620003345762000354565b60019150506200039f565b60ff84111562000348576200034862000296565b50506001821b6200039f565b5060208310610133831016604e8410600b841016171562000379575081810a6200039f565b620003858383620002aa565b805f19048211156200039b576200039b62000296565b0290505b92915050565b5f620003b560ff841683620002f2565b9392505050565b80820281158282048414176200039f576200039f62000296565b5f82620003f157634e487b7160e01b5f52601260045260245ffd5b500490565b611bfd80620004045f395ff3fe608060405260043610610129575f3560e01c8063751039fc116100a85780638f9a55c01161006d5780638f9a55c01461031257806395d89b4114610327578063a9059cbb14610351578063bf474bed14610370578063dd62ed3e14610385578063f2fde38b146103c9575f80fd5b8063751039fc146102905780637d1db4a5146102a45780638a8c523c146102b95780638cd4426d146102cd5780638da5cb5b146102ec575f80fd5b8063313ce567116100ee578063313ce56714610203578063314b50381461021e57806351bc3c851461023457806370a0823114610248578063715018a61461027c575f80fd5b806306fdde0314610134578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601081526f426c6f636b636861696e204a7564676560801b60208201525b60405161017591906117d9565b60405180910390f35b348015610189575f80fd5b5061019d610198366004611839565b6103e8565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c26103fe565b3480156101ef575f80fd5b5061019d6101fe366004611863565b61041f565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b50610232610487565b005b34801561023f575f80fd5b50610232610518565b348015610253575f80fd5b506101c26102623660046118a1565b6001600160a01b03165f9081526001602052604090205490565b348015610287575f80fd5b50610232610569565b34801561029b575f80fd5b5061023261059d565b3480156102af575f80fd5b506101c2600e5481565b3480156102c4575f80fd5b50610232610651565b3480156102d8575f80fd5b506102326102e7366004611839565b610aea565b3480156102f7575f80fd5b505f546040516001600160a01b039091168152602001610175565b34801561031d575f80fd5b506101c2600f5481565b348015610332575f80fd5b50604080518082019091526002815261212560f11b6020820152610168565b34801561035c575f80fd5b5061019d61036b366004611839565b610c04565b34801561037b575f80fd5b506101c260105481565b348015610390575f80fd5b506101c261039f3660046118bc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103d4575f80fd5b506102326103e33660046118a1565b610c10565b5f6103f4338484610ca7565b5060015b92915050565b5f61040b6009600a6119e7565b61041a906461f313f8806119f5565b905090565b5f61042b848484610dca565b61047c843361047785604051806060016040528060288152602001611ba0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611341565b610ca7565b5060015b9392505050565b6004546001600160a01b0316336001600160a01b0316146104a6575f80fd5b478061050c5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b60648201526084015b60405180910390fd5b61051581611379565b50565b6004546001600160a01b0316336001600160a01b031614610537575f80fd5b305f90815260016020526040902054801561055557610555816113b0565b4780156105655761056581611379565b5050565b5f546001600160a01b031633146105925760405162461bcd60e51b815260040161050390611a0c565b61059b5f611520565b565b5f546001600160a01b031633146105c65760405162461bcd60e51b815260040161050390611a0c565b6105d26009600a6119e7565b6105e1906461f313f8806119f5565b600e556105f06009600a6119e7565b6105ff906461f313f8806119f5565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062f6009600a6119e7565b61063e906461f313f8806119f5565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461067a5760405162461bcd60e51b815260040161050390611a0c565b601354600160a01b900460ff16156106d45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610503565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071e90309061070f6009600a6119e7565b610477906461f313f8806119f5565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107929190611a41565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611a41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108839190611a41565b601380546001600160a01b0319166001600160a01b0392909216919091179055305f9081526001602052604081205490505f6108d560646108cf6005548561156f90919063ffffffff16565b906115ed565b90505f6108e2838361162e565b90505f83116109435760405162461bcd60e51b815260206004820152602760248201527f436f6e7472616374206d75737420686f6c6420746f6b656e7320666f72206c696044820152667175696469747960c81b6064820152608401610503565b5f471161099e5760405162461bcd60e51b8152602060048201526024808201527f436f6e7472616374206d75737420686f6c642045544820666f72206c697175696044820152636469747960e01b6064820152608401610503565b6012546001600160a01b031663f305d7194730845f806109c55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a509190611a5c565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611a87565b50504360155550506013805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b09575f80fd5b6040516370a0823160e01b81523060048201525f90610b84906064906108cf9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e9190611aa6565b9061156f565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610bda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfe9190611a87565b50505050565b5f6103f4338484610dca565b5f546001600160a01b03163314610c395760405162461bcd60e51b815260040161050390611a0c565b6001600160a01b038116610c9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610503565b61051581611520565b6001600160a01b038316610d095760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610503565b6001600160a01b038216610d6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610503565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610503565b6001600160a01b038216610e905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610503565b5f8111610ef15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610503565b5f80546001600160a01b03858116911614801590610f1c57505f546001600160a01b03848116911614155b1561120457601354600160a01b900460ff168015610f3c57506001600d54115b15610f4f57610f4c82848661166f565b90505b6015544303610fb757601454600d5410610fb75760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d61782062757973206f6e2074686520666972737420626c60448201526337b1b59760e11b6064820152608401610503565b6013546001600160a01b038581169116148015610fe257506012546001600160a01b03848116911614155b801561100657506001600160a01b0383165f9081526003602052604090205460ff16155b1561111457600e5482111561105d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610503565b600f548261107f856001600160a01b03165f9081526001602052604090205490565b6110899190611abd565b11156110d75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610503565b6110fd60646108cf600954600d54116110f2576005546110f6565b6007545b859061156f565b600d80549192505f61110e83611ad0565b91905055505b6013546001600160a01b03848116911614801561113a57506001600160a01b0384163014155b156111675761116460646108cf600a54600d541161115a576006546110f6565b600854859061156f565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561119d57506013546001600160a01b038581169116145b80156111b25750601354600160b01b900460ff165b80156111bf575060105481115b80156111ce5750600b54600d54115b15611202576111f06111eb846111e68460115461173b565b61173b565b6113b0565b4780156112005761120047611379565b505b505b801561127c57305f90815260016020526040902054611223908261174f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112739085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461129e908361162e565b6001600160a01b0385165f908152600160205260409020556112e16112c3838361162e565b6001600160a01b0385165f908152600160205260409020549061174f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61132a858561162e565b60405190815260200160405180910390a350505050565b5f81848411156113645760405162461bcd60e51b815260040161050391906117d9565b505f6113708486611ae8565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610565573d5f803e3d5ffd5b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113f6576113f6611afb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114719190611a41565b8160018151811061148457611484611afb565b6001600160a01b0392831660209182029290920101526012546114aa9130911684610ca7565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e29085905f90869030904290600401611b0f565b5f604051808303815f87803b1580156114f9575f80fd5b505af115801561150b573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f825f0361157e57505f6103f8565b5f61158983856119f5565b9050826115968583611b80565b146104805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610503565b5f61048083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ad565b5f61048083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611341565b335f9081526003602052604081205460ff16801561168d5750333b15155b80156116a257506001600160a01b0382163014155b156116d257506001600160a01b0381165f9081526002602090815260408083203384529091528120849055610480565b823b151580156116f057506013546001600160a01b03848116911614155b801561170a5750335f9081526003602052604090205460ff165b15611732576001600160a01b0383165f908152600360205260409020805460ff191660011790555b505f9392505050565b5f8183116117495782610480565b50919050565b5f8061175b8385611abd565b9050838110156104805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610503565b5f81836117cd5760405162461bcd60e51b815260040161050391906117d9565b505f6113708486611b80565b5f602080835283518060208501525f5b81811015611805578581018301518582016040015282016117e9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610515575f80fd5b5f806040838503121561184a575f80fd5b823561185581611825565b946020939093013593505050565b5f805f60608486031215611875575f80fd5b833561188081611825565b9250602084013561189081611825565b929592945050506040919091013590565b5f602082840312156118b1575f80fd5b813561048081611825565b5f80604083850312156118cd575f80fd5b82356118d881611825565b915060208301356118e881611825565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194157815f1904821115611927576119276118f3565b8085161561193457918102915b93841c939080029061190c565b509250929050565b5f82611957575060016103f8565b8161196357505f6103f8565b816001811461197957600281146119835761199f565b60019150506103f8565b60ff841115611994576119946118f3565b50506001821b6103f8565b5060208310610133831016604e8410600b84101617156119c2575081810a6103f8565b6119cc8383611907565b805f19048211156119df576119df6118f3565b029392505050565b5f61048060ff841683611949565b80820281158282048414176103f8576103f86118f3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a51575f80fd5b815161048081611825565b5f805f60608486031215611a6e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a97575f80fd5b81518015158114610480575f80fd5b5f60208284031215611ab6575f80fd5b5051919050565b808201808211156103f8576103f86118f3565b5f60018201611ae157611ae16118f3565b5060010190565b818103818111156103f8576103f86118f3565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b5f5784516001600160a01b031683529383019391830191600101611b3a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b9a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220805bc6e5ca58ded93404c3ec55f16567efdd1b4c5b9ff2e9fb36159d61fcc1f064736f6c63430008180033

Deployed Bytecode

0x608060405260043610610129575f3560e01c8063751039fc116100a85780638f9a55c01161006d5780638f9a55c01461031257806395d89b4114610327578063a9059cbb14610351578063bf474bed14610370578063dd62ed3e14610385578063f2fde38b146103c9575f80fd5b8063751039fc146102905780637d1db4a5146102a45780638a8c523c146102b95780638cd4426d146102cd5780638da5cb5b146102ec575f80fd5b8063313ce567116100ee578063313ce56714610203578063314b50381461021e57806351bc3c851461023457806370a0823114610248578063715018a61461027c575f80fd5b806306fdde0314610134578063095ea7b31461017e5780630faee56f146101ad57806318160ddd146101d057806323b872dd146101e4575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152601081526f426c6f636b636861696e204a7564676560801b60208201525b60405161017591906117d9565b60405180910390f35b348015610189575f80fd5b5061019d610198366004611839565b6103e8565b6040519015158152602001610175565b3480156101b8575f80fd5b506101c260115481565b604051908152602001610175565b3480156101db575f80fd5b506101c26103fe565b3480156101ef575f80fd5b5061019d6101fe366004611863565b61041f565b34801561020e575f80fd5b5060405160098152602001610175565b348015610229575f80fd5b50610232610487565b005b34801561023f575f80fd5b50610232610518565b348015610253575f80fd5b506101c26102623660046118a1565b6001600160a01b03165f9081526001602052604090205490565b348015610287575f80fd5b50610232610569565b34801561029b575f80fd5b5061023261059d565b3480156102af575f80fd5b506101c2600e5481565b3480156102c4575f80fd5b50610232610651565b3480156102d8575f80fd5b506102326102e7366004611839565b610aea565b3480156102f7575f80fd5b505f546040516001600160a01b039091168152602001610175565b34801561031d575f80fd5b506101c2600f5481565b348015610332575f80fd5b50604080518082019091526002815261212560f11b6020820152610168565b34801561035c575f80fd5b5061019d61036b366004611839565b610c04565b34801561037b575f80fd5b506101c260105481565b348015610390575f80fd5b506101c261039f3660046118bc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103d4575f80fd5b506102326103e33660046118a1565b610c10565b5f6103f4338484610ca7565b5060015b92915050565b5f61040b6009600a6119e7565b61041a906461f313f8806119f5565b905090565b5f61042b848484610dca565b61047c843361047785604051806060016040528060288152602001611ba0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611341565b610ca7565b5060015b9392505050565b6004546001600160a01b0316336001600160a01b0316146104a6575f80fd5b478061050c5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b60648201526084015b60405180910390fd5b61051581611379565b50565b6004546001600160a01b0316336001600160a01b031614610537575f80fd5b305f90815260016020526040902054801561055557610555816113b0565b4780156105655761056581611379565b5050565b5f546001600160a01b031633146105925760405162461bcd60e51b815260040161050390611a0c565b61059b5f611520565b565b5f546001600160a01b031633146105c65760405162461bcd60e51b815260040161050390611a0c565b6105d26009600a6119e7565b6105e1906461f313f8806119f5565b600e556105f06009600a6119e7565b6105ff906461f313f8806119f5565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61062f6009600a6119e7565b61063e906461f313f8806119f5565b60405190815260200160405180910390a1565b5f546001600160a01b0316331461067a5760405162461bcd60e51b815260040161050390611a0c565b601354600160a01b900460ff16156106d45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610503565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071e90309061070f6009600a6119e7565b610477906461f313f8806119f5565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561076e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107929190611a41565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108159190611a41565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108839190611a41565b601380546001600160a01b0319166001600160a01b0392909216919091179055305f9081526001602052604081205490505f6108d560646108cf6005548561156f90919063ffffffff16565b906115ed565b90505f6108e2838361162e565b90505f83116109435760405162461bcd60e51b815260206004820152602760248201527f436f6e7472616374206d75737420686f6c6420746f6b656e7320666f72206c696044820152667175696469747960c81b6064820152608401610503565b5f471161099e5760405162461bcd60e51b8152602060048201526024808201527f436f6e7472616374206d75737420686f6c642045544820666f72206c697175696044820152636469747960e01b6064820152608401610503565b6012546001600160a01b031663f305d7194730845f806109c55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a509190611a5c565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611a87565b50504360155550506013805462ff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b09575f80fd5b6040516370a0823160e01b81523060048201525f90610b84906064906108cf9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e9190611aa6565b9061156f565b6004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390529192509084169063a9059cbb906044016020604051808303815f875af1158015610bda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bfe9190611a87565b50505050565b5f6103f4338484610dca565b5f546001600160a01b03163314610c395760405162461bcd60e51b815260040161050390611a0c565b6001600160a01b038116610c9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610503565b61051581611520565b6001600160a01b038316610d095760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610503565b6001600160a01b038216610d6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610503565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610503565b6001600160a01b038216610e905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610503565b5f8111610ef15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610503565b5f80546001600160a01b03858116911614801590610f1c57505f546001600160a01b03848116911614155b1561120457601354600160a01b900460ff168015610f3c57506001600d54115b15610f4f57610f4c82848661166f565b90505b6015544303610fb757601454600d5410610fb75760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d61782062757973206f6e2074686520666972737420626c60448201526337b1b59760e11b6064820152608401610503565b6013546001600160a01b038581169116148015610fe257506012546001600160a01b03848116911614155b801561100657506001600160a01b0383165f9081526003602052604090205460ff16155b1561111457600e5482111561105d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610503565b600f548261107f856001600160a01b03165f9081526001602052604090205490565b6110899190611abd565b11156110d75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610503565b6110fd60646108cf600954600d54116110f2576005546110f6565b6007545b859061156f565b600d80549192505f61110e83611ad0565b91905055505b6013546001600160a01b03848116911614801561113a57506001600160a01b0384163014155b156111675761116460646108cf600a54600d541161115a576006546110f6565b600854859061156f565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561119d57506013546001600160a01b038581169116145b80156111b25750601354600160b01b900460ff165b80156111bf575060105481115b80156111ce5750600b54600d54115b15611202576111f06111eb846111e68460115461173b565b61173b565b6113b0565b4780156112005761120047611379565b505b505b801561127c57305f90815260016020526040902054611223908261174f565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112739085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461129e908361162e565b6001600160a01b0385165f908152600160205260409020556112e16112c3838361162e565b6001600160a01b0385165f908152600160205260409020549061174f565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61132a858561162e565b60405190815260200160405180910390a350505050565b5f81848411156113645760405162461bcd60e51b815260040161050391906117d9565b505f6113708486611ae8565b95945050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610565573d5f803e3d5ffd5b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113f6576113f6611afb565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561144d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114719190611a41565b8160018151811061148457611484611afb565b6001600160a01b0392831660209182029290920101526012546114aa9130911684610ca7565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114e29085905f90869030904290600401611b0f565b5f604051808303815f87803b1580156114f9575f80fd5b505af115801561150b573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f825f0361157e57505f6103f8565b5f61158983856119f5565b9050826115968583611b80565b146104805760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610503565b5f61048083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ad565b5f61048083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611341565b335f9081526003602052604081205460ff16801561168d5750333b15155b80156116a257506001600160a01b0382163014155b156116d257506001600160a01b0381165f9081526002602090815260408083203384529091528120849055610480565b823b151580156116f057506013546001600160a01b03848116911614155b801561170a5750335f9081526003602052604090205460ff165b15611732576001600160a01b0383165f908152600360205260409020805460ff191660011790555b505f9392505050565b5f8183116117495782610480565b50919050565b5f8061175b8385611abd565b9050838110156104805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610503565b5f81836117cd5760405162461bcd60e51b815260040161050391906117d9565b505f6113708486611b80565b5f602080835283518060208501525f5b81811015611805578581018301518582016040015282016117e9565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610515575f80fd5b5f806040838503121561184a575f80fd5b823561185581611825565b946020939093013593505050565b5f805f60608486031215611875575f80fd5b833561188081611825565b9250602084013561189081611825565b929592945050506040919091013590565b5f602082840312156118b1575f80fd5b813561048081611825565b5f80604083850312156118cd575f80fd5b82356118d881611825565b915060208301356118e881611825565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194157815f1904821115611927576119276118f3565b8085161561193457918102915b93841c939080029061190c565b509250929050565b5f82611957575060016103f8565b8161196357505f6103f8565b816001811461197957600281146119835761199f565b60019150506103f8565b60ff841115611994576119946118f3565b50506001821b6103f8565b5060208310610133831016604e8410600b84101617156119c2575081810a6103f8565b6119cc8383611907565b805f19048211156119df576119df6118f3565b029392505050565b5f61048060ff841683611949565b80820281158282048414176103f8576103f86118f3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611a51575f80fd5b815161048081611825565b5f805f60608486031215611a6e575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a97575f80fd5b81518015158114610480575f80fd5b5f60208284031215611ab6575f80fd5b5051919050565b808201808211156103f8576103f86118f3565b5f60018201611ae157611ae16118f3565b5060010190565b818103818111156103f8576103f86118f3565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b5f5784516001600160a01b031683529383019391830191600101611b3a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b9a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220805bc6e5ca58ded93404c3ec55f16567efdd1b4c5b9ff2e9fb36159d61fcc1f064736f6c63430008180033

Deployed Bytecode Sourcemap

7954:11094:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10489:83;;;;;;;;;;-1:-1:-1;10559:5:0;;;;;;;;;;;;-1:-1:-1;;;10559:5:0;;;;10489:83;;;;;;;:::i;:::-;;;;;;;;11322:161;;;;;;;;;;-1:-1:-1;11322:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11322:161:0;1023:187:1;9610:48:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;9610:48:0;1215:177:1;10766:95:0;;;;;;;;;;;;;:::i;11491:313::-;;;;;;;;;;-1:-1:-1;11491:313:0;;;;;:::i;:::-;;:::i;10675:83::-;;;;;;;;;;-1:-1:-1;10675:83:0;;9202:1;2000:36:1;;1988:2;1973:18;10675:83:0;1858:184:1;18786:259:0;;;;;;;;;;;;;:::i;:::-;;18260:358;;;;;;;;;;;;;:::i;10869:119::-;;;;;;;;;;-1:-1:-1;10869:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10962:18:0;10935:7;10962:18;;;:9;:18;;;;;;;10869:119;3380:103;;;;;;;;;;;;;:::i;16540:160::-;;;;;;;;;;;;;:::i;9435:49::-;;;;;;;;;;;;;;;;16958:1059;;;;;;;;;;;;;:::i;16092:266::-;;;;;;;;;;-1:-1:-1;16092:266:0;;;;;:::i;:::-;;:::i;2753:87::-;;;;;;;;;;-1:-1:-1;2799:7:0;2826:6;2753:87;;-1:-1:-1;;;;;2826:6:0;;;2445:51:1;;2433:2;2418:18;2753:87:0;2299:203:1;9491:51:0;;;;;;;;;;;;;;;;10580:87;;;;;;;;;;-1:-1:-1;10652:7:0;;;;;;;;;;;;-1:-1:-1;;;10652:7:0;;;;10580:87;;10996:167;;;;;;;;;;-1:-1:-1;10996:167:0;;;;;:::i;:::-;;:::i;9549:54::-;;;;;;;;;;;;;;;;11171:143;;;;;;;;;;-1:-1:-1;11171:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11279:18:0;;;11252:7;11279:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11171:143;2974:199;;;;;;;;;;-1:-1:-1;2974:199:0;;;;;:::i;:::-;;:::i;11322:161::-;11397:4;11414:39;402:10;11437:7;11446:6;11414:8;:39::i;:::-;-1:-1:-1;11471:4:0;11322:161;;;;;:::o;10766:95::-;10819:7;9260:13;9202:1;9260:2;:13;:::i;:::-;9245:28;;:12;:28;:::i;:::-;10839:14;;10766:95;:::o;11491:313::-;11589:4;11606:36;11616:6;11624:9;11635:6;11606:9;:36::i;:::-;11653:121;11662:6;402:10;11684:89;11722:6;11684:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11684:19:0;;;;;;:11;:19;;;;;;;;402:10;11684:33;;;;;;;;;;:37;:89::i;:::-;11653:8;:121::i;:::-;-1:-1:-1;11792:4:0;11491:313;;;;;;:::o;18786:259::-;18860:10;;-1:-1:-1;;;;;18860:10:0;402;-1:-1:-1;;;;;18844:26:0;;18836:35;;;;;;18903:21;18943:12;18935:67;;;;-1:-1:-1;;;18935:67:0;;4784:2:1;18935:67:0;;;4766:21:1;4823:2;4803:18;;;4796:30;4862:34;4842:18;;;4835:62;-1:-1:-1;;;4913:18:1;;;4906:40;4963:19;;18935:67:0;;;;;;;;;19013:24;19026:10;19013:12;:24::i;:::-;18825:220;18786:259::o;18260:358::-;18326:10;;-1:-1:-1;;;;;18326:10:0;402;-1:-1:-1;;;;;18310:26:0;;18302:35;;;;;;18389:4;18348:20;10962:18;;;:9;:18;;;;;;18410:14;;18406:75;;18439:30;18456:12;18439:16;:30::i;:::-;18512:21;18548:12;;18544:67;;18575:24;18588:10;18575:12;:24::i;:::-;18291:327;;18260:358::o;3380:103::-;2799:7;2826:6;-1:-1:-1;;;;;2826:6:0;402:10;2888:21;2880:66;;;;-1:-1:-1;;;2880:66:0;;;;;;;:::i;:::-;3445:30:::1;3472:1;3445:18;:30::i;:::-;3380:103::o:0;16540:160::-;2799:7;2826:6;-1:-1:-1;;;;;2826:6:0;402:10;2888:21;2880:66;;;;-1:-1:-1;;;2880:66:0;;;;;;;:::i;:::-;9260:13:::1;9202:1;9260:2;:13;:::i;:::-;9245:28;::::0;:12:::1;:28;:::i;:::-;16594:12;:22:::0;9260:13:::1;9202:1;9260:2;:13;:::i;:::-;9245:28;::::0;:12:::1;:28;:::i;:::-;16627:14;:22:::0;16665:27:::1;9260:13;9202:1;9260:2;:13;:::i;:::-;9245:28;::::0;:12:::1;:28;:::i;:::-;16665:27;::::0;1361:25:1;;;1349:2;1334:18;16665:27:0::1;;;;;;;16540:160::o:0;16958:1059::-;2799:7;2826:6;-1:-1:-1;;;;;2826:6:0;402:10;2888:21;2880:66;;;;-1:-1:-1;;;2880:66:0;;;;;;;:::i;:::-;17024:11:::1;::::0;-1:-1:-1;;;17024:11:0;::::1;;;17023:12;17015:48;;;::::0;-1:-1:-1;;;17015:48:0;;5556:2:1;17015:48:0::1;::::0;::::1;5538:21:1::0;5595:2;5575:18;;;5568:30;5634:25;5614:18;;;5607:53;5677:18;;17015:48:0::1;5354:347:1::0;17015:48:0::1;17074:15;:80:::0;;-1:-1:-1;;;;;;17074:80:0::1;17111:42;17074:80:::0;;::::1;::::0;;;17165:57:::1;::::0;17182:4:::1;::::0;9260:13:::1;9202:1;9260:2;:13;:::i;:::-;9245:28;::::0;:12:::1;:28;:::i;17165:57::-;17267:15;;;;;;;;;-1:-1:-1::0;;;;;17267:15:0::1;-1:-1:-1::0;;;;;17267:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17249:55:0::1;;17313:4;17320:15;;;;;;;;;-1:-1:-1::0;;;;;17320:15:0::1;-1:-1:-1::0;;;;;17320:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17249:94;::::0;-1:-1:-1;;;;;;17249:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6192:15:1;;;17249:94:0::1;::::0;::::1;6174:34:1::0;6244:15;;6224:18;;;6217:43;6109:18;;17249:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17233:13;:110:::0;;-1:-1:-1;;;;;;17233:110:0::1;-1:-1:-1::0;;;;;17233:110:0;;;::::1;::::0;;;::::1;::::0;;17398:4:::1;-1:-1:-1::0;10962:18:0;;;-1:-1:-1;10962:18:0;;;;;;17354:50:::1;;17415:17;17435:44;17475:3;17435:35;17455:14;;17435:15;:19;;:35;;;;:::i;:::-;:39:::0;::::1;:44::i;:::-;17415:64:::0;-1:-1:-1;17490:17:0::1;17510:30;:15:::0;17415:64;17510:19:::1;:30::i;:::-;17490:50;;17575:1;17559:15;:17;17551:68;;;::::0;-1:-1:-1;;;17551:68:0;;6473:2:1;17551:68:0::1;::::0;::::1;6455:21:1::0;6512:2;6492:18;;;6485:30;6551:34;6531:18;;;6524:62;-1:-1:-1;;;6602:18:1;;;6595:37;6649:19;;17551:68:0::1;6271:403:1::0;17551:68:0::1;17660:1;17638:21;:23;17630:71;;;::::0;-1:-1:-1;;;17630:71:0;;6881:2:1;17630:71:0::1;::::0;::::1;6863:21:1::0;6920:2;6900:18;;;6893:30;6959:34;6939:18;;;6932:62;-1:-1:-1;;;7010:18:1;;;7003:34;7054:19;;17630:71:0::1;6679:400:1::0;17630:71:0::1;17712:15;::::0;-1:-1:-1;;;;;17712:15:0::1;:31;17751:21;17782:4;17789:9:::0;17712:15:::1;::::0;17806:7:::1;2799::::0;2826:6;-1:-1:-1;;;;;2826:6:0;;2753:87;17806:7:::1;17712:119;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17712:119:0;;;-1:-1:-1;;;;;7443:15:1;;;17712:119:0::1;::::0;::::1;7425:34:1::0;7475:18;;;7468:34;;;;7518:18;;;7511:34;;;;7561:18;;;7554:34;7625:15;;;7604:19;;;7597:44;17815:15:0::1;7657:19:1::0;;;7650:35;7359:19;;17712:119:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17849:13:0::1;::::0;17880:15:::1;::::0;17842:71:::1;::::0;-1:-1:-1;;;17842:71:0;;-1:-1:-1;;;;;17880:15:0;;::::1;17842:71;::::0;::::1;8181:51:1::0;-1:-1:-1;;8248:18:1;;;8241:34;17849:13:0;::::1;::::0;-1:-1:-1;17842:29:0::1;::::0;8154:18:1;;17842:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17939:12:0::1;17926:10;:25:::0;-1:-1:-1;;17962:11:0::1;:18:::0;;-1:-1:-1;;;;17991:18:0;-1:-1:-1;;;17991:18:0;;;16958:1059::o;16092:266::-;16190:10;;-1:-1:-1;;;;;16190:10:0;402;-1:-1:-1;;;;;16176:24:0;;16168:33;;;;;;16230:41;;-1:-1:-1;;;16230:41:0;;16265:4;16230:41;;;2445:51:1;16212:15:0;;16230:63;;16289:3;;16230:54;;16276:7;;-1:-1:-1;;;;;16230:26:0;;;;;2418:18:1;;16230:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:63::-;16330:10;;;16304:46;;-1:-1:-1;;;16304:46:0;;-1:-1:-1;;;;;16330:10:0;;;16304:46;;;8181:51:1;;;;8248:18;;;8241:34;;;16212:81:0;;-1:-1:-1;16304:25:0;;;;;;8154:18:1;;16304:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16157:201;16092:266;;:::o;10996:167::-;11074:4;11091:42;402:10;11115:9;11126:6;11091:9;:42::i;2974:199::-;2799:7;2826:6;-1:-1:-1;;;;;2826:6:0;402:10;2888:21;2880:66;;;;-1:-1:-1;;;2880:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3063:20:0;::::1;3055:71;;;::::0;-1:-1:-1;;;3055:71:0;;9246:2:1;3055:71:0::1;::::0;::::1;9228:21:1::0;9285:2;9265:18;;;9258:30;9324:34;9304:18;;;9297:62;-1:-1:-1;;;9375:18:1;;;9368:36;9421:19;;3055:71:0::1;9044:402:1::0;3055:71:0::1;3137:28;3156:8;3137:18;:28::i;11812:335::-:0;-1:-1:-1;;;;;11905:19:0;;11897:68;;;;-1:-1:-1;;;11897:68:0;;9653:2:1;11897:68:0;;;9635:21:1;9692:2;9672:18;;;9665:30;9731:34;9711:18;;;9704:62;-1:-1:-1;;;9782:18:1;;;9775:34;9826:19;;11897:68:0;9451:400:1;11897:68:0;-1:-1:-1;;;;;11984:21:0;;11976:68;;;;-1:-1:-1;;;11976:68:0;;10058:2:1;11976:68:0;;;10040:21:1;10097:2;10077:18;;;10070:30;10136:34;10116:18;;;10109:62;-1:-1:-1;;;10187:18:1;;;10180:32;10229:19;;11976:68:0;9856:398:1;11976:68:0;-1:-1:-1;;;;;12055:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12107:32;;1361:25:1;;;12107:32:0;;1334:18:1;12107:32:0;;;;;;;11812:335;;;:::o;12193:2145::-;-1:-1:-1;;;;;12281:16:0;;12273:66;;;;-1:-1:-1;;;12273:66:0;;10461:2:1;12273:66:0;;;10443:21:1;10500:2;10480:18;;;10473:30;10539:34;10519:18;;;10512:62;-1:-1:-1;;;10590:18:1;;;10583:35;10635:19;;12273:66:0;10259:401:1;12273:66:0;-1:-1:-1;;;;;12358:16:0;;12350:64;;;;-1:-1:-1;;;12350:64:0;;10867:2:1;12350:64:0;;;10849:21:1;10906:2;10886:18;;;10879:30;10945:34;10925:18;;;10918:62;-1:-1:-1;;;10996:18:1;;;10989:33;11039:19;;12350:64:0;10665:399:1;12350:64:0;12440:1;12433:6;:8;12425:62;;;;-1:-1:-1;;;12425:62:0;;11271:2:1;12425:62:0;;;11253:21:1;11310:2;11290:18;;;11283:30;11349:34;11329:18;;;11322:62;-1:-1:-1;;;11400:18:1;;;11393:39;11449:19;;12425:62:0;11069:405:1;12425:62:0;12498:17;2826:6;;-1:-1:-1;;;;;12532:13:0;;;2826:6;;12532:13;;;;:28;;-1:-1:-1;2799:7:0;2826:6;-1:-1:-1;;;;;12549:11:0;;;2826:6;;12549:11;;12532:28;12528:1449;;;12579:11;;-1:-1:-1;;;12579:11:0;;;;:26;;;;;12604:1;12594:9;;:11;12579:26;12576:110;;;12635:35;12653:6;12661:2;12665:4;12635:17;:35::i;:::-;12625:45;;12576:110;12720:10;;12705:12;:25;12702:140;;12768:17;;12758:9;;:27;12750:76;;;;-1:-1:-1;;;12750:76:0;;11681:2:1;12750:76:0;;;11663:21:1;11720:2;11700:18;;;11693:30;11759:34;11739:18;;;11732:62;-1:-1:-1;;;11810:18:1;;;11803:34;11854:19;;12750:76:0;11479:400:1;12750:76:0;12880:13;;-1:-1:-1;;;;;12874:19:0;;;12880:13;;12874:19;:52;;;;-1:-1:-1;12910:15:0;;-1:-1:-1;;;;;12897:29:0;;;12910:15;;12897:29;;12874:52;:79;;;;-1:-1:-1;;;;;;12931:22:0;;;;;;:18;:22;;;;;;;;12930:23;12874:79;12870:412;;;12992:12;;12983:6;:21;;12975:59;;;;-1:-1:-1;;;12975:59:0;;12086:2:1;12975:59:0;;;12068:21:1;12125:2;12105:18;;;12098:30;12164:27;12144:18;;;12137:55;12209:18;;12975:59:0;11884:349:1;12975:59:0;13084:14;;13075:6;13061:13;13071:2;-1:-1:-1;;;;;10962:18:0;10935:7;10962:18;;;:9;:18;;;;;;;10869:119;13061:13;:20;;;;:::i;:::-;:37;;13053:76;;;;-1:-1:-1;;;13053:76:0;;12570:2:1;13053:76:0;;;12552:21:1;12609:2;12589:18;;;12582:30;12648:28;12628:18;;;12621:56;12694:18;;13053:76:0;12368:350:1;13053:76:0;13158:78;13232:3;13158:69;13181:15;;13170:9;;:26;13169:57;;13212:14;;13169:57;;;13199:12;;13169:57;13158:6;;:10;:69::i;:78::-;13255:9;:11;;13148:88;;-1:-1:-1;13255:9:0;:11;;;:::i;:::-;;;;;;12870:412;13306:13;;-1:-1:-1;;;;;13302:17:0;;;13306:13;;13302:17;:41;;;;-1:-1:-1;;;;;;13323:20:0;;13338:4;13323:20;;13302:41;13298:172;;;13373:81;13450:3;13373:72;13396:16;;13385:9;;:27;13384:60;;13429:15;;13384:60;;;13415:13;;13373:6;;:10;:72::i;:81::-;13363:91;;13298:172;13533:4;13486:28;10962:18;;;:9;:18;;;;;;13558:6;;-1:-1:-1;;;13558:6:0;;;;13557:7;:28;;;;-1:-1:-1;13572:13:0;;-1:-1:-1;;;;;13568:17:0;;;13572:13;;13568:17;13557:28;:43;;;;-1:-1:-1;13589:11:0;;-1:-1:-1;;;13589:11:0;;;;13557:43;:85;;;;;13625:17;;13604:20;:38;13557:85;:117;;;;;13656:18;;13646:9;;:28;13557:117;13554:412;;;13694:68;13711:50;13715:6;13723:37;13727:20;13748:11;;13723:3;:37::i;:::-;13711:3;:50::i;:::-;13694:16;:68::i;:::-;13808:21;13852:20;;13848:103;;13896:35;13909:21;13896:12;:35::i;:::-;13675:291;13554:412;12561:1416;12528:1449;13993:11;;13989:166;;14064:4;14046:24;;;;:9;:24;;;;;;:39;;14075:9;14046:28;:39::i;:::-;14039:4;14021:24;;;;:9;:24;;;;;;;:64;;;;14105:38;;-1:-1:-1;;;;;14105:38:0;;;;;;;14133:9;1361:25:1;;1349:2;1334:18;;1215:177;14105:38:0;;;;;;;;13989:166;-1:-1:-1;;;;;14183:15:0;;;;;;:9;:15;;;;;;:27;;14203:6;14183:19;:27::i;:::-;-1:-1:-1;;;;;14167:15:0;;;;;;:9;:15;;;;;:43;14235:40;14253:21;:6;14264:9;14253:10;:21::i;:::-;-1:-1:-1;;;;;14235:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;14221:13:0;;;;;;;:9;:13;;;;;:54;;;;14291:39;;;14308:21;:6;14319:9;14308:10;:21::i;:::-;14291:39;;1361:25:1;;;1349:2;1334:18;14291:39:0;;;;;;;12262:2076;12193:2145;;;:::o;6563:210::-;6669:7;6705:12;6697:6;;;;6689:29;;;;-1:-1:-1;;;6689:29:0;;;;;;;;:::i;:::-;-1:-1:-1;6729:9:0;6741:5;6745:1;6741;:5;:::i;:::-;6729:17;6563:210;-1:-1:-1;;;;;6563:210:0:o;15747:92::-;15804:10;;:27;;-1:-1:-1;;;;;15804:10:0;;;;:27;;;;;15824:6;;15804:10;:27;:10;:27;15824:6;15804:10;:27;;;;;;;;;;;;;;;;;;;15256:483;10032:6;:12;;-1:-1:-1;;;;10032:12:0;-1:-1:-1;;;10032:12:0;;;15358:16:::1;::::0;;15372:1:::1;15358:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15358:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15358:16:0::1;15334:40;;15403:4;15385;15390:1;15385:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15385:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15429:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15429:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15385:7;;15429:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15419:4;15424:1;15419:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15419:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15494:15:::1;::::0;15462:62:::1;::::0;15479:4:::1;::::0;15494:15:::1;15512:11:::0;15462:8:::1;:62::i;:::-;15535:15;::::0;:196:::1;::::0;-1:-1:-1;;;15535:196:0;;-1:-1:-1;;;;;15535:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15616:11;;15535:15:::1;::::0;15658:4;;15685::::1;::::0;15705:15:::1;::::0;15535:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10067:6:0;:13;;-1:-1:-1;;;;10067:13:0;;;-1:-1:-1;;;;15256:483:0:o;3181:191::-;3255:16;3274:6;;-1:-1:-1;;;;;3291:17:0;;;-1:-1:-1;;;;;;3291:17:0;;;;;;3324:40;;3274:6;;;;;;;3324:40;;3255:16;3324:40;3244:128;3181:191;:::o;6943:266::-;7021:7;7045:1;7050;7045:6;7041:47;;-1:-1:-1;7075:1:0;7068:8;;7041:47;7098:9;7110:5;7114:1;7110;:5;:::i;:::-;7098:17;-1:-1:-1;7143:1:0;7134:5;7138:1;7098:17;7134:5;:::i;:::-;:10;7126:56;;;;-1:-1:-1;;;7126:56:0;;14669:2:1;7126:56:0;;;14651:21:1;14708:2;14688:18;;;14681:30;14747:34;14727:18;;;14720:62;-1:-1:-1;;;14798:18:1;;;14791:31;14839:19;;7126:56:0;14467:397:1;7371:132:0;7429:7;7456:39;7460:1;7463;7456:39;;;;;;;;;;;;;;;;;:3;:39::i;6188:136::-;6246:7;6273:43;6277:1;6280;6273:43;;;;;;;;;;;;;;;;;:3;:43::i;14835:413::-;402:10;14920:7;14942:32;;;:18;:32;;;;;;;;:60;;;;-1:-1:-1;402:10:0;14763:20;14811:8;;14978:24;14942:86;;;;-1:-1:-1;;;;;;15006:22:0;;15023:4;15006:22;;14942:86;14939:150;;;-1:-1:-1;;;;;;14562:18:0;;14541:7;14562:18;;;:11;:18;;;;;;;;402:10;14562:27;;;;;;;:36;;;15043:46;;14939:150;14763:20;;14811:8;;15103:37;;;;-1:-1:-1;15127:13:0;;-1:-1:-1;;;;;15121:19:0;;;15127:13;;15121:19;;15103:37;:74;;;;-1:-1:-1;402:10:0;15145:32;;;;:18;:32;;;;;;;;15103:74;15100:121;;;-1:-1:-1;;;;;15192:22:0;;;;;;:18;:22;;;;;:29;;-1:-1:-1;;15192:29:0;15217:4;15192:29;;;15100:121;-1:-1:-1;15239:1:0;14835:413;;;;;:::o;14346:101::-;14403:7;14431:1;14429;:3;14428:11;;14438:1;14428:11;;;-1:-1:-1;14434:1:0;14346:101;-1:-1:-1;14346:101:0:o;5825:199::-;5903:7;;5935:5;5939:1;5935;:5;:::i;:::-;5923:17;;5964:1;5959;:6;;5951:46;;;;-1:-1:-1;;;5951:46:0;;15071:2:1;5951:46:0;;;15053:21:1;15110:2;15090:18;;;15083:30;15149:29;15129:18;;;15122:57;15196:18;;5951:46:0;14869:351:1;7738:209:0;7844:7;7879:12;7872:5;7864:28;;;;-1:-1:-1;;;7864:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7903:9:0;7915:5;7919:1;7915;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:416;3121:1;3158:5;3121:1;3172:270;3193:7;3183:8;3180:21;3172:270;;;3252:4;3248:1;3244:6;3240:17;3234:4;3231:27;3228:53;;;3261:18;;:::i;:::-;3311:7;3301:8;3297:22;3294:55;;;3331:16;;;;3294:55;3410:22;;;;3370:15;;;;3172:270;;;3176:3;3032:416;;;;;:::o;3453:806::-;3502:5;3532:8;3522:80;;-1:-1:-1;3573:1:1;3587:5;;3522:80;3621:4;3611:76;;-1:-1:-1;3658:1:1;3672:5;;3611:76;3703:4;3721:1;3716:59;;;;3789:1;3784:130;;;;3696:218;;3716:59;3746:1;3737:10;;3760:5;;;3784:130;3821:3;3811:8;3808:17;3805:43;;;3828:18;;:::i;:::-;-1:-1:-1;;3884:1:1;3870:16;;3899:5;;3696:218;;3998:2;3988:8;3985:16;3979:3;3973:4;3970:13;3966:36;3960:2;3950:8;3947:16;3942:2;3936:4;3933:12;3929:35;3926:77;3923:159;;;-1:-1:-1;4035:19:1;;;4067:5;;3923:159;4114:34;4139:8;4133:4;4114:34;:::i;:::-;4184:6;4180:1;4176:6;4172:19;4163:7;4160:32;4157:58;;;4195:18;;:::i;:::-;4233:20;;3453:806;-1:-1:-1;;;3453:806:1:o;4264:140::-;4322:5;4351:47;4392:4;4382:8;4378:19;4372:4;4351:47;:::i;4409:168::-;4482:9;;;4513;;4530:15;;;4524:22;;4510:37;4500:71;;4551:18;;:::i;4993:356::-;5195:2;5177:21;;;5214:18;;;5207:30;5273:34;5268:2;5253:18;;5246:62;5340:2;5325:18;;4993:356::o;5706:251::-;5776:6;5829:2;5817:9;5808:7;5804:23;5800:32;5797:52;;;5845:1;5842;5835:12;5797:52;5877:9;5871:16;5896:31;5921:5;5896:31;:::i;7696:306::-;7784:6;7792;7800;7853:2;7841:9;7832:7;7828:23;7824:32;7821:52;;;7869:1;7866;7859:12;7821:52;7898:9;7892:16;7882:26;;7948:2;7937:9;7933:18;7927:25;7917:35;;7992:2;7981:9;7977:18;7971:25;7961:35;;7696:306;;;;;:::o;8286:277::-;8353:6;8406:2;8394:9;8385:7;8381:23;8377:32;8374:52;;;8422:1;8419;8412:12;8374:52;8454:9;8448:16;8507:5;8500:13;8493:21;8486:5;8483:32;8473:60;;8529:1;8526;8519:12;8568:184;8638:6;8691:2;8679:9;8670:7;8666:23;8662:32;8659:52;;;8707:1;8704;8697:12;8659:52;-1:-1:-1;8730:16:1;;8568:184;-1:-1:-1;8568:184:1:o;12238:125::-;12303:9;;;12324:10;;;12321:36;;;12337:18;;:::i;12723:135::-;12762:3;12783:17;;;12780:43;;12803:18;;:::i;:::-;-1:-1:-1;12850:1:1;12839:13;;12723:135::o;12863:128::-;12930:9;;;12951:11;;;12948:37;;;12965:18;;:::i;13128:127::-;13189:10;13184:3;13180:20;13177:1;13170:31;13220:4;13217:1;13210:15;13244:4;13241:1;13234:15;13260:980;13522:4;13570:3;13559:9;13555:19;13601:6;13590:9;13583:25;13627:2;13665:6;13660:2;13649:9;13645:18;13638:34;13708:3;13703:2;13692:9;13688:18;13681:31;13732:6;13767;13761:13;13798:6;13790;13783:22;13836:3;13825:9;13821:19;13814:26;;13875:2;13867:6;13863:15;13849:29;;13896:1;13906:195;13920:6;13917:1;13914:13;13906:195;;;13985:13;;-1:-1:-1;;;;;13981:39:1;13969:52;;14076:15;;;;14041:12;;;;14017:1;13935:9;13906:195;;;-1:-1:-1;;;;;;;14157:32:1;;;;14152:2;14137:18;;14130:60;-1:-1:-1;;;14221:3:1;14206:19;14199:35;14118:3;13260:980;-1:-1:-1;;;13260:980:1:o;14245:217::-;14285:1;14311;14301:132;;14355:10;14350:3;14346:20;14343:1;14336:31;14390:4;14387:1;14380:15;14418:4;14415:1;14408:15;14301:132;-1:-1:-1;14447:9:1;;14245:217::o

Swarm Source

ipfs://805bc6e5ca58ded93404c3ec55f16567efdd1b4c5b9ff2e9fb36159d61fcc1f0

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.