ETH Price: $2,001.26 (+5.57%)
 

Overview

ETH Balance

3 wei

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve220773872025-03-19 0:38:1112 hrs ago1742344691IN
0x6f2eE0e1...f46B6c662
0 ETH0.000114742.46674289
Approve219945942025-03-07 11:06:2312 days ago1741345583IN
0x6f2eE0e1...f46B6c662
0 ETH0.000039560.8508
Transfer219908292025-03-06 22:28:2312 days ago1741300103IN
0x6f2eE0e1...f46B6c662
0 ETH0.000055130.78710935
Approve219898622025-03-06 19:13:5912 days ago1741288439IN
0x6f2eE0e1...f46B6c662
0 ETH0.000128642.76550418
Approve219705232025-03-04 2:24:5915 days ago1741055099IN
0x6f2eE0e1...f46B6c662
0 ETH0.000453629.75442219
Approve219303882025-02-26 12:04:4721 days ago1740571487IN
0x6f2eE0e1...f46B6c662
0 ETH0.000041610.9
Approve219273582025-02-26 1:55:3521 days ago1740534935IN
0x6f2eE0e1...f46B6c662
0 ETH0.000124132.66853496
Approve219070942025-02-23 5:59:5924 days ago1740290399IN
0x6f2eE0e1...f46B6c662
0 ETH0.000055421.19159731
Approve219042252025-02-22 20:21:4724 days ago1740255707IN
0x6f2eE0e1...f46B6c662
0 ETH0.00012722.73450532
Approve218898292025-02-20 20:04:3526 days ago1740081875IN
0x6f2eE0e1...f46B6c662
0 ETH0.000128622.76510048
Approve218774102025-02-19 2:23:3528 days ago1739931815IN
0x6f2eE0e1...f46B6c662
0 ETH0.000124162.66929562
Approve218661592025-02-17 12:40:2330 days ago1739796023IN
0x6f2eE0e1...f46B6c662
0 ETH0.000270415.81316892
Approve218607082025-02-16 18:20:3530 days ago1739730035IN
0x6f2eE0e1...f46B6c662
0 ETH0.000061671.32414531
Approve218547842025-02-15 22:24:5931 days ago1739658299IN
0x6f2eE0e1...f46B6c662
0 ETH0.000081891.76057477
Approve218453652025-02-14 14:42:1132 days ago1739544131IN
0x6f2eE0e1...f46B6c662
0 ETH0.000128972.77259024
Approve218390582025-02-13 17:30:2333 days ago1739467823IN
0x6f2eE0e1...f46B6c662
0 ETH0.000087322.98911262
Approve218362902025-02-13 8:12:2334 days ago1739434343IN
0x6f2eE0e1...f46B6c662
0 ETH0.000043320.93142372
Approve218181572025-02-10 19:18:1136 days ago1739215091IN
0x6f2eE0e1...f46B6c662
0 ETH0.000137412.95405484
Approve218066202025-02-09 4:37:5938 days ago1739075879IN
0x6f2eE0e1...f46B6c662
0 ETH0.000061731.3275282
Approve218043002025-02-08 20:52:3538 days ago1739047955IN
0x6f2eE0e1...f46B6c662
0 ETH0.000067261.4547224
Approve218011432025-02-08 10:17:2339 days ago1739009843IN
0x6f2eE0e1...f46B6c662
0 ETH0.000051841.11475932
Approve218011262025-02-08 10:13:5939 days ago1739009639IN
0x6f2eE0e1...f46B6c662
0 ETH0.000043320.9315949
Approve217993132025-02-08 4:08:2339 days ago1738987703IN
0x6f2eE0e1...f46B6c662
0 ETH0.000088721.90727304
Approve217993082025-02-08 4:07:2339 days ago1738987643IN
0x6f2eE0e1...f46B6c662
0 ETH0.000086481.8596292
Approve217984222025-02-08 1:09:3539 days ago1738976975IN
0x6f2eE0e1...f46B6c662
0 ETH0.00013162.82912246
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer220471472025-03-14 19:16:354 days ago1741979795
0x6f2eE0e1...f46B6c662
0.00212391 ETH
Transfer220471472025-03-14 19:16:354 days ago1741979795
0x6f2eE0e1...f46B6c662
0.00212391 ETH
Transfer220471472025-03-14 19:16:354 days ago1741979795
0x6f2eE0e1...f46B6c662
0.00212391 ETH
Transfer220471472025-03-14 19:16:354 days ago1741979795
0x6f2eE0e1...f46B6c662
0.00070797 ETH
Transfer220471472025-03-14 19:16:354 days ago1741979795
0x6f2eE0e1...f46B6c662
0.00707972 ETH
Transfer220327782025-03-12 19:08:476 days ago1741806527
0x6f2eE0e1...f46B6c662
0.00067061 ETH
Transfer220327782025-03-12 19:08:476 days ago1741806527
0x6f2eE0e1...f46B6c662
0.00067061 ETH
Transfer220327782025-03-12 19:08:476 days ago1741806527
0x6f2eE0e1...f46B6c662
0.00067061 ETH
Transfer220327782025-03-12 19:08:476 days ago1741806527
0x6f2eE0e1...f46B6c662
0.00022353 ETH
Transfer220327782025-03-12 19:08:476 days ago1741806527
0x6f2eE0e1...f46B6c662
0.00223537 ETH
Transfer220296972025-03-12 8:49:237 days ago1741769363
0x6f2eE0e1...f46B6c662
0.00114743 ETH
Transfer220296972025-03-12 8:49:237 days ago1741769363
0x6f2eE0e1...f46B6c662
0.00114743 ETH
Transfer220296972025-03-12 8:49:237 days ago1741769363
0x6f2eE0e1...f46B6c662
0.00114743 ETH
Transfer220296972025-03-12 8:49:237 days ago1741769363
0x6f2eE0e1...f46B6c662
0.00038247 ETH
Transfer220296972025-03-12 8:49:237 days ago1741769363
0x6f2eE0e1...f46B6c662
0.00382477 ETH
Transfer219945982025-03-07 11:07:1112 days ago1741345631
0x6f2eE0e1...f46B6c662
0.00135476 ETH
Transfer219945982025-03-07 11:07:1112 days ago1741345631
0x6f2eE0e1...f46B6c662
0.00135476 ETH
Transfer219945982025-03-07 11:07:1112 days ago1741345631
0x6f2eE0e1...f46B6c662
0.00135476 ETH
Transfer219945982025-03-07 11:07:1112 days ago1741345631
0x6f2eE0e1...f46B6c662
0.00045158 ETH
Transfer219945982025-03-07 11:07:1112 days ago1741345631
0x6f2eE0e1...f46B6c662
0.00451589 ETH
Transfer219901152025-03-06 20:04:4712 days ago1741291487
0x6f2eE0e1...f46B6c662
0.00251971 ETH
Transfer219901152025-03-06 20:04:4712 days ago1741291487
0x6f2eE0e1...f46B6c662
0.00251971 ETH
Transfer219901152025-03-06 20:04:4712 days ago1741291487
0x6f2eE0e1...f46B6c662
0.00251971 ETH
Transfer219901152025-03-06 20:04:4712 days ago1741291487
0x6f2eE0e1...f46B6c662
0.0008399 ETH
Transfer219901152025-03-06 20:04:4712 days ago1741291487
0x6f2eE0e1...f46B6c662
0.00839903 ETH
View All Internal Transactions
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

Contract Source Code (Solidity)

/**
 *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 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.