ETH Price: $2,509.00 (+0.00%)
 

Overview

ETH Balance

3 wei

Eth Value

Less Than $0.01 (@ $2,509.00/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve226041392025-05-31 17:17:237 days ago1748711843IN
0x6f2eE0e1...f46B6c662
0 ETH0.000162663.49228892
Approve225797322025-05-28 7:19:1111 days ago1748416751IN
0x6f2eE0e1...f46B6c662
0 ETH0.000068091.46431694
Approve225733002025-05-27 9:42:5912 days ago1748338979IN
0x6f2eE0e1...f46B6c662
0 ETH0.00008881.9095215
Approve225590142025-05-25 9:42:2314 days ago1748166143IN
0x6f2eE0e1...f46B6c662
0 ETH0.000069441.4928151
Approve225569442025-05-25 2:43:5914 days ago1748141039IN
0x6f2eE0e1...f46B6c662
0 ETH0.000041140.88452699
Approve225474472025-05-23 18:46:5915 days ago1748026019IN
0x6f2eE0e1...f46B6c662
0 ETH0.000151983.2673876
Approve225474172025-05-23 18:40:5915 days ago1748025659IN
0x6f2eE0e1...f46B6c662
0 ETH0.000095152.04299292
Approve225456792025-05-23 12:51:1116 days ago1748004671IN
0x6f2eE0e1...f46B6c662
0 ETH0.000357337.68386284
Approve224911532025-05-15 21:21:4723 days ago1747344107IN
0x6f2eE0e1...f46B6c662
0 ETH0.000050932.10383368
Approve224841522025-05-14 21:44:3524 days ago1747259075IN
0x6f2eE0e1...f46B6c662
0 ETH0.000084491.81686021
Approve224823462025-05-14 15:38:5924 days ago1747237139IN
0x6f2eE0e1...f46B6c662
0 ETH0.000273935.88885902
Approve224793082025-05-14 5:22:2325 days ago1747200143IN
0x6f2eE0e1...f46B6c662
0 ETH0.000069171.48709802
Approve224775892025-05-13 23:33:3525 days ago1747179215IN
0x6f2eE0e1...f46B6c662
0 ETH0.000114142.45390328
Approve224593112025-05-11 9:49:4728 days ago1746956987IN
0x6f2eE0e1...f46B6c662
0 ETH0.000207214.45451709
Approve224532792025-05-10 13:26:1128 days ago1746883571IN
0x6f2eE0e1...f46B6c662
0 ETH0.000155143.33601213
Approve224134252025-05-04 22:39:3534 days ago1746398375IN
0x6f2eE0e1...f46B6c662
0 ETH0.000020880.45103997
Approve224111472025-05-04 15:00:2334 days ago1746370823IN
0x6f2eE0e1...f46B6c662
0 ETH0.00002110.86890233
Approve223541512025-04-26 15:37:1142 days ago1745681831IN
0x6f2eE0e1...f46B6c662
0 ETH0.000037880.81453858
Transfer223453942025-04-25 10:19:1144 days ago1745576351IN
0x6f2eE0e1...f46B6c662
0 ETH0.000060631.74458041
Approve223306052025-04-23 8:48:1146 days ago1745398091IN
0x6f2eE0e1...f46B6c662
0 ETH0.000079181.7
Approve222501402025-04-12 3:19:1157 days ago1744427951IN
0x6f2eE0e1...f46B6c662
0 ETH0.000024820.53375565
Approve222382752025-04-10 11:37:3559 days ago1744285055IN
0x6f2eE0e1...f46B6c662
0 ETH0.000024190.99639412
Approve221824922025-04-02 16:42:3566 days ago1743612155IN
0x6f2eE0e1...f46B6c662
0 ETH0.000145363.12508693
Approve220773872025-03-19 0:38:1181 days ago1742344691IN
0x6f2eE0e1...f46B6c662
0 ETH0.000114742.46674289
Approve219945942025-03-07 11:06:2393 days ago1741345583IN
0x6f2eE0e1...f46B6c662
0 ETH0.000039560.8508
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer225797322025-05-28 7:19:1111 days ago1748416751
0x6f2eE0e1...f46B6c662
0.00046579 ETH
Transfer225797322025-05-28 7:19:1111 days ago1748416751
0x6f2eE0e1...f46B6c662
0.00046579 ETH
Transfer225797322025-05-28 7:19:1111 days ago1748416751
0x6f2eE0e1...f46B6c662
0.00046579 ETH
Transfer225797322025-05-28 7:19:1111 days ago1748416751
0x6f2eE0e1...f46B6c662
0.00015526 ETH
Transfer225797322025-05-28 7:19:1111 days ago1748416751
0x6f2eE0e1...f46B6c662
0.00155266 ETH
Transfer225590152025-05-25 9:42:3514 days ago1748166155
0x6f2eE0e1...f46B6c662
0.00182453 ETH
Transfer225590152025-05-25 9:42:3514 days ago1748166155
0x6f2eE0e1...f46B6c662
0.00182453 ETH
Transfer225590152025-05-25 9:42:3514 days ago1748166155
0x6f2eE0e1...f46B6c662
0.00182453 ETH
Transfer225590152025-05-25 9:42:3514 days ago1748166155
0x6f2eE0e1...f46B6c662
0.00060817 ETH
Transfer225590152025-05-25 9:42:3514 days ago1748166155
0x6f2eE0e1...f46B6c662
0.00608179 ETH
Transfer225569462025-05-25 2:44:3514 days ago1748141075
0x6f2eE0e1...f46B6c662
0.00067583 ETH
Transfer225569462025-05-25 2:44:3514 days ago1748141075
0x6f2eE0e1...f46B6c662
0.00067583 ETH
Transfer225569462025-05-25 2:44:3514 days ago1748141075
0x6f2eE0e1...f46B6c662
0.00067583 ETH
Transfer225569462025-05-25 2:44:3514 days ago1748141075
0x6f2eE0e1...f46B6c662
0.00022527 ETH
Transfer225569462025-05-25 2:44:3514 days ago1748141075
0x6f2eE0e1...f46B6c662
0.00225279 ETH
Transfer225456812025-05-23 12:51:3516 days ago1748004695
0x6f2eE0e1...f46B6c662
0.00103205 ETH
Transfer225456812025-05-23 12:51:3516 days ago1748004695
0x6f2eE0e1...f46B6c662
0.00103205 ETH
Transfer225456812025-05-23 12:51:3516 days ago1748004695
0x6f2eE0e1...f46B6c662
0.00103205 ETH
Transfer225456812025-05-23 12:51:3516 days ago1748004695
0x6f2eE0e1...f46B6c662
0.00034401 ETH
Transfer225456812025-05-23 12:51:3516 days ago1748004695
0x6f2eE0e1...f46B6c662
0.00344017 ETH
Transfer225212622025-05-20 2:47:5919 days ago1747709279
0x6f2eE0e1...f46B6c662
0.00058127 ETH
Transfer225212622025-05-20 2:47:5919 days ago1747709279
0x6f2eE0e1...f46B6c662
0.00058127 ETH
Transfer225212622025-05-20 2:47:5919 days ago1747709279
0x6f2eE0e1...f46B6c662
0.00058127 ETH
Transfer225212622025-05-20 2:47:5919 days ago1747709279
0x6f2eE0e1...f46B6c662
0.00019375 ETH
Transfer225212622025-05-20 2:47:5919 days ago1747709279
0x6f2eE0e1...f46B6c662
0.00193757 ETH
View All Internal Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OmniTensor

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-12-01
*/

// SPDX-License-Identifier: MIT
/*
     ____                  _ ______                          
    / __ \____ ___  ____  (_)_  __/__  ____  _________  _____
   / / / / __ `__ \/ __ \/ / / / / _ \/ __ \/ ___/ __ \/ ___/
  / /_/ / / / / / / / / / / / / /  __/ / / (__  ) /_/ / /    
  \____/_/ /_/ /_/_/ /_/_/ /_/  \___/_/ /_/____/\____/_/    

  Website:  https://omnitensor.io/
  X:        https://x.com/OmniTensor/
  Telegram: https://t.me/OmniTensor/
  Github:   https://github.com/omnitensor/
  Docs:     https://docs.omnitensor.io/
  Explorer: https://explorer.omnitensor.io/

*/

pragma solidity 0.8.20;

interface IERC20 {
    event Transfer(address indexed sender, address indexed recipient, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);

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

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

contract Ownable is Context {
    address private _contractOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * Constructor sets the deployer as the initial owner of the contract.
     */
    constructor() {
        address msgSender = _msgSender();
        _contractOwner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    /**
     * Transfers ownership to a new address.
     * newOwner cannot be a zero address.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _updateOwnership(newOwner);
    }

    function _updateOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_contractOwner, newOwner);
        _contractOwner = newOwner;
    }

    /**
     * Renounces ownership, making the contract ownerless.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_contractOwner, address(0));
        _contractOwner = address(0);
    }
}

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

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

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

    function addLiquidityETH(
        address token,
        uint tokenDesired,
        uint tokenMin,
        uint ethMin,
        address to,
        uint deadline
    ) external payable returns (uint tokenAmount, uint ethAmount, uint liquidity);
}

contract OmniTensor is Context, IERC20, Ownable {
    string private constant _tokenName = "OmniTensor";
    string private constant _tokenSymbol = "OMNIT";
    uint8 private constant _tokenDecimals = 18;
    uint256 private constant _totalSupply = 1000000000 * 10**_tokenDecimals;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _excludedAccounts; // Track excluded accounts for fees or limits

    uint256 private constant _minSwapTokens = 100000 * 10**_tokenDecimals; // Minimum tokens to trigger swap
    uint256 private _maxSwapTokens = 5000000 * 10**_tokenDecimals; // Maximum tokens to swap at once

    uint256 public maxTxValue = 5000000 * 10**_tokenDecimals; // Max transaction value allowed
    uint256 public maxWalletHoldings = 10000000 * 10**_tokenDecimals; // Max wallet balance allowed

    uint256 private _launchBlock;
    uint256 buyFeeRate = 30; // Buy transaction fee rate (percentage)
    uint256 sellFeeRate = 30; // Sell transaction fee rate (percentage)

    IUniswapV2Router02 private _uniswapV2Router;
    address public uniswapV2Pair;
    address OmegaWallet; // Wallet for specific allocation
    address GammaWallet;
    address BetaWallet;
    address AlphaWallet;

    bool private _isTradingActive = false; // Flag to check if trading is active

    /**
     * Constructor initializes wallets and assigns the total token supply to the contract deployer.
     */
    constructor() {
        OmegaWallet = 0x891C76B4729b8bddAB00FD5deCd419FB9f33BEdF;
        GammaWallet = 0xBd92bF5d4f7d1E4E8f3B3E99F99738B9aEEfCC55;
        BetaWallet = 0xca9Ca67a79a23681A6A13C55724128D023F6A953;
        AlphaWallet = 0x2F6D0A6B2bC5e219eb9a288F63048b911648B9Aa;

        _balances[msg.sender] = _totalSupply;
        _excludedAccounts[msg.sender] = 1;
        _excludedAccounts[address(this)] = 1;

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

    function name() public pure returns (string memory) {
        return _tokenName;
    }

    function symbol() public pure returns (string memory) {
        return _tokenSymbol;
    }

    function decimals() public pure returns (uint8) {
        return _tokenDecimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

    /**
     * Returns current buy and sell tax rates.
     */
    function getFeeRates() external view returns (uint256 buyTax, uint256 sellTax) {
        buyTax = buyFeeRate;
        sellTax = sellFeeRate;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _executeTransfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _setAllowance(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

    function _setAllowance(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);
    }

    /**
     * Starts trading by setting up Uniswap pair and enabling liquidity.
     */
    function startTrading() external onlyOwner {
        require(!_isTradingActive, "Trading is already enabled");
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _setAllowance(address(this), address(_uniswapV2Router), _totalSupply);
        
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max);
        _isTradingActive = true;
        _launchBlock = block.number;
    }

    /**
     * Excludes or includes an account from fee calculations or limits.
     */
    function setExcludedAccount(address account, uint256 value) external onlyOwner {
        _excludedAccounts[account] = value;
    }

    /**
     * Removes transaction and wallet holding limits.
     */
    function disableLimits() external onlyOwner {
        maxTxValue = _totalSupply;
        maxWalletHoldings = _totalSupply;
    }

    /**
     * Adjusts the buy and sell tax rates. The new tax rates cannot exceed the existing rates.
     */
    function adjustTaxRates(uint256 newBuyTaxRate, uint256 newSellTaxRate) external onlyOwner {
        require(newBuyTaxRate <= buyFeeRate && newSellTaxRate <= sellFeeRate, "Tax cannot be increased");
        buyFeeRate = newBuyTaxRate;
        sellFeeRate = newSellTaxRate;
    }

    /**
     * Handles token transfer and applies a tax based on the transaction type (buy/sell).
     */
    function _executeTokenTransfer(address from, address to, uint256 amount, uint256 taxRate) private {
        uint256 taxAmount = (amount * taxRate) / 100;
        uint256 transferAmount = amount - taxAmount;

        _balances[from] -= amount;
        _balances[to] += transferAmount;
        _balances[address(this)] += taxAmount;

        emit Transfer(from, to, transferAmount);
    }

    /**
     * Core transfer logic, including validation and fee application.
     */
    function _executeTransfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "ERC20: transfer amount must be greater than zero");

        uint256 taxRate = 0;

        if (_excludedAccounts[from] == 0 && _excludedAccounts[to] == 0) {
            require(_isTradingActive, "Trading is not enabled yet");
            require(amount <= maxTxValue, "Transaction amount exceeds the maximum limit");
            
            if (to != uniswapV2Pair && to != address(0xdead)) {
                require(balanceOf(to) + amount <= maxWalletHoldings, "Recipient wallet exceeds the maximum limit");
            }

            if (block.number < _launchBlock + 3) {
                taxRate = (from == uniswapV2Pair) ? 30 : 30;
            } else {
                if (from == uniswapV2Pair) {
                    taxRate = buyFeeRate;
                } else if (to == uniswapV2Pair) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance > _minSwapTokens) {
                        uint256 swapAmount = _maxSwapTokens;
                        if (contractTokenBalance > amount) contractTokenBalance = amount;
                        if (contractTokenBalance > swapAmount) contractTokenBalance = swapAmount;
                        _exchangeTokensForEth(contractTokenBalance);
                    }
                    taxRate = sellFeeRate;
                }
            }
        }
        _executeTokenTransfer(from, to, amount, taxRate);
    }

    /**
     * Withdraws ETH from the contract.
     */
    function withdrawEth() external onlyOwner {
        (bool success, ) = owner().call{value: address(this).balance}("");
        require(success, "Rescue ETH failed");
    }

    /**
     * Transfers the remaining tokens in the contract to the owner.
     */
    function recoverTokens() external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        require(contractTokenBalance > 0, "No tokens to rescue");

        _executeTokenTransfer(address(this), owner(), contractTokenBalance, 0);
    }

    /**
     * Swaps a percentage of the contract's tokens for ETH.
     */
    function executeManualSwap(uint256 percent) external onlyOwner {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 swapAmount = (percent * contractTokenBalance) / 100;
        _exchangeTokensForEth(swapAmount);
    }

    /**
     * Swaps tokens for ETH using the Uniswap router and allocates ETH to specific wallets.
     */
    function _exchangeTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _setAllowance(address(this), address(_uniswapV2Router), tokenAmount);

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

        uint256 contractEthBalance = address(this).balance;
        uint256 OmegaFund = (contractEthBalance * 10) / 100;
        uint256 GammaFund = (contractEthBalance * 30) / 100;
        uint256 BetaFund = (contractEthBalance * 30) / 100;
        uint256 AlphaFund = (contractEthBalance * 30) / 100;

        (bool success, ) = OmegaWallet.call{value: OmegaFund}("");
        (success, ) = GammaWallet.call{value: GammaFund}("");
        (success, ) = BetaWallet.call{value: BetaFund}("");
        (success, ) = AlphaWallet.call{value: AlphaFund}("");
        

        require(success, "Transfer failed");
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTaxRate","type":"uint256"},{"internalType":"uint256","name":"newSellTaxRate","type":"uint256"}],"name":"adjustTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"executeManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFeeRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletHoldings","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":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setExcludedAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000307565b6200002190624c4b406200031e565b600455620000326012600a62000307565b6200004190624c4b406200031e565b600555620000526012600a62000307565b6200006190629896806200031e565b600655601e6008819055600955600f805460ff60a01b1916905534801562000087575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031990811673891c76b4729b8bddab00fd5decd419fb9f33bedf17909155600d8054821673bd92bf5d4f7d1e4e8f3b3e99f99738b9aeefcc55179055600e8054821673ca9ca67a79a23681a6a13c55724128d023f6a953179055600f8054909116732f6d0a6b2bc5e219eb9a288f63048b911648b9aa1790556200015a6012600a62000307565b6200016a90633b9aca006200031e565b335f908152600160208181526040808420949094556003905282822081905530825291902055620001983390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001d16012600a62000307565b620001e190633b9aca006200031e565b60405190815260200160405180910390a362000338565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200024c57815f1904821115620002305762000230620001f8565b808516156200023e57918102915b93841c939080029062000211565b509250929050565b5f82620002645750600162000301565b816200027257505f62000301565b81600181146200028b57600281146200029657620002b6565b600191505062000301565b60ff841115620002aa57620002aa620001f8565b50506001821b62000301565b5060208310610133831016604e8410600b8410161715620002db575081810a62000301565b620002e783836200020c565b805f1904821115620002fd57620002fd620001f8565b0290505b92915050565b5f6200031760ff84168362000254565b9392505050565b8082028115828204841417620003015762000301620001f8565b611a2d80620003465f395ff3fe60806040526004361061013f575f3560e01c80638da5cb5b116100b3578063b7ea78b51161006d578063b7ea78b51461039b578063d6e7a55e146103b0578063dd62ed3e146103d7578063e8eecf4c1461041b578063f2fde38b14610430578063f928364c1461044f575f80fd5b80638da5cb5b146102ec57806395d89b4114610308578063a0ef91df14610335578063a9059cbb14610349578063aabc60d614610368578063b77f39fe14610387575f80fd5b8063301c3d5c11610104578063301c3d5c14610214578063313ce56714610233578063477ce99b1461024e57806349bd5a5e1461026d57806370a08231146102a4578063715018a6146102d8575f80fd5b806306fdde031461014a578063095ea7b31461018e57806318160ddd146101bd57806323b872dd146101df578063293230b8146101fe575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600a81526927b6b734aa32b739b7b960b11b60208201525b6040516101859190611625565b60405180910390f35b348015610199575f80fd5b506101ad6101a8366004611684565b610463565b6040519015158152602001610185565b3480156101c8575f80fd5b506101d1610479565b604051908152602001610185565b3480156101ea575f80fd5b506101ad6101f93660046116ae565b610499565b348015610209575f80fd5b5061021261054e565b005b34801561021f575f80fd5b5061021261022e366004611684565b6108f2565b34801561023e575f80fd5b5060405160128152602001610185565b348015610259575f80fd5b506102126102683660046116ec565b610936565b348015610278575f80fd5b50600b5461028c906001600160a01b031681565b6040516001600160a01b039091168152602001610185565b3480156102af575f80fd5b506101d16102be366004611703565b6001600160a01b03165f9081526001602052604090205490565b3480156102e3575f80fd5b50610212610995565b3480156102f7575f80fd5b505f546001600160a01b031661028c565b348015610313575f80fd5b5060408051808201909152600581526413d353925560da1b6020820152610178565b348015610340575f80fd5b50610212610a06565b348015610354575f80fd5b506101ad610363366004611684565b610ac6565b348015610373575f80fd5b50610212610382366004611725565b610ad2565b348015610392575f80fd5b50610212610b66565b3480156103a6575f80fd5b506101d160065481565b3480156103bb575f80fd5b5060085460095460408051928352602083019190915201610185565b3480156103e2575f80fd5b506101d16103f1366004611745565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610426575f80fd5b506101d160055481565b34801561043b575f80fd5b5061021261044a366004611703565b610bfd565b34801561045a575f80fd5b50610212610c2f565b5f61046f338484610c94565b5060015b92915050565b5f6104866012600a611870565b61049490633b9aca0061187e565b905090565b5f6104a5848484610db7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461054357828110156105365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105438533858403610c94565b506001949350505050565b5f546001600160a01b031633146105775760405162461bcd60e51b815260040161052d90611895565b600f54600160a01b900460ff16156105d15760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c6564000000000000604482015260640161052d565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610633573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065791906118ca565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106da91906118ca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610724573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074891906118ca565b600b80546001600160a01b0319166001600160a01b03928316179055600a805461079092309291169061077d90601290611870565b61078b90633b9aca0061187e565b610c94565b600a546001600160a01b031663f305d71947306107c1816001600160a01b03165f9081526001602052604090205490565b5f806107d45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085f91906118e5565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d89190611910565b50600f805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b0316331461091b5760405162461bcd60e51b815260040161052d90611895565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b0316331461095f5760405162461bcd60e51b815260040161052d90611895565b305f9081526001602052604081205490606461097b838561187e565b610985919061192f565b90506109908161111d565b505050565b5f546001600160a01b031633146109be5760405162461bcd60e51b815260040161052d90611895565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610a2f5760405162461bcd60e51b815260040161052d90611895565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610a79576040519150601f19603f3d011682016040523d82523d5f602084013e610a7e565b606091505b5050905080610ac35760405162461bcd60e51b815260206004820152601160248201527014995cd8dd59481155120819985a5b1959607a1b604482015260640161052d565b50565b5f61046f338484610db7565b5f546001600160a01b03163314610afb5760405162461bcd60e51b815260040161052d90611895565b6008548211158015610b0f57506009548111155b610b5b5760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e63726561736564000000000000000000604482015260640161052d565b600891909155600955565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b815260040161052d90611895565b305f9081526001602052604090205480610be15760405162461bcd60e51b81526020600482015260136024820152724e6f20746f6b656e7320746f2072657363756560681b604482015260640161052d565b610ac330610bf65f546001600160a01b031690565b835f61146c565b5f546001600160a01b03163314610c265760405162461bcd60e51b815260040161052d90611895565b610ac381611567565b5f546001600160a01b03163314610c585760405162461bcd60e51b815260040161052d90611895565b610c646012600a611870565b610c7290633b9aca0061187e565b600555610c816012600a611870565b610c8f90633b9aca0061187e565b600655565b6001600160a01b038316610cf65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b5f8111610e835760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161052d565b6001600160a01b0383165f90815260036020526040812054158015610ebd57506001600160a01b0383165f90815260036020526040902054155b1561110b57600f54600160a01b900460ff16610f1b5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604482015260640161052d565b600554821115610f825760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b606482015260840161052d565b600b546001600160a01b03848116911614801590610fab57506001600160a01b03831661dead14155b1561103d5760065482610fd2856001600160a01b03165f9081526001602052604090205490565b610fdc919061194e565b111561103d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b606482015260840161052d565b60075461104b90600361194e565b43101561107b57600b546001600160a01b0385811691161461106e57601e611071565b601e5b60ff16905061110b565b600b546001600160a01b039081169085160361109a575060085461110b565b600b546001600160a01b039081169084160361110b57305f908152600160205260409020546110cb6012600a611870565b6110d890620186a061187e565b81111561110557600454838211156110ee578391505b808211156110fa578091505b6111038261111d565b505b50506009545b6111178484848461146c565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061115057611150611961565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111cb91906118ca565b816001815181106111de576111de611961565b6001600160a01b039283166020918202929092010152600a546112049130911684610c94565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061123c9085905f90869030904290600401611975565b5f604051808303815f87803b158015611253575f80fd5b505af1158015611265573d5f803e3d5ffd5b504792505f91506064905061127b83600a61187e565b611285919061192f565b90505f606461129584601e61187e565b61129f919061192f565b90505f60646112af85601e61187e565b6112b9919061192f565b90505f60646112c986601e61187e565b6112d3919061192f565b600c546040519192505f916001600160a01b039091169086908381818185875af1925050503d805f8114611322576040519150601f19603f3d011682016040523d82523d5f602084013e611327565b606091505b5050600d546040519192506001600160a01b03169085905f81818185875af1925050503d805f8114611374576040519150601f19603f3d011682016040523d82523d5f602084013e611379565b606091505b5050600e546040519192506001600160a01b03169084905f81818185875af1925050503d805f81146113c6576040519150601f19603f3d011682016040523d82523d5f602084013e6113cb565b606091505b5050600f546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611418576040519150601f19603f3d011682016040523d82523d5f602084013e61141d565b606091505b505080915050806114625760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161052d565b5050505050505050565b5f6064611479838561187e565b611483919061192f565b90505f61149082856119e4565b6001600160a01b0387165f908152600160205260408120805492935086929091906114bc9084906119e4565b90915550506001600160a01b0385165f90815260016020526040812080548392906114e890849061194e565b9091555050305f908152600160205260408120805484929061150b90849061194e565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161155791815260200190565b60405180910390a3505050505050565b6001600160a01b0381166115cc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b8181101561165057858101830151858201604001528201611634565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac3575f80fd5b5f8060408385031215611695575f80fd5b82356116a081611670565b946020939093013593505050565b5f805f606084860312156116c0575f80fd5b83356116cb81611670565b925060208401356116db81611670565b929592945050506040919091013590565b5f602082840312156116fc575f80fd5b5035919050565b5f60208284031215611713575f80fd5b813561171e81611670565b9392505050565b5f8060408385031215611736575f80fd5b50508035926020909101359150565b5f8060408385031215611756575f80fd5b823561176181611670565b9150602083013561177181611670565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ca57815f19048211156117b0576117b061177c565b808516156117bd57918102915b93841c9390800290611795565b509250929050565b5f826117e057506001610473565b816117ec57505f610473565b8160018114611802576002811461180c57611828565b6001915050610473565b60ff84111561181d5761181d61177c565b50506001821b610473565b5060208310610133831016604e8410600b841016171561184b575081810a610473565b6118558383611790565b805f19048211156118685761186861177c565b029392505050565b5f61171e60ff8416836117d2565b80820281158282048414176104735761047361177c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118da575f80fd5b815161171e81611670565b5f805f606084860312156118f7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611920575f80fd5b8151801515811461171e575f80fd5b5f8261194957634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104735761047361177c565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119c35784516001600160a01b03168352938301939183019160010161199e565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104735761047361177c56fea264697066735822122054ed232f652b2ff27b1c8ac450a72928406040d48b43479cbc7e8f485a574e4564736f6c63430008140033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c80638da5cb5b116100b3578063b7ea78b51161006d578063b7ea78b51461039b578063d6e7a55e146103b0578063dd62ed3e146103d7578063e8eecf4c1461041b578063f2fde38b14610430578063f928364c1461044f575f80fd5b80638da5cb5b146102ec57806395d89b4114610308578063a0ef91df14610335578063a9059cbb14610349578063aabc60d614610368578063b77f39fe14610387575f80fd5b8063301c3d5c11610104578063301c3d5c14610214578063313ce56714610233578063477ce99b1461024e57806349bd5a5e1461026d57806370a08231146102a4578063715018a6146102d8575f80fd5b806306fdde031461014a578063095ea7b31461018e57806318160ddd146101bd57806323b872dd146101df578063293230b8146101fe575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600a81526927b6b734aa32b739b7b960b11b60208201525b6040516101859190611625565b60405180910390f35b348015610199575f80fd5b506101ad6101a8366004611684565b610463565b6040519015158152602001610185565b3480156101c8575f80fd5b506101d1610479565b604051908152602001610185565b3480156101ea575f80fd5b506101ad6101f93660046116ae565b610499565b348015610209575f80fd5b5061021261054e565b005b34801561021f575f80fd5b5061021261022e366004611684565b6108f2565b34801561023e575f80fd5b5060405160128152602001610185565b348015610259575f80fd5b506102126102683660046116ec565b610936565b348015610278575f80fd5b50600b5461028c906001600160a01b031681565b6040516001600160a01b039091168152602001610185565b3480156102af575f80fd5b506101d16102be366004611703565b6001600160a01b03165f9081526001602052604090205490565b3480156102e3575f80fd5b50610212610995565b3480156102f7575f80fd5b505f546001600160a01b031661028c565b348015610313575f80fd5b5060408051808201909152600581526413d353925560da1b6020820152610178565b348015610340575f80fd5b50610212610a06565b348015610354575f80fd5b506101ad610363366004611684565b610ac6565b348015610373575f80fd5b50610212610382366004611725565b610ad2565b348015610392575f80fd5b50610212610b66565b3480156103a6575f80fd5b506101d160065481565b3480156103bb575f80fd5b5060085460095460408051928352602083019190915201610185565b3480156103e2575f80fd5b506101d16103f1366004611745565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610426575f80fd5b506101d160055481565b34801561043b575f80fd5b5061021261044a366004611703565b610bfd565b34801561045a575f80fd5b50610212610c2f565b5f61046f338484610c94565b5060015b92915050565b5f6104866012600a611870565b61049490633b9aca0061187e565b905090565b5f6104a5848484610db7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f19811461054357828110156105365760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105438533858403610c94565b506001949350505050565b5f546001600160a01b031633146105775760405162461bcd60e51b815260040161052d90611895565b600f54600160a01b900460ff16156105d15760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c6564000000000000604482015260640161052d565b600a80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610633573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065791906118ca565b6001600160a01b031663c9c6539630600a5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106da91906118ca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610724573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074891906118ca565b600b80546001600160a01b0319166001600160a01b03928316179055600a805461079092309291169061077d90601290611870565b61078b90633b9aca0061187e565b610c94565b600a546001600160a01b031663f305d71947306107c1816001600160a01b03165f9081526001602052604090205490565b5f806107d45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561083a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085f91906118e5565b5050600b54600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d89190611910565b50600f805460ff60a01b1916600160a01b17905543600755565b5f546001600160a01b0316331461091b5760405162461bcd60e51b815260040161052d90611895565b6001600160a01b039091165f90815260036020526040902055565b5f546001600160a01b0316331461095f5760405162461bcd60e51b815260040161052d90611895565b305f9081526001602052604081205490606461097b838561187e565b610985919061192f565b90506109908161111d565b505050565b5f546001600160a01b031633146109be5760405162461bcd60e51b815260040161052d90611895565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610a2f5760405162461bcd60e51b815260040161052d90611895565b5f80546040516001600160a01b039091169047908381818185875af1925050503d805f8114610a79576040519150601f19603f3d011682016040523d82523d5f602084013e610a7e565b606091505b5050905080610ac35760405162461bcd60e51b815260206004820152601160248201527014995cd8dd59481155120819985a5b1959607a1b604482015260640161052d565b50565b5f61046f338484610db7565b5f546001600160a01b03163314610afb5760405162461bcd60e51b815260040161052d90611895565b6008548211158015610b0f57506009548111155b610b5b5760405162461bcd60e51b815260206004820152601760248201527f5461782063616e6e6f7420626520696e63726561736564000000000000000000604482015260640161052d565b600891909155600955565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b815260040161052d90611895565b305f9081526001602052604090205480610be15760405162461bcd60e51b81526020600482015260136024820152724e6f20746f6b656e7320746f2072657363756560681b604482015260640161052d565b610ac330610bf65f546001600160a01b031690565b835f61146c565b5f546001600160a01b03163314610c265760405162461bcd60e51b815260040161052d90611895565b610ac381611567565b5f546001600160a01b03163314610c585760405162461bcd60e51b815260040161052d90611895565b610c646012600a611870565b610c7290633b9aca0061187e565b600555610c816012600a611870565b610c8f90633b9aca0061187e565b600655565b6001600160a01b038316610cf65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052d565b6001600160a01b038216610d575760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e1b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052d565b5f8111610e835760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161052d565b6001600160a01b0383165f90815260036020526040812054158015610ebd57506001600160a01b0383165f90815260036020526040902054155b1561110b57600f54600160a01b900460ff16610f1b5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c656420796574000000000000604482015260640161052d565b600554821115610f825760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20616d6f756e74206578636565647320746865206d60448201526b185e1a5b5d5b481b1a5b5a5d60a21b606482015260840161052d565b600b546001600160a01b03848116911614801590610fab57506001600160a01b03831661dead14155b1561103d5760065482610fd2856001600160a01b03165f9081526001602052604090205490565b610fdc919061194e565b111561103d5760405162461bcd60e51b815260206004820152602a60248201527f526563697069656e742077616c6c6574206578636565647320746865206d61786044820152691a5b5d5b481b1a5b5a5d60b21b606482015260840161052d565b60075461104b90600361194e565b43101561107b57600b546001600160a01b0385811691161461106e57601e611071565b601e5b60ff16905061110b565b600b546001600160a01b039081169085160361109a575060085461110b565b600b546001600160a01b039081169084160361110b57305f908152600160205260409020546110cb6012600a611870565b6110d890620186a061187e565b81111561110557600454838211156110ee578391505b808211156110fa578091505b6111038261111d565b505b50506009545b6111178484848461146c565b50505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061115057611150611961565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111cb91906118ca565b816001815181106111de576111de611961565b6001600160a01b039283166020918202929092010152600a546112049130911684610c94565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061123c9085905f90869030904290600401611975565b5f604051808303815f87803b158015611253575f80fd5b505af1158015611265573d5f803e3d5ffd5b504792505f91506064905061127b83600a61187e565b611285919061192f565b90505f606461129584601e61187e565b61129f919061192f565b90505f60646112af85601e61187e565b6112b9919061192f565b90505f60646112c986601e61187e565b6112d3919061192f565b600c546040519192505f916001600160a01b039091169086908381818185875af1925050503d805f8114611322576040519150601f19603f3d011682016040523d82523d5f602084013e611327565b606091505b5050600d546040519192506001600160a01b03169085905f81818185875af1925050503d805f8114611374576040519150601f19603f3d011682016040523d82523d5f602084013e611379565b606091505b5050600e546040519192506001600160a01b03169084905f81818185875af1925050503d805f81146113c6576040519150601f19603f3d011682016040523d82523d5f602084013e6113cb565b606091505b5050600f546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611418576040519150601f19603f3d011682016040523d82523d5f602084013e61141d565b606091505b505080915050806114625760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161052d565b5050505050505050565b5f6064611479838561187e565b611483919061192f565b90505f61149082856119e4565b6001600160a01b0387165f908152600160205260408120805492935086929091906114bc9084906119e4565b90915550506001600160a01b0385165f90815260016020526040812080548392906114e890849061194e565b9091555050305f908152600160205260408120805484929061150b90849061194e565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161155791815260200190565b60405180910390a3505050505050565b6001600160a01b0381166115cc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052d565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6020808352835180828501525f5b8181101561165057858101830151858201604001528201611634565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ac3575f80fd5b5f8060408385031215611695575f80fd5b82356116a081611670565b946020939093013593505050565b5f805f606084860312156116c0575f80fd5b83356116cb81611670565b925060208401356116db81611670565b929592945050506040919091013590565b5f602082840312156116fc575f80fd5b5035919050565b5f60208284031215611713575f80fd5b813561171e81611670565b9392505050565b5f8060408385031215611736575f80fd5b50508035926020909101359150565b5f8060408385031215611756575f80fd5b823561176181611670565b9150602083013561177181611670565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117ca57815f19048211156117b0576117b061177c565b808516156117bd57918102915b93841c9390800290611795565b509250929050565b5f826117e057506001610473565b816117ec57505f610473565b8160018114611802576002811461180c57611828565b6001915050610473565b60ff84111561181d5761181d61177c565b50506001821b610473565b5060208310610133831016604e8410600b841016171561184b575081810a610473565b6118558383611790565b805f19048211156118685761186861177c565b029392505050565b5f61171e60ff8416836117d2565b80820281158282048414176104735761047361177c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156118da575f80fd5b815161171e81611670565b5f805f606084860312156118f7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611920575f80fd5b8151801515811461171e575f80fd5b5f8261194957634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156104735761047361177c565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119c35784516001600160a01b03168352938301939183019160010161199e565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156104735761047361177c56fea264697066735822122054ed232f652b2ff27b1c8ac450a72928406040d48b43479cbc7e8f485a574e4564736f6c63430008140033

Deployed Bytecode Sourcemap

3598:10423:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5649:88;;;;;;;;;;-1:-1:-1;5719:10:0;;;;;;;;;;;;-1:-1:-1;;;5719:10:0;;;;5649:88;;;;;;;:::i;:::-;;;;;;;;6732:166;;;;;;;;;;-1:-1:-1;6732:166:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6732:166:0;1023:187:1;5941:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5941:100:0;1215:177:1;6906:541:0;;;;;;;;;;-1:-1:-1;6906:541:0;;;;;:::i;:::-;;:::i;7895:815::-;;;;;;;;;;;;;:::i;:::-;;8809:132;;;;;;;;;;-1:-1:-1;8809:132:0;;;;;:::i;:::-;;:::i;5845:88::-;;;;;;;;;;-1:-1:-1;5845:88:0;;3802:2;2000:36:1;;1988:2;1973:18;5845:88:0;1858:184:1;12498:251:0;;;;;;;;;;-1:-1:-1;12498:251:0;;;;;:::i;:::-;;:::i;4769:28::-;;;;;;;;;;-1:-1:-1;4769:28:0;;;;-1:-1:-1;;;;;4769:28:0;;;;;;-1:-1:-1;;;;;2396:32:1;;;2378:51;;2366:2;2351:18;4769:28:0;2232:203:1;6272:119:0;;;;;;;;;;-1:-1:-1;6272:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6365:18:0;6338:7;6365:18;;;:9;:18;;;;;;;6272:119;2667:164;;;;;;;;;;;;;:::i;1886:87::-;;;;;;;;;;-1:-1:-1;1924:7:0;1951:14;-1:-1:-1;;;;;1951:14:0;1886:87;;5745:92;;;;;;;;;;-1:-1:-1;5817:12:0;;;;;;;;;;;;-1:-1:-1;;;5817:12:0;;;;5745:92;;11874:174;;;;;;;;;;;;;:::i;6399:::-;;;;;;;;;;-1:-1:-1;6399:174:0;;;;;:::i;:::-;;:::i;9275:281::-;;;;;;;;;;-1:-1:-1;9275:281:0;;;;;:::i;:::-;;:::i;12143:268::-;;;;;;;;;;;;;:::i;4435:64::-;;;;;;;;;;;;;;;;6115:149;;;;;;;;;;-1:-1:-1;6214:10:0;;6245:11;;6115:149;;;3119:25:1;;;3175:2;3160:18;;3153:34;;;;3092:18;6115:149:0;2945:248:1;6581:143:0;;;;;;;;;;-1:-1:-1;6581:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6689:18:0;;;6662:7;6689:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6581:143;4339:56;;;;;;;;;;;;;;;;2223:107;;;;;;;;;;-1:-1:-1;2223:107:0;;;;;:::i;:::-;;:::i;9022:131::-;;;;;;;;;;;;;:::i;6732:166::-;6807:4;6824:44;1434:10;6852:7;6861:6;6824:13;:44::i;:::-;-1:-1:-1;6886:4:0;6732:166;;;;;:::o;5941:100::-;5994:7;3864:18;3802:2;3864;:18;:::i;:::-;3851:31;;:10;:31;:::i;:::-;6014:19;;5941:100;:::o;6906:541::-;7004:4;7021:43;7038:6;7046:9;7057:6;7021:16;:43::i;:::-;-1:-1:-1;;;;;7104:19:0;;7077:24;7104:19;;;:11;:19;;;;;;;;1434:10;7104:33;;;;;;;;-1:-1:-1;;7152:37:0;;7148:270;;7234:6;7214:16;:26;;7206:79;;;;-1:-1:-1;;;7206:79:0;;5481:2:1;7206:79:0;;;5463:21:1;5520:2;5500:18;;;5493:30;5559:34;5539:18;;;5532:62;-1:-1:-1;;;5610:18:1;;;5603:38;5658:19;;7206:79:0;;;;;;;;;7329:62;7343:6;1434:10;7384:6;7365:16;:25;7329:13;:62::i;:::-;-1:-1:-1;7435:4:0;;6906:541;-1:-1:-1;;;;6906:541:0:o;7895:815::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;7958:16:::1;::::0;-1:-1:-1;;;7958:16:0;::::1;;;7957:17;7949:56;;;::::0;-1:-1:-1;;;7949:56:0;;6251:2:1;7949:56:0::1;::::0;::::1;6233:21:1::0;6290:2;6270:18;;;6263:30;6329:28;6309:18;;;6302:56;6375:18;;7949:56:0::1;6049:350:1::0;7949:56:0::1;8016:16;:81:::0;;-1:-1:-1;;;;;;8016:81:0::1;8054:42;8016:81:::0;;::::1;::::0;;;8142:26:::1;::::0;;-1:-1:-1;;;8142:26:0;;;;:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;8054:42;8142:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8124:56:0::1;;8189:4;8196:16;;;;;;;;;-1:-1:-1::0;;;;;8196:16:0::1;-1:-1:-1::0;;;;;8196:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8124:96;::::0;-1:-1:-1;;;;;;8124:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6890:15:1;;;8124:96:0::1;::::0;::::1;6872:34:1::0;6942:15;;6922:18;;;6915:43;6807:18;;8124:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8108:13;:112:::0;;-1:-1:-1;;;;;;8108:112:0::1;-1:-1:-1::0;;;;;8108:112:0;;::::1;;::::0;;8268:16:::1;::::0;;8231:69:::1;::::0;8253:4:::1;::::0;8268:16;::::1;::::0;3864:18:::1;::::0;3802:2:::1;::::0;3864:18:::1;:::i;:::-;3851:31;::::0;:10:::1;:31;:::i;:::-;8231:13;:69::i;:::-;8321:16;::::0;-1:-1:-1;;;;;8321:16:0::1;:32;8361:21;8406:4;8426:24;8406:4:::0;-1:-1:-1;;;;;6365:18:0;6338:7;6365:18;;;:9;:18;;;;;;;6272:119;8426:24:::1;8465:1;8481::::0;8497:7:::1;1924::::0;1951:14;-1:-1:-1;;;;;1951:14:0;;1886:87;8497:7:::1;8321:224;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8321:224:0;;;-1:-1:-1;;;;;7328:15:1;;;8321:224:0::1;::::0;::::1;7310:34:1::0;7360:18;;;7353:34;;;;7403:18;;;7396:34;;;;7446:18;;;7439:34;7510:15;;;7489:19;;;7482:44;8519:15:0::1;7542:19:1::0;;;7535:35;7244:19;;8321:224:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8565:13:0::1;::::0;8596:16:::1;::::0;8558:72:::1;::::0;-1:-1:-1;;;8558:72:0;;-1:-1:-1;;;;;8596:16:0;;::::1;8558:72;::::0;::::1;8066:51:1::0;-1:-1:-1;;8133:18:1;;;8126:34;8565:13:0;::::1;::::0;-1:-1:-1;8558:29:0::1;::::0;8039:18:1;;8558:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8641:16:0::1;:23:::0;;-1:-1:-1;;;;8641:23:0::1;-1:-1:-1::0;;;8641:23:0::1;::::0;;8690:12:::1;8675;:27:::0;7895:815::o;8809:132::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8899:26:0;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;8809:132::o;12498:251::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;12621:4:::1;12572:28;6365:18:::0;;;:9;:18;;;;;;;12694:3:::1;12660:30;6365:18:::0;12660:7;:30:::1;:::i;:::-;12659:38;;;;:::i;:::-;12638:59;;12708:33;12730:10;12708:21;:33::i;:::-;12561:188;;12498:251:::0;:::o;2667:164::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;2782:1:::1;2758:14:::0;;2737:48:::1;::::0;-1:-1:-1;;;;;2758:14:0;;::::1;::::0;2737:48:::1;::::0;2782:1;;2737:48:::1;2821:1;2796:27:::0;;-1:-1:-1;;;;;;2796:27:0::1;::::0;;2667:164::o;11874:174::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;11928:12:::1;1951:14:::0;;11946:46:::1;::::0;-1:-1:-1;;;;;1951:14:0;;;;11966:21:::1;::::0;11928:12;11946:46;11928:12;11946:46;11966:21;1951:14;11946:46:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11927:65;;;12011:7;12003:37;;;::::0;-1:-1:-1;;;12003:37:0;;9087:2:1;12003:37:0::1;::::0;::::1;9069:21:1::0;9126:2;9106:18;;;9099:30;-1:-1:-1;;;9145:18:1;;;9138:47;9202:18;;12003:37:0::1;8885:341:1::0;12003:37:0::1;11916:132;11874:174::o:0;6399:::-;6477:4;6494:49;1434:10;6525:9;6536:6;6494:16;:49::i;9275:281::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;9401:10:::1;;9384:13;:27;;:60;;;;;9433:11;;9415:14;:29;;9384:60;9376:96;;;::::0;-1:-1:-1;;;9376:96:0;;9433:2:1;9376:96:0::1;::::0;::::1;9415:21:1::0;9472:2;9452:18;;;9445:30;9511:25;9491:18;;;9484:53;9554:18;;9376:96:0::1;9231:347:1::0;9376:96:0::1;9483:10;:26:::0;;;;9520:11:::1;:28:::0;9275:281::o;12143:268::-;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;12247:4:::1;12198:28;6365:18:::0;;;:9;:18;;;;;;12272:24;12264:56:::1;;;::::0;-1:-1:-1;;;12264:56:0;;9785:2:1;12264:56:0::1;::::0;::::1;9767:21:1::0;9824:2;9804:18;;;9797:30;-1:-1:-1;;;9843:18:1;;;9836:49;9902:18;;12264:56:0::1;9583:343:1::0;12264:56:0::1;12333:70;12363:4;12370:7;1924::::0;1951:14;-1:-1:-1;;;;;1951:14:0;;1886:87;12370:7:::1;12379:20;12401:1;12333:21;:70::i;2223:107::-:0;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;2296:26:::1;2313:8;2296:16;:26::i;9022:131::-:0;2021:14;;-1:-1:-1;;;;;2021:14:0;1434:10;2021:30;2013:75;;;;-1:-1:-1;;;2013:75:0;;;;;;;:::i;:::-;3864:18:::1;3802:2;3864;:18;:::i;:::-;3851:31;::::0;:10:::1;:31;:::i;:::-;9077:10;:25:::0;3864:18:::1;3802:2;3864;:18;:::i;:::-;3851:31;::::0;:10:::1;:31;:::i;:::-;9113:17;:32:::0;9022:131::o;7455:340::-;-1:-1:-1;;;;;7553:19:0;;7545:68;;;;-1:-1:-1;;;7545:68:0;;10133:2:1;7545:68:0;;;10115:21:1;10172:2;10152:18;;;10145:30;10211:34;10191:18;;;10184:62;-1:-1:-1;;;10262:18:1;;;10255:34;10306:19;;7545:68:0;9931:400:1;7545:68:0;-1:-1:-1;;;;;7632:21:0;;7624:68;;;;-1:-1:-1;;;7624:68:0;;10538:2:1;7624:68:0;;;10520:21:1;10577:2;10557:18;;;10550:30;10616:34;10596:18;;;10589:62;-1:-1:-1;;;10667:18:1;;;10660:32;10709:19;;7624:68:0;10336:398:1;7624:68:0;-1:-1:-1;;;;;7703:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7755:32;;1361:25:1;;;7755:32:0;;1334:18:1;7755:32:0;;;;;;;7455:340;;;:::o;10165:1642::-;-1:-1:-1;;;;;10260:18:0;;10252:68;;;;-1:-1:-1;;;10252:68:0;;10941:2:1;10252:68:0;;;10923:21:1;10980:2;10960:18;;;10953:30;11019:34;10999:18;;;10992:62;-1:-1:-1;;;11070:18:1;;;11063:35;11115:19;;10252:68:0;10739:401:1;10252:68:0;10348:1;10339:6;:10;10331:71;;;;-1:-1:-1;;;10331:71:0;;11347:2:1;10331:71:0;;;11329:21:1;11386:2;11366:18;;;11359:30;11425:34;11405:18;;;11398:62;-1:-1:-1;;;11476:18:1;;;11469:46;11532:19;;10331:71:0;11145:412:1;10331:71:0;-1:-1:-1;;;;;10451:23:0;;10415:15;10451:23;;;:17;:23;;;;;;:28;:58;;;;-1:-1:-1;;;;;;10483:21:0;;;;;;:17;:21;;;;;;:26;10451:58;10447:1294;;;10534:16;;-1:-1:-1;;;10534:16:0;;;;10526:55;;;;-1:-1:-1;;;10526:55:0;;11764:2:1;10526:55:0;;;11746:21:1;11803:2;11783:18;;;11776:30;11842:28;11822:18;;;11815:56;11888:18;;10526:55:0;11562:350:1;10526:55:0;10614:10;;10604:6;:20;;10596:77;;;;-1:-1:-1;;;10596:77:0;;12119:2:1;10596:77:0;;;12101:21:1;12158:2;12138:18;;;12131:30;12197:34;12177:18;;;12170:62;-1:-1:-1;;;12248:18:1;;;12241:42;12300:19;;10596:77:0;11917:408:1;10596:77:0;10712:13;;-1:-1:-1;;;;;10706:19:0;;;10712:13;;10706:19;;;;:44;;-1:-1:-1;;;;;;10729:21:0;;10743:6;10729:21;;10706:44;10702:183;;;10805:17;;10795:6;10779:13;10789:2;-1:-1:-1;;;;;6365:18:0;6338:7;6365:18;;;:9;:18;;;;;;;6272:119;10779:13;:22;;;;:::i;:::-;:43;;10771:98;;;;-1:-1:-1;;;10771:98:0;;12662:2:1;10771:98:0;;;12644:21:1;12701:2;12681:18;;;12674:30;12740:34;12720:18;;;12713:62;-1:-1:-1;;;12791:18:1;;;12784:40;12841:19;;10771:98:0;12460:406:1;10771:98:0;10920:12;;:16;;10935:1;10920:16;:::i;:::-;10905:12;:31;10901:829;;;10976:13;;-1:-1:-1;;;;;10968:21:0;;;10976:13;;10968:21;10967:33;;10998:2;10967:33;;;10993:2;10967:33;10957:43;;;;10901:829;;;11053:13;;-1:-1:-1;;;;;11053:13:0;;;11045:21;;;;11041:674;;-1:-1:-1;11101:10:0;;11041:674;;;11147:13;;-1:-1:-1;;;;;11147:13:0;;;11141:19;;;;11137:578;;11234:4;11185:28;6365:18;;;:9;:18;;;;;;4176;3802:2;4176;:18;:::i;:::-;4167:27;;:6;:27;:::i;:::-;11267:20;:37;11263:389;;;11354:14;;11399:29;;;11395:64;;;11453:6;11430:29;;11395:64;11513:10;11490:20;:33;11486:72;;;11548:10;11525:33;;11486:72;11585:43;11607:20;11585:21;:43::i;:::-;11306:346;11263:389;-1:-1:-1;;11684:11:0;;11137:578;11751:48;11773:4;11779:2;11783:6;11791:7;11751:21;:48::i;:::-;10241:1566;10165:1642;;;:::o;12868:1113::-;12963:16;;;12977:1;12963:16;;;;;;;;12939:21;;12963:16;;;;;;;;;;-1:-1:-1;12963:16:0;12939:40;;13008:4;12990;12995:1;12990:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12990:23:0;;;:7;;;;;;;;;;:23;;;;13034:16;;:23;;;-1:-1:-1;;;13034:23:0;;;;:16;;;;;:21;;:23;;;;;12990:7;;13034:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13024:4;13029:1;13024:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13024:33:0;;;:7;;;;;;;;;:33;13107:16;;13070:68;;13092:4;;13107:16;13126:11;13070:13;:68::i;:::-;13151:16;;:197;;-1:-1:-1;;;13151:197:0;;-1:-1:-1;;;;;13151:16:0;;;;:67;;:197;;13233:11;;13151:16;;13275:4;;13302;;13322:15;;13151:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13390:21:0;;-1:-1:-1;13361:26:0;;-1:-1:-1;13470:3:0;;-1:-1:-1;13443:23:0;13390:21;13464:2;13443:23;:::i;:::-;13442:31;;;;:::i;:::-;13422:51;-1:-1:-1;13484:17:0;13532:3;13505:23;:18;13526:2;13505:23;:::i;:::-;13504:31;;;;:::i;:::-;13484:51;-1:-1:-1;13546:16:0;13593:3;13566:23;:18;13587:2;13566:23;:::i;:::-;13565:31;;;;:::i;:::-;13546:50;-1:-1:-1;13607:17:0;13655:3;13628:23;:18;13649:2;13628:23;:::i;:::-;13627:31;;;;:::i;:::-;13690:11;;:38;;13607:51;;-1:-1:-1;13672:12:0;;-1:-1:-1;;;;;13690:11:0;;;;13714:9;;13672:12;13690:38;13672:12;13690:38;13714:9;13690:11;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13753:11:0;;:38;;13671:57;;-1:-1:-1;;;;;;13753:11:0;;13777:9;;13753:38;;;;13777:9;13753:11;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13816:10:0;;:36;;13739:52;;-1:-1:-1;;;;;;13816:10:0;;13839:8;;13816:36;;;;13839:8;13816:10;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13877:11:0;;:38;;13802:50;;-1:-1:-1;;;;;;13877:11:0;;13901:9;;13877:38;;;;13901:9;13877:11;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13863:52;;;;;13946:7;13938:35;;;;-1:-1:-1;;;13938:35:0;;14322:2:1;13938:35:0;;;14304:21:1;14361:2;14341:18;;;14334:30;-1:-1:-1;;;14380:18:1;;;14373:45;14435:18;;13938:35:0;14120:339:1;13938:35:0;12928:1053;;;;;;;12868:1113;:::o;9673:395::-;9782:17;9823:3;9803:16;9812:7;9803:6;:16;:::i;:::-;9802:24;;;;:::i;:::-;9782:44;-1:-1:-1;9837:22:0;9862:18;9782:44;9862:6;:18;:::i;:::-;-1:-1:-1;;;;;9893:15:0;;;;;;:9;:15;;;;;:25;;9837:43;;-1:-1:-1;9912:6:0;;9893:15;;;:25;;9912:6;;9893:25;:::i;:::-;;;;-1:-1:-1;;;;;;;9929:13:0;;;;;;:9;:13;;;;;:31;;9946:14;;9929:13;:31;;9946:14;;9929:31;:::i;:::-;;;;-1:-1:-1;;9989:4:0;9971:24;;;;:9;:24;;;;;:37;;9999:9;;9971:24;:37;;9999:9;;9971:37;:::i;:::-;;;;;;;;10041:2;-1:-1:-1;;;;;10026:34:0;10035:4;-1:-1:-1;;;;;10026:34:0;;10045:14;10026:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;10026:34:0;;;;;;;;9771:297;;9673:395;;;;:::o;2338:243::-;-1:-1:-1;;;;;2410:22:0;;2402:73;;;;-1:-1:-1;;;2402:73:0;;14799:2:1;2402:73:0;;;14781:21:1;14838:2;14818:18;;;14811:30;14877:34;14857:18;;;14850:62;-1:-1:-1;;;14928:18:1;;;14921:36;14974:19;;2402:73:0;14597:402:1;2402:73:0;2512:14;;;2491:46;;-1:-1:-1;;;;;2491:46:0;;;;2512:14;;;2491:46;;;2548:14;:25;;-1:-1:-1;;;;;;2548:25:0;-1:-1:-1;;;;;2548:25:0;;;;;;;;;;2338:243::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:1;;2047:180;-1:-1:-1;2047:180:1:o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;:::-;2676:5;2440:247;-1:-1:-1;;;2440:247:1:o;2692:248::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;-1:-1:-1;;2860:23:1;;;2930:2;2915:18;;;2902:32;;-1:-1:-1;2692:248:1:o;3198:388::-;3266:6;3274;3327:2;3315:9;3306:7;3302:23;3298:32;3295:52;;;3343:1;3340;3333:12;3295:52;3382:9;3369:23;3401:31;3426:5;3401:31;:::i;:::-;3451:5;-1:-1:-1;3508:2:1;3493:18;;3480:32;3521:33;3480:32;3521:33;:::i;:::-;3573:7;3563:17;;;3198:388;;;;;:::o;3591:127::-;3652:10;3647:3;3643:20;3640:1;3633:31;3683:4;3680:1;3673:15;3707:4;3704:1;3697:15;3723:422;3812:1;3855:5;3812:1;3869:270;3890:7;3880:8;3877:21;3869:270;;;3949:4;3945:1;3941:6;3937:17;3931:4;3928:27;3925:53;;;3958:18;;:::i;:::-;4008:7;3998:8;3994:22;3991:55;;;4028:16;;;;3991:55;4107:22;;;;4067:15;;;;3869:270;;;3873:3;3723:422;;;;;:::o;4150:806::-;4199:5;4229:8;4219:80;;-1:-1:-1;4270:1:1;4284:5;;4219:80;4318:4;4308:76;;-1:-1:-1;4355:1:1;4369:5;;4308:76;4400:4;4418:1;4413:59;;;;4486:1;4481:130;;;;4393:218;;4413:59;4443:1;4434:10;;4457:5;;;4481:130;4518:3;4508:8;4505:17;4502:43;;;4525:18;;:::i;:::-;-1:-1:-1;;4581:1:1;4567:16;;4596:5;;4393:218;;4695:2;4685:8;4682:16;4676:3;4670:4;4667:13;4663:36;4657:2;4647:8;4644:16;4639:2;4633:4;4630:12;4626:35;4623:77;4620:159;;;-1:-1:-1;4732:19:1;;;4764:5;;4620:159;4811:34;4836:8;4830:4;4811:34;:::i;:::-;4881:6;4877:1;4873:6;4869:19;4860:7;4857:32;4854:58;;;4892:18;;:::i;:::-;4930:20;;4150:806;-1:-1:-1;;;4150:806:1:o;4961:140::-;5019:5;5048:47;5089:4;5079:8;5075:19;5069:4;5048:47;:::i;5106:168::-;5179:9;;;5210;;5227:15;;;5221:22;;5207:37;5197:71;;5248:18;;:::i;5688:356::-;5890:2;5872:21;;;5909:18;;;5902:30;5968:34;5963:2;5948:18;;5941:62;6035:2;6020:18;;5688:356::o;6404:251::-;6474:6;6527:2;6515:9;6506:7;6502:23;6498:32;6495:52;;;6543:1;6540;6533:12;6495:52;6575:9;6569:16;6594:31;6619:5;6594:31;:::i;7581:306::-;7669:6;7677;7685;7738:2;7726:9;7717:7;7713:23;7709:32;7706:52;;;7754:1;7751;7744:12;7706:52;7783:9;7777:16;7767:26;;7833:2;7822:9;7818:18;7812:25;7802:35;;7877:2;7866:9;7862:18;7856:25;7846:35;;7581:306;;;;;:::o;8171:277::-;8238:6;8291:2;8279:9;8270:7;8266:23;8262:32;8259:52;;;8307:1;8304;8297:12;8259:52;8339:9;8333:16;8392:5;8385:13;8378:21;8371:5;8368:32;8358:60;;8414:1;8411;8404:12;8453:217;8493:1;8519;8509:132;;8563:10;8558:3;8554:20;8551:1;8544:31;8598:4;8595:1;8588:15;8626:4;8623:1;8616:15;8509:132;-1:-1:-1;8655:9:1;;8453:217::o;12330:125::-;12395:9;;;12416:10;;;12413:36;;;12429:18;;:::i;13003:127::-;13064:10;13059:3;13055:20;13052:1;13045:31;13095:4;13092:1;13085:15;13119:4;13116:1;13109:15;13135:980;13397:4;13445:3;13434:9;13430:19;13476:6;13465:9;13458:25;13502:2;13540:6;13535:2;13524:9;13520:18;13513:34;13583:3;13578:2;13567:9;13563:18;13556:31;13607:6;13642;13636:13;13673:6;13665;13658:22;13711:3;13700:9;13696:19;13689:26;;13750:2;13742:6;13738:15;13724:29;;13771:1;13781:195;13795:6;13792:1;13789:13;13781:195;;;13860:13;;-1:-1:-1;;;;;13856:39:1;13844:52;;13951:15;;;;13916:12;;;;13892:1;13810:9;13781:195;;;-1:-1:-1;;;;;;;14032:32:1;;;;14027:2;14012:18;;14005:60;-1:-1:-1;;;14096:3:1;14081:19;14074:35;13993:3;13135:980;-1:-1:-1;;;13135:980:1:o;14464:128::-;14531:9;;;14552:11;;;14549:37;;;14566:18;;:::i

Swarm Source

ipfs://54ed232f652b2ff27b1c8ac450a72928406040d48b43479cbc7e8f485a574e45

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.