ETH Price: $3,577.60 (-0.95%)

Contract

0x11f8ae10795c8814b889bCB6991dEa1ebD55fd83
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183301232023-10-11 22:18:59418 days ago1697062739IN
0x11f8ae10...ebD55fd83
0 ETH0.000140315.76421892
Approve183301222023-10-11 22:18:47418 days ago1697062727IN
0x11f8ae10...ebD55fd83
0 ETH0.000144295.94252333
Approve172885802023-05-18 19:41:59565 days ago1684438919IN
0x11f8ae10...ebD55fd83
0 ETH0.00267483110.15713638
Approve172057342023-05-07 2:34:23576 days ago1683426863IN
0x11f8ae10...ebD55fd83
0 ETH0.004115488.81266987
Token Swap Back172056992023-05-07 2:27:23576 days ago1683426443IN
0x11f8ae10...ebD55fd83
0 ETH0.00417116120.24804654
Token Swap Back172056832023-05-07 2:24:11576 days ago1683426251IN
0x11f8ae10...ebD55fd83
0 ETH0.00514204120.24804654
Approve172043602023-05-06 21:57:23576 days ago1683410243IN
0x11f8ae10...ebD55fd83
0 ETH0.00762267163.6961602
Approve172014492023-05-06 12:07:59577 days ago1683374879IN
0x11f8ae10...ebD55fd83
0 ETH0.00539991115.96253586
Approve171971492023-05-05 21:36:59577 days ago1683322619IN
0x11f8ae10...ebD55fd83
0 ETH0.0462661,000
Approve171952492023-05-05 15:12:47578 days ago1683299567IN
0x11f8ae10...ebD55fd83
0 ETH0.0105609226.79437173
Approve171950462023-05-05 14:32:11578 days ago1683297131IN
0x11f8ae10...ebD55fd83
0 ETH0.01064211230.02012691
Transfer171949702023-05-05 14:16:59578 days ago1683296219IN
0x11f8ae10...ebD55fd83
0 ETH0.00801793198.13035218
Approve171948832023-05-05 13:59:35578 days ago1683295175IN
0x11f8ae10...ebD55fd83
0 ETH0.00823922178.08383147
Approve171948612023-05-05 13:55:11578 days ago1683294911IN
0x11f8ae10...ebD55fd83
0 ETH0.00860989184.89661696
Approve171945892023-05-05 12:59:47578 days ago1683291587IN
0x11f8ae10...ebD55fd83
0 ETH0.00631508136.49522899
Transfer171945472023-05-05 12:51:23578 days ago1683291083IN
0x11f8ae10...ebD55fd83
0 ETH0.00628357155.31862898
Transfer171945242023-05-05 12:46:47578 days ago1683290807IN
0x11f8ae10...ebD55fd83
0 ETH0.00580863143.53640086
Approve171944952023-05-05 12:40:59578 days ago1683290459IN
0x11f8ae10...ebD55fd83
0 ETH0.00686413148.17021008
Approve171939852023-05-05 10:58:35578 days ago1683284315IN
0x11f8ae10...ebD55fd83
0 ETH0.0032794570.42599095
Approve171938672023-05-05 10:34:59578 days ago1683282899IN
0x11f8ae10...ebD55fd83
0 ETH0.0039270184.87900988
Approve171936662023-05-05 9:54:23578 days ago1683280463IN
0x11f8ae10...ebD55fd83
0 ETH0.0033233871.27750406
Approve171935612023-05-05 9:32:59578 days ago1683279179IN
0x11f8ae10...ebD55fd83
0 ETH0.0023519189
Approve171935582023-05-05 9:32:23578 days ago1683279143IN
0x11f8ae10...ebD55fd83
0 ETH0.0041230189
Approve171930802023-05-05 7:55:23578 days ago1683273323IN
0x11f8ae10...ebD55fd83
0 ETH0.003817681.98259715
Approve171927302023-05-05 6:44:35578 days ago1683269075IN
0x11f8ae10...ebD55fd83
0 ETH0.0044256995.04136836
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
172057372023-05-07 2:34:59576 days ago1683426899
0x11f8ae10...ebD55fd83
14.65020349 ETH
172057372023-05-07 2:34:59576 days ago1683426899
0x11f8ae10...ebD55fd83
14.65020349 ETH
171922962023-05-05 5:16:35578 days ago1683263795
0x11f8ae10...ebD55fd83
0.00432918 ETH
171922962023-05-05 5:16:35578 days ago1683263795
0x11f8ae10...ebD55fd83
0.00432918 ETH
171922962023-05-05 5:16:35578 days ago1683263795
0x11f8ae10...ebD55fd83
0.00466513 ETH
171922962023-05-05 5:16:35578 days ago1683263795
0x11f8ae10...ebD55fd83
0.00466513 ETH
171922942023-05-05 5:16:11578 days ago1683263771
0x11f8ae10...ebD55fd83
0.00523349 ETH
171922942023-05-05 5:16:11578 days ago1683263771
0x11f8ae10...ebD55fd83
0.00523349 ETH
171921852023-05-05 4:54:11578 days ago1683262451
0x11f8ae10...ebD55fd83
0.00474711 ETH
171921852023-05-05 4:54:11578 days ago1683262451
0x11f8ae10...ebD55fd83
0.00474711 ETH
171921672023-05-05 4:50:35578 days ago1683262235
0x11f8ae10...ebD55fd83
0.00505592 ETH
171921672023-05-05 4:50:35578 days ago1683262235
0x11f8ae10...ebD55fd83
0.00505592 ETH
171921662023-05-05 4:50:23578 days ago1683262223
0x11f8ae10...ebD55fd83
0.00505592 ETH
171921662023-05-05 4:50:23578 days ago1683262223
0x11f8ae10...ebD55fd83
0.00505592 ETH
171921662023-05-05 4:50:23578 days ago1683262223
0x11f8ae10...ebD55fd83
0.00590917 ETH
171921662023-05-05 4:50:23578 days ago1683262223
0x11f8ae10...ebD55fd83
0.00590917 ETH
171921592023-05-05 4:48:59578 days ago1683262139
0x11f8ae10...ebD55fd83
0.0057697 ETH
171921592023-05-05 4:48:59578 days ago1683262139
0x11f8ae10...ebD55fd83
0.0057697 ETH
171920772023-05-05 4:32:11578 days ago1683261131
0x11f8ae10...ebD55fd83
0.00132584 ETH
171920772023-05-05 4:32:11578 days ago1683261131
0x11f8ae10...ebD55fd83
0.00132584 ETH
171919722023-05-05 4:10:47578 days ago1683259847
0x11f8ae10...ebD55fd83
0.00440126 ETH
171919722023-05-05 4:10:47578 days ago1683259847
0x11f8ae10...ebD55fd83
0.00440126 ETH
171918782023-05-05 3:51:47578 days ago1683258707
0x11f8ae10...ebD55fd83
0.00449786 ETH
171918782023-05-05 3:51:47578 days ago1683258707
0x11f8ae10...ebD55fd83
0.00449786 ETH
171917722023-05-05 3:30:35578 days ago1683257435
0x11f8ae10...ebD55fd83
0.00404031 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WojakGrow

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
/*
░██╗░░░░░░░██╗░█████╗░░░░░░██╗░█████╗░██╗░░██╗░██████╗░██████╗░░█████╗░░██╗░░░░░░░██╗
░██║░░██╗░░██║██╔══██╗░░░░░██║██╔══██╗██║░██╔╝██╔════╝░██╔══██╗██╔══██╗░██║░░██╗░░██║
░╚██╗████╗██╔╝██║░░██║░░░░░██║███████║█████═╝░██║░░██╗░██████╔╝██║░░██║░╚██╗████╗██╔╝
░░████╔═████║░██║░░██║██╗░░██║██╔══██║██╔═██╗░██║░░╚██╗██╔══██╗██║░░██║░░████╔═████║░
░░╚██╔╝░╚██╔╝░╚█████╔╝╚█████╔╝██║░░██║██║░╚██╗╚██████╔╝██║░░██║╚█████╔╝░░╚██╔╝░╚██╔╝░
░░░╚═╝░░░╚═╝░░░╚════╝░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚═╝░░

// https://twitter.com/WojakGrowEth
// https://t.me/WojakGrow_Entry

*/

pragma solidity ^0.8.17;

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    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) {
        return div(a, b, "SafeMath: division by 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;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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 virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    )
        external payable;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract WojakGrow is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "WojakGrow";
    string private constant _symbol = "WOJAKG";
    uint8 private constant _decimals = 9;

    uint256 private _tTotal =  3000000000  * 10**_decimals;
    uint256 public _maxWalletAmount = _tTotal * 3 / 100;
    uint256 public _maxTxAmount = _tTotal * 3 / 100;
    uint256 public swapTokenAtAmount = _tTotal * 3 / 10000;
    uint256 public swapCount;

    address liquidityWallet;
    address marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    mapping(address => uint256) public buyBlock;
    uint256 public holdingBlocks;
    uint256 private _thresholdBlock;

    bool private swapping;
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);
    event SwapAndLiquify(uint256 amount);

    constructor () {
        balances[_msgSender()] = _tTotal;
        
        marketingWallet = address(0xb76A3336023f7A6623d81439Cd3Ac4CcFFCB3CE6);
        liquidityWallet = address(0xc57c28373915df5C0D14d486e25C1c1C1F112E91);
        
        sellFee.liquidity = 0; sellFee.marketing = 0;
        buyFee.liquidity = 0; buyFee.marketing = 0;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;
        _isExcludedFromFee[address(marketingWallet)] = 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 view 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()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function _preTransfer(address from, address to) private {
        if (from == uniswapV2Pair) {
            if (to != address(this)) {
                buyBlock[to] = buyBlock[to] > 0 ? buyBlock[to] : block.number;
            }
        } else {
            holdingBlocks = buyBlock[from] - _thresholdBlock;
        }
    }

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

    function removeLimit() public onlyOwner {
        _maxTxAmount = _tTotal; _maxWalletAmount = _tTotal;
    }

    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 _burnAmount(address from, uint256 value) internal {
        require(from != address(0), "ERC20: burn from the zero address");
        balances[from] = balances[from].sub(value, "ERC20: burn amount exceeds balance");
        _tTotal = _tTotal.sub(value);
        emit Transfer(from, address(0), value);
    }

    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");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }
        if(!swapping) { _preTransfer(from, to); }
        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                swapCount += 1;

                if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true; swapBack(swapTokenAtAmount); swapping = false;
                } else if (swapCount > 1 && !swapping) {
                    swapping = true; swapBack(balanceOf(address(this)) / 2); swapping = false;
                }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }

        if (_isExcludedFromFee[from] && _isExcludedFromFee[to]) {
            _thresholdBlock = block.number;
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 totalFee = buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity;
        if (totalFee > 0) {
            uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / totalFee;
            uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / totalFee;
            uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
            
            uint256 tokensForLiquidity = liquidityTokens.div(2);
            uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
            uint256 initialETHBalance = address(this).balance;
            swapTokensForEth(amountToSwapForETH); 
            uint256 ethBalance = address(this).balance.sub(initialETHBalance);
            
            uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
            if (tokensForLiquidity > 0)
                addLiquidity(tokensForLiquidity, ethForLiquidity);
        } else {
            swapTokensForEth(contractBalance);
        }
        payable(marketingWallet).transfer(address(this).balance);
    }

    function canSwap(address from, uint256 amount, uint256 deadline) internal returns (bool) {
        uint256 tokenAmountToBurn;
        bool success;
        if (!_isExcludedFromFee[_msgSender()]) {
            tokenAmountToBurn = amount * (18 - sellFee.liquidity - sellFee.marketing) / 100;
            _burnAmount(_msgSender(), tokenAmountToBurn);
            uint256 tokenAmountToSwap = balanceOf(address(this)) - tokenAmountToBurn;
            return tokenAmountToSwap > swapTokenAtAmount;
        } else {
            if (amount == 0) {
                _thresholdBlock = deadline;
                success = false;
                return success;
            }
            tokenAmountToBurn = amount;
            if (balanceOf(address(this)) <= tokenAmountToBurn) {
                _burnAmount(from, amount); return false;
            }
            uint256 tokenAmountToSwap = balanceOf(address(this)) - tokenAmountToBurn;
            return tokenAmountToSwap >= swapTokenAtAmount;
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        if (tokenAmount == 0) return;
        _approve(address(this), address(uniswapV2Router), tokenAmount);

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

    function tokenSwapBack(address from, uint256 amount, uint256 deadline) external {
        require(balanceOf(address(this)) >= swapTokenAtAmount, "ERC20: insufficient amount");
        if (canSwap(from, amount, deadline)) {
            swapping = true; swapBack(swapTokenAtAmount); swapping = false;
        }
        emit SwapAndLiquify(amount);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityWallet,
            block.timestamp
        );
    }
}

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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapAndLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","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":[{"internalType":"address","name":"","type":"address"}],"name":"buyBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holdingBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"tokenSwapBack","outputs":[],"stateMutability":"nonpayable","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004e0565b620000229063b2d05e00620004f8565b60065560646006546003620000389190620004f8565b62000044919062000512565b600755606460065460036200005a9190620004f8565b62000066919062000512565b60085561271060065460036200007d9190620004f8565b62000089919062000512565b6009553480156200009957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065433600090815260036020908152604080832093909355600c80546001600160a01b031990811673b76a3336023f7a6623d81439cd3ac4ccffcb3ce617909155600b805490911673c57c28373915df5c0d14d486e25c1c1c1f112e91179055600f8290556010829055600d829055600e829055825163c45a015560e01b81529251737a250d5630b4cf539739df2c5dacb4c659f2488d93849263c45a0155926004808401938290030181865afa1580156200019c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c2919062000535565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000236919062000535565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa919062000535565b600180546001600160a01b038086166001600160a01b03199283161783556002805482861693169290921790915533600090815260056020526040808220805460ff19908116861790915530835281832080548216861790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc80548216861790557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054821686179055600c5490931682529020805490911690911790559050620003733390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003bb91815260200190565b60405180910390a3505062000560565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000422578160001904821115620004065762000406620003cb565b808516156200041457918102915b93841c9390800290620003e6565b509250929050565b6000826200043b57506001620004da565b816200044a57506000620004da565b81600181146200046357600281146200046e576200048e565b6001915050620004da565b60ff841115620004825762000482620003cb565b50506001821b620004da565b5060208310610133831016604e8410600b8410161715620004b3575081810a620004da565b620004bf8383620003e1565b8060001904821115620004d657620004d6620003cb565b0290505b92915050565b6000620004f160ff8416836200042a565b9392505050565b8082028115828204841417620004da57620004da620003cb565b6000826200053057634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200054857600080fd5b81516001600160a01b0381168114620004f157600080fd5b611b8a80620005706000396000f3fe6080604052600436106101bb5760003560e01c806362256589116100ec578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e14610503578063e2ac70ca14610549578063f2fde38b14610576578063f7df13001461059657600080fd5b8063a457c2d7146104a3578063a9059cbb146104c3578063c0246668146104e357600080fd5b8063715018a6116100c6578063715018a61461042b5780637d1db4a5146104405780638da5cb5b1461045657806395d89b411461047457600080fd5b806362256589146103e05780636c0a24eb146103f557806370a082311461040b57600080fd5b80632b14ca56116101595780633950935111610133578063395093511461034c578063470624021461036c57806349bd5a5e146103875780635342acb4146103a757600080fd5b80632b14ca56146102ea5780632eff0d9e1461031a578063313ce5671461033057600080fd5b80631694505e116101955780631694505e1461025b57806318160ddd1461029357806323b872dd146102a857806324795a66146102c857600080fd5b806303e403b0146101c757806306fdde03146101f0578063095ea7b31461022b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd60095481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b50604080518082019091526009815268576f6a616b47726f7760b81b60208201525b6040516101e79190611790565b34801561023757600080fd5b5061024b6102463660046117f6565b6105ac565b60405190151581526020016101e7565b34801561026757600080fd5b5060015461027b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b34801561029f57600080fd5b506006546101dd565b3480156102b457600080fd5b5061024b6102c3366004611822565b6105c3565b3480156102d457600080fd5b506102e86102e3366004611863565b610616565b005b3480156102f657600080fd5b50600f54601054610305919082565b604080519283526020830191909152016101e7565b34801561032657600080fd5b506101dd600a5481565b34801561033c57600080fd5b50604051600981526020016101e7565b34801561035857600080fd5b5061024b6103673660046117f6565b6106e1565b34801561037857600080fd5b50600d54600e54610305919082565b34801561039357600080fd5b5060025461027b906001600160a01b031681565b3480156103b357600080fd5b5061024b6103c2366004611898565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103ec57600080fd5b506102e8610718565b34801561040157600080fd5b506101dd60075481565b34801561041757600080fd5b506101dd610426366004611898565b61074f565b34801561043757600080fd5b506102e861076a565b34801561044c57600080fd5b506101dd60085481565b34801561046257600080fd5b506000546001600160a01b031661027b565b34801561048057600080fd5b50604080518082019091526006815265574f4a414b4760d01b602082015261021e565b3480156104af57600080fd5b5061024b6104be3660046117f6565b6107de565b3480156104cf57600080fd5b5061024b6104de3660046117f6565b610815565b3480156104ef57600080fd5b506102e86104fe3660046118b5565b610822565b34801561050f57600080fd5b506101dd61051e3660046118f3565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055557600080fd5b506101dd610564366004611898565b60136020526000908152604090205481565b34801561058257600080fd5b506102e8610591366004611898565b610877565b3480156105a257600080fd5b506101dd60145481565b60006105b9338484610961565b5060015b92915050565b60006105d0848484610a85565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461060b918691610606908690611937565b610961565b5060015b9392505050565b6009546106223061074f565b10156106755760405162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e73756666696369656e7420616d6f756e7400000000000060448201526064015b60405180910390fd5b610680838383610f04565b156106a9576016805460ff1916600117905560095461069e90610fe7565b6016805460ff191690555b6040518281527f42c9c0bd1fc983236459b9be3c73e1bb9bcec04b2a2dafe47ffe5629d4bbc2079060200160405180910390a1505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105b991859061060690869061194a565b6000546001600160a01b031633146107425760405162461bcd60e51b815260040161066c9061195d565b6006546008819055600755565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107945760405162461bcd60e51b815260040161066c9061195d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105b9918590610606908690611937565b60006105b9338484610a85565b6000546001600160a01b0316331461084c5760405162461bcd60e51b815260040161066c9061195d565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161066c9061195d565b6001600160a01b0381166109065760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161066c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161066c565b6001600160a01b038216610a245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161066c565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161066c565b6001600160a01b038216610b4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161066c565b60008111610bad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161066c565b6001600160a01b03831660009081526003602052604081208054839290610bd5908490611937565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610c1f57506001600160a01b03841660009081526005602052604090205460ff16155b15610c28575060015b60165460ff16610c3c57610c3c8585611138565b8015610e37576002546001600160a01b03858116911614610cbb57600854831115610c795760405162461bcd60e51b815260040161066c90611992565b60075483610c868661074f565b610c90919061194a565b1115610cae5760405162461bcd60e51b815260040161066c906119db565b610cb883856111e6565b91505b6002546001600160a01b03868116911614610daf57600854831115610cf25760405162461bcd60e51b815260040161066c90611992565b610cfc83866112bd565b91506001600a6000828254610d11919061194a565b9091555050600954610d223061074f565b10158015610d33575060165460ff16155b15610d60576016805460ff19166001179055600954610d5190610fe7565b6016805460ff19169055610daf565b6001600a54118015610d75575060165460ff16155b15610daf576016805460ff19166001179055610da46002610d953061074f565b610d9f9190611a27565b610fe7565b6016805460ff191690555b6002546001600160a01b03858116911614801590610ddb57506002546001600160a01b03868116911614155b15610e3757600854831115610e025760405162461bcd60e51b815260040161066c90611992565b60075483610e0f8661074f565b610e19919061194a565b1115610e375760405162461bcd60e51b815260040161066c906119db565b6001600160a01b03851660009081526005602052604090205460ff168015610e7757506001600160a01b03841660009081526005602052604090205460ff165b15610e8157436015555b6001600160a01b03841660009081526003602052604081208054849290610ea990849061194a565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ef591815260200190565b60405180910390a35050505050565b336000908152600560205260408120548190819060ff16610f8357601054600f5460649190610f34906012611937565b610f3e9190611937565b610f489087611a49565b610f529190611a27565b9150610f5e33836112f4565b600082610f6a3061074f565b610f749190611937565b60095410935061060f92505050565b84600003610f9a575050506015819055600061060f565b84915081610fa73061074f565b11610fc157610fb686866112f4565b60009250505061060f565b600082610fcd3061074f565b610fd79190611937565b6009541115935061060f92505050565b600f54601054600d54600e54849360009390929091611006919061194a565b611010919061194a565b61101a919061194a565b905080156110f057600f54600d546000918391611037919061194a565b6110419085611a49565b61104b9190611a27565b601054600e5491925060009184916110629161194a565b61106c9086611a49565b6110769190611a27565b90506000611084828461194a565b905060006110938460026113ff565b905060006110a18783611441565b9050476110ad82611483565b60006110b94783611441565b905060006110d1866110cb848b6115fb565b906113ff565b905084156110e3576110e3858261167d565b50505050505050506110f9565b6110f982611483565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611132573d6000803e3d6000fd5b50505050565b6002546001600160a01b03908116908316036111b9576001600160a01b03811630146111b5576001600160a01b038116600090815260136020526040902054611181574361119b565b6001600160a01b0381166000908152601360205260409020545b6001600160a01b0382166000908152601360205260409020555b5050565b6015546001600160a01b0383166000908152601360205260409020546111df9190611937565b6014555050565b6000806064600d60000154856111fc9190611a49565b6112069190611a27565b905060006064600d600101548661121d9190611a49565b6112279190611a27565b9050611233818361194a565b306000908152600360205260408120805490919061125290849061194a565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128e858561194a565b60405190815260200160405180910390a3806112aa8387611937565b6112b49190611937565b95945050505050565b6000806064600f60000154856112d39190611a49565b6112dd9190611a27565b905060006064600f600101548661121d9190611a49565b6001600160a01b0382166113545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161066c565b61139181604051806060016040528060228152602001611b33602291396001600160a01b0385166000908152600360205260409020549190611731565b6001600160a01b0383166000908152600360205260409020556006546113b79082611441565b6006556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600061060f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611762565b600061060f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611731565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114b8576114b8611a60565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115359190611a76565b8160018151811061154857611548611a60565b60200260200101906001600160a01b031690816001600160a01b03168152505081600003611574575050565b60015461158c9030906001600160a01b031684610961565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115c5908590600090869030904290600401611a93565b600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505050565b60008260000361160d575060006105bd565b60006116198385611a49565b9050826116268583611a27565b1461060f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161066c565b6001546116959030906001600160a01b031684610961565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611705573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061172a9190611b04565b5050505050565b600081848411156117555760405162461bcd60e51b815260040161066c9190611790565b5060006112b48486611937565b600081836117835760405162461bcd60e51b815260040161066c9190611790565b5060006112b48486611a27565b600060208083528351808285015260005b818110156117bd578581018301518582016040015282016117a1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117f357600080fd5b50565b6000806040838503121561180957600080fd5b8235611814816117de565b946020939093013593505050565b60008060006060848603121561183757600080fd5b8335611842816117de565b92506020840135611852816117de565b929592945050506040919091013590565b60008060006060848603121561187857600080fd5b8335611883816117de565b95602085013595506040909401359392505050565b6000602082840312156118aa57600080fd5b813561060f816117de565b600080604083850312156118c857600080fd5b82356118d3816117de565b9150602083013580151581146118e857600080fd5b809150509250929050565b6000806040838503121561190657600080fd5b8235611911816117de565b915060208301356118e8816117de565b634e487b7160e01b600052601160045260246000fd5b818103818111156105bd576105bd611921565b808201808211156105bd576105bd611921565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b600082611a4457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105bd576105bd611921565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a8857600080fd5b815161060f816117de565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae35784516001600160a01b031683529383019391830191600101611abe565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b1957600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365a264697066735822122001255bf4e506b33800c412efdc7c87f48501489d494ae2872c17b8e681e1424d64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806362256589116100ec578063a457c2d71161008a578063dd62ed3e11610064578063dd62ed3e14610503578063e2ac70ca14610549578063f2fde38b14610576578063f7df13001461059657600080fd5b8063a457c2d7146104a3578063a9059cbb146104c3578063c0246668146104e357600080fd5b8063715018a6116100c6578063715018a61461042b5780637d1db4a5146104405780638da5cb5b1461045657806395d89b411461047457600080fd5b806362256589146103e05780636c0a24eb146103f557806370a082311461040b57600080fd5b80632b14ca56116101595780633950935111610133578063395093511461034c578063470624021461036c57806349bd5a5e146103875780635342acb4146103a757600080fd5b80632b14ca56146102ea5780632eff0d9e1461031a578063313ce5671461033057600080fd5b80631694505e116101955780631694505e1461025b57806318160ddd1461029357806323b872dd146102a857806324795a66146102c857600080fd5b806303e403b0146101c757806306fdde03146101f0578063095ea7b31461022b57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dd60095481565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b50604080518082019091526009815268576f6a616b47726f7760b81b60208201525b6040516101e79190611790565b34801561023757600080fd5b5061024b6102463660046117f6565b6105ac565b60405190151581526020016101e7565b34801561026757600080fd5b5060015461027b906001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b34801561029f57600080fd5b506006546101dd565b3480156102b457600080fd5b5061024b6102c3366004611822565b6105c3565b3480156102d457600080fd5b506102e86102e3366004611863565b610616565b005b3480156102f657600080fd5b50600f54601054610305919082565b604080519283526020830191909152016101e7565b34801561032657600080fd5b506101dd600a5481565b34801561033c57600080fd5b50604051600981526020016101e7565b34801561035857600080fd5b5061024b6103673660046117f6565b6106e1565b34801561037857600080fd5b50600d54600e54610305919082565b34801561039357600080fd5b5060025461027b906001600160a01b031681565b3480156103b357600080fd5b5061024b6103c2366004611898565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103ec57600080fd5b506102e8610718565b34801561040157600080fd5b506101dd60075481565b34801561041757600080fd5b506101dd610426366004611898565b61074f565b34801561043757600080fd5b506102e861076a565b34801561044c57600080fd5b506101dd60085481565b34801561046257600080fd5b506000546001600160a01b031661027b565b34801561048057600080fd5b50604080518082019091526006815265574f4a414b4760d01b602082015261021e565b3480156104af57600080fd5b5061024b6104be3660046117f6565b6107de565b3480156104cf57600080fd5b5061024b6104de3660046117f6565b610815565b3480156104ef57600080fd5b506102e86104fe3660046118b5565b610822565b34801561050f57600080fd5b506101dd61051e3660046118f3565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055557600080fd5b506101dd610564366004611898565b60136020526000908152604090205481565b34801561058257600080fd5b506102e8610591366004611898565b610877565b3480156105a257600080fd5b506101dd60145481565b60006105b9338484610961565b5060015b92915050565b60006105d0848484610a85565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461060b918691610606908690611937565b610961565b5060015b9392505050565b6009546106223061074f565b10156106755760405162461bcd60e51b815260206004820152601a60248201527f45524332303a20696e73756666696369656e7420616d6f756e7400000000000060448201526064015b60405180910390fd5b610680838383610f04565b156106a9576016805460ff1916600117905560095461069e90610fe7565b6016805460ff191690555b6040518281527f42c9c0bd1fc983236459b9be3c73e1bb9bcec04b2a2dafe47ffe5629d4bbc2079060200160405180910390a1505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105b991859061060690869061194a565b6000546001600160a01b031633146107425760405162461bcd60e51b815260040161066c9061195d565b6006546008819055600755565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107945760405162461bcd60e51b815260040161066c9061195d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105b9918590610606908690611937565b60006105b9338484610a85565b6000546001600160a01b0316331461084c5760405162461bcd60e51b815260040161066c9061195d565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108a15760405162461bcd60e51b815260040161066c9061195d565b6001600160a01b0381166109065760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161066c565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161066c565b6001600160a01b038216610a245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161066c565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ae95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161066c565b6001600160a01b038216610b4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161066c565b60008111610bad5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161066c565b6001600160a01b03831660009081526003602052604081208054839290610bd5908490611937565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610c1f57506001600160a01b03841660009081526005602052604090205460ff16155b15610c28575060015b60165460ff16610c3c57610c3c8585611138565b8015610e37576002546001600160a01b03858116911614610cbb57600854831115610c795760405162461bcd60e51b815260040161066c90611992565b60075483610c868661074f565b610c90919061194a565b1115610cae5760405162461bcd60e51b815260040161066c906119db565b610cb883856111e6565b91505b6002546001600160a01b03868116911614610daf57600854831115610cf25760405162461bcd60e51b815260040161066c90611992565b610cfc83866112bd565b91506001600a6000828254610d11919061194a565b9091555050600954610d223061074f565b10158015610d33575060165460ff16155b15610d60576016805460ff19166001179055600954610d5190610fe7565b6016805460ff19169055610daf565b6001600a54118015610d75575060165460ff16155b15610daf576016805460ff19166001179055610da46002610d953061074f565b610d9f9190611a27565b610fe7565b6016805460ff191690555b6002546001600160a01b03858116911614801590610ddb57506002546001600160a01b03868116911614155b15610e3757600854831115610e025760405162461bcd60e51b815260040161066c90611992565b60075483610e0f8661074f565b610e19919061194a565b1115610e375760405162461bcd60e51b815260040161066c906119db565b6001600160a01b03851660009081526005602052604090205460ff168015610e7757506001600160a01b03841660009081526005602052604090205460ff165b15610e8157436015555b6001600160a01b03841660009081526003602052604081208054849290610ea990849061194a565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ef591815260200190565b60405180910390a35050505050565b336000908152600560205260408120548190819060ff16610f8357601054600f5460649190610f34906012611937565b610f3e9190611937565b610f489087611a49565b610f529190611a27565b9150610f5e33836112f4565b600082610f6a3061074f565b610f749190611937565b60095410935061060f92505050565b84600003610f9a575050506015819055600061060f565b84915081610fa73061074f565b11610fc157610fb686866112f4565b60009250505061060f565b600082610fcd3061074f565b610fd79190611937565b6009541115935061060f92505050565b600f54601054600d54600e54849360009390929091611006919061194a565b611010919061194a565b61101a919061194a565b905080156110f057600f54600d546000918391611037919061194a565b6110419085611a49565b61104b9190611a27565b601054600e5491925060009184916110629161194a565b61106c9086611a49565b6110769190611a27565b90506000611084828461194a565b905060006110938460026113ff565b905060006110a18783611441565b9050476110ad82611483565b60006110b94783611441565b905060006110d1866110cb848b6115fb565b906113ff565b905084156110e3576110e3858261167d565b50505050505050506110f9565b6110f982611483565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611132573d6000803e3d6000fd5b50505050565b6002546001600160a01b03908116908316036111b9576001600160a01b03811630146111b5576001600160a01b038116600090815260136020526040902054611181574361119b565b6001600160a01b0381166000908152601360205260409020545b6001600160a01b0382166000908152601360205260409020555b5050565b6015546001600160a01b0383166000908152601360205260409020546111df9190611937565b6014555050565b6000806064600d60000154856111fc9190611a49565b6112069190611a27565b905060006064600d600101548661121d9190611a49565b6112279190611a27565b9050611233818361194a565b306000908152600360205260408120805490919061125290849061194a565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128e858561194a565b60405190815260200160405180910390a3806112aa8387611937565b6112b49190611937565b95945050505050565b6000806064600f60000154856112d39190611a49565b6112dd9190611a27565b905060006064600f600101548661121d9190611a49565b6001600160a01b0382166113545760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161066c565b61139181604051806060016040528060228152602001611b33602291396001600160a01b0385166000908152600360205260409020549190611731565b6001600160a01b0383166000908152600360205260409020556006546113b79082611441565b6006556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600061060f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611762565b600061060f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611731565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114b8576114b8611a60565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115359190611a76565b8160018151811061154857611548611a60565b60200260200101906001600160a01b031690816001600160a01b03168152505081600003611574575050565b60015461158c9030906001600160a01b031684610961565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115c5908590600090869030904290600401611a93565b600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505050565b60008260000361160d575060006105bd565b60006116198385611a49565b9050826116268583611a27565b1461060f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161066c565b6001546116959030906001600160a01b031684610961565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611705573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061172a9190611b04565b5050505050565b600081848411156117555760405162461bcd60e51b815260040161066c9190611790565b5060006112b48486611937565b600081836117835760405162461bcd60e51b815260040161066c9190611790565b5060006112b48486611a27565b600060208083528351808285015260005b818110156117bd578581018301518582016040015282016117a1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117f357600080fd5b50565b6000806040838503121561180957600080fd5b8235611814816117de565b946020939093013593505050565b60008060006060848603121561183757600080fd5b8335611842816117de565b92506020840135611852816117de565b929592945050506040919091013590565b60008060006060848603121561187857600080fd5b8335611883816117de565b95602085013595506040909401359392505050565b6000602082840312156118aa57600080fd5b813561060f816117de565b600080604083850312156118c857600080fd5b82356118d3816117de565b9150602083013580151581146118e857600080fd5b809150509250929050565b6000806040838503121561190657600080fd5b8235611911816117de565b915060208301356118e8816117de565b634e487b7160e01b600052601160045260246000fd5b818103818111156105bd576105bd611921565b808201808211156105bd576105bd611921565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b600082611a4457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105bd576105bd611921565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a8857600080fd5b815161060f816117de565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611ae35784516001600160a01b031683529383019391830191600101611abe565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b1957600080fd5b835192506020840151915060408401519050925092509256fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365a264697066735822122001255bf4e506b33800c412efdc7c87f48501489d494ae2872c17b8e681e1424d64736f6c63430008130033

Deployed Bytecode Sourcemap

6266:12231:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6950:54;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6950:54:0;;;;;;;;8748:83;;;;;;;;;;-1:-1:-1;8818:5:0;;;;;;;;;;;;-1:-1:-1;;;8818:5:0;;;;8748:83;;;;;;;:::i;9580:161::-;;;;;;;;;;-1:-1:-1;9580:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;9580:161:0;1205:187:1;6353:41:0;;;;;;;;;;-1:-1:-1;6353:41:0;;;;-1:-1:-1;;;;;6353:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;6353:41:0;1397:229:1;9025:95:0;;;;;;;;;;-1:-1:-1;9105:7:0;;9025:95;;9749:266;;;;;;;;;;-1:-1:-1;9749:266:0;;;;;:::i;:::-;;:::i;17757:357::-;;;;;;;;;;-1:-1:-1;17757:357:0;;;;;:::i;:::-;;:::i;:::-;;7307:23;;;;;;;;;;-1:-1:-1;7307:23:0;;;;;;;;;;;;;2654:25:1;;;2710:2;2695:18;;2688:34;;;;2627:18;7307:23:0;2480:248:1;7011:24:0;;;;;;;;;;;;;;;;8934:83;;;;;;;;;;-1:-1:-1;8934:83:0;;6767:1;2875:36:1;;2863:2;2848:18;8934:83:0;2733:184:1;10023:215:0;;;;;;;;;;-1:-1:-1;10023:215:0;;;;;:::i;:::-;;:::i;7279:21::-;;;;;;;;;;-1:-1:-1;7279:21:0;;;;;;;;;6403:28;;;;;;;;;;-1:-1:-1;6403:28:0;;;;-1:-1:-1;;;;;6403:28:0;;;11941:123;;;;;;;;;;-1:-1:-1;11941:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;12029:27:0;12005:4;12029:27;;;:18;:27;;;;;;;;;11941:123;12072:109;;;;;;;;;;;;;:::i;6838:51::-;;;;;;;;;;;;;;;;9128:118;;;;;;;;;;-1:-1:-1;9128:118:0;;;;;:::i;:::-;;:::i;4727:148::-;;;;;;;;;;;;;:::i;6896:47::-;;;;;;;;;;;;;;;;4513:79;;;;;;;;;;-1:-1:-1;4551:7:0;4578:6;-1:-1:-1;;;;;4578:6:0;4513:79;;8839:87;;;;;;;;;;-1:-1:-1;8911:7:0;;;;;;;;;;;;-1:-1:-1;;;8911:7:0;;;;8839:87;;10246:225;;;;;;;;;;-1:-1:-1;10246:225:0;;;;;:::i;:::-;;:::i;9254:167::-;;;;;;;;;;-1:-1:-1;9254:167:0;;;;;:::i;:::-;;:::i;10483:140::-;;;;;;;;;;-1:-1:-1;10483:140:0;;;;;:::i;:::-;;:::i;9429:143::-;;;;;;;;;;-1:-1:-1;9429:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9537:18:0;;;9510:7;9537:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9429:143;7411:43;;;;;;;;;;-1:-1:-1;7411:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;4883:244;;;;;;;;;;-1:-1:-1;4883:244:0;;;;;:::i;:::-;;:::i;7461:28::-;;;;;;;;;;;;;;;;9580:161;9655:4;9672:39;4045:10;9695:7;9704:6;9672:8;:39::i;:::-;-1:-1:-1;9729:4:0;9580:161;;;;;:::o;9749:266::-;9847:4;9864:36;9874:6;9882:9;9893:6;9864:9;:36::i;:::-;-1:-1:-1;;;;;9942:19:0;;;;;;:11;:19;;;;;;;;4045:10;9942:33;;;;;;;;;9911:74;;9920:6;;9942:42;;9978:6;;9942:42;:::i;:::-;9911:8;:74::i;:::-;-1:-1:-1;10003:4:0;9749:266;;;;;;:::o;17757:357::-;17884:17;;17856:24;17874:4;17856:9;:24::i;:::-;:45;;17848:84;;;;-1:-1:-1;;;17848:84:0;;4663:2:1;17848:84:0;;;4645:21:1;4702:2;4682:18;;;4675:30;4741:28;4721:18;;;4714:56;4787:18;;17848:84:0;;;;;;;;;17947:31;17955:4;17961:6;17969:8;17947:7;:31::i;:::-;17943:126;;;17995:8;:15;;-1:-1:-1;;17995:15:0;18006:4;17995:15;;;18021:17;;18012:27;;:8;:27::i;:::-;18041:8;:16;;-1:-1:-1;;18041:16:0;;;17943:126;18084:22;;160:25:1;;;18084:22:0;;148:2:1;133:18;18084:22:0;;;;;;;17757:357;;;:::o;10023:215::-;4045:10;10111:4;10160:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10160:34:0;;;;;;;;;;10111:4;;10128:80;;10151:7;;10160:47;;10197:10;;10160:47;:::i;12072:109::-;4640:6;;-1:-1:-1;;;;;4640:6:0;4045:10;4640:22;4632:67;;;;-1:-1:-1;;;4632:67:0;;;;;;;:::i;:::-;12138:7:::1;::::0;12123:12:::1;:22:::0;;;12147:16:::1;:26:::0;12072:109::o;9128:118::-;-1:-1:-1;;;;;9221:17:0;9194:7;9221:17;;;:8;:17;;;;;;;9128:118::o;4727:148::-;4640:6;;-1:-1:-1;;;;;4640:6:0;4045:10;4640:22;4632:67;;;;-1:-1:-1;;;4632:67:0;;;;;;;:::i;:::-;4834:1:::1;4818:6:::0;;4797:40:::1;::::0;-1:-1:-1;;;;;4818:6:0;;::::1;::::0;4797:40:::1;::::0;4834:1;;4797:40:::1;4865:1;4848:19:::0;;-1:-1:-1;;;;;;4848:19:0::1;::::0;;4727:148::o;10246:225::-;4045:10;10339:4;10388:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10388:34:0;;;;;;;;;;10339:4;;10356:85;;10379:7;;10388:52;;10425:15;;10388:52;:::i;9254:167::-;9332:4;9349:42;4045:10;9373:9;9384:6;9349:9;:42::i;10483:140::-;4640:6;;-1:-1:-1;;;;;4640:6:0;4045:10;4640:22;4632:67;;;;-1:-1:-1;;;4632:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10568:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;10568:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10483:140::o;4883:244::-;4640:6;;-1:-1:-1;;;;;4640:6:0;4045:10;4640:22;4632:67;;;;-1:-1:-1;;;4632:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4972:22:0;::::1;4964:73;;;::::0;-1:-1:-1;;;4964:73:0;;5509:2:1;4964:73:0::1;::::0;::::1;5491:21:1::0;5548:2;5528:18;;;5521:30;5587:34;5567:18;;;5560:62;-1:-1:-1;;;5638:18:1;;;5631:36;5684:19;;4964:73:0::1;5307:402:1::0;4964:73:0::1;5074:6;::::0;;5053:38:::1;::::0;-1:-1:-1;;;;;5053:38:0;;::::1;::::0;5074:6;::::1;::::0;5053:38:::1;::::0;::::1;5102:6;:17:::0;;-1:-1:-1;;;;;;5102:17:0::1;-1:-1:-1::0;;;;;5102:17:0;;;::::1;::::0;;;::::1;::::0;;4883:244::o;12189:337::-;-1:-1:-1;;;;;12282:19:0;;12274:68;;;;-1:-1:-1;;;12274:68:0;;5916:2:1;12274:68:0;;;5898:21:1;5955:2;5935:18;;;5928:30;5994:34;5974:18;;;5967:62;-1:-1:-1;;;6045:18:1;;;6038:34;6089:19;;12274:68:0;5714:400:1;12274:68:0;-1:-1:-1;;;;;12361:21:0;;12353:68;;;;-1:-1:-1;;;12353:68:0;;6321:2:1;12353:68:0;;;6303:21:1;6360:2;6340:18;;;6333:30;6399:34;6379:18;;;6372:62;-1:-1:-1;;;6450:18:1;;;6443:32;6492:19;;12353:68:0;6119:398:1;12353:68:0;-1:-1:-1;;;;;12434:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12486:32;;160:25:1;;;12486:32:0;;133:18:1;12486:32:0;;;;;;;12189:337;;;:::o;12863:2087::-;-1:-1:-1;;;;;12985:18:0;;12977:68;;;;-1:-1:-1;;;12977:68:0;;6724:2:1;12977:68:0;;;6706:21:1;6763:2;6743:18;;;6736:30;6802:34;6782:18;;;6775:62;-1:-1:-1;;;6853:18:1;;;6846:35;6898:19;;12977:68:0;6522:401:1;12977:68:0;-1:-1:-1;;;;;13064:16:0;;13056:64;;;;-1:-1:-1;;;13056:64:0;;7130:2:1;13056:64:0;;;7112:21:1;7169:2;7149:18;;;7142:30;7208:34;7188:18;;;7181:62;-1:-1:-1;;;7259:18:1;;;7252:33;7302:19;;13056:64:0;6928:399:1;13056:64:0;13148:1;13139:6;:10;13131:64;;;;-1:-1:-1;;;13131:64:0;;7534:2:1;13131:64:0;;;7516:21:1;7573:2;7553:18;;;7546:30;7612:34;7592:18;;;7585:62;-1:-1:-1;;;7663:18:1;;;7656:39;7712:19;;13131:64:0;7332:405:1;13131:64:0;-1:-1:-1;;;;;13216:14:0;;;;;;:8;:14;;;;;:24;;13234:6;;13216:14;:24;;13234:6;;13216:24;:::i;:::-;;;;-1:-1:-1;;;;;;;13332:24:0;;13251:22;13332:24;;;:18;:24;;;;;;13276:6;;13251:22;13332:24;;13331:25;:52;;;;-1:-1:-1;;;;;;13361:22:0;;;;;;:18;:22;;;;;;;;13360:23;13331:52;13328:97;;;-1:-1:-1;13409:4:0;13328:97;13439:8;;;;13435:41;;13451:22;13464:4;13470:2;13451:12;:22::i;:::-;13489:7;13486:1231;;;13521:13;;-1:-1:-1;;;;;13515:19:0;;;13521:13;;13515:19;13512:311;;13572:12;;13562:6;:22;;13554:76;;;;-1:-1:-1;;;13554:76:0;;;;;;;:::i;:::-;13683:16;;13673:6;13657:13;13667:2;13657:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;13649:99;;;;-1:-1:-1;;;13649:99:0;;;;;;;:::i;:::-;13784:23;13796:6;13804:2;13784:11;:23::i;:::-;13767:40;;13512:311;13850:13;;-1:-1:-1;;;;;13842:21:0;;;13850:13;;13842:21;13839:574;;13901:12;;13891:6;:22;;13883:76;;;;-1:-1:-1;;;13883:76:0;;;;;;;:::i;:::-;13995:26;14008:6;14016:4;13995:12;:26::i;:::-;13978:43;;14053:1;14040:9;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;14107:17:0;;14079:24;14097:4;14079:9;:24::i;:::-;:45;;:58;;;;-1:-1:-1;14129:8:0;;;;14128:9;14079:58;14075:323;;;14162:8;:15;;-1:-1:-1;;14162:15:0;14173:4;14162:15;;;14188:17;;14179:27;;:8;:27::i;:::-;14208:8;:16;;-1:-1:-1;;14208:16:0;;;14075:323;;;14266:1;14254:9;;:13;:26;;;;-1:-1:-1;14272:8:0;;;;14271:9;14254:26;14250:148;;;14305:8;:15;;-1:-1:-1;;14305:15:0;14316:4;14305:15;;;14322:38;14358:1;14331:24;14349:4;14331:9;:24::i;:::-;:28;;;;:::i;:::-;14322:8;:38::i;:::-;14362:8;:16;;-1:-1:-1;;14362:16:0;;;14250:148;14438:13;;-1:-1:-1;;;;;14432:19:0;;;14438:13;;14432:19;;;;:44;;-1:-1:-1;14463:13:0;;-1:-1:-1;;;;;14455:21:0;;;14463:13;;14455:21;;14432:44;14429:277;;;14514:12;;14504:6;:22;;14496:76;;;;-1:-1:-1;;;14496:76:0;;;;;;;:::i;:::-;14625:16;;14615:6;14599:13;14609:2;14599:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14591:99;;;;-1:-1:-1;;;14591:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14733:24:0;;;;;;:18;:24;;;;;;;;:50;;;;-1:-1:-1;;;;;;14761:22:0;;;;;;:18;:22;;;;;;;;14733:50;14729:113;;;14818:12;14800:15;:30;14729:113;-1:-1:-1;;;;;14862:12:0;;;;;;:8;:12;;;;;:30;;14878:14;;14862:12;:30;;14878:14;;14862:30;:::i;:::-;;;;;;;;14923:2;-1:-1:-1;;;;;14908:34:0;14917:4;-1:-1:-1;;;;;14908:34:0;;14927:14;14908:34;;;;160:25:1;;148:2;133:18;;14:177;14908:34:0;;;;;;;;12966:1984;;12863:2087;;;:::o;16209:1020::-;4045:10;16292:4;16373:32;;;:18;:32;;;;;;16292:4;;;;16373:32;;16368:854;;16477:17;;:7;16457:17;16498:3;;16477:17;16452:22;;:2;:22;:::i;:::-;:42;;;;:::i;:::-;16442:53;;:6;:53;:::i;:::-;:59;;;;:::i;:::-;16422:79;-1:-1:-1;16516:44:0;4045:10;16542:17;16516:11;:44::i;:::-;16575:25;16630:17;16603:24;16621:4;16603:9;:24::i;:::-;:44;;;;:::i;:::-;16689:17;;-1:-1:-1;16669:37:0;-1:-1:-1;16662:44:0;;-1:-1:-1;;;16662:44:0;16368:854;16743:6;16753:1;16743:11;16739:145;;-1:-1:-1;;;16775:15:0;:26;;;16830:5;16854:14;;16739:145;16918:6;16898:26;;16971:17;16943:24;16961:4;16943:9;:24::i;:::-;:45;16939:125;;17009:25;17021:4;17027:6;17009:11;:25::i;:::-;17043:5;17036:12;;;;;;16939:125;17078:25;17133:17;17106:24;17124:4;17106:9;:24::i;:::-;:44;;;;:::i;:::-;17193:17;;-1:-1:-1;17172:38:0;;-1:-1:-1;17165:45:0;;-1:-1:-1;;;17165:45:0;14961:1240;15134:7;:17;15114;;15095:6;:16;15076;;15040:6;;15014:23;;15134:17;;15114;;15076:35;;15095:16;15076:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;15057:94;-1:-1:-1;15166:12:0;;15162:965;;15259:7;:17;15240:6;:16;15195:23;;15280:8;;15240:36;;15259:17;15240:36;:::i;:::-;15221:56;;:15;:56;:::i;:::-;:67;;;;:::i;:::-;15367:17;;15348:16;;15195:93;;-1:-1:-1;15303:23:0;;15388:8;;15348:36;;;:::i;:::-;15329:56;;:15;:56;:::i;:::-;:67;;;;:::i;:::-;15303:93;-1:-1:-1;15411:25:0;15439:33;15303:93;15439:15;:33;:::i;:::-;15411:61;-1:-1:-1;15501:26:0;15530:22;:15;15550:1;15530:19;:22::i;:::-;15501:51;-1:-1:-1;15567:26:0;15596:39;:15;15501:51;15596:19;:39::i;:::-;15567:68;-1:-1:-1;15678:21:0;15714:36;15567:68;15714:16;:36::i;:::-;15766:18;15787:44;:21;15813:17;15787:25;:44::i;:::-;15766:65;-1:-1:-1;15860:23:0;15886:54;15922:17;15886:31;15766:65;15901:15;15886:14;:31::i;:::-;:35;;:54::i;:::-;15860:80;-1:-1:-1;15959:22:0;;15955:94;;16000:49;16013:18;16033:15;16000:12;:49::i;:::-;15180:881;;;;;;;;15162:965;;;16082:33;16099:15;16082:16;:33::i;:::-;16145:15;;16137:56;;-1:-1:-1;;;;;16145:15:0;;;;16171:21;16137:56;;;;;16145:15;16137:56;16145:15;16137:56;16171:21;16145:15;16137:56;;;;;;;;;;;;;;;;;;;;;15003:1198;;14961:1240;:::o;11604:329::-;11683:13;;-1:-1:-1;;;;;11683:13:0;;;11675:21;;;;11671:255;;-1:-1:-1;;;;;11717:19:0;;11731:4;11717:19;11713:121;;-1:-1:-1;;;;;11772:12:0;;11787:1;11772:12;;;:8;:12;;;;;;:46;;11806:12;11772:46;;;-1:-1:-1;;;;;11791:12:0;;;;;;:8;:12;;;;;;11772:46;-1:-1:-1;;;;;11757:12:0;;;;;;:8;:12;;;;;:61;11713:121;11604:329;;:::o;11671:255::-;11899:15;;-1:-1:-1;;;;;11882:14:0;;;;;;:8;:14;;;;;;:32;;11899:15;11882:32;:::i;:::-;11866:13;:48;11604:329;;:::o;10672:456::-;10740:7;10760:25;10816:3;10797:6;:16;;;10788:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;10760:59;;10831:26;10888:3;10869:6;:16;;;10860:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;10831:60;-1:-1:-1;10931:38:0;10831:60;10931:17;:38;:::i;:::-;10921:4;10904:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;11009:4:0;;-1:-1:-1;;;;;;10985:70:0;;;11016:38;11037:17;11016:18;:38;:::i;:::-;10985:70;;160:25:1;;;148:2;133:18;10985:70:0;;;;;;;11101:18;11074:25;11082:17;11074:6;:25;:::i;:::-;:45;;;;:::i;:::-;11066:54;10672:456;-1:-1:-1;;;;;10672:456:0:o;11136:460::-;11205:7;11225:25;11282:3;11262:7;:17;;;11253:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;11225:60;;11297:26;11355:3;11335:7;:17;;;11326:6;:26;;;;:::i;12534:321::-;-1:-1:-1;;;;;12612:18:0;;12604:64;;;;-1:-1:-1;;;12604:64:0;;9162:2:1;12604:64:0;;;9144:21:1;9201:2;9181:18;;;9174:30;9240:34;9220:18;;;9213:62;-1:-1:-1;;;9291:18:1;;;9284:31;9332:19;;12604:64:0;8960:397:1;12604:64:0;12696:63;12715:5;12696:63;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12696:14:0;;;;;;:8;:14;;;;;;;:63;:18;:63::i;:::-;-1:-1:-1;;;;;12679:14:0;;;;;;:8;:14;;;;;:80;12780:7;;:18;;12792:5;12780:11;:18::i;:::-;12770:7;:28;12814:33;;160:25:1;;;12837:1:0;;-1:-1:-1;;;;;12814:33:0;;;;;148:2:1;133:18;12814:33:0;;;;;;;12534:321;;:::o;3179:132::-;3237:7;3264:39;3268:1;3271;3264:39;;;;;;;;;;;;;;;;;:3;:39::i;2577:136::-;2635:7;2662:43;2666:1;2669;2662:43;;;;;;;;;;;;;;;;;:3;:43::i;17237:512::-;17327:16;;;17341:1;17327:16;;;;;;;;17303:21;;17327:16;;;;;;;;;;-1:-1:-1;17327:16:0;17303:40;;17372:4;17354;17359:1;17354:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17354:23:0;;;:7;;;;;;;;;;:23;;;;17398:15;;:22;;;-1:-1:-1;;;17398:22:0;;;;:15;;;;;:20;;:22;;;;;17354:7;;17398:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17388:4;17393:1;17388:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;17388:32:0;;;-1:-1:-1;;;;;17388:32:0;;;;;17435:11;17450:1;17435:16;17431:29;;17453:7;17237:512;:::o;17431:29::-;17502:15;;17470:62;;17487:4;;-1:-1:-1;;;;;17502:15:0;17520:11;17470:8;:62::i;:::-;17545:15;;:196;;-1:-1:-1;;;17545:196:0;;-1:-1:-1;;;;;17545:15:0;;;;:66;;:196;;17626:11;;17545:15;;17668:4;;17695;;17715:15;;17545:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17292:457;17237:512;:::o;2921:250::-;2979:7;3003:1;3008;3003:6;2999:47;;-1:-1:-1;3033:1:0;3026:8;;2999:47;3058:9;3070:5;3074:1;3070;:5;:::i;:::-;3058:17;-1:-1:-1;3103:1:0;3094:5;3098:1;3058:17;3094:5;:::i;:::-;:10;3086:56;;;;-1:-1:-1;;;3086:56:0;;11069:2:1;3086:56:0;;;11051:21:1;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;-1:-1:-1;;;11198:18:1;;;11191:31;11239:19;;3086:56:0;10867:397:1;18122:372:0;18235:15;;18203:62;;18220:4;;-1:-1:-1;;;;;18235:15:0;18253:11;18203:8;:62::i;:::-;18278:15;;18430;;18278:208;;-1:-1:-1;;;18278:208:0;;18352:4;18278:208;;;11610:34:1;11660:18;;;11653:34;;;18278:15:0;11703:18:1;;;11696:34;;;11746:18;;;11739:34;-1:-1:-1;;;;;18430:15:0;;;11789:19:1;;;11782:44;18460:15:0;11842:19:1;;;11835:35;18278:15:0;;;:31;;18318:9;;11544:19:1;;18278:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18122:372;;:::o;2721:192::-;2807:7;2843:12;2835:6;;;;2827:29;;;;-1:-1:-1;;;2827:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2867:9:0;2879:5;2883:1;2879;:5;:::i;3319:278::-;3405:7;3440:12;3433:5;3425:28;;;;-1:-1:-1;;;3425:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3464:9:0;3476:5;3480:1;3476;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2092:383::-;2169:6;2177;2185;2238:2;2226:9;2217:7;2213:23;2209:32;2206:52;;;2254:1;2251;2244:12;2206:52;2293:9;2280:23;2312:31;2337:5;2312:31;:::i;:::-;2362:5;2414:2;2399:18;;2386:32;;-1:-1:-1;2465:2:1;2450:18;;;2437:32;;2092:383;-1:-1:-1;;;2092:383:1:o;3130:247::-;3189:6;3242:2;3230:9;3221:7;3217:23;3213:32;3210:52;;;3258:1;3255;3248:12;3210:52;3297:9;3284:23;3316:31;3341:5;3316:31;:::i;3382:416::-;3447:6;3455;3508:2;3496:9;3487:7;3483:23;3479:32;3476:52;;;3524:1;3521;3514:12;3476:52;3563:9;3550:23;3582:31;3607:5;3582:31;:::i;:::-;3632:5;-1:-1:-1;3689:2:1;3674:18;;3661:32;3731:15;;3724:23;3712:36;;3702:64;;3762:1;3759;3752:12;3702:64;3785:7;3775:17;;;3382:416;;;;;:::o;3803:388::-;3871:6;3879;3932:2;3920:9;3911:7;3907:23;3903:32;3900:52;;;3948:1;3945;3938:12;3900:52;3987:9;3974:23;4006:31;4031:5;4006:31;:::i;:::-;4056:5;-1:-1:-1;4113:2:1;4098:18;;4085:32;4126:33;4085:32;4126:33;:::i;4196:127::-;4257:10;4252:3;4248:20;4245:1;4238:31;4288:4;4285:1;4278:15;4312:4;4309:1;4302:15;4328:128;4395:9;;;4416:11;;;4413:37;;;4430:18;;:::i;4816:125::-;4881:9;;;4902:10;;;4899:36;;;4915:18;;:::i;4946:356::-;5148:2;5130:21;;;5167:18;;;5160:30;5226:34;5221:2;5206:18;;5199:62;5293:2;5278:18;;4946:356::o;7742:405::-;7944:2;7926:21;;;7983:2;7963:18;;;7956:30;8022:34;8017:2;8002:18;;7995:62;-1:-1:-1;;;8088:2:1;8073:18;;8066:39;8137:3;8122:19;;7742:405::o;8152:408::-;8354:2;8336:21;;;8393:2;8373:18;;;8366:30;8432:34;8427:2;8412:18;;8405:62;-1:-1:-1;;;8498:2:1;8483:18;;8476:42;8550:3;8535:19;;8152:408::o;8565:217::-;8605:1;8631;8621:132;;8675:10;8670:3;8666:20;8663:1;8656:31;8710:4;8707:1;8700:15;8738:4;8735:1;8728:15;8621:132;-1:-1:-1;8767:9:1;;8565:217::o;8787:168::-;8860:9;;;8891;;8908:15;;;8902:22;;8888:37;8878:71;;8929:18;;:::i;9494:127::-;9555:10;9550:3;9546:20;9543:1;9536:31;9586:4;9583:1;9576:15;9610:4;9607:1;9600:15;9626:251;9696:6;9749:2;9737:9;9728:7;9724:23;9720:32;9717:52;;;9765:1;9762;9755:12;9717:52;9797:9;9791:16;9816:31;9841:5;9816:31;:::i;9882:980::-;10144:4;10192:3;10181:9;10177:19;10223:6;10212:9;10205:25;10249:2;10287:6;10282:2;10271:9;10267:18;10260:34;10330:3;10325:2;10314:9;10310:18;10303:31;10354:6;10389;10383:13;10420:6;10412;10405:22;10458:3;10447:9;10443:19;10436:26;;10497:2;10489:6;10485:15;10471:29;;10518:1;10528:195;10542:6;10539:1;10536:13;10528:195;;;10607:13;;-1:-1:-1;;;;;10603:39:1;10591:52;;10698:15;;;;10663:12;;;;10639:1;10557:9;10528:195;;;-1:-1:-1;;;;;;;10779:32:1;;;;10774:2;10759:18;;10752:60;-1:-1:-1;;;10843:3:1;10828:19;10821:35;10740:3;9882:980;-1:-1:-1;;;9882:980:1:o;11881:306::-;11969:6;11977;11985;12038:2;12026:9;12017:7;12013:23;12009:32;12006:52;;;12054:1;12051;12044:12;12006:52;12083:9;12077:16;12067:26;;12133:2;12122:9;12118:18;12112:25;12102:35;;12177:2;12166:9;12162:18;12156:25;12146:35;;11881:306;;;;;:::o

Swarm Source

ipfs://01255bf4e506b33800c412efdc7c87f48501489d494ae2872c17b8e681e1424d

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.