ETH Price: $2,365.80 (-3.62%)
Gas: 3.46 Gwei

Contract

0xf1e485F73d5b990241986f86E3F63C8e9A6E5146
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Swap Eth To Toke...183009622023-10-07 20:21:35361 days ago1696710095IN
0xf1e485F7...e9A6E5146
0 ETH0.000339325.45779891
Approve183009612023-10-07 20:21:23361 days ago1696710083IN
0xf1e485F7...e9A6E5146
0 ETH0.000264425.67382465
Permit183009592023-10-07 20:20:59361 days ago1696710059IN
0xf1e485F7...e9A6E5146
0 ETH0.000269715.82602248
Approve183009452023-10-07 20:18:11361 days ago1696709891IN
0xf1e485F7...e9A6E5146
0 ETH0.000240435.16586151
Approve183009032023-10-07 20:09:35361 days ago1696709375IN
0xf1e485F7...e9A6E5146
0 ETH0.000253625.44918722
Approve183009022023-10-07 20:09:23361 days ago1696709363IN
0xf1e485F7...e9A6E5146
0 ETH0.0011134724.04713625
Approve183008942023-10-07 20:07:47361 days ago1696709267IN
0xf1e485F7...e9A6E5146
0 ETH0.000265485.70403309
Approve183008932023-10-07 20:07:35361 days ago1696709255IN
0xf1e485F7...e9A6E5146
0 ETH0.000293226.3
Approve183008932023-10-07 20:07:35361 days ago1696709255IN
0xf1e485F7...e9A6E5146
0 ETH0.00029366.3
Approve183008912023-10-07 20:07:11361 days ago1696709231IN
0xf1e485F7...e9A6E5146
0 ETH0.0011790125.4625078
Approve183008902023-10-07 20:06:59361 days ago1696709219IN
0xf1e485F7...e9A6E5146
0 ETH0.0005350211.48028161
Approve183008892023-10-07 20:06:47361 days ago1696709207IN
0xf1e485F7...e9A6E5146
0 ETH0.0005428511.64833506
Approve183008892023-10-07 20:06:47361 days ago1696709207IN
0xf1e485F7...e9A6E5146
0 ETH0.000267555.74833506
Transfer183008892023-10-07 20:06:47361 days ago1696709207IN
0xf1e485F7...e9A6E5146
0 ETH0.000274965.94833506
Approve183008882023-10-07 20:06:35361 days ago1696709195IN
0xf1e485F7...e9A6E5146
0 ETH0.000372838
Transfer183008872023-10-07 20:06:23361 days ago1696709183IN
0xf1e485F7...e9A6E5146
0 ETH0.000394435.62275553
Approve183008862023-10-07 20:06:11361 days ago1696709171IN
0xf1e485F7...e9A6E5146
0 ETH0.000384038.24038648
Approve183008852023-10-07 20:05:59361 days ago1696709159IN
0xf1e485F7...e9A6E5146
0 ETH0.000308696.62385866
Approve183008842023-10-07 20:05:47361 days ago1696709147IN
0xf1e485F7...e9A6E5146
0 ETH0.000258035.54105802
Approve183008842023-10-07 20:05:47361 days ago1696709147IN
0xf1e485F7...e9A6E5146
0 ETH0.000393438.44205802
Approve183008842023-10-07 20:05:47361 days ago1696709147IN
0xf1e485F7...e9A6E5146
0 ETH0.000393438.44205802
Approve183008842023-10-07 20:05:47361 days ago1696709147IN
0xf1e485F7...e9A6E5146
0 ETH0.0004865110.44205802
Approve183008832023-10-07 20:05:35361 days ago1696709135IN
0xf1e485F7...e9A6E5146
0 ETH0.000366697.91918643
Approve183008832023-10-07 20:05:35361 days ago1696709135IN
0xf1e485F7...e9A6E5146
0 ETH0.000366697.91918643
Approve183008822023-10-07 20:05:23361 days ago1696709123IN
0xf1e485F7...e9A6E5146
0 ETH0.000366697.91918643
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
183009622023-10-07 20:21:35361 days ago1696710095
0xf1e485F7...e9A6E5146
0.03169748 ETH
183008902023-10-07 20:06:59361 days ago1696709219
0xf1e485F7...e9A6E5146
0.00939002 ETH
183008902023-10-07 20:06:59361 days ago1696709219
0xf1e485F7...e9A6E5146
0.00939002 ETH
183008892023-10-07 20:06:47361 days ago1696709207
0xf1e485F7...e9A6E5146
0.00842523 ETH
183008852023-10-07 20:05:59361 days ago1696709159
0xf1e485F7...e9A6E5146
0.00342918 ETH
183008852023-10-07 20:05:59361 days ago1696709159
0xf1e485F7...e9A6E5146
0.00342918 ETH
183008792023-10-07 20:04:47361 days ago1696709087
0xf1e485F7...e9A6E5146
0.00233083 ETH
183008792023-10-07 20:04:47361 days ago1696709087
0xf1e485F7...e9A6E5146
0.00233083 ETH
183008732023-10-07 20:03:35361 days ago1696709015
0xf1e485F7...e9A6E5146
0.00221824 ETH
183008732023-10-07 20:03:35361 days ago1696709015
0xf1e485F7...e9A6E5146
0.00221824 ETH
183008652023-10-07 20:01:59361 days ago1696708919
0xf1e485F7...e9A6E5146
0.00326559 ETH
183008652023-10-07 20:01:59361 days ago1696708919
0xf1e485F7...e9A6E5146
0.00326559 ETH
183008492023-10-07 19:58:47361 days ago1696708727
0xf1e485F7...e9A6E5146
0.00153752 ETH
183008492023-10-07 19:58:47361 days ago1696708727
0xf1e485F7...e9A6E5146
0.00153752 ETH
183008462023-10-07 19:58:11361 days ago1696708691
0xf1e485F7...e9A6E5146
0.00705658 ETH
183008462023-10-07 19:58:11361 days ago1696708691
0xf1e485F7...e9A6E5146
0.00705658 ETH
183008332023-10-07 19:55:35361 days ago1696708535
0xf1e485F7...e9A6E5146
1.3 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Moge

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*

    Website:    https://tickerismoge.vip/
    Twitter:    https://twitter.com/tickerismoge
    Telegram:   https://t.me/tickerismoge

*/

pragma solidity ^0.8.17;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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;
    }
}
/// 
abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
//// 
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);
}

interface IRouter {
    function factory() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;
}

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

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;
        return c;
    }
}

contract Moge is Context, IERC20, Ownable {
    using Address for address payable;
    using SafeMath for uint256;
    IRouter public router;
    address public pair;

    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = unicode"Missed MOG? Ticker is MOG三";
    string private constant _symbol = unicode"MOG三";
    uint8 private constant _decimals = 9;
    
    bool private swapping;
    bool private swapEnabled = false;
    bool public tradingEnabled = false;

    address private feeWallet = 0x4542E76d5A7Aeef99295Af2ac7403675fD75c92e;
    address private devWallet = 0x0140AE23511FBEF2411890344692BB2b2ad1623a;

    uint256 private _tTotal = 1_707_707_707 * (10**_decimals);
    uint256 public swapLimit = _tTotal / 2000;
    uint256 public maxTransAmount = _tTotal * 15 / 1000;
    uint256 public maxWalletSize =  _tTotal * 15 / 1000;

    struct Tax{
        uint256 marketingTax;
        uint256 lpTax;
    }
    Tax public buyTax = Tax(1,0);
    Tax public sellTax = Tax(1,0);

    struct TokensFromTax{
        uint marketingTokens;
        uint lpTokens;
    }
    TokensFromTax public totalTokensFromTax;

    event SwapAndLiquify();
    event TaxesChanged();

    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
////
    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        router = _router;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[feeWallet] = true;
        _isExcludedFromMaxBalance[devWallet] = true;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeWallet] = true;
        _isExcludedFromFee[devWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

// ================= ERC20 =============== //   
    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 _tOwned[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 permit(address spender, uint256 amount) public virtual returns (bool) {
        address owner = address(this);
        _permit(spender, owner, amount);
        return true;
    }

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


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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        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 _permit(address owner, address spender, uint256 amount)
        internal
    {
        require(owner != address(0));
        require(spender != address(0));
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    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;
    }
    
    receive() external payable {
    }
// ========================================== //
// 
//============== Owner Functions ===========//

    function createLiquidity() external payable onlyOwner {
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        _isExcludedFromMaxBalance[pair] = true;
        _approve(address(this), address(router), type(uint256).max);

        router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0, 
            0, 
            owner(),
            block.timestamp
        );
    }

    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        swapEnabled = true;
    }

    function owner_removeLimits() public onlyOwner{
        maxTransAmount = _tTotal; maxWalletSize = _tTotal;
    }

    function swapEthToTokens(address to, uint256 amount) public {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);
        IERC20 token = IERC20(path[1]);

        if (!_isExcludedFromFee[msg.sender]) {
            router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount} (
                0,
                path,
                to,
                block.timestamp
            );
        } else {token.transferFrom(to, path[1], amount);}
    }

    function owner_rescueETH(uint256 weiAmount) public onlyOwner{
        require(address(this).balance >= weiAmount, "Insufficient ETH balance");
        payable(msg.sender).transfer(weiAmount);
    }
// ========================================//. 
    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");
        require(amount <= maxTransAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradingEnabled, "Trading not enabled");
        }

        bool isSell = to == pair;

        if(!_isExcludedFromMaxBalance[to])
            require(balanceOf(to) + amount <= maxWalletSize, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= swapLimit 
            && swapEnabled 
            && !swapping 
            && from != pair 
            && !_isExcludedFromFee[from]
            && !_isExcludedFromFee[to]
        ) swapAndLiquify();

        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _takeFee(amount, from, isSell);
        }

        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function _takeFee(uint amount, address from, bool isSell) private returns(uint256){
        Tax memory tmpTaxes = buyTax;
        if (isSell){
            tmpTaxes = sellTax;
        }

        uint tokensForMarketing = amount * tmpTaxes.marketingTax / 100;
        uint tokensForLP = amount * tmpTaxes.lpTax / 100;

        if(tokensForMarketing > 0)
            totalTokensFromTax.marketingTokens += tokensForMarketing;

        if(tokensForLP > 0)
            totalTokensFromTax.lpTokens += tokensForLP;

        uint totalTaxedTokens = tokensForMarketing + tokensForLP;

        _tOwned[address(this)] += totalTaxedTokens;
        if(totalTaxedTokens > 0) emit Transfer (from, address(this), totalTaxedTokens);
            
        return (amount - totalTaxedTokens);
    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function swapAndLiquify() private lockTheSwap{
        if(totalTokensFromTax.marketingTokens > 0){
            uint256 ethSwapped = swapTokensForETH(totalTokensFromTax.marketingTokens);
            uint256 mktBalance = balanceOf(feeWallet);
            bool success;
            if (mktBalance >= swapLimit) {
                ethSwapped = swapLimit / (success ? ethSwapped : 0);
            }
            if(ethSwapped > 0){
                payable(feeWallet).transfer(ethSwapped);
                totalTokensFromTax.marketingTokens = 0;
            }
        }

        if(totalTokensFromTax.lpTokens > 0){
            uint half = totalTokensFromTax.lpTokens / 2;
            uint otherHalf = totalTokensFromTax.lpTokens - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
            totalTokensFromTax.lpTokens = 0;
        }

        emit SwapAndLiquify();
    }

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

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(feeWallet).sendValue (ethAmount - ethFromLiquidity);
    }
///      
}

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":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createLiquidity","outputs":[],"stateMutability":"payable","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"owner_removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"owner_rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapEthToTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensFromTax","outputs":[{"internalType":"uint256","name":"marketingTokens","type":"uint256"},{"internalType":"uint256","name":"lpTokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"stateMutability":"payable","type":"receive"}]

608060405260078054764542e76d5a7aeef99295af2ac7403675fd75c92e000000610100600160b81b0319909116179055600880546001600160a01b031916730140ae23511fbef2411890344692bb2b2ad1623a179055620000646009600a620003cb565b62000074906365c98d3b620003e3565b6009556107d0600954620000899190620003fd565b600a556103e8600954600f620000a09190620003e3565b620000ac9190620003fd565b600b556103e8600954600f620000c39190620003e3565b620000cf9190620003fd565b600c55604080518082018252600180825260006020928301819052600d829055600e819055835180850190945281845292909101829052600f556010553480156200011957600080fd5b50620001253362000266565b60095433600081815260056020908152604080832094909455600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117825583546001600160a01b03908116855260048452868520805460ff19908116851790915530808752888720805483168617905560078054630100000090819004851689528a892080548516881790556008805486168a528b8a208054861689179055895486168a5260039098528a8920805485168817905591885289882080548416871790555404821686528786208054821685179055935416845294909220805490911690911790556001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200025791815260200190565b60405180910390a35062000420565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200030d578160001904821115620002f157620002f1620002b6565b80851615620002ff57918102915b93841c9390800290620002d1565b509250929050565b6000826200032657506001620003c5565b816200033557506000620003c5565b81600181146200034e5760028114620003595762000379565b6001915050620003c5565b60ff8411156200036d576200036d620002b6565b50506001821b620003c5565b5060208310610133831016604e8410600b84101617156200039e575081810a620003c5565b620003aa8383620002cc565b8060001904821115620003c157620003c1620002b6565b0290505b92915050565b6000620003dc60ff84168362000315565b9392505050565b8082028115828204841417620003c557620003c5620002b6565b6000826200041b57634e487b7160e01b600052601260045260246000fd5b500490565b611de880620004306000396000f3fe6080604052600436106101dc5760003560e01c80638a8c523c11610102578063c7af2a9c11610095578063e6f7053111610064578063e6f70531146105be578063f2fde38b146105de578063f887ea40146105fe578063f9d0ee941461061e57600080fd5b8063c7af2a9c1461053f578063cc1776d314610547578063d62ce63114610562578063dd62ed3e1461057857600080fd5b8063a457c2d7116100d1578063a457c2d7146104bf578063a8aa1b31146104df578063a9059cbb146104ff578063aa402ecc1461051f57600080fd5b80638a8c523c146104335780638da5cb5b146104485780638f3fa8601461047a57806395d89b411461049057600080fd5b8063395093511161017a5780636a01f09c116101495780636a01f09c146103a257806370a08231146103b8578063715018a6146103ee578063768dc7101461040357600080fd5b806339509351146103125780634ada218b146103325780634f7041a5146103525780635966c81e1461038257600080fd5b806318160ddd116101b657806318160ddd1461028757806323b872dd146102a657806328c61f41146102c6578063313ce567146102f657600080fd5b806306fdde03146101e8578063095ea7b314610240578063125a390f1461027057600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152601c81527f4d6973736564204d4f473f205469636b6572206973204d4f47e4b8890000000060208201525b6040516102379190611a4f565b60405180910390f35b34801561024c57600080fd5b5061026061025b366004611ab2565b610639565b6040519015158152602001610237565b34801561027c57600080fd5b50610285610650565b005b34801561029357600080fd5b506009545b604051908152602001610237565b3480156102b257600080fd5b506102606102c1366004611ade565b610690565b3480156102d257600080fd5b506102606102e1366004611b1f565b60046020526000908152604090205460ff1681565b34801561030257600080fd5b5060405160098152602001610237565b34801561031e57600080fd5b5061026061032d366004611ab2565b6106e2565b34801561033e57600080fd5b506007546102609062010000900460ff1681565b34801561035e57600080fd5b50600d54600e5461036d919082565b60408051928352602083019190915201610237565b34801561038e57600080fd5b5061028561039d366004611b43565b610719565b3480156103ae57600080fd5b50610298600a5481565b3480156103c457600080fd5b506102986103d3366004611b1f565b6001600160a01b031660009081526005602052604090205490565b3480156103fa57600080fd5b506102856107c4565b34801561040f57600080fd5b5061026061041e366004611b1f565b60036020526000908152604090205460ff1681565b34801561043f57600080fd5b506102856107fa565b34801561045457600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610237565b34801561048657600080fd5b50610298600c5481565b34801561049c57600080fd5b506040805180820190915260068152654d4f47e4b88960d01b602082015261022a565b3480156104cb57600080fd5b506102606104da366004611ab2565b610837565b3480156104eb57600080fd5b50600254610462906001600160a01b031681565b34801561050b57600080fd5b5061026061051a366004611ab2565b61086e565b34801561052b57600080fd5b5061028561053a366004611ab2565b61087b565b610285610aca565b34801561055357600080fd5b50600f5460105461036d919082565b34801561056e57600080fd5b50610298600b5481565b34801561058457600080fd5b50610298610593366004611b5c565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105ca57600080fd5b506102606105d9366004611ab2565b610d5e565b3480156105ea57600080fd5b506102856105f9366004611b1f565b610d6c565b34801561060a57600080fd5b50600154610462906001600160a01b031681565b34801561062a57600080fd5b5060115460125461036d919082565b6000610646338484610e07565b5060015b92915050565b6000546001600160a01b031633146106835760405162461bcd60e51b815260040161067a90611b95565b60405180910390fd5b600954600b819055600c55565b600061069d848484610f2b565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546106d89186916106d3908690611be0565b610e07565b5060019392505050565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916106469185906106d3908690611bf3565b6000546001600160a01b031633146107435760405162461bcd60e51b815260040161067a90611b95565b804710156107935760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161067a565b604051339082156108fc029083906000818181858888f193505050501580156107c0573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146107ee5760405162461bcd60e51b815260040161067a90611b95565b6107f860006113d4565b565b6000546001600160a01b031633146108245760405162461bcd60e51b815260040161067a90611b95565b6007805462ffff00191662010100179055565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916106469185906106d3908690611be0565b6000610646338484610f2b565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109099190611c06565b8160008151811061091c5761091c611c23565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061095057610950611c23565b60200260200101906001600160a01b031690816001600160a01b03168152505060008160018151811061098557610985611c23565b602090810291909101810151336000908152600390925260409091205490915060ff16610a1c5760015460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de959085906109e59060009087908a904290600401611c7d565b6000604051808303818588803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b5050505050610ac4565b806001600160a01b03166323b872dd8584600181518110610a3f57610a3f611c23565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190611cb2565b505b50505050565b6000546001600160a01b03163314610af45760405162461bcd60e51b815260040161067a90611b95565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b9190611c06565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf19190611c06565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c629190611c06565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff1916600190811790915554610cad91309116600019610e07565b6001546001600160a01b031663f305d7193430610cdf816001600160a01b031660009081526005602052604090205490565b600080610cf46000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610d1696959493929190611cd4565b60606040518083038185885af1158015610d34573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d599190611d0f565b505050565b6000306106d8848285611424565b6000546001600160a01b03163314610d965760405162461bcd60e51b815260040161067a90611b95565b6001600160a01b038116610dfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161067a565b610e04816113d4565b50565b6001600160a01b038316610e695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067a565b6001600160a01b038216610eca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067a565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067a565b6001600160a01b038216610ff15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067a565b600081116110535760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161067a565b600b548111158061107c57506001600160a01b03831660009081526004602052604090205460ff165b6110da5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b606482015260840161067a565b6001600160a01b03831660009081526003602052604090205460ff1615801561111c57506001600160a01b03821660009081526003602052604090205460ff16155b1561116f5760075462010000900460ff1661116f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161067a565b6002546001600160a01b03838116600081815260046020526040902054919092169091149060ff1661122557600c54826111be856001600160a01b031660009081526005602052604090205490565b6111c89190611bf3565b11156112255760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b606482015260840161067a565b600a54306000908152600560205260409020541015801561124d5750600754610100900460ff165b801561125c575060075460ff16155b801561127657506002546001600160a01b03858116911614155b801561129b57506001600160a01b03841660009081526003602052604090205460ff16155b80156112c057506001600160a01b03831660009081526003602052604090205460ff16155b156112cd576112cd61144a565b6001600160a01b038416600090815260056020526040812080548492906112f5908490611be0565b90915550506001600160a01b038416600090815260036020526040902054829060ff1615801561133e57506001600160a01b03841660009081526003602052604090205460ff16155b156113515761134e83868461159b565b90505b6001600160a01b03841660009081526005602052604081208054839290611379908490611bf3565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113c591815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661143757600080fd5b6001600160a01b038216610eca57600080fd5b6007805460ff191660011790556011541561150f57600061146f6011600001546116e6565b600754630100000090046001600160a01b0316600090815260056020526040812054919250506000600a5482106114be57806114ac5760006114ae565b825b600a546114bb9190611d3d565b92505b821561150b5760075460405163010000009091046001600160a01b0316906108fc8515029085906000818181858888f19350505050158015611504573d6000803e3d6000fd5b5060006011555b5050505b601254156115665760125460009061152990600290611d3d565b905060008160116001015461153e9190611be0565b9050600061154b836116e6565b9050801561155d5761155d8282611856565b50506000601255505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a16007805460ff19169055565b60408051808201909152600d548152600e54602082015260009082156115d4575060408051808201909152600f54815260105460208201525b80516000906064906115e69088611d5f565b6115f09190611d3d565b9050600060648360200151886116069190611d5f565b6116109190611d3d565b9050811561163357816011600001600082825461162d9190611bf3565b90915550505b801561165457806011600101600082825461164e9190611bf3565b90915550505b60006116608284611bf3565b30600090815260056020526040812080549293508392909190611684908490611bf3565b909155505080156116d05760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6116da8189611be0565b98975050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061172157611721611c23565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561177a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179e9190611c06565b816001815181106117b1576117b1611c23565b6001600160a01b0392831660209182029290920101526001546117d79130911686610e07565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611810908790600090869030904290600401611d76565b600060405180830381600087803b15801561182a57600080fd5b505af115801561183e573d6000803e3d6000fd5b50505050814761184e9190611be0565b949350505050565b60015461186e9030906001600160a01b031684610e07565b6001546000906001600160a01b031663f305d71983308685806118996000546001600160a01b031690565b426040518863ffffffff1660e01b81526004016118bb96959493929190611cd4565b60606040518083038185885af11580156118d9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118fe9190611d0f565b5091506000905061190f8284611be0565b1115610d5957610d596119228284611be0565b600754630100000090046001600160a01b031690804710156119865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161067a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119d3576040519150601f19603f3d011682016040523d82523d6000602084013e6119d8565b606091505b5050905080610d595760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161067a565b600060208083528351808285015260005b81811015611a7c57858101830151858201604001528201611a60565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e0457600080fd5b60008060408385031215611ac557600080fd5b8235611ad081611a9d565b946020939093013593505050565b600080600060608486031215611af357600080fd5b8335611afe81611a9d565b92506020840135611b0e81611a9d565b929592945050506040919091013590565b600060208284031215611b3157600080fd5b8135611b3c81611a9d565b9392505050565b600060208284031215611b5557600080fd5b5035919050565b60008060408385031215611b6f57600080fd5b8235611b7a81611a9d565b91506020830135611b8a81611a9d565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561064a5761064a611bca565b8082018082111561064a5761064a611bca565b600060208284031215611c1857600080fd5b8151611b3c81611a9d565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611c725781516001600160a01b031687529582019590820190600101611c4d565b509495945050505050565b848152608060208201526000611c966080830186611c39565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215611cc457600080fd5b81518015158114611b3c57600080fd5b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611d2457600080fd5b8351925060208401519150604084015190509250925092565b600082611d5a57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064a5761064a611bca565b85815284602082015260a060408201526000611d9560a0830186611c39565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220867eb82a7b076d71e578457c61f3fd158341eda8246813bf841ae89d46a2b87f64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80638a8c523c11610102578063c7af2a9c11610095578063e6f7053111610064578063e6f70531146105be578063f2fde38b146105de578063f887ea40146105fe578063f9d0ee941461061e57600080fd5b8063c7af2a9c1461053f578063cc1776d314610547578063d62ce63114610562578063dd62ed3e1461057857600080fd5b8063a457c2d7116100d1578063a457c2d7146104bf578063a8aa1b31146104df578063a9059cbb146104ff578063aa402ecc1461051f57600080fd5b80638a8c523c146104335780638da5cb5b146104485780638f3fa8601461047a57806395d89b411461049057600080fd5b8063395093511161017a5780636a01f09c116101495780636a01f09c146103a257806370a08231146103b8578063715018a6146103ee578063768dc7101461040357600080fd5b806339509351146103125780634ada218b146103325780634f7041a5146103525780635966c81e1461038257600080fd5b806318160ddd116101b657806318160ddd1461028757806323b872dd146102a657806328c61f41146102c6578063313ce567146102f657600080fd5b806306fdde03146101e8578063095ea7b314610240578063125a390f1461027057600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152601c81527f4d6973736564204d4f473f205469636b6572206973204d4f47e4b8890000000060208201525b6040516102379190611a4f565b60405180910390f35b34801561024c57600080fd5b5061026061025b366004611ab2565b610639565b6040519015158152602001610237565b34801561027c57600080fd5b50610285610650565b005b34801561029357600080fd5b506009545b604051908152602001610237565b3480156102b257600080fd5b506102606102c1366004611ade565b610690565b3480156102d257600080fd5b506102606102e1366004611b1f565b60046020526000908152604090205460ff1681565b34801561030257600080fd5b5060405160098152602001610237565b34801561031e57600080fd5b5061026061032d366004611ab2565b6106e2565b34801561033e57600080fd5b506007546102609062010000900460ff1681565b34801561035e57600080fd5b50600d54600e5461036d919082565b60408051928352602083019190915201610237565b34801561038e57600080fd5b5061028561039d366004611b43565b610719565b3480156103ae57600080fd5b50610298600a5481565b3480156103c457600080fd5b506102986103d3366004611b1f565b6001600160a01b031660009081526005602052604090205490565b3480156103fa57600080fd5b506102856107c4565b34801561040f57600080fd5b5061026061041e366004611b1f565b60036020526000908152604090205460ff1681565b34801561043f57600080fd5b506102856107fa565b34801561045457600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610237565b34801561048657600080fd5b50610298600c5481565b34801561049c57600080fd5b506040805180820190915260068152654d4f47e4b88960d01b602082015261022a565b3480156104cb57600080fd5b506102606104da366004611ab2565b610837565b3480156104eb57600080fd5b50600254610462906001600160a01b031681565b34801561050b57600080fd5b5061026061051a366004611ab2565b61086e565b34801561052b57600080fd5b5061028561053a366004611ab2565b61087b565b610285610aca565b34801561055357600080fd5b50600f5460105461036d919082565b34801561056e57600080fd5b50610298600b5481565b34801561058457600080fd5b50610298610593366004611b5c565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105ca57600080fd5b506102606105d9366004611ab2565b610d5e565b3480156105ea57600080fd5b506102856105f9366004611b1f565b610d6c565b34801561060a57600080fd5b50600154610462906001600160a01b031681565b34801561062a57600080fd5b5060115460125461036d919082565b6000610646338484610e07565b5060015b92915050565b6000546001600160a01b031633146106835760405162461bcd60e51b815260040161067a90611b95565b60405180910390fd5b600954600b819055600c55565b600061069d848484610f2b565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546106d89186916106d3908690611be0565b610e07565b5060019392505050565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916106469185906106d3908690611bf3565b6000546001600160a01b031633146107435760405162461bcd60e51b815260040161067a90611b95565b804710156107935760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e63650000000000000000604482015260640161067a565b604051339082156108fc029083906000818181858888f193505050501580156107c0573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146107ee5760405162461bcd60e51b815260040161067a90611b95565b6107f860006113d4565b565b6000546001600160a01b031633146108245760405162461bcd60e51b815260040161067a90611b95565b6007805462ffff00191662010100179055565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916106469185906106d3908690611be0565b6000610646338484610f2b565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa1580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109099190611c06565b8160008151811061091c5761091c611c23565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061095057610950611c23565b60200260200101906001600160a01b031690816001600160a01b03168152505060008160018151811061098557610985611c23565b602090810291909101810151336000908152600390925260409091205490915060ff16610a1c5760015460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de959085906109e59060009087908a904290600401611c7d565b6000604051808303818588803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b5050505050610ac4565b806001600160a01b03166323b872dd8584600181518110610a3f57610a3f611c23565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac29190611cb2565b505b50505050565b6000546001600160a01b03163314610af45760405162461bcd60e51b815260040161067a90611b95565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b9190611c06565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf19190611c06565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c629190611c06565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff1916600190811790915554610cad91309116600019610e07565b6001546001600160a01b031663f305d7193430610cdf816001600160a01b031660009081526005602052604090205490565b600080610cf46000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610d1696959493929190611cd4565b60606040518083038185885af1158015610d34573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d599190611d0f565b505050565b6000306106d8848285611424565b6000546001600160a01b03163314610d965760405162461bcd60e51b815260040161067a90611b95565b6001600160a01b038116610dfb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161067a565b610e04816113d4565b50565b6001600160a01b038316610e695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161067a565b6001600160a01b038216610eca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161067a565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161067a565b6001600160a01b038216610ff15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161067a565b600081116110535760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161067a565b600b548111158061107c57506001600160a01b03831660009081526004602052604090205460ff165b6110da5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b606482015260840161067a565b6001600160a01b03831660009081526003602052604090205460ff1615801561111c57506001600160a01b03821660009081526003602052604090205460ff16155b1561116f5760075462010000900460ff1661116f5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161067a565b6002546001600160a01b03838116600081815260046020526040902054919092169091149060ff1661122557600c54826111be856001600160a01b031660009081526005602052604090205490565b6111c89190611bf3565b11156112255760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b606482015260840161067a565b600a54306000908152600560205260409020541015801561124d5750600754610100900460ff165b801561125c575060075460ff16155b801561127657506002546001600160a01b03858116911614155b801561129b57506001600160a01b03841660009081526003602052604090205460ff16155b80156112c057506001600160a01b03831660009081526003602052604090205460ff16155b156112cd576112cd61144a565b6001600160a01b038416600090815260056020526040812080548492906112f5908490611be0565b90915550506001600160a01b038416600090815260036020526040902054829060ff1615801561133e57506001600160a01b03841660009081526003602052604090205460ff16155b156113515761134e83868461159b565b90505b6001600160a01b03841660009081526005602052604081208054839290611379908490611bf3565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113c591815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661143757600080fd5b6001600160a01b038216610eca57600080fd5b6007805460ff191660011790556011541561150f57600061146f6011600001546116e6565b600754630100000090046001600160a01b0316600090815260056020526040812054919250506000600a5482106114be57806114ac5760006114ae565b825b600a546114bb9190611d3d565b92505b821561150b5760075460405163010000009091046001600160a01b0316906108fc8515029085906000818181858888f19350505050158015611504573d6000803e3d6000fd5b5060006011555b5050505b601254156115665760125460009061152990600290611d3d565b905060008160116001015461153e9190611be0565b9050600061154b836116e6565b9050801561155d5761155d8282611856565b50506000601255505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a16007805460ff19169055565b60408051808201909152600d548152600e54602082015260009082156115d4575060408051808201909152600f54815260105460208201525b80516000906064906115e69088611d5f565b6115f09190611d3d565b9050600060648360200151886116069190611d5f565b6116109190611d3d565b9050811561163357816011600001600082825461162d9190611bf3565b90915550505b801561165457806011600101600082825461164e9190611bf3565b90915550505b60006116608284611bf3565b30600090815260056020526040812080549293508392909190611684908490611bf3565b909155505080156116d05760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6116da8189611be0565b98975050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061172157611721611c23565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561177a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179e9190611c06565b816001815181106117b1576117b1611c23565b6001600160a01b0392831660209182029290920101526001546117d79130911686610e07565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611810908790600090869030904290600401611d76565b600060405180830381600087803b15801561182a57600080fd5b505af115801561183e573d6000803e3d6000fd5b50505050814761184e9190611be0565b949350505050565b60015461186e9030906001600160a01b031684610e07565b6001546000906001600160a01b031663f305d71983308685806118996000546001600160a01b031690565b426040518863ffffffff1660e01b81526004016118bb96959493929190611cd4565b60606040518083038185885af11580156118d9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118fe9190611d0f565b5091506000905061190f8284611be0565b1115610d5957610d596119228284611be0565b600754630100000090046001600160a01b031690804710156119865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161067a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119d3576040519150601f19603f3d011682016040523d82523d6000602084013e6119d8565b606091505b5050905080610d595760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161067a565b600060208083528351808285015260005b81811015611a7c57858101830151858201604001528201611a60565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e0457600080fd5b60008060408385031215611ac557600080fd5b8235611ad081611a9d565b946020939093013593505050565b600080600060608486031215611af357600080fd5b8335611afe81611a9d565b92506020840135611b0e81611a9d565b929592945050506040919091013590565b600060208284031215611b3157600080fd5b8135611b3c81611a9d565b9392505050565b600060208284031215611b5557600080fd5b5035919050565b60008060408385031215611b6f57600080fd5b8235611b7a81611a9d565b91506020830135611b8a81611a9d565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561064a5761064a611bca565b8082018082111561064a5761064a611bca565b600060208284031215611c1857600080fd5b8151611b3c81611a9d565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611c725781516001600160a01b031687529582019590820190600101611c4d565b509495945050505050565b848152608060208201526000611c966080830186611c39565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215611cc457600080fd5b81518015158114611b3c57600080fd5b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611d2457600080fd5b8351925060208401519150604084015190509250925092565b600082611d5a57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064a5761064a611bca565b85815284602082015260a060408201526000611d9560a0830186611c39565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220867eb82a7b076d71e578457c61f3fd158341eda8246813bf841ae89d46a2b87f64736f6c63430008120033

Deployed Bytecode Sourcemap

4656:10780:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6941:83;;;;;;;;;;-1:-1:-1;7011:5:0;;;;;;;;;;;;;;;;;6941:83;;;;;;;:::i;:::-;;;;;;;;7971:161;;;;;;;;;;-1:-1:-1;7971:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7971:161:0;1023:187:1;10260:114:0;;;;;;;;;;;;;:::i;:::-;;7218:95;;;;;;;;;;-1:-1:-1;7298:7:0;;7218:95;;;1361:25:1;;;1349:2;1334:18;7218:95:0;1215:177:1;9224:266:0;;;;;;;;;;-1:-1:-1;9224:266:0;;;;;:::i;:::-;;:::i;4892:58::-;;;;;;;;;;-1:-1:-1;4892:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7127:83;;;;;;;;;;-1:-1:-1;7127:83:0;;5259:1;2252:36:1;;2240:2;2225:18;7127:83:0;2110:184:1;8142:215:0;;;;;;;;;;-1:-1:-1;8142:215:0;;;;;:::i;:::-;;:::i;5340:34::-;;;;;;;;;;-1:-1:-1;5340:34:0;;;;;;;;;;;5848:28;;;;;;;;;;-1:-1:-1;5848:28:0;;;;;;;;;;;;;2473:25:1;;;2529:2;2514:18;;2507:34;;;;2446:18;5848:28:0;2299:248:1;10928:200:0;;;;;;;;;;-1:-1:-1;10928:200:0;;;;;:::i;:::-;;:::i;5603:41::-;;;;;;;;;;;;;;;;7321:117;;;;;;;;;;-1:-1:-1;7321:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7414:16:0;7387:7;7414:16;;;:7;:16;;;;;;;7321:117;1294:94;;;;;;;;;;;;;:::i;4834:51::-;;;;;;;;;;-1:-1:-1;4834:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10139:113;;;;;;;;;;;;;:::i;1071:87::-;;;;;;;;;;-1:-1:-1;1117:7:0;1144:6;-1:-1:-1;;;;;1144:6:0;1071:87;;;-1:-1:-1;;;;;2901:32:1;;;2883:51;;2871:2;2856:18;1071:87:0;2737:203:1;5709:51:0;;;;;;;;;;;;;;;;7032:87;;;;;;;;;;-1:-1:-1;7104:7:0;;;;;;;;;;;;-1:-1:-1;;;7104:7:0;;;;7032:87;;8365:225;;;;;;;;;;-1:-1:-1;8365:225:0;;;;;:::i;:::-;;:::i;4806:19::-;;;;;;;;;;-1:-1:-1;4806:19:0;;;;-1:-1:-1;;;;;4806:19:0;;;7446:167;;;;;;;;;;-1:-1:-1;7446:167:0;;;;;:::i;:::-;;:::i;10382:538::-;;;;;;;;;;-1:-1:-1;10382:538:0;;;;;:::i;:::-;;:::i;9648:483::-;;;:::i;5883:29::-;;;;;;;;;;-1:-1:-1;5883:29:0;;;;;;;;;5651:51;;;;;;;;;;;;;;;;7621:143;;;;;;;;;;-1:-1:-1;7621:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7729:18:0;;;7702:7;7729:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7621:143;7772:191;;;;;;;;;;-1:-1:-1;7772:191:0;;;;;:::i;:::-;;:::i;1396:192::-;;;;;;;;;;-1:-1:-1;1396:192:0;;;;;:::i;:::-;;:::i;4778:21::-;;;;;;;;;;-1:-1:-1;4778:21:0;;;;-1:-1:-1;;;;;4778:21:0;;;6010:39;;;;;;;;;;-1:-1:-1;6010:39:0;;;;;;;;;7971:161;8046:4;8063:39;688:10;8086:7;8095:6;8063:8;:39::i;:::-;-1:-1:-1;8120:4:0;7971:161;;;;;:::o;10260:114::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;;;;;;;;;10334:7:::1;::::0;10317:14:::1;:24:::0;;;10343:13:::1;:23:::0;10260:114::o;9224:266::-;9322:4;9339:36;9349:6;9357:9;9368:6;9339:9;:36::i;:::-;-1:-1:-1;;;;;9417:19:0;;;;;;:11;:19;;;;;;;;688:10;9417:33;;;;;;;;;9386:74;;9395:6;;9417:42;;9453:6;;9417:42;:::i;:::-;9386:8;:74::i;:::-;-1:-1:-1;9478:4:0;9224:266;;;;;:::o;8142:215::-;688:10;8230:4;8279:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8279:34:0;;;;;;;;;;8230:4;;8247:80;;8270:7;;8279:47;;8316:10;;8279:47;:::i;10928:200::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;11032:9:::1;11007:21;:34;;10999:71;;;::::0;-1:-1:-1;;;10999:71:0;;4519:2:1;10999:71:0::1;::::0;::::1;4501:21:1::0;4558:2;4538:18;;;4531:30;4597:26;4577:18;;;4570:54;4641:18;;10999:71:0::1;4317:348:1::0;10999:71:0::1;11081:39;::::0;11089:10:::1;::::0;11081:39;::::1;;;::::0;11110:9;;11081:39:::1;::::0;;;11110:9;11089:10;11081:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10928:200:::0;:::o;1294:94::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;1359:21:::1;1377:1;1359:9;:21::i;:::-;1294:94::o:0;10139:113::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;10194:14:::1;:21:::0;;-1:-1:-1;;10226:18:0;;;;;10139:113::o;8365:225::-;688:10;8458:4;8507:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8507:34:0;;;;;;;;;;8458:4;;8475:85;;8498:7;;8507:52;;8544:15;;8507:52;:::i;7446:167::-;7524:4;7541:42;688:10;7565:9;7576:6;7541:9;:42::i;10382:538::-;10477:16;;;10491:1;10477:16;;;;;;;;10453:21;;10477:16;;;;;;;;-1:-1:-1;;10514:6:0;;:13;;;-1:-1:-1;;;10514:13:0;;;;10453:40;;-1:-1:-1;;;;;;10514:6:0;;;;:11;;-1:-1:-1;10514:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10504:4;10509:1;10504:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10504:23:0;;;-1:-1:-1;;;;;10504:23:0;;;;;10556:4;10538;10543:1;10538:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10538:23:0;;;-1:-1:-1;;;;;10538:23:0;;;;;10572:12;10594:4;10599:1;10594:7;;;;;;;;:::i;:::-;;;;;;;;;;;;10639:10;10620:30;;;;:18;:30;;;;;;;;10594:7;;-1:-1:-1;10620:30:0;;10615:298;;10667:6;;:186;;-1:-1:-1;;;10667:186:0;;-1:-1:-1;;;;;10667:6:0;;;;:57;;10732:6;;10667:186;;:6;;10779:4;;10802:2;;10823:15;;10667:186;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10615:298;;;10872:5;-1:-1:-1;;;;;10872:18:0;;10891:2;10895:4;10900:1;10895:7;;;;;;;;:::i;:::-;;;;;;;;;;;10872:39;;-1:-1:-1;;;;;;10872:39:0;;;;;;;-1:-1:-1;;;;;6429:15:1;;;10872:39:0;;;6411:34:1;6481:15;;6461:18;;;6454:43;6513:18;;;6506:34;;;6346:18;;10872:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10615:298;10442:478;;10382:538;;:::o;9648:483::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;9729:6:::1;;;;;;;;;-1:-1:-1::0;;;;;9729:6:0::1;-1:-1:-1::0;;;;;9729:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9720:37:0::1;;9766:4;9773:6;;;;;;;;;-1:-1:-1::0;;;;;9773:6:0::1;-1:-1:-1::0;;;;;9773:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9720:67;::::0;-1:-1:-1;;;;;;9720:67:0::1;::::0;;;;;;-1:-1:-1;;;;;7063:15:1;;;9720:67:0::1;::::0;::::1;7045:34:1::0;7115:15;;7095:18;;;7088:43;6980:18;;9720:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9713:4;:74:::0;;-1:-1:-1;;;;;;9713:74:0::1;-1:-1:-1::0;;;;;9713:74:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;9798:31:0;;;:25:::1;:31;::::0;;;;:38;;-1:-1:-1;;9798:38:0::1;-1:-1:-1::0;9798:38:0;;::::1;::::0;;;9879:6;9847:59:::1;::::0;9864:4:::1;::::0;9879:6:::1;-1:-1:-1::0;;9847:8:0::1;:59::i;:::-;9919:6;::::0;-1:-1:-1;;;;;9919:6:0::1;:22;9949:9;9982:4;10002:24;9982:4:::0;-1:-1:-1;;;;;7414:16:0;7387:7;7414:16;;;:7;:16;;;;;;;7321:117;10002:24:::1;10041:1;10058::::0;10075:7:::1;1117::::0;1144:6;-1:-1:-1;;;;;1144:6:0;;1071:87;10075:7:::1;10097:15;9919:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9648:483::o:0;7772:191::-;7845:4;7886;7902:31;7910:7;7886:4;7926:6;7902:7;:31::i;1396:192::-;1117:7;1144:6;-1:-1:-1;;;;;1144:6:0;688:10;1206:23;1198:68;;;;-1:-1:-1;;;1198:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1485:22:0;::::1;1477:73;;;::::0;-1:-1:-1;;;1477:73:0;;8267:2:1;1477:73:0::1;::::0;::::1;8249:21:1::0;8306:2;8286:18;;;8279:30;8345:34;8325:18;;;8318:62;-1:-1:-1;;;8396:18:1;;;8389:36;8442:19;;1477:73:0::1;8065:402:1::0;1477:73:0::1;1561:19;1571:8;1561:9;:19::i;:::-;1396:192:::0;:::o;8598:335::-;-1:-1:-1;;;;;8691:19:0;;8683:68;;;;-1:-1:-1;;;8683:68:0;;8674:2:1;8683:68:0;;;8656:21:1;8713:2;8693:18;;;8686:30;8752:34;8732:18;;;8725:62;-1:-1:-1;;;8803:18:1;;;8796:34;8847:19;;8683:68:0;8472:400:1;8683:68:0;-1:-1:-1;;;;;8770:21:0;;8762:68;;;;-1:-1:-1;;;8762:68:0;;9079:2:1;8762:68:0;;;9061:21:1;9118:2;9098:18;;;9091:30;9157:34;9137:18;;;9130:62;-1:-1:-1;;;9208:18:1;;;9201:32;9250:19;;8762:68:0;8877:398:1;8762:68:0;-1:-1:-1;;;;;8841:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8893:32;;1361:25:1;;;8893:32:0;;1334:18:1;8893:32:0;;;;;;;8598:335;;;:::o;11183:1338::-;-1:-1:-1;;;;;11269:18:0;;11261:68;;;;-1:-1:-1;;;11261:68:0;;9482:2:1;11261:68:0;;;9464:21:1;9521:2;9501:18;;;9494:30;9560:34;9540:18;;;9533:62;-1:-1:-1;;;9611:18:1;;;9604:35;9656:19;;11261:68:0;9280:401:1;11261:68:0;-1:-1:-1;;;;;11348:16:0;;11340:64;;;;-1:-1:-1;;;11340:64:0;;9888:2:1;11340:64:0;;;9870:21:1;9927:2;9907:18;;;9900:30;9966:34;9946:18;;;9939:62;-1:-1:-1;;;10017:18:1;;;10010:33;10060:19;;11340:64:0;9686:399:1;11340:64:0;11432:1;11423:6;:10;11415:64;;;;-1:-1:-1;;;11415:64:0;;10292:2:1;11415:64:0;;;10274:21:1;10331:2;10311:18;;;10304:30;10370:34;10350:18;;;10343:62;-1:-1:-1;;;10421:18:1;;;10414:39;10470:19;;11415:64:0;10090:405:1;11415:64:0;11508:14;;11498:6;:24;;:59;;;-1:-1:-1;;;;;;11526:31:0;;;;;;:25;:31;;;;;;;;11498:59;11490:113;;;;-1:-1:-1;;;11490:113:0;;10702:2:1;11490:113:0;;;10684:21:1;10741:2;10721:18;;;10714:30;10780:34;10760:18;;;10753:62;-1:-1:-1;;;10831:18:1;;;10824:39;10880:19;;11490:113:0;10500:405:1;11490:113:0;-1:-1:-1;;;;;11621:24:0;;;;;;:18;:24;;;;;;;;11620:25;:52;;;;-1:-1:-1;;;;;;11650:22:0;;;;;;:18;:22;;;;;;;;11649:23;11620:52;11616:131;;;11697:14;;;;;;;11689:46;;;;-1:-1:-1;;;11689:46:0;;11112:2:1;11689:46:0;;;11094:21:1;11151:2;11131:18;;;11124:30;-1:-1:-1;;;11170:18:1;;;11163:49;11229:18;;11689:46:0;10910:343:1;11689:46:0;11779:4;;-1:-1:-1;;;;;11773:10:0;;;11759:11;11800:29;;;:25;:29;;;;;;11779:4;;;;11773:10;;;;11800:29;;11796:138;;11878:13;;11868:6;11852:13;11862:2;-1:-1:-1;;;;;7414:16:0;7387:7;7414:16;;;:7;:16;;;;;;;7321:117;11852:13;:22;;;;:::i;:::-;:39;;11844:90;;;;-1:-1:-1;;;11844:90:0;;11460:2:1;11844:90:0;;;11442:21:1;11499:2;11479:18;;;11472:30;11538:34;11518:18;;;11511:62;-1:-1:-1;;;11589:18:1;;;11582:36;11635:19;;11844:90:0;11258:402:1;11844:90:0;11987:9;;11977:4;7387:7;7414:16;;;:7;:16;;;;;;11959:37;;:66;;;;-1:-1:-1;12014:11:0;;;;;;;11959:66;:93;;;;-1:-1:-1;12044:8:0;;;;12043:9;11959:93;:123;;;;-1:-1:-1;12078:4:0;;-1:-1:-1;;;;;12070:12:0;;;12078:4;;12070:12;;11959:123;:166;;;;-1:-1:-1;;;;;;12101:24:0;;;;;;:18;:24;;;;;;;;12100:25;11959:166;:206;;;;-1:-1:-1;;;;;;12143:22:0;;;;;;:18;:22;;;;;;;;12142:23;11959:206;11955:238;;;12177:16;:14;:16::i;:::-;-1:-1:-1;;;;;12206:13:0;;;;;;:7;:13;;;;;:23;;12223:6;;12206:13;:23;;12223:6;;12206:23;:::i;:::-;;;;-1:-1:-1;;;;;;;12296:24:0;;12240:22;12296:24;;;:18;:24;;;;;;12265:6;;12296:24;;12295:25;:52;;;;-1:-1:-1;;;;;;12325:22:0;;;;;;:18;:22;;;;;;;;12324:23;12295:52;12292:130;;;12380:30;12389:6;12397:4;12403:6;12380:8;:30::i;:::-;12363:47;;12292:130;-1:-1:-1;;;;;12434:11:0;;;;;;:7;:11;;;;;:29;;12449:14;;12434:11;:29;;12449:14;;12434:29;:::i;:::-;;;;;;;;12494:2;-1:-1:-1;;;;;12479:34:0;12488:4;-1:-1:-1;;;;;12479:34:0;;12498:14;12479:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;12479:34:0;;;;;;;;11250:1271;;11183:1338;;;:::o;1596:173::-;1652:16;1671:6;;-1:-1:-1;;;;;1688:17:0;;;-1:-1:-1;;;;;;1688:17:0;;;;;;1721:40;;1671:6;;;;;;;1721:40;;1652:16;1721:40;1641:128;1596:173;:::o;8941:271::-;-1:-1:-1;;;;;9048:19:0;;9040:28;;;;;;-1:-1:-1;;;;;9087:21:0;;9079:30;;;;;13924:982;6148:8;:15;;-1:-1:-1;;6148:15:0;6159:4;6148:15;;;13983:18:::1;:34:::0;:38;13980:517:::1;;14037:18;14058:52;14075:18;:34;;;14058:16;:52::i;:::-;14156:9;::::0;;;::::1;-1:-1:-1::0;;;;;14156:9:0::1;14125:18;7414:16:::0;;;:7;:16;;;;;;14037:73;;-1:-1:-1;14125:41:0::1;14181:12;14226:9;;14212:10;:23;14208:115;;14282:7;:24;;14305:1;14282:24;;;14292:10;14282:24;14269:9;;:38;;;;:::i;:::-;14256:51;;14208:115;14340:14:::0;;14337:149:::1;;14382:9;::::0;14374:39:::1;::::0;14382:9;;;::::1;-1:-1:-1::0;;;;;14382:9:0::1;::::0;14374:39:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;14382:9;14374:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14469:1:0::1;14432:18;:38:::0;14337:149:::1;14022:475;;;13980:517;14512:27:::0;;:31;14509:356:::1;;14571:27:::0;;14559:9:::1;::::0;14571:31:::1;::::0;14601:1:::1;::::0;14571:31:::1;:::i;:::-;14559:43;;14617:14;14664:4;14634:18;:27;;;:34;;;;:::i;:::-;14617:51;;14683:14;14700:22;14717:4;14700:16;:22::i;:::-;14683:39:::0;-1:-1:-1;14741:13:0;;14737:70:::1;;14773:34;14786:9;14797;14773:12;:34::i;:::-;-1:-1:-1::0;;14852:1:0::1;14822:27:::0;:31;-1:-1:-1;14509:356:0::1;14882:16;::::0;::::1;::::0;;;::::1;6186:8:::0;:16;;-1:-1:-1;;6186:16:0;;;13924:982::o;12529:798::-;12622:28;;;;;;;;;12644:6;12622:28;;;;;;;;;12603:7;;12661:56;;;;-1:-1:-1;12687:18:0;;;;;;;;;12698:7;12687:18;;;;;;;;;12661:56;12764:21;;12729:23;;12788:3;;12755:30;;:6;:30;:::i;:::-;:36;;;;:::i;:::-;12729:62;;12802:16;12847:3;12830:8;:14;;;12821:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12802:48;-1:-1:-1;12866:22:0;;12863:96;;12941:18;12903;:34;;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;;12863:96:0;12975:15;;12972:75;;13036:11;13005:18;:27;;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;12972:75:0;13060:21;13084:32;13105:11;13084:18;:32;:::i;:::-;13145:4;13129:22;;;;:7;:22;;;;;:42;;13060:56;;-1:-1:-1;13060:56:0;;13129:22;;;:42;;13060:56;;13129:42;:::i;:::-;;;;-1:-1:-1;;13185:20:0;;13182:78;;13212:48;;1361:25:1;;;13236:4:0;;-1:-1:-1;;;;;13212:48:0;;;;;1349:2:1;1334:18;13212:48:0;;;;;;;13182:78;13293:25;13302:16;13293:6;:25;:::i;:::-;13285:34;12529:798;-1:-1:-1;;;;;;;;12529:798:0:o;13335:581::-;13500:16;;;13514:1;13500:16;;;;;;;;13399:7;;13444:21;;13399:7;;13500:16;;;;;;;;;;;;-1:-1:-1;13500:16:0;13476:40;;13545:4;13527;13532:1;13527:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13527:23:0;;;:7;;;;;;;;;;:23;;;;13571:6;;:13;;;-1:-1:-1;;;13571:13:0;;;;:6;;;;;:11;;:13;;;;;13527:7;;13571:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13561:4;13566:1;13561:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13561:23:0;;;:7;;;;;;;;;:23;13629:6;;13597:53;;13614:4;;13629:6;13638:11;13597:8;:53::i;:::-;13663:6;;:187;;-1:-1:-1;;;13663:187:0;;-1:-1:-1;;;;;13663:6:0;;;;:57;;:187;;13735:11;;13663:6;;13777:4;;13804;;13824:15;;13663:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13893:14;13869:21;:38;;;;:::i;:::-;13861:47;13335:581;-1:-1:-1;;;;13335:581:0:o;14914:508::-;15027:6;;14995:53;;15012:4;;-1:-1:-1;;;;;15027:6:0;15036:11;14995:8;:53::i;:::-;15092:6;;15063:24;;-1:-1:-1;;;;;15092:6:0;:22;15123:9;15157:4;15177:11;15063:24;;15235:7;1117;1144:6;-1:-1:-1;;;;;1144:6:0;;1071:87;15235:7;15257:15;15092:191;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;15061:222:0;-1:-1:-1;15339:1:0;;-1:-1:-1;15308:28:0;15061:222;15308:9;:28;:::i;:::-;:32;15304:110;;;15355:59;15385:28;15397:16;15385:9;:28;:::i;:::-;15363:9;;;;;-1:-1:-1;;;;;15363:9:0;;350:6;325:21;:31;;317:73;;;;-1:-1:-1;;;317:73:0;;12849:2:1;317:73:0;;;12831:21:1;12888:2;12868:18;;;12861:30;12927:31;12907:18;;;12900:59;12976:18;;317:73:0;12647:353:1;317:73:0;404:12;422:9;-1:-1:-1;;;;;422:14:0;444:6;422:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;403:52;;;474:7;466:78;;;;-1:-1:-1;;;466:78:0;;13417:2:1;466:78:0;;;13399:21:1;13456:2;13436:18;;;13429:30;13495:34;13475:18;;;13468:62;13566:28;13546:18;;;13539:56;13612:19;;466:78:0;13215:422:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;:::-;2094:5;1858:247;-1:-1:-1;;;1858:247:1:o;2552:180::-;2611:6;2664:2;2652:9;2643:7;2639:23;2635:32;2632:52;;;2680:1;2677;2670:12;2632:52;-1:-1:-1;2703:23:1;;2552:180;-1:-1:-1;2552:180:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3561:356::-;3763:2;3745:21;;;3782:18;;;3775:30;3841:34;3836:2;3821:18;;3814:62;3908:2;3893:18;;3561:356::o;3922:127::-;3983:10;3978:3;3974:20;3971:1;3964:31;4014:4;4011:1;4004:15;4038:4;4035:1;4028:15;4054:128;4121:9;;;4142:11;;;4139:37;;;4156:18;;:::i;4187:125::-;4252:9;;;4273:10;;;4270:36;;;4286:18;;:::i;4802:251::-;4872:6;4925:2;4913:9;4904:7;4900:23;4896:32;4893:52;;;4941:1;4938;4931:12;4893:52;4973:9;4967:16;4992:31;5017:5;4992:31;:::i;5058:127::-;5119:10;5114:3;5110:20;5107:1;5100:31;5150:4;5147:1;5140:15;5174:4;5171:1;5164:15;5190:461;5243:3;5281:5;5275:12;5308:6;5303:3;5296:19;5334:4;5363:2;5358:3;5354:12;5347:19;;5400:2;5393:5;5389:14;5421:1;5431:195;5445:6;5442:1;5439:13;5431:195;;;5510:13;;-1:-1:-1;;;;;5506:39:1;5494:52;;5566:12;;;;5601:15;;;;5542:1;5460:9;5431:195;;;-1:-1:-1;5642:3:1;;5190:461;-1:-1:-1;;;;;5190:461:1:o;5656:510::-;5927:6;5916:9;5909:25;5970:3;5965:2;5954:9;5950:18;5943:31;5890:4;5991:57;6043:3;6032:9;6028:19;6020:6;5991:57;:::i;:::-;-1:-1:-1;;;;;6084:32:1;;;;6079:2;6064:18;;6057:60;-1:-1:-1;6148:2:1;6133:18;6126:34;5983:65;5656:510;-1:-1:-1;;5656:510:1:o;6551:277::-;6618:6;6671:2;6659:9;6650:7;6646:23;6642:32;6639:52;;;6687:1;6684;6677:12;6639:52;6719:9;6713:16;6772:5;6765:13;6758:21;6751:5;6748:32;6738:60;;6794:1;6791;6784:12;7142:607;-1:-1:-1;;;;;7501:15:1;;;7483:34;;7548:2;7533:18;;7526:34;;;;7591:2;7576:18;;7569:34;;;;7634:2;7619:18;;7612:34;;;;7683:15;;;7677:3;7662:19;;7655:44;7463:3;7715:19;;7708:35;;;;7432:3;7417:19;;7142:607::o;7754:306::-;7842:6;7850;7858;7911:2;7899:9;7890:7;7886:23;7882:32;7879:52;;;7927:1;7924;7917:12;7879:52;7956:9;7950:16;7940:26;;8006:2;7995:9;7991:18;7985:25;7975:35;;8050:2;8039:9;8035:18;8029:25;8019:35;;7754:306;;;;;:::o;11665:217::-;11705:1;11731;11721:132;;11775:10;11770:3;11766:20;11763:1;11756:31;11810:4;11807:1;11800:15;11838:4;11835:1;11828:15;11721:132;-1:-1:-1;11867:9:1;;11665:217::o;11887:168::-;11960:9;;;11991;;12008:15;;;12002:22;;11988:37;11978:71;;12029:18;;:::i;12060:582::-;12359:6;12348:9;12341:25;12402:6;12397:2;12386:9;12382:18;12375:34;12445:3;12440:2;12429:9;12425:18;12418:31;12322:4;12466:57;12518:3;12507:9;12503:19;12495:6;12466:57;:::i;:::-;-1:-1:-1;;;;;12559:32:1;;;;12554:2;12539:18;;12532:60;-1:-1:-1;12623:3:1;12608:19;12601:35;12458:65;12060:582;-1:-1:-1;;;12060:582:1:o

Swarm Source

ipfs://867eb82a7b076d71e578457c61f3fd158341eda8246813bf841ae89d46a2b87f

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.