ETH Price: $2,621.85 (-3.22%)

Contract

0xAAcbc3725e0aF980E8aA9dF4c4441a625B387a91
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve218288842025-02-12 7:19:473 hrs ago1739344787IN
0xAAcbc372...25B387a91
0 ETH0.00024035.18309097
Approve218273972025-02-12 2:16:118 hrs ago1739326571IN
0xAAcbc372...25B387a91
0 ETH0.000039310.84499316
Approve218267522025-02-12 0:06:2311 hrs ago1739318783IN
0xAAcbc372...25B387a91
0 ETH0.000042880.92572109
Approve218252982025-02-11 19:14:1115 hrs ago1739301251IN
0xAAcbc372...25B387a91
0 ETH0.000074381.59858063
Transfer218251122025-02-11 18:36:4716 hrs ago1739299007IN
0xAAcbc372...25B387a91
0 ETH0.000089652.04604086
Transfer218241762025-02-11 15:28:2319 hrs ago1739287703IN
0xAAcbc372...25B387a91
0 ETH0.000191622.91685561
Approve218239792025-02-11 14:48:2320 hrs ago1739285303IN
0xAAcbc372...25B387a91
0 ETH0.000127182.74593603
Approve218239242025-02-11 14:37:1120 hrs ago1739284631IN
0xAAcbc372...25B387a91
0 ETH0.000140893.04214258
Approve218238822025-02-11 14:28:4720 hrs ago1739284127IN
0xAAcbc372...25B387a91
0 ETH0.000134752.91027336
Transfer218226122025-02-11 10:13:4724 hrs ago1739268827IN
0xAAcbc372...25B387a91
0 ETH0.000144772.37598433
Transfer218225762025-02-11 10:06:3525 hrs ago1739268395IN
0xAAcbc372...25B387a91
0 ETH0.000086071.96374824
Transfer218225692025-02-11 10:05:1125 hrs ago1739268311IN
0xAAcbc372...25B387a91
0 ETH0.00011221.84190093
Transfer218225642025-02-11 10:04:1125 hrs ago1739268251IN
0xAAcbc372...25B387a91
0 ETH0.000113521.86349633
Approve218212682025-02-11 5:43:5929 hrs ago1739252639IN
0xAAcbc372...25B387a91
0 ETH0.000037861.2965696
Approve218212572025-02-11 5:41:4729 hrs ago1739252507IN
0xAAcbc372...25B387a91
0 ETH0.000066461.43497521
Approve218208632025-02-11 4:22:1130 hrs ago1739247731IN
0xAAcbc372...25B387a91
0 ETH0.000134762.89548782
Approve218201402025-02-11 1:56:4733 hrs ago1739239007IN
0xAAcbc372...25B387a91
0 ETH0.000029441
Approve218199832025-02-11 1:25:1133 hrs ago1739237111IN
0xAAcbc372...25B387a91
0 ETH0.000132242.84130808
Approve218172842025-02-10 16:22:4742 hrs ago1739204567IN
0xAAcbc372...25B387a91
0 ETH0.00007261.55794207
Approve218163752025-02-10 13:19:4745 hrs ago1739193587IN
0xAAcbc372...25B387a91
0 ETH0.00006821.46341499
Approve218158592025-02-10 11:35:5947 hrs ago1739187359IN
0xAAcbc372...25B387a91
0 ETH0.00004771.02522171
Approve218132012025-02-10 2:42:112 days ago1739155331IN
0xAAcbc372...25B387a91
0 ETH0.000032511.23549716
Approve218118842025-02-09 22:16:472 days ago1739139407IN
0xAAcbc372...25B387a91
0 ETH0.000201034.31926337
Approve218116182025-02-09 21:23:232 days ago1739136203IN
0xAAcbc372...25B387a91
0 ETH0.000041510.8960649
Approve218104672025-02-09 17:31:352 days ago1739122295IN
0xAAcbc372...25B387a91
0 ETH0.000045360.97338065
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
218226752025-02-11 10:26:2324 hrs ago1739269583
0xAAcbc372...25B387a91
0.17099383 ETH
218226752025-02-11 10:26:2324 hrs ago1739269583
0xAAcbc372...25B387a91
0.17099383 ETH
218216312025-02-11 6:56:3528 hrs ago1739256995
0xAAcbc372...25B387a91
0.13541924 ETH
218216312025-02-11 6:56:3528 hrs ago1739256995
0xAAcbc372...25B387a91
0.13541924 ETH
218158592025-02-10 11:35:5947 hrs ago1739187359
0xAAcbc372...25B387a91
0.15303721 ETH
218158592025-02-10 11:35:5947 hrs ago1739187359
0xAAcbc372...25B387a91
0.15303721 ETH
217962172025-02-07 17:47:354 days ago1738950455
0xAAcbc372...25B387a91
0.20006325 ETH
217962172025-02-07 17:47:354 days ago1738950455
0xAAcbc372...25B387a91
0.20006325 ETH
217947872025-02-07 12:59:474 days ago1738933187
0xAAcbc372...25B387a91
0.18154436 ETH
217947872025-02-07 12:59:474 days ago1738933187
0xAAcbc372...25B387a91
0.18154436 ETH
217932642025-02-07 7:53:115 days ago1738914791
0xAAcbc372...25B387a91
0.16220911 ETH
217932642025-02-07 7:53:115 days ago1738914791
0xAAcbc372...25B387a91
0.16220911 ETH
217882152025-02-06 14:59:235 days ago1738853963
0xAAcbc372...25B387a91
0.21878712 ETH
217882152025-02-06 14:59:235 days ago1738853963
0xAAcbc372...25B387a91
0.21878712 ETH
217850482025-02-06 4:22:596 days ago1738815779
0xAAcbc372...25B387a91
0.22111942 ETH
217850482025-02-06 4:22:596 days ago1738815779
0xAAcbc372...25B387a91
0.22111942 ETH
217820292025-02-05 18:17:236 days ago1738779443
0xAAcbc372...25B387a91
0.21196507 ETH
217820292025-02-05 18:17:236 days ago1738779443
0xAAcbc372...25B387a91
0.21196507 ETH
217718682025-02-04 8:12:598 days ago1738656779
0xAAcbc372...25B387a91
0.18470866 ETH
217718682025-02-04 8:12:598 days ago1738656779
0xAAcbc372...25B387a91
0.18470866 ETH
217665772025-02-03 14:28:358 days ago1738592915
0xAAcbc372...25B387a91
0.22944307 ETH
217665772025-02-03 14:28:358 days ago1738592915
0xAAcbc372...25B387a91
0.22944307 ETH
217644602025-02-03 7:21:599 days ago1738567319
0xAAcbc372...25B387a91
0.24439731 ETH
217644602025-02-03 7:21:599 days ago1738567319
0xAAcbc372...25B387a91
0.24439731 ETH
217592102025-02-02 13:45:359 days ago1738503935
0xAAcbc372...25B387a91
0.16159761 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AethraAI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-01-06
*/

// SPDX-License-Identifier: UNLICENSED
//
// Telegram: https://t.me/aethra_ai
// Website: https://aethra.work/
//▐▗▘▌▚▘▌▚▘▌▚▘▌▚▘▌▚▘▚▐▗▚▐▗▚▝▖▚▝▖▚▝▖▚▝▖▚▝▖▚▝▖▚▝▖▖▚▝▖▘▞▝▖▖▚▝▖▖▚ 
//▐▗▚▐▗▚▘▌▚▐▗▚▝▖▚▝▖▚▚▝▖▚▗▘▖▌▚▘▚▐▗▚▝▖▚▝▖▚▝▖▚▝▖▚▝▝▖▚▝▝▖▚▗▘▖▚▗▝▖▖
//▐▗▚▝▖▘▚▝▞▖▚▝▞▐▝▞▐▗▘▚▐▗▘▚▘▞▖▚▚▗▘▖▌▘▚▚▝▖▚▝▖▚▝▖▚▚▝▖▚▚▝▖▖▚▝▖▘▚▗ 
//▐▗▝▞▐▐▝▞▖▞▐▝▐▗▚▝▖▚▐▝▖▚▐▗▚▗▐▗▗▚▝▖▞▐▗▗▚▝▖▚▝▖▚▝▖▖▚▝▖▖▚▝▝▖▚▝▝▖▞ 
//▐▗▚▘▌▞▐▗▚▐▗▚▚▗▘▚▘▚▗▚▝▖▚▗▝▖▚▝▄▄▚▙▞▖▚▗▘▚▝▖▚▝▖▚▝▝▖▚▝▖▚▝▞▗▘▞▝▖▝▖
//▐▗▘▚▝▞▖▚▗▚▝▖▞▖▚▘▚▘▚▝▞▞▄▙▛▛▀▀▚▘▌▚██▝▖▘▘▚▝▖▚▝▖▚▚▝▖▚▝▖▚▗▘▞▗▚▝▞ 
//▐▗▚▘▌▖▌▚▚▗▘▌▖▚▘▚▘▌▙▛▀▀▞▗▝▖▀▞▖▚▝▟██▙▝▞▘▘▚▝▖▚▝▖▖▚▝▖▚▝▖▖▚▗▘▖▚▗▘
//▐▗▘▚▐▝▝▖▞▖▌▞▐▗▚▚▛▀▖▚▘▌▞▖▚▐▝▖▞▖▙██▛█▞▗▚▀▖▚▝▖▚▝▝▖▚▝▖▘▖▞▗▗▘▞▗▗ 
//▐▗▚▘▚▘▌▚▝▖▞▝▖▚▟▚▘▌▚▘▚▝▖▞▝▖▚▝▖▞▟█▙██▙▚▗▘▞▖▚▝▖▚▚▝▖▚▗▚▝▖▚▗▘▖▚▗▘
//▝▖▘▌▚▚▐▝▞▝▞▐▐▛▖▚▝▝▖▚▘▚▝▐▝▝▖▌▞▐█▛████▖▚▝▖▞▖▚▝▖▖▚▝▖▖▖▚▝▖▖▚▝▖▖▖
//▚▚▚▘▚▗▘▌▞▞▝▞▙▝▐▗▀▞▐▗▚▘▌▘▚▘▚▝▖████████▗▚▗▗▝▖▚▝▝▖▚▗▘▞▖▚▗▘▖▚▗▘▖
//▖▚▗▚▘▌▚▝▖▞▞▛▖▌▚▗▚▝▖▚▗▚▝▞▖▌▚▘▟████▜▟██▙▗▘▘▚▝▖▚▚▝▖▖▚▗▝▖▖▚▝▖▖▚ 
//▐▝▖▚▚▐▝▞▝▖▛▌▞▝▞▖▘▚▐▗▚▗▚▝▖▞▖▚▛▜█▙████▜█▖▚▘▚▘▞▖▖▚▝▝▖▘▚▗▘▖▚▝▖▘▖
//▐▝▞▖▚▗▚▐▐▝▛▖▚▚▗▘▀▞▖▚▗▘▖▌▞▖▞▛▌▚█████████ ▌▚▝▖▞▝▖▚▚▝▐▗▗▘▞▖▚▝▝ 
//▐▝▖▚▘▌▞▖▘▙▛▐▗▘▘▌▌▄▝▖▘▚▚▝▖▞▐▌▚▘▞██▜█▜██▟▙▝▖▚▗▝▝▖▚ ▚▘▖▚▝▖▝▖▞▝▖
//▐▝▞▖▌▞▖▞▞▐▞▖▚▝▚▝▖▖▌▚▀▖▖▚▝▝▛▞▖▚▝████████▙▚▝▖▘▚▚▝▖▚▘▞▗▘▞▗▚▗▝▝ 
//▐▝▖▚▝▖▚▝▞▟▚▐▝▞▐▝▝▖▚▘▞▝▞▝▞▜▌▄▝▖▚▝████▜▟██▙▚▝▞▖▖▚▝▖▚▝▖▚▗▘▖▞▝▞ 
//▐▝▞▐▝▞▐▝▖▟▌▘▚▐▗▚▚▘▚▝▞▝▖▌▞▛▖▖▌▞▝▞▟█▟█████▜▖▚▗▝▝▖▚▝▖▘▖▚▗▝▖▞▝▗▘
//▐▝▐▗▚▐▗▘▌▞▌▀▞▖▚▗▚▐▝▞▗▘▚▝▟▚▝▖▚▝▞▗▗██████▟██▖▘▚▚▝▖▚▝▝▝▖▖▚▗▝▝▖▖
//▐▝▖▌▞▖▚▚▝▞▛▚▗▐▗▚▗▘▚▝▖▀▖▜▜▗▘▚▘▚▝▞▗▐█▜▟█████▞▞▖▖▚▝▖▘▌▚▝▝▖▚▝▞▗ 
//▐▝▞▖▞▝▖▘▌▞▟▌▚▚▝▖▚▐▗▘▌▚▘█▘▖▌▚▝▖▚▝▖▘████▙████▖▞▝▖▚▝▝▖▚▝▞▗▗▘▞▗▘
//▐▝▖▞▐▝▞▞▖▞▖█▗▖▚▐▗▚▝▞▝▖▜▌▚▘▞▖▚▘▚▚▝▞▝█████▛█▛▙▝▖▞▗▘▚▝▖▚▗▘▖▚▗▘▖
//▐▝▞▐▗▚▘▖▌▞▝▞▙▝▞▖▚▗▚▝▞▐▛▐▗▚▗▐▗▘▚▗▚▝▞▟█▙██████▌▞▗▘▞▖▚▝▖▖▚▝▖▖▚ 
//▐▝▝▖▚▗▚▚▝▐▝▞▚▙▝▝▖▚▗▚▝▟▚▘▄▗▚▝▖▚▚▗▖▚▗▗▜██▙█████▗▘▞▗▝▖▚▗▘▖▚▝▖▘▖
//▐▝▚▘▌▚▗▘▌▚▚▝▞▜▞▚▐▝▖▘▜▛▗▚▗▘▖▚▝▖▖▚▝▖▚▝▞█████▟██▌▞▗▘▚▝▖▖▚▝▖▚▗▘▖
//▐▝▖▌▞▞▖▌▞▖▞▝▖▚▀▙▞▝▞▐▜▝▖▞▖▚▘▚▚▝▞▖▚▝▖▚▝▜▙██▟██▟█▖▚▝▖▚▗▘▖▚▝▖▖▚ 
//▐▝▞▝▖▞▖▞▖▚▐▝▞▖▚▚▜▙▝▟▌▌▚▗▐▗▘▚▗▚▗▝▖▚▐▗▘▌████████▛▖▚▝▖▖▚▝▖▚▗▝▖▘
//▐▝▐▝▞▖▚▝▞▝▖▌▞▝▖▚▗▐▜▄▞▖▘▚▗▚▐▝▖▞▖▚▘▚▗▘▚▝▟█▛██▟███▌▖▚▗▘▖▚▝▖▖▚▝ 
//▐▝▖▌▞▝▖▌▞▞▖▚▝▞▐▗▘▚▟▐▝▛▙▌▌▖▚▝▖▄▝▖▚▚▗▘▚▝▖▜█████▟██▝▖▖▚▝▖▚▗▘▚▝▖
//▐▝▞▝▞▐▝▖▚▗▘▌▚▐▗▘▚▚▛▖▚▝▖▀▀▜▚▙▙▄▙▟▄▄▙▙▙▚▀▛██▙████▜▙▝▝▖▚▝▖▖▚▗▘▖
//▐▝▞▐▝▖▌▚▘▚▚▝▞▖▚▐▗█▗▘▚▚▝▞▐▗▘▖▖▚▝▖▚▚▗▗▗▘▚▝▟███▜▟███▚▚▝▖▚▗▘▖▚▝ 
//▐▝▐▗▘▚▝▖▌▚▗▚▗▐▗▘▙▌▘▌▚▗▚▝▖▚▝▖▚▘▚▝▖▖▚▝▖▘▚▝▖█▙██████▙▖▚▝▖▖▚▝▖▞ 
//▐▝▖▌▚▘▌▚▐▝▖▚▘▚▝▞▟▐▝▝▖▚▝▞▝▖▌▞▖▚▘▚▝▞▖▚▝▞▖▚▗▚█████▜██▟ ▚▗▝▖▚▗▝▖
//▐▝▞▝▖▌▞▞▖▚▘▌▚▘▙██▗▚▘▌▘▚▝▞▖▞▗▝▖▚▘▚▗▝▖▚▗▐▗▘▞███▛█████▌▚▗▚▝▖▞▗ 
//▝▝▝▝▝ ▘ ▝ ▘▝▗████▞ ▘▝▝▝▝ ▝▝ ▘▝ ▘▘▝▝▝ ▘ ▘▝▐██▙████▟██▙  ▘ ▝ ▘
//

pragma solidity 0.8.19;

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

        (bool success, ) = recipient.call{value: amount}("");
        return success; // always proceeds
    }
}

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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);
    }
}

contract AethraAI is ERC20, Ownable {
    using Address for address payable;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    mapping(address => bool) private _isExcludedFromFees;

    address public marketingFeeReceiver;
    uint256 public tradingEnabledTime;

    bool private inSwapAndLiquify;
    bool public swapEnabled;
    bool public tradingEnabled;

    uint256 public marketingFee;
    uint256 public maxSwapThreshold;
    uint256 public maxWalletSize;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SwapAndSendFee(uint256 tokensSwapped, uint256 bnbSend);
    event MarketingFeeReceiverChanged(address marketingFeeReceiver);
    event SwapAndLiquify(uint256 tokensSwapped, uint256 bnbReceived, uint256 tokensIntoLiquidity);
    event ToggleSwapping(bool swapEnabled);
    event FeesLowered(uint256 _new);
    event MaxWalletSizeRaised(uint256 _new);
    event MaxSwapThresholdUpdated(uint256 _new);

    constructor(address _router, address _feeReceiver, uint256 _initalLiquidity) 
        payable ERC20("Aethra AI", "AETHRA") {

        marketingFee = 5; // 5% marketing fee

        marketingFeeReceiver = _feeReceiver;
        uniswapV2Router = IUniswapV2Router02(_router);

        // Exclude wallets from fees
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[address(0xdead)] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[marketingFeeReceiver] = true;

        uint256 ownerSupply = 20_000_000 * 10**decimals(); // Supply for owner
        _mint(owner(), ownerSupply);
        _mint(address(this), _initalLiquidity); // Initial liquidity tokens

        maxWalletSize = 500_000 * 10**decimals();
        maxSwapThreshold = 250_000 * 10**decimals();
        swapEnabled = false;
        tradingEnabled = false;
    }

    receive() external payable {}

    function claimStuckTokens(address token) external onlyOwner {
        require(token != address(this), "Owner cannot claim contract's balance of its own tokens");
        if (token == address(0x0)) {
            payable(msg.sender).sendValue(address(this).balance);
            return;
        }

        IERC20(token).transfer(msg.sender, IERC20(token).balanceOf(address(this)));
    }

    function excludeFromFees(address account, bool excluded) external onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function changeFeeReceiver(address _marketingFeeReceiver) external onlyOwner {
        require(
            _marketingFeeReceiver != address(0) &&
            _marketingFeeReceiver != address(0xdead),
            "Marketing Fee receiver cannot be the zero or dead address"
        );
        marketingFeeReceiver = _marketingFeeReceiver;
        emit MarketingFeeReceiverChanged(marketingFeeReceiver);
    }

    event TradingEnabled(bool tradingEnabled, uint256 tradingEnabledTime);

    function enableTrading() external onlyOwner {
        require(tradingEnabled == false, "Trading already enabled!");
        _approve(address(this), address(uniswapV2Router), type(uint256).max);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingEnabled = true;
        swapEnabled = true;
        tradingEnabledTime = block.timestamp;
        _isExcludedFromFees[uniswapV2Pair] = true;

        emit TradingEnabled(tradingEnabled, tradingEnabledTime);
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0), "Transfer from the zero address");
        require(to != address(0), "Transfer to the zero address");
        require(tradingEnabled || _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading not yet enabled!");
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 _totalFees;

        if (_isExcludedFromFees[from] && _isExcludedFromFees[to] && inSwapAndLiquify) {
            _totalFees = 0;
        } else if ((from == uniswapV2Pair || to == uniswapV2Pair) && tradingEnabled) {
            _totalFees = marketingFee;
        } else {
            _totalFees = 0;
        }

        if (_totalFees > 0) {
            uint256 fees = (amount * _totalFees) / 100;
            amount -= fees;
            super._transfer(from, address(this), fees);
        }

        if (to == uniswapV2Pair) {
            if (contractTokenBalance > maxSwapThreshold && !inSwapAndLiquify && swapEnabled) {
                inSwapAndLiquify = true;
                _swapAndSendMarketing(maxSwapThreshold);
                inSwapAndLiquify = false;
            }
        }

        if (tradingEnabled && !_isExcludedFromFees[to] && !inSwapAndLiquify) {
            uint256 toWalletSize = balanceOf(to);
            require(toWalletSize + amount <= maxWalletSize, "Maximum wallet size exceeded!");
        }

        super._transfer(from, to, amount);
    }

    function toggleSwapping(bool _swapEnabled) external onlyOwner {
        require(swapEnabled != _swapEnabled, "Currently at the same stage");
        swapEnabled = _swapEnabled;
        emit ToggleSwapping(swapEnabled);
    }

    function _swapAndSendMarketing(uint256 tokenAmount) private {
        uint256 initialBalance = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        uint256 newBalance = address(this).balance - initialBalance;
        payable(marketingFeeReceiver).sendValue(newBalance);

        emit SwapAndSendFee(tokenAmount, newBalance);
    }

    function sellFees() public onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        _swapAndSendMarketing(contractBalance);
    }

    function lowerFees(uint256 _newFee) public onlyOwner {
        require(_newFee < marketingFee, "New fee must be lower than old fee!");
        marketingFee = _newFee;
        emit FeesLowered(_newFee);
    }

    function raiseMaxLimit(uint256 _newLimit) public onlyOwner {
        require(_newLimit > maxWalletSize, "New limit must be higher than old limit!");
        maxWalletSize = _newLimit;
        emit MaxWalletSizeRaised(_newLimit);
    }

    function setSwapThreshold(uint256 _newThreshold) public onlyOwner {
        maxSwapThreshold = _newThreshold;
        emit MaxSwapThresholdUpdated(_newThreshold);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_router","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint256","name":"_initalLiquidity","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"FeesLowered","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"}],"name":"MarketingFeeReceiverChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"MaxSwapThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_new","type":"uint256"}],"name":"MaxWalletSizeRaised","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SwapAndSendFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"swapEnabled","type":"bool"}],"name":"ToggleSwapping","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"tradingEnabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"tradingEnabledTime","type":"uint256"}],"name":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"changeFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"lowerFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLimit","type":"uint256"}],"name":"raiseMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabledTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516200275f3803806200275f83398101604081905262000026916200036c565b6040518060400160405280600981526020016841657468726120414960b81b8152506040518060400160405280600681526020016541455448524160d01b815250816003908162000078919062000452565b50600462000087828262000452565b50505060006200009c6200026360201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005600c55600980546001600160a01b038085166001600160a01b0319928316179092556006805492861692909116919091179055600160086000620001386005546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560089093527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548516600190811790915530845282842080548616821790556009549091168352908220805490931617909155620001c3601290565b620001d090600a62000633565b620001e0906301312d006200064b565b905062000200620001f96005546001600160a01b031690565b8262000267565b6200020c308362000267565b6200021a6012600a62000633565b62000229906207a1206200064b565b600e556200023a6012600a62000633565b62000249906203d0906200064b565b600d555050600b805462ffff0019169055506200067b9050565b3390565b6001600160a01b038216620002c25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620002d6919062000665565b90915550506001600160a01b038216600090815260208190526040812080548392906200030590849062000665565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b80516001600160a01b03811681146200036757600080fd5b919050565b6000806000606084860312156200038257600080fd5b6200038d846200034f565b92506200039d602085016200034f565b9150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003d857607f821691505b602082108103620003f957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200044d57600081815260208120601f850160051c81016020861015620004285750805b601f850160051c820191505b81811015620004495782815560010162000434565b5050505b505050565b81516001600160401b038111156200046e576200046e620003ad565b62000486816200047f8454620003c3565b84620003ff565b602080601f831160018114620004be5760008415620004a55750858301515b600019600386901b1c1916600185901b17855562000449565b600085815260208120601f198616915b82811015620004ef57888601518255948401946001909101908401620004ce565b50858210156200050e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005755781600019048211156200055957620005596200051e565b808516156200056757918102915b93841c939080029062000539565b509250929050565b6000826200058e575060016200062d565b816200059d575060006200062d565b8160018114620005b65760028114620005c157620005e1565b60019150506200062d565b60ff841115620005d557620005d56200051e565b50506001821b6200062d565b5060208310610133831016604e8410600b841016171562000606575081810a6200062d565b62000612838362000534565b80600019048211156200062957620006296200051e565b0290505b92915050565b60006200064460ff8416836200057d565b9392505050565b80820281158282048414176200062d576200062d6200051e565b808201808211156200062d576200062d6200051e565b6120d4806200068b6000396000f3fe6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063e0f3ccf51161006f578063e0f3ccf5146105b7578063e3b24c80146105cc578063e96fada2146105ec578063f2fde38b1461060c578063f9d0831a1461062c57600080fd5b8063a9059cbb1461051b578063acef1a441461053b578063c024666814610551578063dd62ed3e1461057157600080fd5b80638f3fa860116100dc5780638f3fa860146104b057806395d89b41146104c65780639d0014b1146104db578063a457c2d7146104fb57600080fd5b8063715018a6146104485780637c08b9641461045d5780638a8c523c1461047d5780638da5cb5b1461049257600080fd5b806339509351116101855780636b67c4df116101545780636b67c4df146103c75780636ddd1713146103dd5780636fd8fb7a146103fc57806370a082311461041257600080fd5b8063395093511461032e57806349bd5a5e1461034e5780634ada218b1461036e5780634fbee1931461038e57600080fd5b806318160ddd116101c157806318160ddd146102b3578063239be29a146102d257806323b872dd146102f2578063313ce5671461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630f198ee8146102595780631694505e1461027b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021361064c565b6040516102209190611d13565b60405180910390f35b34801561023557600080fd5b50610249610244366004611d76565b6106de565b6040519015158152602001610220565b34801561026557600080fd5b50610279610274366004611da2565b6106f5565b005b34801561028757600080fd5b5060065461029b906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156102bf57600080fd5b506002545b604051908152602001610220565b3480156102de57600080fd5b506102796102ed366004611dc9565b6107c1565b3480156102fe57600080fd5b5061024961030d366004611ded565b61089e565b34801561031e57600080fd5b5060405160128152602001610220565b34801561033a57600080fd5b50610249610349366004611d76565b61094f565b34801561035a57600080fd5b5060075461029b906001600160a01b031681565b34801561037a57600080fd5b50600b546102499062010000900460ff1681565b34801561039a57600080fd5b506102496103a9366004611e2e565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103d357600080fd5b506102c4600c5481565b3480156103e957600080fd5b50600b5461024990610100900460ff1681565b34801561040857600080fd5b506102c4600a5481565b34801561041e57600080fd5b506102c461042d366004611e2e565b6001600160a01b031660009081526020819052604090205490565b34801561045457600080fd5b5061027961098b565b34801561046957600080fd5b50610279610478366004611e2e565b6109ff565b34801561048957600080fd5b50610279610b0c565b34801561049e57600080fd5b506005546001600160a01b031661029b565b3480156104bc57600080fd5b506102c4600e5481565b3480156104d257600080fd5b50610213610f0d565b3480156104e757600080fd5b506102796104f6366004611da2565b610f1c565b34801561050757600080fd5b50610249610516366004611d76565b610f7b565b34801561052757600080fd5b50610249610536366004611d76565b611014565b34801561054757600080fd5b506102c4600d5481565b34801561055d57600080fd5b5061027961056c366004611e4b565b611021565b34801561057d57600080fd5b506102c461058c366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105c357600080fd5b506102796110aa565b3480156105d857600080fd5b506102796105e7366004611da2565b6110f0565b3480156105f857600080fd5b5060095461029b906001600160a01b031681565b34801561061857600080fd5b50610279610627366004611e2e565b6111b1565b34801561063857600080fd5b50610279610647366004611e2e565b61129c565b60606003805461065b90611eb2565b80601f016020809104026020016040519081016040528092919081815260200182805461068790611eb2565b80156106d45780601f106106a9576101008083540402835291602001916106d4565b820191906000526020600020905b8154815290600101906020018083116106b757829003601f168201915b5050505050905090565b60006106eb338484611441565b5060015b92915050565b6005546001600160a01b031633146107285760405162461bcd60e51b815260040161071f90611eec565b60405180910390fd5b600c5481106107855760405162461bcd60e51b815260206004820152602360248201527f4e657720666565206d757374206265206c6f776572207468616e206f6c64206660448201526265652160e81b606482015260840161071f565b600c8190556040518181527f521fe74e1c24ea5dc1327c29145ebc90bae09bc5a6f6bea118b4ad87793327a5906020015b60405180910390a150565b6005546001600160a01b031633146107eb5760405162461bcd60e51b815260040161071f90611eec565b801515600b60019054906101000a900460ff1615150361084d5760405162461bcd60e51b815260206004820152601b60248201527f43757272656e746c79206174207468652073616d652073746167650000000000604482015260640161071f565b600b805461ff0019166101008315158102919091179182905560405160ff9190920416151581527f0b24deddd077e0149099adf20869b94ebb4b0898a1068e9af5e30529f596e532906020016107b6565b6001600160a01b03831660009081526001602090815260408083203384529091528120546000198114610939578281101561092c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161071f565b6109398533858403611441565b610944858585611565565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106eb918590610986908690611f37565b611441565b6005546001600160a01b031633146109b55760405162461bcd60e51b815260040161071f90611eec565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610a295760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b03811615801590610a4c57506001600160a01b03811661dead14155b610abe5760405162461bcd60e51b815260206004820152603960248201527f4d61726b6574696e67204665652072656365697665722063616e6e6f7420626560448201527f20746865207a65726f206f722064656164206164647265737300000000000000606482015260840161071f565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527fce24358e1d81b90be8bb8786b891404133aa63ffde0e56b69ccf25a5e3c4df06906020016107b6565b6005546001600160a01b03163314610b365760405162461bcd60e51b815260040161071f90611eec565b600b5462010000900460ff1615610b8f5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c6564210000000000000000604482015260640161071f565b600654610ba99030906001600160a01b0316600019611441565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c209190611f4a565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca69190611f4a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d179190611f4a565b600780546001600160a01b039283166001600160a01b03199091161790556006541663f305d7194730610d5f816001600160a01b031660009081526020819052604090205490565b600080610d746005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ddc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e019190611f67565b505060075460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190611f95565b50600b80546201010062ffff001990911617815542600a9081556007546001600160a01b031660009081526008602052604090819020805460ff191660011790559154905491517f3eb2d65e1de77434db1b2cb0645de0085059e6e514d7b9641fdc2978d8e40c4092610f039262010000900460ff1615158252602082015260400190565b60405180910390a1565b60606004805461065b90611eb2565b6005546001600160a01b03163314610f465760405162461bcd60e51b815260040161071f90611eec565b600d8190556040518181527fb090ae518da13bb076e9fad6694791d1d427db3284f7ac7321fbeafac08c7b27906020016107b6565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ffd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161071f565b61100a3385858403611441565b5060019392505050565b60006106eb338484611565565b6005546001600160a01b0316331461104b5760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146110d45760405162461bcd60e51b815260040161071f90611eec565b306000908152602081905260409020546110ed816118ed565b50565b6005546001600160a01b0316331461111a5760405162461bcd60e51b815260040161071f90611eec565b600e54811161117c5760405162461bcd60e51b815260206004820152602860248201527f4e6577206c696d6974206d75737420626520686967686572207468616e206f6c60448201526764206c696d69742160c01b606482015260840161071f565b600e8190556040518181527f69626ae9392dcbdfaecc4d3af4d6c00e0bb3888f512459d89551c2762e406c41906020016107b6565b6005546001600160a01b031633146111db5760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b0381166112405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112c65760405162461bcd60e51b815260040161071f90611eec565b306001600160a01b038216036113445760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000606482015260840161071f565b6001600160a01b0381166113605761135c3347611a95565b5050565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d29190611fb2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561141d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190611f95565b6001600160a01b0383166114a35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b0382166115045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115bb5760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161071f565b6001600160a01b0382166116115760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161071f565b600b5462010000900460ff168061164057506001600160a01b03831660009081526008602052604090205460ff165b8061166357506001600160a01b03821660009081526008602052604090205460ff165b6116af5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161071f565b806000036116c8576116c383836000611b44565b505050565b30600090815260208181526040808320546001600160a01b0387168452600890925282205490919060ff16801561171757506001600160a01b03841660009081526008602052604090205460ff165b80156117255750600b5460ff165b1561173257506000611781565b6007546001600160a01b038681169116148061175b57506007546001600160a01b038581169116145b801561176f5750600b5462010000900460ff165b1561177d5750600c54611781565b5060005b80156117ba57600060646117958386611fcb565b61179f9190611fe2565b90506117ab8185612004565b93506117b8863083611b44565b505b6007546001600160a01b039081169085160361182057600d54821180156117e45750600b5460ff16155b80156117f75750600b54610100900460ff165b1561182057600b805460ff19166001179055600d54611815906118ed565b600b805460ff191690555b600b5462010000900460ff16801561185157506001600160a01b03841660009081526008602052604090205460ff16155b80156118605750600b5460ff16155b156118db576001600160a01b038416600090815260208190526040902054600e5461188b8583611f37565b11156118d95760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d2077616c6c65742073697a6520657863656564656421000000604482015260640161071f565b505b6118e6858585611b44565b5050505050565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061192657611926612017565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561197f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a39190611f4a565b816001815181106119b6576119b6612017565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906119fc90869060009086903090429060040161202d565b600060405180830381600087803b158015611a1657600080fd5b505af1158015611a2a573d6000803e3d6000fd5b5050505060008247611a3c9190612004565b600954909150611a55906001600160a01b031682611a95565b5060408051858152602081018390527f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b910160405180910390a150505050565b600081471015611ae75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161071f565b6000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b34576040519150601f19603f3d011682016040523d82523d6000602084013e611b39565b606091505b509095945050505050565b6001600160a01b038316611ba85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b038216611c0a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b6001600160a01b03831660009081526020819052604090205481811015611c825760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161071f565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611cb9908490611f37565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d0591815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015611d4057858101830151858201604001528201611d24565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110ed57600080fd5b60008060408385031215611d8957600080fd5b8235611d9481611d61565b946020939093013593505050565b600060208284031215611db457600080fd5b5035919050565b80151581146110ed57600080fd5b600060208284031215611ddb57600080fd5b8135611de681611dbb565b9392505050565b600080600060608486031215611e0257600080fd5b8335611e0d81611d61565b92506020840135611e1d81611d61565b929592945050506040919091013590565b600060208284031215611e4057600080fd5b8135611de681611d61565b60008060408385031215611e5e57600080fd5b8235611e6981611d61565b91506020830135611e7981611dbb565b809150509250929050565b60008060408385031215611e9757600080fd5b8235611ea281611d61565b91506020830135611e7981611d61565b600181811c90821680611ec657607f821691505b602082108103611ee657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106ef576106ef611f21565b600060208284031215611f5c57600080fd5b8151611de681611d61565b600080600060608486031215611f7c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611fa757600080fd5b8151611de681611dbb565b600060208284031215611fc457600080fd5b5051919050565b80820281158282048414176106ef576106ef611f21565b600082611fff57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106ef576106ef611f21565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561207d5784516001600160a01b031683529383019391830191600101612058565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212200684e6a8a9411e4a04cd51bd3fe107952b3f1814b79df0e70d07dc1c3b36cec364736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000ea95c2be306afa4c959121bf356190f50ae11635000000000000000000000000000000000000000000422ca8b0a00a4250000000

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063715018a61161010d578063a9059cbb116100a0578063e0f3ccf51161006f578063e0f3ccf5146105b7578063e3b24c80146105cc578063e96fada2146105ec578063f2fde38b1461060c578063f9d0831a1461062c57600080fd5b8063a9059cbb1461051b578063acef1a441461053b578063c024666814610551578063dd62ed3e1461057157600080fd5b80638f3fa860116100dc5780638f3fa860146104b057806395d89b41146104c65780639d0014b1146104db578063a457c2d7146104fb57600080fd5b8063715018a6146104485780637c08b9641461045d5780638a8c523c1461047d5780638da5cb5b1461049257600080fd5b806339509351116101855780636b67c4df116101545780636b67c4df146103c75780636ddd1713146103dd5780636fd8fb7a146103fc57806370a082311461041257600080fd5b8063395093511461032e57806349bd5a5e1461034e5780634ada218b1461036e5780634fbee1931461038e57600080fd5b806318160ddd116101c157806318160ddd146102b3578063239be29a146102d257806323b872dd146102f2578063313ce5671461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630f198ee8146102595780631694505e1461027b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021361064c565b6040516102209190611d13565b60405180910390f35b34801561023557600080fd5b50610249610244366004611d76565b6106de565b6040519015158152602001610220565b34801561026557600080fd5b50610279610274366004611da2565b6106f5565b005b34801561028757600080fd5b5060065461029b906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156102bf57600080fd5b506002545b604051908152602001610220565b3480156102de57600080fd5b506102796102ed366004611dc9565b6107c1565b3480156102fe57600080fd5b5061024961030d366004611ded565b61089e565b34801561031e57600080fd5b5060405160128152602001610220565b34801561033a57600080fd5b50610249610349366004611d76565b61094f565b34801561035a57600080fd5b5060075461029b906001600160a01b031681565b34801561037a57600080fd5b50600b546102499062010000900460ff1681565b34801561039a57600080fd5b506102496103a9366004611e2e565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103d357600080fd5b506102c4600c5481565b3480156103e957600080fd5b50600b5461024990610100900460ff1681565b34801561040857600080fd5b506102c4600a5481565b34801561041e57600080fd5b506102c461042d366004611e2e565b6001600160a01b031660009081526020819052604090205490565b34801561045457600080fd5b5061027961098b565b34801561046957600080fd5b50610279610478366004611e2e565b6109ff565b34801561048957600080fd5b50610279610b0c565b34801561049e57600080fd5b506005546001600160a01b031661029b565b3480156104bc57600080fd5b506102c4600e5481565b3480156104d257600080fd5b50610213610f0d565b3480156104e757600080fd5b506102796104f6366004611da2565b610f1c565b34801561050757600080fd5b50610249610516366004611d76565b610f7b565b34801561052757600080fd5b50610249610536366004611d76565b611014565b34801561054757600080fd5b506102c4600d5481565b34801561055d57600080fd5b5061027961056c366004611e4b565b611021565b34801561057d57600080fd5b506102c461058c366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105c357600080fd5b506102796110aa565b3480156105d857600080fd5b506102796105e7366004611da2565b6110f0565b3480156105f857600080fd5b5060095461029b906001600160a01b031681565b34801561061857600080fd5b50610279610627366004611e2e565b6111b1565b34801561063857600080fd5b50610279610647366004611e2e565b61129c565b60606003805461065b90611eb2565b80601f016020809104026020016040519081016040528092919081815260200182805461068790611eb2565b80156106d45780601f106106a9576101008083540402835291602001916106d4565b820191906000526020600020905b8154815290600101906020018083116106b757829003601f168201915b5050505050905090565b60006106eb338484611441565b5060015b92915050565b6005546001600160a01b031633146107285760405162461bcd60e51b815260040161071f90611eec565b60405180910390fd5b600c5481106107855760405162461bcd60e51b815260206004820152602360248201527f4e657720666565206d757374206265206c6f776572207468616e206f6c64206660448201526265652160e81b606482015260840161071f565b600c8190556040518181527f521fe74e1c24ea5dc1327c29145ebc90bae09bc5a6f6bea118b4ad87793327a5906020015b60405180910390a150565b6005546001600160a01b031633146107eb5760405162461bcd60e51b815260040161071f90611eec565b801515600b60019054906101000a900460ff1615150361084d5760405162461bcd60e51b815260206004820152601b60248201527f43757272656e746c79206174207468652073616d652073746167650000000000604482015260640161071f565b600b805461ff0019166101008315158102919091179182905560405160ff9190920416151581527f0b24deddd077e0149099adf20869b94ebb4b0898a1068e9af5e30529f596e532906020016107b6565b6001600160a01b03831660009081526001602090815260408083203384529091528120546000198114610939578281101561092c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161071f565b6109398533858403611441565b610944858585611565565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106eb918590610986908690611f37565b611441565b6005546001600160a01b031633146109b55760405162461bcd60e51b815260040161071f90611eec565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610a295760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b03811615801590610a4c57506001600160a01b03811661dead14155b610abe5760405162461bcd60e51b815260206004820152603960248201527f4d61726b6574696e67204665652072656365697665722063616e6e6f7420626560448201527f20746865207a65726f206f722064656164206164647265737300000000000000606482015260840161071f565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527fce24358e1d81b90be8bb8786b891404133aa63ffde0e56b69ccf25a5e3c4df06906020016107b6565b6005546001600160a01b03163314610b365760405162461bcd60e51b815260040161071f90611eec565b600b5462010000900460ff1615610b8f5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c6564210000000000000000604482015260640161071f565b600654610ba99030906001600160a01b0316600019611441565b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c209190611f4a565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca69190611f4a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d179190611f4a565b600780546001600160a01b039283166001600160a01b03199091161790556006541663f305d7194730610d5f816001600160a01b031660009081526020819052604090205490565b600080610d746005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ddc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e019190611f67565b505060075460065460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7e9190611f95565b50600b80546201010062ffff001990911617815542600a9081556007546001600160a01b031660009081526008602052604090819020805460ff191660011790559154905491517f3eb2d65e1de77434db1b2cb0645de0085059e6e514d7b9641fdc2978d8e40c4092610f039262010000900460ff1615158252602082015260400190565b60405180910390a1565b60606004805461065b90611eb2565b6005546001600160a01b03163314610f465760405162461bcd60e51b815260040161071f90611eec565b600d8190556040518181527fb090ae518da13bb076e9fad6694791d1d427db3284f7ac7321fbeafac08c7b27906020016107b6565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ffd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161071f565b61100a3385858403611441565b5060019392505050565b60006106eb338484611565565b6005546001600160a01b0316331461104b5760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146110d45760405162461bcd60e51b815260040161071f90611eec565b306000908152602081905260409020546110ed816118ed565b50565b6005546001600160a01b0316331461111a5760405162461bcd60e51b815260040161071f90611eec565b600e54811161117c5760405162461bcd60e51b815260206004820152602860248201527f4e6577206c696d6974206d75737420626520686967686572207468616e206f6c60448201526764206c696d69742160c01b606482015260840161071f565b600e8190556040518181527f69626ae9392dcbdfaecc4d3af4d6c00e0bb3888f512459d89551c2762e406c41906020016107b6565b6005546001600160a01b031633146111db5760405162461bcd60e51b815260040161071f90611eec565b6001600160a01b0381166112405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146112c65760405162461bcd60e51b815260040161071f90611eec565b306001600160a01b038216036113445760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e73000000000000000000606482015260840161071f565b6001600160a01b0381166113605761135c3347611a95565b5050565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d29190611fb2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561141d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135c9190611f95565b6001600160a01b0383166114a35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b0382166115045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115bb5760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f20616464726573730000604482015260640161071f565b6001600160a01b0382166116115760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f206164647265737300000000604482015260640161071f565b600b5462010000900460ff168061164057506001600160a01b03831660009081526008602052604090205460ff165b8061166357506001600160a01b03821660009081526008602052604090205460ff165b6116af5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c6564210000000000000000604482015260640161071f565b806000036116c8576116c383836000611b44565b505050565b30600090815260208181526040808320546001600160a01b0387168452600890925282205490919060ff16801561171757506001600160a01b03841660009081526008602052604090205460ff165b80156117255750600b5460ff165b1561173257506000611781565b6007546001600160a01b038681169116148061175b57506007546001600160a01b038581169116145b801561176f5750600b5462010000900460ff165b1561177d5750600c54611781565b5060005b80156117ba57600060646117958386611fcb565b61179f9190611fe2565b90506117ab8185612004565b93506117b8863083611b44565b505b6007546001600160a01b039081169085160361182057600d54821180156117e45750600b5460ff16155b80156117f75750600b54610100900460ff165b1561182057600b805460ff19166001179055600d54611815906118ed565b600b805460ff191690555b600b5462010000900460ff16801561185157506001600160a01b03841660009081526008602052604090205460ff16155b80156118605750600b5460ff16155b156118db576001600160a01b038416600090815260208190526040902054600e5461188b8583611f37565b11156118d95760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d2077616c6c65742073697a6520657863656564656421000000604482015260640161071f565b505b6118e6858585611b44565b5050505050565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061192657611926612017565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561197f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a39190611f4a565b816001815181106119b6576119b6612017565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906119fc90869060009086903090429060040161202d565b600060405180830381600087803b158015611a1657600080fd5b505af1158015611a2a573d6000803e3d6000fd5b5050505060008247611a3c9190612004565b600954909150611a55906001600160a01b031682611a95565b5060408051858152602081018390527f54c5e193a68e36b996e0c85b164c5953625d951c488fbad0e67aa32e1c45307b910160405180910390a150505050565b600081471015611ae75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161071f565b6000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b34576040519150601f19603f3d011682016040523d82523d6000602084013e611b39565b606091505b509095945050505050565b6001600160a01b038316611ba85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b038216611c0a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b6001600160a01b03831660009081526020819052604090205481811015611c825760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161071f565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611cb9908490611f37565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d0591815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015611d4057858101830151858201604001528201611d24565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110ed57600080fd5b60008060408385031215611d8957600080fd5b8235611d9481611d61565b946020939093013593505050565b600060208284031215611db457600080fd5b5035919050565b80151581146110ed57600080fd5b600060208284031215611ddb57600080fd5b8135611de681611dbb565b9392505050565b600080600060608486031215611e0257600080fd5b8335611e0d81611d61565b92506020840135611e1d81611d61565b929592945050506040919091013590565b600060208284031215611e4057600080fd5b8135611de681611d61565b60008060408385031215611e5e57600080fd5b8235611e6981611d61565b91506020830135611e7981611dbb565b809150509250929050565b60008060408385031215611e9757600080fd5b8235611ea281611d61565b91506020830135611e7981611d61565b600181811c90821680611ec657607f821691505b602082108103611ee657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106ef576106ef611f21565b600060208284031215611f5c57600080fd5b8151611de681611d61565b600080600060608486031215611f7c57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611fa757600080fd5b8151611de681611dbb565b600060208284031215611fc457600080fd5b5051919050565b80820281158282048414176106ef576106ef611f21565b600082611fff57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106ef576106ef611f21565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561207d5784516001600160a01b031683529383019391830191600101612058565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212200684e6a8a9411e4a04cd51bd3fe107952b3f1814b79df0e70d07dc1c3b36cec364736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000ea95c2be306afa4c959121bf356190f50ae11635000000000000000000000000000000000000000000422ca8b0a00a4250000000

-----Decoded View---------------
Arg [0] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _feeReceiver (address): 0xeA95C2bE306AFA4C959121bf356190f50AE11635
Arg [2] : _initalLiquidity (uint256): 80000000000000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000ea95c2be306afa4c959121bf356190f50ae11635
Arg [2] : 000000000000000000000000000000000000000000422ca8b0a00a4250000000


Deployed Bytecode Sourcemap

14036:7399:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10053:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10967:169;;;;;;;;;;-1:-1:-1;10967:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10967:169:0;1023:187:1;20796:211:0;;;;;;;;;;-1:-1:-1;20796:211:0;;;;;:::i;:::-;;:::i;:::-;;14121:41;;;;;;;;;;-1:-1:-1;14121:41:0;;;;-1:-1:-1;;;;;14121:41:0;;;;;;-1:-1:-1;;;;;1589:32:1;;;1571:51;;1559:2;1544:18;14121:41:0;1400:228:1;10374:108:0;;;;;;;;;;-1:-1:-1;10462:12:0;;10374:108;;;1779:25:1;;;1767:2;1752:18;10374:108:0;1633:177:1;19734:228:0;;;;;;;;;;-1:-1:-1;19734:228:0;;;;;:::i;:::-;;:::i;11144:539::-;;;;;;;;;;-1:-1:-1;11144:539:0;;;;;:::i;:::-;;:::i;10273:93::-;;;;;;;;;;-1:-1:-1;10273:93:0;;10356:2;2787:36:1;;2775:2;2760:18;10273:93:0;2645:184:1;11691:215:0;;;;;;;;;;-1:-1:-1;11691:215:0;;;;;:::i;:::-;;:::i;14169:28::-;;;;;;;;;;-1:-1:-1;14169:28:0;;;;-1:-1:-1;;;;;14169:28:0;;;14417:26;;;;;;;;;;-1:-1:-1;14417:26:0;;;;;;;;;;;16590:126;;;;;;;;;;-1:-1:-1;16590:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;16680:28:0;16656:4;16680:28;;;:19;:28;;;;;;;;;16590:126;14452:27;;;;;;;;;;;;;;;;14387:23;;;;;;;;;;-1:-1:-1;14387:23:0;;;;;;;;;;;14309:33;;;;;;;;;;;;;;;;10490:127;;;;;;;;;;-1:-1:-1;10490:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;10591:18:0;10564:7;10591:18;;;;;;;;;;;;10490:127;9242:148;;;;;;;;;;;;;:::i;16724:415::-;;;;;;;;;;-1:-1:-1;16724:415:0;;;;;:::i;:::-;;:::i;17225:867::-;;;;;;;;;;;;;:::i;9028:79::-;;;;;;;;;;-1:-1:-1;9093:6:0;;-1:-1:-1;;;;;9093:6:0;9028:79;;14524:28;;;;;;;;;;;;;;;;10161:104;;;;;;;;;;;;;:::i;21261:171::-;;;;;;;;;;-1:-1:-1;21261:171:0;;;;;:::i;:::-;;:::i;11914:413::-;;;;;;;;;;-1:-1:-1;11914:413:0;;;;;:::i;:::-;;:::i;10625:175::-;;;;;;;;;;-1:-1:-1;10625:175:0;;;;;:::i;:::-;;:::i;14486:31::-;;;;;;;;;;;;;;;;16398:184;;;;;;;;;;-1:-1:-1;16398:184:0;;;;;:::i;:::-;;:::i;10808:151::-;;;;;;;;;;-1:-1:-1;10808:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;10924:18:0;;;10897:7;10924:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10808:151;20633:155;;;;;;;;;;;;;:::i;21015:238::-;;;;;;;;;;-1:-1:-1;21015:238:0;;;;;:::i;:::-;;:::i;14267:35::-;;;;;;;;;;-1:-1:-1;14267:35:0;;;;-1:-1:-1;;;;;14267:35:0;;;9398:244;;;;;;;;;;-1:-1:-1;9398:244:0;;;;;:::i;:::-;;:::i;15997:393::-;;;;;;;;;;-1:-1:-1;15997:393:0;;;;;:::i;:::-;;:::i;10053:100::-;10107:13;10140:5;10133:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10053:100;:::o;10967:169::-;11050:4;11067:39;8675:10;11090:7;11099:6;11067:8;:39::i;:::-;-1:-1:-1;11124:4:0;10967:169;;;;;:::o;20796:211::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;;;;;;;;;20878:12:::1;;20868:7;:22;20860:70;;;::::0;-1:-1:-1;;;20860:70:0;;5022:2:1;20860:70:0::1;::::0;::::1;5004:21:1::0;5061:2;5041:18;;;5034:30;5100:34;5080:18;;;5073:62;-1:-1:-1;;;5151:18:1;;;5144:33;5194:19;;20860:70:0::1;4820:399:1::0;20860:70:0::1;20941:12;:22:::0;;;20979:20:::1;::::0;1779:25:1;;;20979:20:0::1;::::0;1767:2:1;1752:18;20979:20:0::1;;;;;;;;20796:211:::0;:::o;19734:228::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;19830:12:::1;19815:27;;:11;;;;;;;;;;;:27;;::::0;19807:67:::1;;;::::0;-1:-1:-1;;;19807:67:0;;5426:2:1;19807:67:0::1;::::0;::::1;5408:21:1::0;5465:2;5445:18;;;5438:30;5504:29;5484:18;;;5477:57;5551:18;;19807:67:0::1;5224:351:1::0;19807:67:0::1;19885:11;:26:::0;;-1:-1:-1;;19885:26:0::1;;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;19927:27:::1;::::0;19885:26:::1;19942:11:::0;;;::::1;;1188:14:1::0;1181:22;1163:41;;19927:27:0::1;::::0;1151:2:1;1136:18;19927:27:0::1;1023:187:1::0;11144:539:0;-1:-1:-1;;;;;11294:19:0;;11250:4;11294:19;;;:11;:19;;;;;;;;8675:10;11294:33;;;;;;;;-1:-1:-1;;11342:37:0;;11338:265;;11424:6;11404:16;:26;;11396:79;;;;-1:-1:-1;;;11396:79:0;;5782:2:1;11396:79:0;;;5764:21:1;5821:2;5801:18;;;5794:30;5860:34;5840:18;;;5833:62;-1:-1:-1;;;5911:18:1;;;5904:38;5959:19;;11396:79:0;5580:404:1;11396:79:0;11519:57;11528:6;8675:10;11569:6;11550:16;:25;11519:8;:57::i;:::-;11615:36;11625:6;11633:9;11644:6;11615:9;:36::i;:::-;-1:-1:-1;11671:4:0;;11144:539;-1:-1:-1;;;;11144:539:0:o;11691:215::-;8675:10;11779:4;11828:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11828:34:0;;;;;;;;;;11779:4;;11796:80;;11819:7;;11828:47;;11865:10;;11828:47;:::i;:::-;11796:8;:80::i;9242:148::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;9333:6:::1;::::0;9312:40:::1;::::0;9349:1:::1;::::0;-1:-1:-1;;;;;9333:6:0::1;::::0;9312:40:::1;::::0;9349:1;;9312:40:::1;9363:6;:19:::0;;-1:-1:-1;;;;;;9363:19:0::1;::::0;;9242:148::o;16724:415::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16834:35:0;::::1;::::0;;::::1;::::0;:92:::1;;-1:-1:-1::0;;;;;;16886:40:0;::::1;16919:6;16886:40;;16834:92;16812:199;;;::::0;-1:-1:-1;;;16812:199:0;;6453:2:1;16812:199:0::1;::::0;::::1;6435:21:1::0;6492:2;6472:18;;;6465:30;6531:34;6511:18;;;6504:62;6602:27;6582:18;;;6575:55;6647:19;;16812:199:0::1;6251:421:1::0;16812:199:0::1;17022:20;:44:::0;;-1:-1:-1;;;;;;17022:44:0::1;-1:-1:-1::0;;;;;17022:44:0;::::1;::::0;;::::1;::::0;;;17082:49:::1;::::0;1571:51:1;;;17082:49:0::1;::::0;1559:2:1;1544:18;17082:49:0::1;1400:228:1::0;17225:867:0;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;17288:14:::1;::::0;;;::::1;;;:23;17280:60;;;::::0;-1:-1:-1;;;17280:60:0;;6879:2:1;17280:60:0::1;::::0;::::1;6861:21:1::0;6918:2;6898:18;;;6891:30;6957:26;6937:18;;;6930:54;7001:18;;17280:60:0::1;6677:348:1::0;17280:60:0::1;17383:15;::::0;17351:68:::1;::::0;17368:4:::1;::::0;-1:-1:-1;;;;;17383:15:0::1;-1:-1:-1::0;;17351:8:0::1;:68::i;:::-;17464:15;;;;;;;;;-1:-1:-1::0;;;;;17464:15:0::1;-1:-1:-1::0;;;;;17464:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17446:55:0::1;;17510:4;17517:15;;;;;;;;;-1:-1:-1::0;;;;;17517:15:0::1;-1:-1:-1::0;;;;;17517:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17446:94;::::0;-1:-1:-1;;;;;;17446:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7516:15:1;;;17446:94:0::1;::::0;::::1;7498:34:1::0;7568:15;;7548:18;;;7541:43;7433:18;;17446:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17430:13;:110:::0;;-1:-1:-1;;;;;17430:110:0;;::::1;-1:-1:-1::0;;;;;;17430:110:0;;::::1;;::::0;;17551:15:::1;::::0;::::1;:31;17590:21;17635:4;17655:24;17635:4:::0;-1:-1:-1;;;;;10591:18:0;10564:7;10591:18;;;;;;;;;;;;10490:127;17655:24:::1;17694:1;17710::::0;17726:7:::1;9093:6:::0;;-1:-1:-1;;;;;9093:6:0;;9028:79;17726:7:::1;17551:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17551:223:0;;;-1:-1:-1;;;;;7954:15:1;;;17551:223:0::1;::::0;::::1;7936:34:1::0;7986:18;;;7979:34;;;;8029:18;;;8022:34;;;;8072:18;;;8065:34;8136:15;;;8115:19;;;8108:44;17748:15:0::1;8168:19:1::0;;;8161:35;7870:19;;17551:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17792:13:0::1;::::0;17823:15:::1;::::0;17785:71:::1;::::0;-1:-1:-1;;;17785:71:0;;-1:-1:-1;;;;;17823:15:0;;::::1;17785:71;::::0;::::1;8692:51:1::0;-1:-1:-1;;8759:18:1;;;8752:34;17792:13:0;::::1;::::0;-1:-1:-1;17785:29:0::1;::::0;8665:18:1;;17785:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;17867:14:0::1;:21:::0;;17899:18;-1:-1:-1;;17899:18:0;;;;;;17949:15:::1;17928:18;:36:::0;;;17995:13:::1;::::0;-1:-1:-1;;;;;17995:13:0::1;17867:21:::0;17975:34;;;:19:::1;:34;::::0;;;;;;:41;;-1:-1:-1;;17975:41:0::1;17884:4;17975:41;::::0;;18049:14;;18065:18;;18034:50;;::::1;::::0;::::1;::::0;17867:21;18049:14;::::1;17867:21;18049:14;9240::1::0;9233:22;9215:41;;9287:2;9272:18;;9265:34;9203:2;9188:18;;9047:258;18034:50:0::1;;;;;;;;17225:867::o:0;10161:104::-;10217:13;10250:7;10243:14;;;;;:::i;21261:171::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;21338:16:::1;:32:::0;;;21386:38:::1;::::0;1779:25:1;;;21386:38:0::1;::::0;1767:2:1;1752:18;21386:38:0::1;1633:177:1::0;11914:413:0;8675:10;12007:4;12051:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12051:34:0;;;;;;;;;;12104:35;;;;12096:85;;;;-1:-1:-1;;;12096:85:0;;9512:2:1;12096:85:0;;;9494:21:1;9551:2;9531:18;;;9524:30;9590:34;9570:18;;;9563:62;-1:-1:-1;;;9641:18:1;;;9634:35;9686:19;;12096:85:0;9310:401:1;12096:85:0;12217:67;8675:10;12240:7;12268:15;12249:16;:34;12217:8;:67::i;:::-;-1:-1:-1;12315:4:0;;11914:413;-1:-1:-1;;;11914:413:0:o;10625:175::-;10711:4;10728:42;8675:10;10752:9;10763:6;10728:9;:42::i;16398:184::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16485:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;16485:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16540:34;;1163:41:1;;;16540:34:0::1;::::0;1136:18:1;16540:34:0::1;;;;;;;16398:184:::0;;:::o;20633:155::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;20725:4:::1;20681:23;10591:18:::0;;;;;;;;;;;20742:38:::1;10591:18:::0;20742:21:::1;:38::i;:::-;20670:118;20633:155::o:0;21015:238::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;21105:13:::1;;21093:9;:25;21085:78;;;::::0;-1:-1:-1;;;21085:78:0;;9918:2:1;21085:78:0::1;::::0;::::1;9900:21:1::0;9957:2;9937:18;;;9930:30;9996:34;9976:18;;;9969:62;-1:-1:-1;;;10047:18:1;;;10040:38;10095:19;;21085:78:0::1;9716:404:1::0;21085:78:0::1;21174:13;:25:::0;;;21215:30:::1;::::0;1779:25:1;;;21215:30:0::1;::::0;1767:2:1;1752:18;21215:30:0::1;1633:177:1::0;9398:244:0;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9487:22:0;::::1;9479:73;;;::::0;-1:-1:-1;;;9479:73:0;;10327:2:1;9479:73:0::1;::::0;::::1;10309:21:1::0;10366:2;10346:18;;;10339:30;10405:34;10385:18;;;10378:62;-1:-1:-1;;;10456:18:1;;;10449:36;10502:19;;9479:73:0::1;10125:402:1::0;9479:73:0::1;9589:6;::::0;9568:38:::1;::::0;-1:-1:-1;;;;;9568:38:0;;::::1;::::0;9589:6:::1;::::0;9568:38:::1;::::0;9589:6:::1;::::0;9568:38:::1;9617:6;:17:::0;;-1:-1:-1;;;;;;9617:17:0::1;-1:-1:-1::0;;;;;9617:17:0;;;::::1;::::0;;;::::1;::::0;;9398:244::o;15997:393::-;9155:6;;-1:-1:-1;;;;;9155:6:0;8675:10;9155:22;9147:67;;;;-1:-1:-1;;;9147:67:0;;;;;;;:::i;:::-;16093:4:::1;-1:-1:-1::0;;;;;16076:22:0;::::1;::::0;16068:90:::1;;;::::0;-1:-1:-1;;;16068:90:0;;10734:2:1;16068:90:0::1;::::0;::::1;10716:21:1::0;10773:2;10753:18;;;10746:30;10812:34;10792:18;;;10785:62;10883:25;10863:18;;;10856:53;10926:19;;16068:90:0::1;10532:419:1::0;16068:90:0::1;-1:-1:-1::0;;;;;16173:21:0;::::1;16169:127;;16211:52;16219:10;16241:21;16211:29;:52::i;:::-;;20670:118;20633:155::o:0;16169:127::-:1;16343:38;::::0;-1:-1:-1;;;16343:38:0;;16375:4:::1;16343:38;::::0;::::1;1571:51:1::0;-1:-1:-1;;;;;16308:22:0;::::1;::::0;::::1;::::0;16331:10:::1;::::0;16308:22;;16343:23:::1;::::0;1544:18:1;;16343:38:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16308:74;::::0;-1:-1:-1;;;;;;16308:74:0::1;::::0;;;;;;-1:-1:-1;;;;;8710:32:1;;;16308:74:0::1;::::0;::::1;8692:51:1::0;8759:18;;;8752:34;8665:18;;16308:74:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13683:346::-:0;-1:-1:-1;;;;;13785:19:0;;13777:68;;;;-1:-1:-1;;;13777:68:0;;11347:2:1;13777:68:0;;;11329:21:1;11386:2;11366:18;;;11359:30;11425:34;11405:18;;;11398:62;-1:-1:-1;;;11476:18:1;;;11469:34;11520:19;;13777:68:0;11145:400:1;13777:68:0;-1:-1:-1;;;;;13864:21:0;;13856:68;;;;-1:-1:-1;;;13856:68:0;;11752:2:1;13856:68:0;;;11734:21:1;11791:2;11771:18;;;11764:30;11830:34;11810:18;;;11803:62;-1:-1:-1;;;11881:18:1;;;11874:32;11923:19;;13856:68:0;11550:398:1;13856:68:0;-1:-1:-1;;;;;13937:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13989:32;;1779:25:1;;;13989:32:0;;1752:18:1;13989:32:0;;;;;;;13683:346;;;:::o;18100:1626::-;-1:-1:-1;;;;;18198:18:0;;18190:61;;;;-1:-1:-1;;;18190:61:0;;12155:2:1;18190:61:0;;;12137:21:1;12194:2;12174:18;;;12167:30;12233:32;12213:18;;;12206:60;12283:18;;18190:61:0;11953:354:1;18190:61:0;-1:-1:-1;;;;;18270:16:0;;18262:57;;;;-1:-1:-1;;;18262:57:0;;12514:2:1;18262:57:0;;;12496:21:1;12553:2;12533:18;;;12526:30;12592;12572:18;;;12565:58;12640:18;;18262:57:0;12312:352:1;18262:57:0;18338:14;;;;;;;;:43;;-1:-1:-1;;;;;;18356:25:0;;;;;;:19;:25;;;;;;;;18338:43;:70;;;-1:-1:-1;;;;;;18385:23:0;;;;;;:19;:23;;;;;;;;18338:70;18330:107;;;;-1:-1:-1;;;18330:107:0;;12871:2:1;18330:107:0;;;12853:21:1;12910:2;12890:18;;;12883:30;12949:26;12929:18;;;12922:54;12993:18;;18330:107:0;12669:348:1;18330:107:0;18452:6;18462:1;18452:11;18448:93;;18480:28;18496:4;18502:2;18506:1;18480:15;:28::i;:::-;18100:1626;;;:::o;18448:93::-;18602:4;18553:28;10591:18;;;;;;;;;;;;-1:-1:-1;;;;;18654:25:0;;;;:19;:25;;;;;;10591:18;;18553:28;18654:25;;:52;;;;-1:-1:-1;;;;;;18683:23:0;;;;;;:19;:23;;;;;;;;18654:52;:72;;;;-1:-1:-1;18710:16:0;;;;18654:72;18650:294;;;-1:-1:-1;18756:1:0;18650:294;;;18788:13;;-1:-1:-1;;;;;18780:21:0;;;18788:13;;18780:21;;:44;;-1:-1:-1;18811:13:0;;-1:-1:-1;;;;;18805:19:0;;;18811:13;;18805:19;18780:44;18779:64;;;;-1:-1:-1;18829:14:0;;;;;;;18779:64;18775:169;;;-1:-1:-1;18873:12:0;;18775:169;;;-1:-1:-1;18931:1:0;18775:169;18960:14;;18956:175;;18991:12;19030:3;19007:19;19016:10;19007:6;:19;:::i;:::-;19006:27;;;;:::i;:::-;18991:42;-1:-1:-1;19048:14:0;18991:42;19048:14;;:::i;:::-;;;19077:42;19093:4;19107;19114;19077:15;:42::i;:::-;18976:155;18956:175;19153:13;;-1:-1:-1;;;;;19153:13:0;;;19147:19;;;;19143:291;;19210:16;;19187:20;:39;:60;;;;-1:-1:-1;19231:16:0;;;;19230:17;19187:60;:75;;;;-1:-1:-1;19251:11:0;;;;;;;19187:75;19183:240;;;19283:16;:23;;-1:-1:-1;;19283:23:0;19302:4;19283:23;;;19347:16;;19325:39;;:21;:39::i;:::-;19383:16;:24;;-1:-1:-1;;19383:24:0;;;19183:240;19450:14;;;;;;;:42;;;;-1:-1:-1;;;;;;19469:23:0;;;;;;:19;:23;;;;;;;;19468:24;19450:42;:63;;;;-1:-1:-1;19497:16:0;;;;19496:17;19450:63;19446:227;;;-1:-1:-1;;;;;10591:18:0;;19530:20;10591:18;;;;;;;;;;;19614:13;;19589:21;19604:6;10591:18;19589:21;:::i;:::-;:38;;19581:80;;;;-1:-1:-1;;;19581:80:0;;13752:2:1;19581:80:0;;;13734:21:1;13791:2;13771:18;;;13764:30;13830:31;13810:18;;;13803:59;13879:18;;19581:80:0;13550:353:1;19581:80:0;19515:158;19446:227;19685:33;19701:4;19707:2;19711:6;19685:15;:33::i;:::-;18179:1547;;18100:1626;;;:::o;19970:655::-;20124:16;;;20138:1;20124:16;;;;;;;;20066:21;;20041:22;;20124:16;20138:1;20124:16;;;;;;;;;;-1:-1:-1;20124:16:0;20100:40;;20169:4;20151;20156:1;20151:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20151:23:0;;;:7;;;;;;;;;;:23;;;;20195:15;;:22;;;-1:-1:-1;;;20195:22:0;;;;:15;;;;;:20;;:22;;;;;20151:7;;20195:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20185:4;20190:1;20185:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20185:32:0;;;:7;;;;;;;;;:32;20230:15;;:196;;-1:-1:-1;;;20230:196:0;;:15;;;:66;;:196;;20311:11;;20230:15;;20353:4;;20380;;20400:15;;20230:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20439:18;20484:14;20460:21;:38;;;;:::i;:::-;20517:20;;20439:59;;-1:-1:-1;20509:51:0;;-1:-1:-1;;;;;20517:20:0;20439:59;20509:39;:51::i;:::-;-1:-1:-1;20578:39:0;;;15331:25:1;;;15387:2;15372:18;;15365:34;;;20578:39:0;;15304:18:1;20578:39:0;;;;;;;20030:595;;;19970:655;:::o;8268:287::-;8348:4;8398:6;8373:21;:31;;8365:73;;;;-1:-1:-1;;;8365:73:0;;15612:2:1;8365:73:0;;;15594:21:1;15651:2;15631:18;;;15624:30;15690:31;15670:18;;;15663:59;15739:18;;8365:73:0;15410:353:1;8365:73:0;8452:12;8470:9;-1:-1:-1;;;;;8470:14:0;8492:6;8470:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8451:52:0;;8268:287;-1:-1:-1;;;;;8268:287:0:o;12335:580::-;-1:-1:-1;;;;;12441:20:0;;12433:70;;;;-1:-1:-1;;;12433:70:0;;16180:2:1;12433:70:0;;;16162:21:1;16219:2;16199:18;;;16192:30;16258:34;16238:18;;;16231:62;-1:-1:-1;;;16309:18:1;;;16302:35;16354:19;;12433:70:0;15978:401:1;12433:70:0;-1:-1:-1;;;;;12522:23:0;;12514:71;;;;-1:-1:-1;;;12514:71:0;;16586:2:1;12514:71:0;;;16568:21:1;16625:2;16605:18;;;16598:30;16664:34;16644:18;;;16637:62;-1:-1:-1;;;16715:18:1;;;16708:33;16758:19;;12514:71:0;16384:399:1;12514:71:0;-1:-1:-1;;;;;12622:17:0;;12598:21;12622:17;;;;;;;;;;;12658:23;;;;12650:74;;;;-1:-1:-1;;;12650:74:0;;16990:2:1;12650:74:0;;;16972:21:1;17029:2;17009:18;;;17002:30;17068:34;17048:18;;;17041:62;-1:-1:-1;;;17119:18:1;;;17112:36;17165:19;;12650:74:0;16788:402:1;12650:74:0;-1:-1:-1;;;;;12760:17:0;;;:9;:17;;;;;;;;;;;12780:22;;;12760:42;;12824:20;;;;;;;;:30;;12796:6;;12760:9;12824:30;;12796:6;;12824:30;:::i;:::-;;;;;;;;12889:9;-1:-1:-1;;;;;12872:35:0;12881:6;-1:-1:-1;;;;;12872:35:0;;12900:6;12872:35;;;;1779:25:1;;1767:2;1752:18;;1633:177;12872:35:0;;;;;;;;12422:493;12335:580;;;:::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;1215:180::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;-1:-1:-1;1366:23:1;;1215:180;-1:-1:-1;1215:180:1:o;1815:118::-;1901:5;1894:13;1887:21;1880:5;1877:32;1867:60;;1923:1;1920;1913:12;1938:241;1994:6;2047:2;2035:9;2026:7;2022:23;2018:32;2015:52;;;2063:1;2060;2053:12;2015:52;2102:9;2089:23;2121:28;2143:5;2121:28;:::i;:::-;2168:5;1938:241;-1:-1:-1;;;1938:241:1:o;2184:456::-;2261:6;2269;2277;2330:2;2318:9;2309:7;2305:23;2301:32;2298:52;;;2346:1;2343;2336:12;2298:52;2385:9;2372:23;2404:31;2429:5;2404:31;:::i;:::-;2454:5;-1:-1:-1;2511:2:1;2496:18;;2483:32;2524:33;2483:32;2524:33;:::i;:::-;2184:456;;2576:7;;-1:-1:-1;;;2630:2:1;2615:18;;;;2602:32;;2184:456::o;3042:247::-;3101:6;3154:2;3142:9;3133:7;3129:23;3125:32;3122:52;;;3170:1;3167;3160:12;3122:52;3209:9;3196:23;3228:31;3253:5;3228:31;:::i;3294:382::-;3359:6;3367;3420:2;3408:9;3399:7;3395:23;3391:32;3388:52;;;3436:1;3433;3426:12;3388:52;3475:9;3462:23;3494:31;3519:5;3494:31;:::i;:::-;3544:5;-1:-1:-1;3601:2:1;3586:18;;3573:32;3614:30;3573:32;3614:30;:::i;:::-;3663:7;3653:17;;;3294:382;;;;;:::o;3681:388::-;3749:6;3757;3810:2;3798:9;3789:7;3785:23;3781:32;3778:52;;;3826:1;3823;3816:12;3778:52;3865:9;3852:23;3884:31;3909:5;3884:31;:::i;:::-;3934:5;-1:-1:-1;3991:2:1;3976:18;;3963:32;4004:33;3963:32;4004:33;:::i;4074:380::-;4153:1;4149:12;;;;4196;;;4217:61;;4271:4;4263:6;4259:17;4249:27;;4217:61;4324:2;4316:6;4313:14;4293:18;4290:38;4287:161;;4370:10;4365:3;4361:20;4358:1;4351:31;4405:4;4402:1;4395:15;4433:4;4430:1;4423:15;4287:161;;4074:380;;;:::o;4459:356::-;4661:2;4643:21;;;4680:18;;;4673:30;4739:34;4734:2;4719:18;;4712:62;4806:2;4791:18;;4459:356::o;5989:127::-;6050:10;6045:3;6041:20;6038:1;6031:31;6081:4;6078:1;6071:15;6105:4;6102:1;6095:15;6121:125;6186:9;;;6207:10;;;6204:36;;;6220:18;;:::i;7030:251::-;7100:6;7153:2;7141:9;7132:7;7128:23;7124:32;7121:52;;;7169:1;7166;7159:12;7121:52;7201:9;7195:16;7220:31;7245:5;7220:31;:::i;8207:306::-;8295:6;8303;8311;8364:2;8352:9;8343:7;8339:23;8335:32;8332:52;;;8380:1;8377;8370:12;8332:52;8409:9;8403:16;8393:26;;8459:2;8448:9;8444:18;8438:25;8428:35;;8503:2;8492:9;8488:18;8482:25;8472:35;;8207:306;;;;;:::o;8797:245::-;8864:6;8917:2;8905:9;8896:7;8892:23;8888:32;8885:52;;;8933:1;8930;8923:12;8885:52;8965:9;8959:16;8984:28;9006:5;8984:28;:::i;10956:184::-;11026:6;11079:2;11067:9;11058:7;11054:23;11050:32;11047:52;;;11095:1;11092;11085:12;11047:52;-1:-1:-1;11118:16:1;;10956:184;-1:-1:-1;10956:184:1:o;13022:168::-;13095:9;;;13126;;13143:15;;;13137:22;;13123:37;13113:71;;13164:18;;:::i;13195:217::-;13235:1;13261;13251:132;;13305:10;13300:3;13296:20;13293:1;13286:31;13340:4;13337:1;13330:15;13368:4;13365:1;13358:15;13251:132;-1:-1:-1;13397:9:1;;13195:217::o;13417:128::-;13484:9;;;13505:11;;;13502:37;;;13519:18;;:::i;14040:127::-;14101:10;14096:3;14092:20;14089:1;14082:31;14132:4;14129:1;14122:15;14156:4;14153:1;14146:15;14172:980;14434:4;14482:3;14471:9;14467:19;14513:6;14502:9;14495:25;14539:2;14577:6;14572:2;14561:9;14557:18;14550:34;14620:3;14615:2;14604:9;14600:18;14593:31;14644:6;14679;14673:13;14710:6;14702;14695:22;14748:3;14737:9;14733:19;14726:26;;14787:2;14779:6;14775:15;14761:29;;14808:1;14818:195;14832:6;14829:1;14826:13;14818:195;;;14897:13;;-1:-1:-1;;;;;14893:39:1;14881:52;;14988:15;;;;14953:12;;;;14929:1;14847:9;14818:195;;;-1:-1:-1;;;;;;;15069:32:1;;;;15064:2;15049:18;;15042:60;-1:-1:-1;;;15133:3:1;15118:19;15111:35;15030:3;14172:980;-1:-1:-1;;;14172:980:1:o

Swarm Source

ipfs://0684e6a8a9411e4a04cd51bd3fe107952b3f1814b79df0e70d07dc1c3b36cec3

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.