ETH Price: $3,285.72 (-1.34%)

Contract

0xa5D0B8eA789c1c806c13440A5cC449768Ab4C5c0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214272792024-12-18 5:17:595 days ago1734499079IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0004988310.71857927
Approve212665072024-11-25 18:18:1127 days ago1732558691IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0008091817.5
Approve212662942024-11-25 17:34:5927 days ago1732556099IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0007316515.79878154
Approve212660112024-11-25 16:37:5927 days ago1732552679IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0011203724.19247799
Transfer209773352024-10-16 9:49:5967 days ago1729072199IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0005942110.9
Transfer209720292024-10-15 16:02:4768 days ago1729008167IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0010714219.74137089
Transfer209719732024-10-15 15:51:2368 days ago1729007483IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0007882321.20446997
Set Sell Tax209377402024-10-10 20:55:4773 days ago1728593747IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000380612.8
Set Buy Tax209377382024-10-10 20:55:2373 days ago1728593723IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0005666912.1
Approve209312662024-10-09 23:16:4774 days ago1728515807IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000669714.39013756
Approve209298742024-10-09 18:37:1174 days ago1728499031IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0015340233.12431595
Approve209275712024-10-09 10:55:2374 days ago1728471323IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0009890221.35611604
Approve209168542024-10-07 23:04:4776 days ago1728342287IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0006236213.4
Approve209164022024-10-07 21:33:5976 days ago1728336839IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0014726231.81500327
Approve209162842024-10-07 21:10:1176 days ago1728335411IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0007919117.01611141
Approve209140742024-10-07 13:46:3576 days ago1728308795IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0017170936.84834831
Approve209123542024-10-07 8:01:4776 days ago1728288107IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000358377.70052605
Update Tax Swap ...209122972024-10-07 7:50:2376 days ago1728287423IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000199256.7
Update Max Tax S...209122932024-10-07 7:49:3576 days ago1728287375IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000200436.72500522
Set Sell Tax209091612024-10-06 21:20:3577 days ago1728249635IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000225987.6
Set Buy Tax209091582024-10-06 21:19:5977 days ago1728249599IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000176947.1
Approve209090272024-10-06 20:53:3577 days ago1728248015IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.000261835.65390722
Approve209084062024-10-06 18:48:4777 days ago1728240527IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.00034587.43037408
Approve209080322024-10-06 17:33:5977 days ago1728236039IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.0010303722.1114391
Exclude Multiple...209079982024-10-06 17:27:1177 days ago1728235631IN
0xa5D0B8eA...68Ab4C5c0
0 ETH0.001525099.44789524
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214272822024-12-18 5:18:355 days ago1734499115
0xa5D0B8eA...68Ab4C5c0
0.00560725 ETH
214272822024-12-18 5:18:355 days ago1734499115
0xa5D0B8eA...68Ab4C5c0
0.00560725 ETH
214272822024-12-18 5:18:355 days ago1734499115
0xa5D0B8eA...68Ab4C5c0
0.0112145 ETH
213256782024-12-04 0:52:4719 days ago1733273567
0xa5D0B8eA...68Ab4C5c0
0.00570923 ETH
213256782024-12-04 0:52:4719 days ago1733273567
0xa5D0B8eA...68Ab4C5c0
0.00570923 ETH
213256782024-12-04 0:52:4719 days ago1733273567
0xa5D0B8eA...68Ab4C5c0
0.01141847 ETH
212671922024-11-25 20:36:1127 days ago1732566971
0xa5D0B8eA...68Ab4C5c0
0.00576266 ETH
212671922024-11-25 20:36:1127 days ago1732566971
0xa5D0B8eA...68Ab4C5c0
0.00576266 ETH
212671922024-11-25 20:36:1127 days ago1732566971
0xa5D0B8eA...68Ab4C5c0
0.01152532 ETH
212211182024-11-19 10:15:5933 days ago1732011359
0xa5D0B8eA...68Ab4C5c0
0.00627811 ETH
212211182024-11-19 10:15:5933 days ago1732011359
0xa5D0B8eA...68Ab4C5c0
0.00627811 ETH
212211182024-11-19 10:15:5933 days ago1732011359
0xa5D0B8eA...68Ab4C5c0
0.01255623 ETH
211379322024-11-07 19:43:1145 days ago1731008591
0xa5D0B8eA...68Ab4C5c0
0.00636593 ETH
211379322024-11-07 19:43:1145 days ago1731008591
0xa5D0B8eA...68Ab4C5c0
0.00636593 ETH
211379322024-11-07 19:43:1145 days ago1731008591
0xa5D0B8eA...68Ab4C5c0
0.01273186 ETH
210971262024-11-02 2:58:3551 days ago1730516315
0xa5D0B8eA...68Ab4C5c0
0.00652337 ETH
210971262024-11-02 2:58:3551 days ago1730516315
0xa5D0B8eA...68Ab4C5c0
0.00652337 ETH
210971262024-11-02 2:58:3551 days ago1730516315
0xa5D0B8eA...68Ab4C5c0
0.01304675 ETH
210392022024-10-25 0:59:4759 days ago1729817987
0xa5D0B8eA...68Ab4C5c0
0.0066028 ETH
210392022024-10-25 0:59:4759 days ago1729817987
0xa5D0B8eA...68Ab4C5c0
0.0066028 ETH
210392022024-10-25 0:59:4759 days ago1729817987
0xa5D0B8eA...68Ab4C5c0
0.01320561 ETH
209314172024-10-09 23:46:5974 days ago1728517619
0xa5D0B8eA...68Ab4C5c0
0.01404594 ETH
209314172024-10-09 23:46:5974 days ago1728517619
0xa5D0B8eA...68Ab4C5c0
0.01404594 ETH
209314172024-10-09 23:46:5974 days ago1728517619
0xa5D0B8eA...68Ab4C5c0
0.02809188 ETH
209142472024-10-07 14:21:1176 days ago1728310871
0xa5D0B8eA...68Ab4C5c0
0.02114951 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MineAI

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-06
*/

/*
website: https://mineai.co/
x: https://x.com/TheMineAI
telegram: https://t.me/mineaitoken
*/

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - 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;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

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

contract MineAI is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "MineAI";
    string private constant _symbol = "MineAI";
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000000 * 10 ** _decimals;

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

    address payable private _ownerWallet;
    uint256 private _buyTax = 10;
    uint256 private _sellTax = 10;
    uint256 private _taxSwapThreshold = 750000 * 10 ** _decimals;
    uint256 private _maxTaxSwap = 300000 * 10 ** _decimals;
    uint256 private liquidityPercentage = 50;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event BuyTaxUpdate(uint256 tax);
    event SellTaxUpdate(uint256 tax);
    event LiquidityAdd(
        uint256 amountToken,
        uint256 amountETH,
        uint256 liquidity
    );
    event OwnerWalletChange(address owner);
    event UpdateTaxSwapThreshold(uint256 taxSwapThreshold);
    event UpdateMaxTaxSwap(uint256 maxTaxSwap);
    event SetLiquidityPercentage(uint256 newLiquidityPercentage);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _balances[_msgSender()] = _tTotal;
        _ownerWallet = payable(_msgSender());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

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

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

    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 (from == uniswapV2Pair && !_isExcludedFromFee[to]) {
                taxAmount = amount.mul(_buyTax).div(100);
            } else if (
                to == uniswapV2Pair &&
                !_isExcludedFromFee[from] &&
                from != address(this)
            ) {
                taxAmount = amount.mul(_sellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance >= _taxSwapThreshold &&
                from != address(this)
            ) {
                uint256 swapToken = min(balanceOf(address(this)), _maxTaxSwap);
                swapTokensForEth(swapToken);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    uint256 liquidityETHAmount = contractETHBalance
                        .mul(liquidityPercentage)
                        .div(100);
                    addLiquidity(balanceOf(address(this)), liquidityETHAmount);
                    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 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 {
        _ownerWallet.transfer(amount);
    }

    function manualSwap() external {
        require(
            _msgSender() == _ownerWallet,
            "Only tax wallet can trigger manual swap"
        );
        uint256 contractTokenBalance = balanceOf(address(this));
        if (contractTokenBalance > 0) {
            swapTokensForEth(contractTokenBalance);
        }
    }

    function manualSend() external {
        require(
            _msgSender() == _ownerWallet,
            "Only tax wallet can trigger manual send"
        );
        uint256 contractETHBalance = address(this).balance;
        if (contractETHBalance > 0) {
            sendETHToFee(contractETHBalance);
        }
    }

    function setBuyTax(uint256 newBuyTax) external onlyOwner {
        require(newBuyTax <= 15, "Buy tax cannot exceed 15%");
        _buyTax = newBuyTax;

        emit BuyTaxUpdate(newBuyTax);
    }

    function setSellTax(uint256 newSellTax) external onlyOwner {
        require(newSellTax <= 15, "Sell tax cannot exceed 15%");
        _sellTax = newSellTax;

        emit SellTaxUpdate(newSellTax);
    }

    function setLiquidityPercentage(
        uint256 newLiquidityPercentage
    ) external onlyOwner {
        require(
            newLiquidityPercentage <= 100,
            "Liquidity percentage cannot exceed 100%"
        );
        liquidityPercentage = newLiquidityPercentage;

        emit SetLiquidityPercentage(newLiquidityPercentage);
    }

    function excludeMultipleFromFee(
        address[] calldata accounts,
        bool excluded
    ) external onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        ) = uniswapV2Router.addLiquidityETH{value: ethAmount}(
                address(this),
                tokenAmount,
                0,
                0,
                _ownerWallet,
                block.timestamp
            );

        emit LiquidityAdd(amountToken, amountETH, liquidity);
    }

    function setOwnerWallet(address payable newOwnerWallet) external onlyOwner {
        _ownerWallet = newOwnerWallet;

        emit OwnerWalletChange(newOwnerWallet);
    }

    function updateMaxTaxSwap(uint256 maxTaxSwap) external onlyOwner {
        _maxTaxSwap = maxTaxSwap;

        emit UpdateMaxTaxSwap(maxTaxSwap);
    }

    function updateTaxSwapThreshold(
        uint256 taxSwapThreshold
    ) external onlyOwner {
        _taxSwapThreshold = taxSwapThreshold;

        emit UpdateTaxSwapThreshold(taxSwapThreshold);
    }

    function recoverEmergency() external onlyOwner {
        sendETHToFee(address(this).balance);
    }

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

        addLiquidity(balanceOf(address(this)), address(this).balance);

        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );

        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}
}

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":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"BuyTaxUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"LiquidityAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerWalletChange","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":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"SellTaxUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newLiquidityPercentage","type":"uint256"}],"name":"SetLiquidityPercentage","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTaxSwap","type":"uint256"}],"name":"UpdateMaxTaxSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"taxSwapThreshold","type":"uint256"}],"name":"UpdateTaxSwapThreshold","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","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":"recoverEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityPercentage","type":"uint256"}],"name":"setLiquidityPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwnerWallet","type":"address"}],"name":"setOwnerWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setSellTax","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":"uint256","name":"maxTaxSwap","type":"uint256"}],"name":"updateMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxSwapThreshold","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600555600a6006556012600a6200001e91906200028e565b6200002d90620b71b0620002a5565b6007556200003e6012600a6200028e565b6200004d90620493e0620002a5565b6008556032600955600b805462ffffff60a01b1916905534801562000070575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000bf6012600a6200028e565b620000d09064174876e800620002a5565b335f81815260016020818152604080842095909555600480546001600160a01b0319168517905582546001600160a01b0316835260039052838220805460ff199081168317909155308352938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001576012600a6200028e565b620001689064174876e800620002a5565b60405190815260200160405180910390a3620002bf565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620001d357815f1904821115620001b757620001b76200017f565b80851615620001c557918102915b93841c939080029062000198565b509250929050565b5f82620001eb5750600162000288565b81620001f957505f62000288565b81600181146200021257600281146200021d576200023d565b600191505062000288565b60ff8411156200023157620002316200017f565b50506001821b62000288565b5060208310610133831016604e8410600b841016171562000262575081810a62000288565b6200026e838362000193565b805f19048211156200028457620002846200017f565b0290505b92915050565b5f6200029e60ff841683620001db565b9392505050565b80820281158282048414176200028857620002886200017f565b611bb480620002cd5f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461037c578063bb542ef01461039b578063dc1052e2146103ba578063dd62ed3e146103d9578063f42938901461041d578063fc76729c14610431575f80fd5b8063715018a6146102f05780638a8c523c146103045780638cd09d50146103185780638da5cb5b146103375780638f8deb041461035d57806395d89b411461016b575f80fd5b80631a37225a116101045780631a37225a1461021857806323b872dd14610237578063313ce5671461025657806351bc3c85146102715780635342acb41461028557806370a08231146102bc575f80fd5b8063034832bd1461014a57806306fdde031461016b578063095ea7b3146101a857806309df275e146101d757806318160ddd146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50610169610164366004611748565b610445565b005b348015610176575f80fd5b5060408051808201825260068152654d696e65414960d01b6020820152905161019f919061175f565b60405180910390f35b3480156101b3575f80fd5b506101c76101c23660046117bf565b6104b3565b604051901515815260200161019f565b3480156101e2575f80fd5b506101696101f1366004611748565b6104c9565b348015610201575f80fd5b5061020a610527565b60405190815260200161019f565b348015610223575f80fd5b50610169610232366004611748565b610548565b348015610242575f80fd5b506101c76102513660046117e9565b610607565b348015610261575f80fd5b506040516012815260200161019f565b34801561027c575f80fd5b50610169610656565b348015610290575f80fd5b506101c761029f366004611827565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156102c7575f80fd5b5061020a6102d6366004611827565b6001600160a01b03165f9081526001602052604090205490565b3480156102fb575f80fd5b506101696106ea565b34801561030f575f80fd5b5061016961075b565b348015610323575f80fd5b50610169610332366004611748565b610a56565b348015610342575f80fd5b505f546040516001600160a01b03909116815260200161019f565b348015610368575f80fd5b5061016961037736600461184f565b610b05565b348015610387575f80fd5b506101c76103963660046117bf565b610b98565b3480156103a6575f80fd5b506101696103b5366004611827565b610ba4565b3480156103c5575f80fd5b506101696103d4366004611748565b610c1b565b3480156103e4575f80fd5b5061020a6103f33660046118ce565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610428575f80fd5b50610169610cca565b34801561043c575f80fd5b50610169610d4d565b5f546001600160a01b031633146104775760405162461bcd60e51b815260040161046e90611905565b60405180910390fd5b60078190556040518181527fe77bc8853e8c957947c02a925b4c99572ca7bd2f91e922c256934fedba79a016906020015b60405180910390a150565b5f6104bf338484610d81565b5060015b92915050565b5f546001600160a01b031633146104f25760405162461bcd60e51b815260040161046e90611905565b60088190556040518181527ff165cf0b4ab9c43341e3cf3ae4ef6e2f30990cdfc6dfb364eaf9c5b23428f96d906020016104a8565b5f6105346012600a611a2e565b6105439064174876e800611a3c565b905090565b5f546001600160a01b031633146105715760405162461bcd60e51b815260040161046e90611905565b60648111156105d25760405162461bcd60e51b815260206004820152602760248201527f4c69717569646974792070657263656e746167652063616e6e6f7420657863656044820152666564203130302560c81b606482015260840161046e565b60098190556040518181527fed9c75b39eedad23d98525ccd9bac84a4441de7b53ef6499d77ce80027772b70906020016104a8565b5f610613848484610ea4565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461064c91869161064790866112ec565b610d81565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146106c95760405162461bcd60e51b815260206004820152602760248201527f4f6e6c79207461782077616c6c65742063616e2074726967676572206d616e756044820152660616c20737761760cc1b606482015260840161046e565b305f9081526001602052604090205480156106e7576106e78161134e565b50565b5f546001600160a01b031633146107135760405162461bcd60e51b815260040161046e90611905565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107845760405162461bcd60e51b815260040161046e90611905565b600b54600160a01b900460ff16156107de5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046e565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556108289130919061081990601290611a2e565b6106479064174876e800611a3c565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190611a53565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091f9190611a53565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d9190611a53565b600b80546001600160a01b0319166001600160a01b0392909216919091179055305f908152600160205260409020546109c690476114be565b600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610a18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3c9190611a6e565b50600b805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a7f5760405162461bcd60e51b815260040161046e90611905565b600f811115610ad05760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782063616e6e6f742065786365656420313525000000000000604482015260640161046e565b60068190556040518181527fa3c7d2c9b682edd36ce728b0908b6223813d7676d1da69f5047dec843f7e64e6906020016104a8565b5f546001600160a01b03163314610b2e5760405162461bcd60e51b815260040161046e90611905565b5f5b82811015610b92578160035f868685818110610b4e57610b4e611a89565b9050602002016020810190610b639190611827565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b30565b50505050565b5f6104bf338484610ea4565b5f546001600160a01b03163314610bcd5760405162461bcd60e51b815260040161046e90611905565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb20a85f31d6178a78ae8f917b6fa7aa86600f111ecab2b41c44d92f38fa56201906020016104a8565b5f546001600160a01b03163314610c445760405162461bcd60e51b815260040161046e90611905565b600f811115610c955760405162461bcd60e51b815260206004820152601960248201527f427579207461782063616e6e6f74206578636565642031352500000000000000604482015260640161046e565b60058190556040518181527f981be54b1fc7934066e749221f7fbdced2c3c7a8fe33efe2c229510e4bd88be7906020016104a8565b6004546001600160a01b0316336001600160a01b031614610d3d5760405162461bcd60e51b815260206004820152602760248201527f4f6e6c79207461782077616c6c65742063616e2074726967676572206d616e75604482015266185b081cd95b9960ca1b606482015260840161046e565b4780156106e7576106e7816115c3565b5f546001600160a01b03163314610d765760405162461bcd60e51b815260040161046e90611905565b610d7f476115c3565b565b6001600160a01b038316610de35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046e565b6001600160a01b038216610e445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046e565b6001600160a01b038216610f6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046e565b5f8111610fcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046e565b5f80546001600160a01b03858116911614801590610ff657505f546001600160a01b03848116911614155b156111af57600b546001600160a01b03858116911614801561103057506001600160a01b0383165f9081526003602052604090205460ff16155b1561105c57611055606461104f600554856115fe90919063ffffffff16565b9061167c565b90506110c8565b600b546001600160a01b03848116911614801561109157506001600160a01b0384165f9081526003602052604090205460ff16155b80156110a657506001600160a01b0384163014155b156110c8576110c5606461104f600654856115fe90919063ffffffff16565b90505b305f90815260016020526040902054600b54600160a81b900460ff161580156110fe5750600b546001600160a01b038581169116145b80156111135750600b54600160b01b900460ff165b801561112157506007548110155b801561113657506001600160a01b0385163014155b156111ad57305f90815260016020526040812054611156906008546116d6565b90506111618161134e565b4780156111aa575f611183606461104f600954856115fe90919063ffffffff16565b305f9081526001602052604090205490915061119f90826114be565b6111a8476115c3565b505b50505b505b801561122757305f908152600160205260409020546111ce90826116ea565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461124990836112ec565b6001600160a01b0385165f9081526001602052604090205561128c61126e83836112ec565b6001600160a01b0385165f90815260016020526040902054906116ea565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d585856112ec565b60405190815260200160405180910390a350505050565b5f8282111561133d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161046e565b6113478284611a9d565b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061139457611394611a89565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611a53565b8160018151811061142257611422611a89565b6001600160a01b039283166020918202929092010152600a546114489130911684610d81565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114809085905f90869030904290600401611ab0565b5f604051808303815f87803b158015611497575f80fd5b505af11580156114a9573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b600a546114d69030906001600160a01b031684610d81565b600a546004805460405163f305d71960e01b81523092810192909252602482018590525f60448301819052606483018190526001600160a01b0391821660848401524260a484015292839283929091169063f305d71990869060c40160606040518083038185885af115801561154e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115739190611b21565b604080518481526020810184905290810182905292955090935091507f39bf1607295d1bfb66e0d6f4984ace27536f0dadaa7b0aba21525d990e352d8e9060600160405180910390a15050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156115fa573d5f803e3d5ffd5b5050565b5f825f0361160d57505f6104c3565b5f6116188385611a3c565b9050826116258583611b4c565b146113475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046e565b5f8082116116cc5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161046e565b6113478284611b4c565b5f8183116116e45782611347565b50919050565b5f806116f68385611b6b565b9050838110156113475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046e565b5f60208284031215611758575f80fd5b5035919050565b5f602080835283518060208501525f5b8181101561178b5785810183015185820160400152820161176f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106e7575f80fd5b5f80604083850312156117d0575f80fd5b82356117db816117ab565b946020939093013593505050565b5f805f606084860312156117fb575f80fd5b8335611806816117ab565b92506020840135611816816117ab565b929592945050506040919091013590565b5f60208284031215611837575f80fd5b8135611347816117ab565b80151581146106e7575f80fd5b5f805f60408486031215611861575f80fd5b833567ffffffffffffffff80821115611878575f80fd5b818601915086601f83011261188b575f80fd5b813581811115611899575f80fd5b8760208260051b85010111156118ad575f80fd5b602092830195509350508401356118c381611842565b809150509250925092565b5f80604083850312156118df575f80fd5b82356118ea816117ab565b915060208301356118fa816117ab565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198857815f190482111561196e5761196e61193a565b8085161561197b57918102915b93841c9390800290611953565b509250929050565b5f8261199e575060016104c3565b816119aa57505f6104c3565b81600181146119c057600281146119ca576119e6565b60019150506104c3565b60ff8411156119db576119db61193a565b50506001821b6104c3565b5060208310610133831016604e8410600b8410161715611a09575081810a6104c3565b611a13838361194e565b805f1904821115611a2657611a2661193a565b029392505050565b5f61134760ff841683611990565b80820281158282048414176104c3576104c361193a565b5f60208284031215611a63575f80fd5b8151611347816117ab565b5f60208284031215611a7e575f80fd5b815161134781611842565b634e487b7160e01b5f52603260045260245ffd5b818103818111156104c3576104c361193a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b005784516001600160a01b031683529383019391830191600101611adb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611b33575f80fd5b8351925060208401519150604084015190509250925092565b5f82611b6657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104c3576104c361193a56fea2646970667358221220d336122d70d1175379bede70176bfea8347ba46942a78a1845453aa0a7324a8564736f6c63430008180033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461037c578063bb542ef01461039b578063dc1052e2146103ba578063dd62ed3e146103d9578063f42938901461041d578063fc76729c14610431575f80fd5b8063715018a6146102f05780638a8c523c146103045780638cd09d50146103185780638da5cb5b146103375780638f8deb041461035d57806395d89b411461016b575f80fd5b80631a37225a116101045780631a37225a1461021857806323b872dd14610237578063313ce5671461025657806351bc3c85146102715780635342acb41461028557806370a08231146102bc575f80fd5b8063034832bd1461014a57806306fdde031461016b578063095ea7b3146101a857806309df275e146101d757806318160ddd146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50610169610164366004611748565b610445565b005b348015610176575f80fd5b5060408051808201825260068152654d696e65414960d01b6020820152905161019f919061175f565b60405180910390f35b3480156101b3575f80fd5b506101c76101c23660046117bf565b6104b3565b604051901515815260200161019f565b3480156101e2575f80fd5b506101696101f1366004611748565b6104c9565b348015610201575f80fd5b5061020a610527565b60405190815260200161019f565b348015610223575f80fd5b50610169610232366004611748565b610548565b348015610242575f80fd5b506101c76102513660046117e9565b610607565b348015610261575f80fd5b506040516012815260200161019f565b34801561027c575f80fd5b50610169610656565b348015610290575f80fd5b506101c761029f366004611827565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156102c7575f80fd5b5061020a6102d6366004611827565b6001600160a01b03165f9081526001602052604090205490565b3480156102fb575f80fd5b506101696106ea565b34801561030f575f80fd5b5061016961075b565b348015610323575f80fd5b50610169610332366004611748565b610a56565b348015610342575f80fd5b505f546040516001600160a01b03909116815260200161019f565b348015610368575f80fd5b5061016961037736600461184f565b610b05565b348015610387575f80fd5b506101c76103963660046117bf565b610b98565b3480156103a6575f80fd5b506101696103b5366004611827565b610ba4565b3480156103c5575f80fd5b506101696103d4366004611748565b610c1b565b3480156103e4575f80fd5b5061020a6103f33660046118ce565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610428575f80fd5b50610169610cca565b34801561043c575f80fd5b50610169610d4d565b5f546001600160a01b031633146104775760405162461bcd60e51b815260040161046e90611905565b60405180910390fd5b60078190556040518181527fe77bc8853e8c957947c02a925b4c99572ca7bd2f91e922c256934fedba79a016906020015b60405180910390a150565b5f6104bf338484610d81565b5060015b92915050565b5f546001600160a01b031633146104f25760405162461bcd60e51b815260040161046e90611905565b60088190556040518181527ff165cf0b4ab9c43341e3cf3ae4ef6e2f30990cdfc6dfb364eaf9c5b23428f96d906020016104a8565b5f6105346012600a611a2e565b6105439064174876e800611a3c565b905090565b5f546001600160a01b031633146105715760405162461bcd60e51b815260040161046e90611905565b60648111156105d25760405162461bcd60e51b815260206004820152602760248201527f4c69717569646974792070657263656e746167652063616e6e6f7420657863656044820152666564203130302560c81b606482015260840161046e565b60098190556040518181527fed9c75b39eedad23d98525ccd9bac84a4441de7b53ef6499d77ce80027772b70906020016104a8565b5f610613848484610ea4565b6001600160a01b0384165f9081526002602090815260408083203380855292529091205461064c91869161064790866112ec565b610d81565b5060019392505050565b6004546001600160a01b0316336001600160a01b0316146106c95760405162461bcd60e51b815260206004820152602760248201527f4f6e6c79207461782077616c6c65742063616e2074726967676572206d616e756044820152660616c20737761760cc1b606482015260840161046e565b305f9081526001602052604090205480156106e7576106e78161134e565b50565b5f546001600160a01b031633146107135760405162461bcd60e51b815260040161046e90611905565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107845760405162461bcd60e51b815260040161046e90611905565b600b54600160a01b900460ff16156107de5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046e565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556108289130919061081990601290611a2e565b6106479064174876e800611a3c565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610878573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089c9190611a53565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091f9190611a53565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d9190611a53565b600b80546001600160a01b0319166001600160a01b0392909216919091179055305f908152600160205260409020546109c690476114be565b600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610a18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3c9190611a6e565b50600b805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610a7f5760405162461bcd60e51b815260040161046e90611905565b600f811115610ad05760405162461bcd60e51b815260206004820152601a60248201527f53656c6c207461782063616e6e6f742065786365656420313525000000000000604482015260640161046e565b60068190556040518181527fa3c7d2c9b682edd36ce728b0908b6223813d7676d1da69f5047dec843f7e64e6906020016104a8565b5f546001600160a01b03163314610b2e5760405162461bcd60e51b815260040161046e90611905565b5f5b82811015610b92578160035f868685818110610b4e57610b4e611a89565b9050602002016020810190610b639190611827565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610b30565b50505050565b5f6104bf338484610ea4565b5f546001600160a01b03163314610bcd5760405162461bcd60e51b815260040161046e90611905565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb20a85f31d6178a78ae8f917b6fa7aa86600f111ecab2b41c44d92f38fa56201906020016104a8565b5f546001600160a01b03163314610c445760405162461bcd60e51b815260040161046e90611905565b600f811115610c955760405162461bcd60e51b815260206004820152601960248201527f427579207461782063616e6e6f74206578636565642031352500000000000000604482015260640161046e565b60058190556040518181527f981be54b1fc7934066e749221f7fbdced2c3c7a8fe33efe2c229510e4bd88be7906020016104a8565b6004546001600160a01b0316336001600160a01b031614610d3d5760405162461bcd60e51b815260206004820152602760248201527f4f6e6c79207461782077616c6c65742063616e2074726967676572206d616e75604482015266185b081cd95b9960ca1b606482015260840161046e565b4780156106e7576106e7816115c3565b5f546001600160a01b03163314610d765760405162461bcd60e51b815260040161046e90611905565b610d7f476115c3565b565b6001600160a01b038316610de35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046e565b6001600160a01b038216610e445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046e565b6001600160a01b038216610f6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046e565b5f8111610fcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046e565b5f80546001600160a01b03858116911614801590610ff657505f546001600160a01b03848116911614155b156111af57600b546001600160a01b03858116911614801561103057506001600160a01b0383165f9081526003602052604090205460ff16155b1561105c57611055606461104f600554856115fe90919063ffffffff16565b9061167c565b90506110c8565b600b546001600160a01b03848116911614801561109157506001600160a01b0384165f9081526003602052604090205460ff16155b80156110a657506001600160a01b0384163014155b156110c8576110c5606461104f600654856115fe90919063ffffffff16565b90505b305f90815260016020526040902054600b54600160a81b900460ff161580156110fe5750600b546001600160a01b038581169116145b80156111135750600b54600160b01b900460ff165b801561112157506007548110155b801561113657506001600160a01b0385163014155b156111ad57305f90815260016020526040812054611156906008546116d6565b90506111618161134e565b4780156111aa575f611183606461104f600954856115fe90919063ffffffff16565b305f9081526001602052604090205490915061119f90826114be565b6111a8476115c3565b505b50505b505b801561122757305f908152600160205260409020546111ce90826116ea565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061121e9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461124990836112ec565b6001600160a01b0385165f9081526001602052604090205561128c61126e83836112ec565b6001600160a01b0385165f90815260016020526040902054906116ea565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d585856112ec565b60405190815260200160405180910390a350505050565b5f8282111561133d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640161046e565b6113478284611a9d565b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061139457611394611a89565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140f9190611a53565b8160018151811061142257611422611a89565b6001600160a01b039283166020918202929092010152600a546114489130911684610d81565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114809085905f90869030904290600401611ab0565b5f604051808303815f87803b158015611497575f80fd5b505af11580156114a9573d5f803e3d5ffd5b5050600b805460ff60a81b1916905550505050565b600a546114d69030906001600160a01b031684610d81565b600a546004805460405163f305d71960e01b81523092810192909252602482018590525f60448301819052606483018190526001600160a01b0391821660848401524260a484015292839283929091169063f305d71990869060c40160606040518083038185885af115801561154e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115739190611b21565b604080518481526020810184905290810182905292955090935091507f39bf1607295d1bfb66e0d6f4984ace27536f0dadaa7b0aba21525d990e352d8e9060600160405180910390a15050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156115fa573d5f803e3d5ffd5b5050565b5f825f0361160d57505f6104c3565b5f6116188385611a3c565b9050826116258583611b4c565b146113475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046e565b5f8082116116cc5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640161046e565b6113478284611b4c565b5f8183116116e45782611347565b50919050565b5f806116f68385611b6b565b9050838110156113475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046e565b5f60208284031215611758575f80fd5b5035919050565b5f602080835283518060208501525f5b8181101561178b5785810183015185820160400152820161176f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106e7575f80fd5b5f80604083850312156117d0575f80fd5b82356117db816117ab565b946020939093013593505050565b5f805f606084860312156117fb575f80fd5b8335611806816117ab565b92506020840135611816816117ab565b929592945050506040919091013590565b5f60208284031215611837575f80fd5b8135611347816117ab565b80151581146106e7575f80fd5b5f805f60408486031215611861575f80fd5b833567ffffffffffffffff80821115611878575f80fd5b818601915086601f83011261188b575f80fd5b813581811115611899575f80fd5b8760208260051b85010111156118ad575f80fd5b602092830195509350508401356118c381611842565b809150509250925092565b5f80604083850312156118df575f80fd5b82356118ea816117ab565b915060208301356118fa816117ab565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561198857815f190482111561196e5761196e61193a565b8085161561197b57918102915b93841c9390800290611953565b509250929050565b5f8261199e575060016104c3565b816119aa57505f6104c3565b81600181146119c057600281146119ca576119e6565b60019150506104c3565b60ff8411156119db576119db61193a565b50506001821b6104c3565b5060208310610133831016604e8410600b8410161715611a09575081810a6104c3565b611a13838361194e565b805f1904821115611a2657611a2661193a565b029392505050565b5f61134760ff841683611990565b80820281158282048414176104c3576104c361193a565b5f60208284031215611a63575f80fd5b8151611347816117ab565b5f60208284031215611a7e575f80fd5b815161134781611842565b634e487b7160e01b5f52603260045260245ffd5b818103818111156104c3576104c361193a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b005784516001600160a01b031683529383019391830191600101611adb565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611b33575f80fd5b8351925060208401519150604084015190509250925092565b5f82611b6657634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104c3576104c361193a56fea2646970667358221220d336122d70d1175379bede70176bfea8347ba46942a78a1845453aa0a7324a8564736f6c63430008180033

Deployed Bytecode Sourcemap

3443:10149:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12514:206;;;;;;;;;;-1:-1:-1;12514:206:0;;;;;:::i;:::-;;:::i;:::-;;5216:83;;;;;;;;;;-1:-1:-1;5286:5:0;;;;;;;;;;;-1:-1:-1;;;5286:5:0;;;;5216:83;;;;5286:5;5216:83;:::i;:::-;;;;;;;;6099:186;;;;;;;;;;-1:-1:-1;6099:186:0;;;;;:::i;:::-;;:::i;:::-;;;1373:14:1;;1366:22;1348:41;;1336:2;1321:18;6099:186:0;1208:187:1;12352:154:0;;;;;;;;;;-1:-1:-1;12352:154:0;;;;;:::i;:::-;;:::i;5493:95::-;;;;;;;;;;;;;:::i;:::-;;;1546:25:1;;;1534:2;1519:18;5493:95:0;1400:177:1;10836:355:0;;;;;;;;;;-1:-1:-1;10836:355:0;;;;;:::i;:::-;;:::i;6293:353::-;;;;;;;;;;-1:-1:-1;6293:353:0;;;;;:::i;:::-;;:::i;5402:83::-;;;;;;;;;;-1:-1:-1;5402:83:0;;3660:2;2185:36:1;;2173:2;2158:18;5402:83:0;2043:184:1;9733:338:0;;;;;;;;;;;;;:::i;11460:124::-;;;;;;;;;;-1:-1:-1;11460:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;11549:27:0;11525:4;11549:27;;;:18;:27;;;;;;;;;11460:124;5596:119;;;;;;;;;;-1:-1:-1;5596:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5689:18:0;5662:7;5689:18;;;:9;:18;;;;;;;5596:119;2448:140;;;;;;;;;;;;;:::i;12837:715::-;;;;;;;;;;;;;:::i;10620:208::-;;;;;;;;;;-1:-1:-1;10620:208:0;;;;;:::i;:::-;;:::i;2234:79::-;;;;;;;;;;-1:-1:-1;2272:7:0;2299:6;2234:79;;-1:-1:-1;;;;;2299:6:0;;;2630:51:1;;2618:2;2603:18;2234:79:0;2484:203:1;11199:253:0;;;;;;;;;;-1:-1:-1;11199:253:0;;;;;:::i;:::-;;:::i;5723:192::-;;;;;;;;;;-1:-1:-1;5723:192:0;;;;;:::i;:::-;;:::i;12170:174::-;;;;;;;;;;-1:-1:-1;12170:174:0;;;;;:::i;:::-;;:::i;10412:200::-;;;;;;;;;;-1:-1:-1;10412:200:0;;;;;:::i;:::-;;:::i;5923:168::-;;;;;;;;;;-1:-1:-1;5923:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6056:18:0;;;6029:7;6056:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5923:168;10079:325;;;;;;;;;;;;;:::i;12728:101::-;;;;;;;;;;;;;:::i;12514:206::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;;;;;;;;;12618:17:::1;:36:::0;;;12672:40:::1;::::0;1546:25:1;;;12672:40:0::1;::::0;1534:2:1;1519:18;12672:40:0::1;;;;;;;;12514:206:::0;:::o;6099:186::-;6199:4;6216:39;277:10;6239:7;6248:6;6216:8;:39::i;:::-;-1:-1:-1;6273:4:0;6099:186;;;;;:::o;12352:154::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;12428:11:::1;:24:::0;;;12470:28:::1;::::0;1546:25:1;;;12470:28:0::1;::::0;1534:2:1;1519:18;12470:28:0::1;1400:177:1::0;5493:95:0;5546:7;3719:15;3660:2;3719;:15;:::i;:::-;3704:30;;:12;:30;:::i;:::-;5566:14;;5493:95;:::o;10836:355::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;10994:3:::1;10968:22;:29;;10946:118;;;::::0;-1:-1:-1;;;10946:118:0;;6468:2:1;10946:118:0::1;::::0;::::1;6450:21:1::0;6507:2;6487:18;;;6480:30;6546:34;6526:18;;;6519:62;-1:-1:-1;;;6597:18:1;;;6590:37;6644:19;;10946:118:0::1;6266:403:1::0;10946:118:0::1;11075:19;:44:::0;;;11137:46:::1;::::0;1546:25:1;;;11137:46:0::1;::::0;1534:2:1;1519:18;11137:46:0::1;1400:177:1::0;6293:353:0;6425:4;6442:36;6452:6;6460:9;6471:6;6442:9;:36::i;:::-;-1:-1:-1;;;;;6560:19:0;;;;;;:11;:19;;;;;;;;277:10;6560:33;;;;;;;;;6489:127;;6512:6;;6560:45;;6598:6;6560:37;:45::i;:::-;6489:8;:127::i;:::-;-1:-1:-1;6634:4:0;6293:353;;;;;:::o;9733:338::-;9813:12;;-1:-1:-1;;;;;9813:12:0;277:10;-1:-1:-1;;;;;9797:28:0;;9775:117;;;;-1:-1:-1;;;9775:117:0;;6876:2:1;9775:117:0;;;6858:21:1;6915:2;6895:18;;;6888:30;6954:34;6934:18;;;6927:62;-1:-1:-1;;;7005:18:1;;;6998:37;7052:19;;9775:117:0;6674:403:1;9775:117:0;9952:4;9903:28;5689:18;;;:9;:18;;;;;;9973:24;;9969:95;;10014:38;10031:20;10014:16;:38::i;:::-;9764:307;9733:338::o;2448:140::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;2547:1:::1;2531:6:::0;;2510:40:::1;::::0;-1:-1:-1;;;;;2531:6:0;;::::1;::::0;2510:40:::1;::::0;2547:1;;2510:40:::1;2578:1;2561:19:::0;;-1:-1:-1;;;;;;2561:19:0::1;::::0;;2448:140::o;12837:715::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;12901:11:::1;::::0;-1:-1:-1;;;12901:11:0;::::1;;;12900:12;12892:48;;;::::0;-1:-1:-1;;;12892:48:0;;7284:2:1;12892:48:0::1;::::0;::::1;7266:21:1::0;7323:2;7303:18;;;7296:30;7362:25;7342:18;;;7335:53;7405:18;;12892:48:0::1;7082:347:1::0;12892:48:0::1;12951:15;:104:::0;;-1:-1:-1;;;;;;12951:104:0::1;13002:42;12951:104:::0;;::::1;::::0;;13068:58:::1;::::0;13085:4:::1;::::0;13002:42;3719:15:::1;::::0;3660:2:::1;::::0;3719:15:::1;:::i;:::-;3704:30;::::0;:12:::1;:30;:::i;13068:58::-;13173:15;;;;;;;;;-1:-1:-1::0;;;;;13173:15:0::1;-1:-1:-1::0;;;;;13173:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13155:55:0::1;;13233:4;13253:15;;;;;;;;;-1:-1:-1::0;;;;;13253:15:0::1;-1:-1:-1::0;;;;;13253:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:131;::::0;-1:-1:-1;;;;;;13155:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7920:15:1;;;13155:131:0::1;::::0;::::1;7902:34:1::0;7972:15;;7952:18;;;7945:43;7837:18;;13155:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13139:13;:147:::0;;-1:-1:-1;;;;;;13139:147:0::1;-1:-1:-1::0;;;;;13139:147:0;;;::::1;::::0;;;::::1;::::0;;13330:4:::1;-1:-1:-1::0;5689:18:0;;;-1:-1:-1;5689:18:0;;;;;;13299:61:::1;::::0;13338:21:::1;13299:12;:61::i;:::-;13380:13;::::0;13425:15:::1;::::0;13373:111:::1;::::0;-1:-1:-1;;;13373:111:0;;-1:-1:-1;;;;;13425:15:0;;::::1;13373:111;::::0;::::1;8173:51:1::0;-1:-1:-1;;8240:18:1;;;8233:34;13380:13:0;::::1;::::0;13373:29:::1;::::0;8146:18:1;;13373:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13497:11:0::1;:18:::0;;-1:-1:-1;;;;13526:18:0;-1:-1:-1;;;13526:18:0;;;12837:715::o;10620:208::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;10712:2:::1;10698:10;:16;;10690:55;;;::::0;-1:-1:-1;;;10690:55:0;;8730:2:1;10690:55:0::1;::::0;::::1;8712:21:1::0;8769:2;8749:18;;;8742:30;8808:28;8788:18;;;8781:56;8854:18;;10690:55:0::1;8528:350:1::0;10690:55:0::1;10756:8;:21:::0;;;10795:25:::1;::::0;1546::1;;;10795::0::1;::::0;1534:2:1;1519:18;10795:25:0::1;1400:177:1::0;11199:253:0;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;11335:9:::1;11330:115;11350:19:::0;;::::1;11330:115;;;11425:8;11391:18;:31;11410:8;;11419:1;11410:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11391:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;11391:31:0;:42;;-1:-1:-1;;11391:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11371:3:0::1;11330:115;;;;11199:253:::0;;;:::o;5723:192::-;5826:4;5843:42;277:10;5867:9;5878:6;5843:9;:42::i;12170:174::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;12256:12:::1;:29:::0;;-1:-1:-1;;;;;;12256:29:0::1;-1:-1:-1::0;;;;;12256:29:0;::::1;::::0;;::::1;::::0;;;12303:33:::1;::::0;2630:51:1;;;12303:33:0::1;::::0;2618:2:1;2603:18;12303:33:0::1;2484:203:1::0;10412:200:0;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;10501:2:::1;10488:9;:15;;10480:53;;;::::0;-1:-1:-1;;;10480:53:0;;9433:2:1;10480:53:0::1;::::0;::::1;9415:21:1::0;9472:2;9452:18;;;9445:30;9511:27;9491:18;;;9484:55;9556:18;;10480:53:0::1;9231:349:1::0;10480:53:0::1;10544:7;:19:::0;;;10581:23:::1;::::0;1546:25:1;;;10581:23:0::1;::::0;1534:2:1;1519:18;10581:23:0::1;1400:177:1::0;10079:325:0;10159:12;;-1:-1:-1;;;;;10159:12:0;277:10;-1:-1:-1;;;;;10143:28:0;;10121:117;;;;-1:-1:-1;;;10121:117:0;;9787:2:1;10121:117:0;;;9769:21:1;9826:2;9806:18;;;9799:30;9865:34;9845:18;;;9838:62;-1:-1:-1;;;9916:18:1;;;9909:37;9963:19;;10121:117:0;9585:403:1;10121:117:0;10278:21;10314:22;;10310:87;;10353:32;10366:18;10353:12;:32::i;12728:101::-;2361:6;;-1:-1:-1;;;;;2361:6:0;277:10;2361:22;2353:67;;;;-1:-1:-1;;;2353:67:0;;;;;;;:::i;:::-;12786:35:::1;12799:21;12786:12;:35::i;:::-;12728:101::o:0;6654:337::-;-1:-1:-1;;;;;6747:19:0;;6739:68;;;;-1:-1:-1;;;6739:68:0;;10195:2:1;6739:68:0;;;10177:21:1;10234:2;10214:18;;;10207:30;10273:34;10253:18;;;10246:62;-1:-1:-1;;;10324:18:1;;;10317:34;10368:19;;6739:68:0;9993:400:1;6739:68:0;-1:-1:-1;;;;;6826:21:0;;6818:68;;;;-1:-1:-1;;;6818:68:0;;10600:2:1;6818:68:0;;;10582:21:1;10639:2;10619:18;;;10612:30;10678:34;10658:18;;;10651:62;-1:-1:-1;;;10729:18:1;;;10722:32;10771:19;;6818:68:0;10398:398:1;6818:68:0;-1:-1:-1;;;;;6899:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6951:32;;1546:25:1;;;6951:32:0;;1519:18:1;6951:32:0;;;;;;;6654:337;;;:::o;6999:2016::-;-1:-1:-1;;;;;7087:18:0;;7079:68;;;;-1:-1:-1;;;7079:68:0;;11003:2:1;7079:68:0;;;10985:21:1;11042:2;11022:18;;;11015:30;11081:34;11061:18;;;11054:62;-1:-1:-1;;;11132:18:1;;;11125:35;11177:19;;7079:68:0;10801:401:1;7079:68:0;-1:-1:-1;;;;;7166:16:0;;7158:64;;;;-1:-1:-1;;;7158:64:0;;11409:2:1;7158:64:0;;;11391:21:1;11448:2;11428:18;;;11421:30;11487:34;11467:18;;;11460:62;-1:-1:-1;;;11538:18:1;;;11531:33;11581:19;;7158:64:0;11207:399:1;7158:64:0;7250:1;7241:6;:10;7233:64;;;;-1:-1:-1;;;7233:64:0;;11813:2:1;7233:64:0;;;11795:21:1;11852:2;11832:18;;;11825:30;11891:34;11871:18;;;11864:62;-1:-1:-1;;;11942:18:1;;;11935:39;11991:19;;7233:64:0;11611:405:1;7233:64:0;7310:17;2299:6;;-1:-1:-1;;;;;7346:15:0;;;2299:6;;7346:15;;;;:32;;-1:-1:-1;2272:7:0;2299:6;-1:-1:-1;;;;;7365:13:0;;;2299:6;;7365:13;;7346:32;7342:1300;;;7407:13;;-1:-1:-1;;;;;7399:21:0;;;7407:13;;7399:21;:48;;;;-1:-1:-1;;;;;;7425:22:0;;;;;;:18;:22;;;;;;;;7424:23;7399:48;7395:356;;;7480:28;7504:3;7480:19;7491:7;;7480:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;7468:40;;7395:356;;;7558:13;;-1:-1:-1;;;;;7552:19:0;;;7558:13;;7552:19;:65;;;;-1:-1:-1;;;;;;7593:24:0;;;;;;:18;:24;;;;;;;;7592:25;7552:65;:107;;;;-1:-1:-1;;;;;;7638:21:0;;7654:4;7638:21;;7552:107;7530:221;;;7706:29;7731:3;7706:20;7717:8;;7706:6;:10;;:20;;;;:::i;:29::-;7694:41;;7530:221;7816:4;7767:28;5689:18;;;:9;:18;;;;;;7860:6;;-1:-1:-1;;;7860:6:0;;;;7859:7;:47;;;;-1:-1:-1;7893:13:0;;-1:-1:-1;;;;;7887:19:0;;;7893:13;;7887:19;7859:47;:79;;;;-1:-1:-1;7927:11:0;;-1:-1:-1;;;7927:11:0;;;;7859:79;:141;;;;;7983:17;;7959:20;:41;;7859:141;:183;;;;-1:-1:-1;;;;;;8021:21:0;;8037:4;8021:21;;7859:183;7837:794;;;8119:4;8077:17;5689:18;;;:9;:18;;;;;;8097:42;;8127:11;;8097:3;:42::i;:::-;8077:62;;8158:27;8175:9;8158:16;:27::i;:::-;8233:21;8277:22;;8273:343;;8324:26;8353:104;8453:3;8353:69;8402:19;;8353:18;:48;;:69;;;;:::i;:104::-;8511:4;5662:7;5689:18;;;:9;:18;;;;;;8324:133;;-1:-1:-1;8480:58:0;;8519:18;8480:12;:58::i;:::-;8561:35;8574:21;8561:12;:35::i;:::-;8301:315;8273:343;8058:573;;7837:794;7380:1262;7342:1300;8658:13;;8654:172;;8733:4;8715:24;;;;:9;:24;;;;;;:39;;8744:9;8715:28;:39::i;:::-;8706:4;8688:24;;;;:9;:24;;;;;;;:66;;;;8774:40;;-1:-1:-1;;;;;8774:40:0;;;;;;;8804:9;1546:25:1;;1534:2;1519:18;;1400:177;8774:40:0;;;;;;;;8654:172;-1:-1:-1;;;;;8856:15:0;;;;;;:9;:15;;;;;;:27;;8876:6;8856:19;:27::i;:::-;-1:-1:-1;;;;;8838:15:0;;;;;;:9;:15;;;;;:45;8910:40;8928:21;:6;8939:9;8928:10;:21::i;:::-;-1:-1:-1;;;;;8910:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8894:13:0;;;;;;;:9;:13;;;;;:56;;;;8966:41;;;8985:21;:6;8996:9;8985:10;:21::i;:::-;8966:41;;1546:25:1;;;1534:2;1519:18;8966:41:0;;;;;;;7068:1947;6999:2016;;;:::o;1310:158::-;1368:7;1401:1;1396;:6;;1388:49;;;;-1:-1:-1;;;1388:49:0;;12223:2:1;1388:49:0;;;12205:21:1;12262:2;12242:18;;;12235:30;12301:32;12281:18;;;12274:60;12351:18;;1388:49:0;12021:354:1;1388:49:0;1455:5;1459:1;1455;:5;:::i;:::-;1448:12;1310:158;-1:-1:-1;;;1310:158:0:o;9138:485::-;4872:6;:13;;-1:-1:-1;;;;4872:13:0;-1:-1:-1;;;4872:13:0;;;9240:16:::1;::::0;;9254:1:::1;9240:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9240:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9240:16:0::1;9216:40;;9285:4;9267;9272:1;9267:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9267:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9311:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9311:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9267:7;;9311:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9301:4;9306:1;9301:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9301:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9378:15:::1;::::0;9346:62:::1;::::0;9363:4:::1;::::0;9378:15:::1;9396:11:::0;9346:8:::1;:62::i;:::-;9419:15;::::0;:196:::1;::::0;-1:-1:-1;;;9419:196:0;;-1:-1:-1;;;;;9419:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9500:11;;9419:15:::1;::::0;9542:4;;9569::::1;::::0;9589:15:::1;::::0;9419:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4908:6:0;:14;;-1:-1:-1;;;;4908:14:0;;;-1:-1:-1;;;;9138:485:0:o;11592:570::-;11705:15;;11673:62;;11690:4;;-1:-1:-1;;;;;11705:15:0;11723:11;11673:8;:62::i;:::-;11858:15;;12028:12;;;11858:231;;-1:-1:-1;;;11858:231:0;;11934:4;11858:231;;;13979:34:1;;;;14029:18;;;14022:34;;;11761:19:0;14072:18:1;;;14065:34;;;14115:18;;;14108:34;;;-1:-1:-1;;;;;12028:12:0;;;14158:19:1;;;14151:44;12059:15:0;14211:19:1;;;14204:35;11761:19:0;;;;;11858:15;;;;:31;;11897:9;;13913:19:1;;11858:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12107:47;;;14763:25:1;;;14819:2;14804:18;;14797:34;;;14847:18;;;14840:34;;;11746:343:0;;-1:-1:-1;11746:343:0;;-1:-1:-1;11746:343:0;-1:-1:-1;12107:47:0;;14751:2:1;14736:18;12107:47:0;;;;;;;11662:500;;;11592:570;;:::o;9631:94::-;9688:12;;:29;;-1:-1:-1;;;;;9688:12:0;;;;:29;;;;;9710:6;;9688:12;:29;:12;:29;9710:6;9688:12;:29;;;;;;;;;;;;;;;;;;;;;9631:94;:::o;1476:246::-;1534:7;1558:1;1563;1558:6;1554:47;;-1:-1:-1;1588:1:0;1581:8;;1554:47;1611:9;1623:5;1627:1;1623;:5;:::i;:::-;1611:17;-1:-1:-1;1656:1:0;1647:5;1651:1;1611:17;1647:5;:::i;:::-;:10;1639:56;;;;-1:-1:-1;;;1639:56:0;;15309:2:1;1639:56:0;;;15291:21:1;15348:2;15328:18;;;15321:30;15387:34;15367:18;;;15360:62;-1:-1:-1;;;15438:18:1;;;15431:31;15479:19;;1639:56:0;15107:397:1;1730:153:0;1788:7;1820:1;1816;:5;1808:44;;;;-1:-1:-1;;;1808:44:0;;15711:2:1;1808:44:0;;;15693:21:1;15750:2;15730:18;;;15723:30;15789:28;15769:18;;;15762:56;15835:18;;1808:44:0;15509:350:1;1808:44:0;1870:5;1874:1;1870;:5;:::i;9023:107::-;9080:7;9112:1;9108;:5;9107:15;;9121:1;9107:15;;;-1:-1:-1;9117:1:0;9023:107;-1:-1:-1;9023:107:0:o;1123:179::-;1181:7;;1213:5;1217:1;1213;:5;:::i;:::-;1201:17;;1242:1;1237;:6;;1229:46;;;;-1:-1:-1;;;1229:46:0;;16196:2:1;1229:46:0;;;16178:21:1;16235:2;16215:18;;;16208:30;16274:29;16254:18;;;16247:57;16321:18;;1229:46:0;15994:351:1;14:180;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;888:315;956:6;964;1017:2;1005:9;996:7;992:23;988:32;985:52;;;1033:1;1030;1023:12;985:52;1072:9;1059:23;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1193:2;1178:18;;;;1165:32;;-1:-1:-1;;;888:315:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;2692:118::-;2778:5;2771:13;2764:21;2757:5;2754:32;2744:60;;2800:1;2797;2790:12;2815:750;2907:6;2915;2923;2976:2;2964:9;2955:7;2951:23;2947:32;2944:52;;;2992:1;2989;2982:12;2944:52;3032:9;3019:23;3061:18;3102:2;3094:6;3091:14;3088:34;;;3118:1;3115;3108:12;3088:34;3156:6;3145:9;3141:22;3131:32;;3201:7;3194:4;3190:2;3186:13;3182:27;3172:55;;3223:1;3220;3213:12;3172:55;3263:2;3250:16;3289:2;3281:6;3278:14;3275:34;;;3305:1;3302;3295:12;3275:34;3360:7;3353:4;3343:6;3340:1;3336:14;3332:2;3328:23;3324:34;3321:47;3318:67;;;3381:1;3378;3371:12;3318:67;3412:4;3404:13;;;;-1:-1:-1;3436:6:1;-1:-1:-1;;3477:20:1;;3464:34;3507:28;3464:34;3507:28;:::i;:::-;3554:5;3544:15;;;2815:750;;;;;:::o;3830:388::-;3898:6;3906;3959:2;3947:9;3938:7;3934:23;3930:32;3927:52;;;3975:1;3972;3965:12;3927:52;4014:9;4001:23;4033:31;4058:5;4033:31;:::i;:::-;4083:5;-1:-1:-1;4140:2:1;4125:18;;4112:32;4153:33;4112:32;4153:33;:::i;:::-;4205:7;4195:17;;;3830:388;;;;;:::o;4223:356::-;4425:2;4407:21;;;4444:18;;;4437:30;4503:34;4498:2;4483:18;;4476:62;4570:2;4555:18;;4223:356::o;4584:127::-;4645:10;4640:3;4636:20;4633:1;4626:31;4676:4;4673:1;4666:15;4700:4;4697:1;4690:15;4716:416;4805:1;4842:5;4805:1;4856:270;4877:7;4867:8;4864:21;4856:270;;;4936:4;4932:1;4928:6;4924:17;4918:4;4915:27;4912:53;;;4945:18;;:::i;:::-;4995:7;4985:8;4981:22;4978:55;;;5015:16;;;;4978:55;5094:22;;;;5054:15;;;;4856:270;;;4860:3;4716:416;;;;;:::o;5137:806::-;5186:5;5216:8;5206:80;;-1:-1:-1;5257:1:1;5271:5;;5206:80;5305:4;5295:76;;-1:-1:-1;5342:1:1;5356:5;;5295:76;5387:4;5405:1;5400:59;;;;5473:1;5468:130;;;;5380:218;;5400:59;5430:1;5421:10;;5444:5;;;5468:130;5505:3;5495:8;5492:17;5489:43;;;5512:18;;:::i;:::-;-1:-1:-1;;5568:1:1;5554:16;;5583:5;;5380:218;;5682:2;5672:8;5669:16;5663:3;5657:4;5654:13;5650:36;5644:2;5634:8;5631:16;5626:2;5620:4;5617:12;5613:35;5610:77;5607:159;;;-1:-1:-1;5719:19:1;;;5751:5;;5607:159;5798:34;5823:8;5817:4;5798:34;:::i;:::-;5868:6;5864:1;5860:6;5856:19;5847:7;5844:32;5841:58;;;5879:18;;:::i;:::-;5917:20;;5137:806;-1:-1:-1;;;5137:806:1:o;5948:140::-;6006:5;6035:47;6076:4;6066:8;6062:19;6056:4;6035:47;:::i;6093:168::-;6166:9;;;6197;;6214:15;;;6208:22;;6194:37;6184:71;;6235:18;;:::i;7434:251::-;7504:6;7557:2;7545:9;7536:7;7532:23;7528:32;7525:52;;;7573:1;7570;7563:12;7525:52;7605:9;7599:16;7624:31;7649:5;7624:31;:::i;8278:245::-;8345:6;8398:2;8386:9;8377:7;8373:23;8369:32;8366:52;;;8414:1;8411;8404:12;8366:52;8446:9;8440:16;8465:28;8487:5;8465:28;:::i;8883:127::-;8944:10;8939:3;8935:20;8932:1;8925:31;8975:4;8972:1;8965:15;8999:4;8996:1;8989:15;12380:128;12447:9;;;12468:11;;;12465:37;;;12482:18;;:::i;12645:980::-;12907:4;12955:3;12944:9;12940:19;12986:6;12975:9;12968:25;13012:2;13050:6;13045:2;13034:9;13030:18;13023:34;13093:3;13088:2;13077:9;13073:18;13066:31;13117:6;13152;13146:13;13183:6;13175;13168:22;13221:3;13210:9;13206:19;13199:26;;13260:2;13252:6;13248:15;13234:29;;13281:1;13291:195;13305:6;13302:1;13299:13;13291:195;;;13370:13;;-1:-1:-1;;;;;13366:39:1;13354:52;;13461:15;;;;13426:12;;;;13402:1;13320:9;13291:195;;;-1:-1:-1;;;;;;;13542:32:1;;;;13537:2;13522:18;;13515:60;-1:-1:-1;;;13606:3:1;13591:19;13584:35;13503:3;12645:980;-1:-1:-1;;;12645:980:1:o;14250:306::-;14338:6;14346;14354;14407:2;14395:9;14386:7;14382:23;14378:32;14375:52;;;14423:1;14420;14413:12;14375:52;14452:9;14446:16;14436:26;;14502:2;14491:9;14487:18;14481:25;14471:35;;14546:2;14535:9;14531:18;14525:25;14515:35;;14250:306;;;;;:::o;14885:217::-;14925:1;14951;14941:132;;14995:10;14990:3;14986:20;14983:1;14976:31;15030:4;15027:1;15020:15;15058:4;15055:1;15048:15;14941:132;-1:-1:-1;15087:9:1;;14885:217::o;15864:125::-;15929:9;;;15950:10;;;15947:36;;;15963:18;;:::i

Swarm Source

ipfs://d336122d70d1175379bede70176bfea8347ba46942a78a1845453aa0a7324a85

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  ]
[ 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.