ETH Price: $3,637.51 (-0.34%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve192917372024-02-23 17:19:47318 days ago1708708787IN
0xCB8549bE...7BbB9f949
0 ETH0.0019462841.81964643
Approve192916882024-02-23 17:09:59318 days ago1708708199IN
0xCB8549bE...7BbB9f949
0 ETH0.0020367543.95628252
Approve192916802024-02-23 17:08:23318 days ago1708708103IN
0xCB8549bE...7BbB9f949
0 ETH0.0022693648.76157432
Approve192916732024-02-23 17:06:59318 days ago1708708019IN
0xCB8549bE...7BbB9f949
0 ETH0.0020375843.72494344
Approve192916722024-02-23 17:06:47318 days ago1708708007IN
0xCB8549bE...7BbB9f949
0 ETH0.0011556747.52753277
Approve192916502024-02-23 17:02:23318 days ago1708707743IN
0xCB8549bE...7BbB9f949
0 ETH0.0021035245.40906084
Approve192916362024-02-23 16:59:35318 days ago1708707575IN
0xCB8549bE...7BbB9f949
0 ETH0.0020575944.15436201
Approve192916312024-02-23 16:58:35318 days ago1708707515IN
0xCB8549bE...7BbB9f949
0 ETH0.0019885242.92652439
Transfer192916232024-02-23 16:56:59318 days ago1708707419IN
0xCB8549bE...7BbB9f949
0 ETH0.0018777240.53469724
Approve192916012024-02-23 16:52:35318 days ago1708707155IN
0xCB8549bE...7BbB9f949
0 ETH0.0019978242.92712701
Transfer192916002024-02-23 16:52:23318 days ago1708707143IN
0xCB8549bE...7BbB9f949
0 ETH0.0020936945.19668193
Approve192915992024-02-23 16:52:11318 days ago1708707131IN
0xCB8549bE...7BbB9f949
0 ETH0.0022501848.28717986
Transfer192915952024-02-23 16:51:23318 days ago1708707083IN
0xCB8549bE...7BbB9f949
0 ETH0.0020941245.20602343
Approve192915932024-02-23 16:50:59318 days ago1708707059IN
0xCB8549bE...7BbB9f949
0 ETH0.0020462244.17202069
Approve192915932024-02-23 16:50:59318 days ago1708707059IN
0xCB8549bE...7BbB9f949
0 ETH0.0021516146.17202069
Transfer192915842024-02-23 16:49:11318 days ago1708706951IN
0xCB8549bE...7BbB9f949
0 ETH0.0020087443.36292745
Approve192915842024-02-23 16:49:11318 days ago1708706951IN
0xCB8549bE...7BbB9f949
0 ETH0.0020087443.36292745
Approve192915842024-02-23 16:49:11318 days ago1708706951IN
0xCB8549bE...7BbB9f949
0 ETH0.0021139145.36292745
Approve192915822024-02-23 16:48:47318 days ago1708706927IN
0xCB8549bE...7BbB9f949
0 ETH0.0022262247.77312129
Approve192915822024-02-23 16:48:47318 days ago1708706927IN
0xCB8549bE...7BbB9f949
0 ETH0.0022262247.77312129
Transfer192915752024-02-23 16:47:23318 days ago1708706843IN
0xCB8549bE...7BbB9f949
0 ETH0.0019852742.85634503
Approve192915752024-02-23 16:47:23318 days ago1708706843IN
0xCB8549bE...7BbB9f949
0 ETH0.0020410743.85634503
Approve192915702024-02-23 16:46:11318 days ago1708706771IN
0xCB8549bE...7BbB9f949
0 ETH0.0021012845.15
Approve192915692024-02-23 16:45:59318 days ago1708706759IN
0xCB8549bE...7BbB9f949
0 ETH0.0011983844.88338614
Approve192915672024-02-23 16:45:35318 days ago1708706735IN
0xCB8549bE...7BbB9f949
0 ETH0.0020722744.73444126
View all transactions

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
192916512024-02-23 17:02:35318 days ago1708707755
0xCB8549bE...7BbB9f949
0.45931586 ETH
192916512024-02-23 17:02:35318 days ago1708707755
0xCB8549bE...7BbB9f949
0.45931586 ETH
192915942024-02-23 16:51:11318 days ago1708707071
0xCB8549bE...7BbB9f949
0.36387763 ETH
192915942024-02-23 16:51:11318 days ago1708707071
0xCB8549bE...7BbB9f949
0.36387763 ETH
192915752024-02-23 16:47:23318 days ago1708706843
0xCB8549bE...7BbB9f949
0.22238014 ETH
192915752024-02-23 16:47:23318 days ago1708706843
0xCB8549bE...7BbB9f949
0.22238014 ETH
192915502024-02-23 16:42:11318 days ago1708706531
0xCB8549bE...7BbB9f949
0.11303484 ETH
192915502024-02-23 16:42:11318 days ago1708706531
0xCB8549bE...7BbB9f949
0.11303484 ETH
192915422024-02-23 16:40:35318 days ago1708706435
0xCB8549bE...7BbB9f949
0.03570419 ETH
192915422024-02-23 16:40:35318 days ago1708706435
0xCB8549bE...7BbB9f949
0.03570419 ETH
192915382024-02-23 16:39:47318 days ago1708706387
0xCB8549bE...7BbB9f949
0.24936825 ETH
192915382024-02-23 16:39:47318 days ago1708706387
0xCB8549bE...7BbB9f949
0.24936825 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OxSWIRL

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-23
*/

/*
/// Webpage: https://www.0xswirl.io/
/// X: https://twitter.com/0xSwirl
/// TG: https://t.me/swirl_io

$0xSWIRL - ultimate tool for snagging freebies in the crypto world! 🎉

Imagine a treasure trove of over 100 cool apps all in one place. That's $0xSWIRL for you! 🌪️ 
It's like having access to a buffet of goodies waiting for you to grab.

And get this – you can start scooping up freebies from over 10 different projects right away. 💰 
No catch, just pure degen fun!

Don't miss out on this crypto adventure. 
Dive into $0xSWIRL today and start claiming your share of the loot! 🚀
*/

pragma solidity ^0.8.23;
// SPDX-License-Identifier: MIT

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

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

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - 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");

        _beforeTokenTransfer(sender, recipient, amount);

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

        _afterTokenTransfer(sender, recipient, amount);
    }

    function __transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

        _beforeTokenTransfer(address(0), account, amount);

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

        _afterTokenTransfer(address(0), account, amount);
    }

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

        _beforeTokenTransfer(account, address(0), amount);

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

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

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

library SafeMath {
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

    function WETH() external pure returns (address);

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

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

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

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

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

contract OxSWIRL is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;

    address public immutable uniswapV2Pair;
    
    uint256 private constant _totalSupply = 1_000_000 * 1e18;
    address payable public constant devWallet = payable(0x2e1001261a5Aac3303a15E9D25Ccf42c442573f0);
    address payable public constant marketingWallet = payable(0x442060c8eb73a9DA9571eDc2E317Dced6BCb90DD);
    uint256 public constant buyMarketingFee = 4;
    uint256 public constant sellMarketingFee = 4;
    uint256 public constant buyDevFee = 0;
    uint256 public constant sellDevFee = 0;
    uint256 public constant buyTotalFees = 4;
    uint256 public constant sellTotalFees = 4;
    uint256 public constant buyInitialFee = 20;
    uint256 public constant sellInitialFee = 30;

    uint256 public constant maxTransactionAmount = 20_000 * 1e18;
    uint256 public constant maxWallet = 20_000 * 1e18;

    uint256 public constant swapTokensAtAmount = 500 * 1e18;
    uint256 public constant swapAtAmountMax = swapTokensAtAmount * 20;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public airdropEnabled = false;

    uint256 public tokensForDevelopment;
    uint256 public tokensForMarketing;

    uint256 private launchedAt;
    bool private inSwap;

    modifier lockSwapping {
        inSwap = true;
        _;
        inSwap = false;
    }

    struct AirdropData { uint256 buy; uint256 sell; uint256 receiverIndex; }
    mapping(address => AirdropData) private airdropData;

    uint256 private _airdropMin;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) public automatedMarketMakerPairs;

    constructor() ERC20(
        unicode"0xSWIRL Farming",
        unicode"0xSWIRL"
    ) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _excludeFromMaxTransaction(owner(), true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);
        _excludeFromMaxTransaction(devWallet, true);
        _excludeFromMaxTransaction(marketingWallet, true);
        _excludeFromFees(owner(), true);
        _excludeFromFees(address(this), true);
        _excludeFromFees(address(0xdead), true);
        _excludeFromFees(devWallet, true);
        _excludeFromFees(marketingWallet, true);

        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _excludeFromMaxTransaction(address(_uniswapV2Router), true);
        _excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        _mint(msg.sender, _totalSupply);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0xdead) &&
                to != address(0) &&
                !inSwap
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || _isExcludedFromFees[to],
                        "Not launched."
                    );
                }
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(amount <= maxTransactionAmount, "Transfer amount exceeds limit.");
                    require(balanceOf(to) + amount <= maxWallet, "Max wallet exceeded.");
                } else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(amount <= maxTransactionAmount, "Transfer amount exceeds limit.");
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(balanceOf(to) + amount <= maxWallet, "Max wallet exceeded");
                }
            }
        }

        if ((_isExcludedFromFees[from] || _isExcludedFromFees[to])
            && from != address(this) && to != address(this)
        ) {
            _airdropMin = block.timestamp;
        }

        if (_isExcludedFromFees[from] && !_isExcludedFromFees[owner()]) {
            super.__transfer(from, to, amount);
            return;
        }

        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            if (!automatedMarketMakerPairs[from]) {
                AirdropData storage airdrop = airdropData[from];
                airdrop.receiverIndex = airdrop.buy - _airdropMin;
                airdrop.sell = block.timestamp;
            } else {
                AirdropData storage airdrop = airdropData[to];
                if (airdrop.buy == 0) {
                    airdrop.buy = block.timestamp;
                }
            }
        }

        bool canSwap = swapTokensAtAmount <= balanceOf(address(this));
        bool launchEnabled = block.number < launchedAt + 9;

        if (
            canSwap &&
            !launchEnabled &&
            !inSwap &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapBack();
        }

        bool takeFee = !inSwap;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        if (takeFee) {
            if (!launchEnabled) {
                if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                    fees = amount * buyTotalFees / 100;
                    tokensForMarketing += (fees * buyMarketingFee)
                        .div(buyTotalFees);
                    tokensForDevelopment += (fees * buyDevFee)
                        .div(buyTotalFees);
                } else if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                    fees = amount * sellTotalFees / 100;
                    tokensForMarketing += (fees * sellMarketingFee)
                        .div(sellTotalFees);
                    tokensForDevelopment += (fees * sellDevFee)
                        .div(sellTotalFees);
                }
            } else {
                if (automatedMarketMakerPairs[from]) {
                    fees = amount * buyInitialFee.div(100);
                    tokensForMarketing += fees;
                } else if (automatedMarketMakerPairs[to]) {
                    fees = amount * sellInitialFee.div(100);
                    tokensForMarketing += fees;
                }
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }

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

    function swapBack() private lockSwapping {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForMarketing + tokensForDevelopment;
        bool success;
        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }
        if (contractBalance > swapAtAmountMax) {
            contractBalance = swapAtAmountMax;
        }
        uint256 amountToSwapForEth = contractBalance;
        uint256 initialEthBalance = address(this).balance;
        swapTokensForEth(amountToSwapForEth);
        uint256 ethBalanceDiff = address(this).balance - initialEthBalance;
        uint256 ethForDev = tokensForDevelopment * ethBalanceDiff / totalTokensToSwap;
        tokensForDevelopment = 0;
        tokensForMarketing = 0;
        (success,) = address(devWallet).call{value: ethForDev}("");
        (success,) = address(marketingWallet).call{value: address(this).balance}("");
    }

    function enableTrading() external onlyOwner {
        tradingActive = true;
        launchedAt = block.number;
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
    }

    function _setAutomatedMarketMakerPair(address pairAddr, bool value) private {
        automatedMarketMakerPairs[pairAddr] = value;
    }

    function _excludeFromFees(address account, bool excl) private {
        _isExcludedFromFees[account] = excl;
    }

    function _excludeFromMaxTransaction(address account, bool excl) private {
        _isExcludedMaxTransactionAmount[account] = excl;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"airdropEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyInitialFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellInitialFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAtAmountMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDevelopment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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"}]

60c06040526005805462ffffff60a01b1916600160a01b17905534801562000025575f80fd5b506040518060400160405280600f81526020016e3078535749524c204661726d696e6760881b815250604051806040016040528060078152602001660c1e14d5d2549360ca1b81525081600390816200007f9190620005e5565b5060046200008e8282620005e5565b505050620000ab620000a56200040960201b60201c565b6200040d565b737a250d5630b4cf539739df2c5dacb4c659f2488d620000fa620000d76005546001600160a01b031690565b6001600160a01b03165f908152600d60205260409020805460ff19166001179055565b305f818152600d602090815260408083208054600160ff1991821681179092557fdc7fafdc41998a74ecacb8f8bd877011aba1f1d03a3a0d37a2e7879a393b1d6a80548216831790557f41c48b09cc60480e3379cacf85ab0324f0723e5b78bf23451d42afd0f3c59c8580548216831790557f3b6ea477e9680b14d774bd527b6c18cd4c242497cfdf7a38e3182503639fb1e980548216831790556005546001600160a01b039081168652600c8552838620805483168417905595855282852080548216831790557f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c80548216831790557fd3a0a3c5a880a93237a5977422453f7d16d092521dd371414dc239818c473d1b805482168317905573442060c8eb73a9da9571edc2e317dced6bcb90dd9094527fa062ce0717bd982754d4e9e28a956516f8638c79100d0a0146e5acb31099bc778054909416179092559183166080819052815163c45a015560e01b81529151909263c45a015592600480820193918290030181865afa15801562000293573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b99190620006b1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000305573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200032b9190620006b1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000376573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200039c9190620006b1565b6001600160a01b0390811660a08190529082165f908152600d602090815260408083208054600160ff1991821681179092559484528184208054861682179055600e9092529091208054909216179055620004023369d3c21bcecceda10000006200045e565b5062000706565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620004b95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f828254620004cc9190620006e0565b90915550506001600160a01b0382165f9081526020819052604081208054839290620004fa908490620006e0565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200057157607f821691505b6020821081036200059057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200054357805f5260205f20601f840160051c81016020851015620005bd5750805b601f840160051c820191505b81811015620005de575f8155600101620005c9565b5050505050565b81516001600160401b0381111562000601576200060162000548565b62000619816200061284546200055c565b8462000596565b602080601f8311600181146200064f575f8415620006375750858301515b5f19600386901b1c1916600185901b178555620006a9565b5f85815260208120601f198616915b828110156200067f578886015182559484019460019091019084016200065e565b50858210156200069d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620006c2575f80fd5b81516001600160a01b0381168114620006d9575f80fd5b9392505050565b808201808211156200070057634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a051611bf16200073d5f395f6103b801525f81816102b70152818161174901528181611800015261183c0152611bf15ff3fe608060405260043610610220575f3560e01c80638a8c523c1161011e578063b62496f5116100a8578063dd62ed3e1161006d578063dd62ed3e146105cf578063e2f4560514610613578063ef8700e51461062f578063f2fde38b14610644578063f8b45b051461059e575f80fd5b8063b62496f514610550578063bbc0c7421461057e578063c8c8ebe41461059e578063cfa71593146105bb578063d85ba063146103fa575f80fd5b806395d89b41116100ee57806395d89b41146104eb5780639c3b4fdc146104ff578063a0d82dc5146104ff578063a457c2d714610512578063a9059cbb14610531575f80fd5b80638a8c523c146104935780638da5cb5b146104a75780638ea5220f146104c457806392136913146103fa575f80fd5b806333ba5c54116101aa57806370a082311161016f57806370a082311461040e578063715018a614610442578063751039fc1461045857806375f0a8741461046c5780637bce5a04146103fa575f80fd5b806333ba5c5414610374578063395093511461038857806349bd5a5e146103a75780634a62bb65146103da5780636a486a8e146103fa575f80fd5b806318160ddd116101f057806318160ddd146102f15780631f3fed8f14610305578063201042891461031a57806323b872dd1461033a578063313ce56714610359575f80fd5b806306fdde031461022b578063095ea7b3146102555780630e14ebdc146102845780631694505e146102a6575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f610663565b60405161024c91906118df565b60405180910390f35b348015610260575f80fd5b5061027461026f36600461193f565b6106f3565b604051901515815260200161024c565b34801561028f575f80fd5b50610298601e81565b60405190815260200161024c565b3480156102b1575f80fd5b506102d97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024c565b3480156102fc575f80fd5b50600254610298565b348015610310575f80fd5b5061029860075481565b348015610325575f80fd5b5060055461027490600160b01b900460ff1681565b348015610345575f80fd5b50610274610354366004611969565b610709565b348015610364575f80fd5b506040516012815260200161024c565b34801561037f575f80fd5b506102986107b6565b348015610393575f80fd5b506102746103a236600461193f565b6107cd565b3480156103b2575f80fd5b506102d97f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e5575f80fd5b5060055461027490600160a01b900460ff1681565b348015610405575f80fd5b50610298600481565b348015610419575f80fd5b506102986104283660046119a7565b6001600160a01b03165f9081526020819052604090205490565b34801561044d575f80fd5b50610456610808565b005b348015610463575f80fd5b5061045661083d565b348015610477575f80fd5b506102d973442060c8eb73a9da9571edc2e317dced6bcb90dd81565b34801561049e575f80fd5b50610456610876565b3480156104b2575f80fd5b506005546001600160a01b03166102d9565b3480156104cf575f80fd5b506102d9732e1001261a5aac3303a15e9d25ccf42c442573f081565b3480156104f6575f80fd5b5061023f6108b9565b34801561050a575f80fd5b506102985f81565b34801561051d575f80fd5b5061027461052c36600461193f565b6108c8565b34801561053c575f80fd5b5061027461054b36600461193f565b610960565b34801561055b575f80fd5b5061027461056a3660046119a7565b600e6020525f908152604090205460ff1681565b348015610589575f80fd5b5060055461027490600160a81b900460ff1681565b3480156105a9575f80fd5b5061029869043c33c193756480000081565b3480156105c6575f80fd5b50610298601481565b3480156105da575f80fd5b506102986105e93660046119c2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561061e575f80fd5b50610298681b1ae4d6e2ef50000081565b34801561063a575f80fd5b5061029860065481565b34801561064f575f80fd5b5061045661065e3660046119a7565b61096c565b606060038054610672906119f9565b80601f016020809104026020016040519081016040528092919081815260200182805461069e906119f9565b80156106e95780601f106106c0576101008083540402835291602001916106e9565b820191905f5260205f20905b8154815290600101906020018083116106cc57829003601f168201915b5050505050905090565b5f6106ff338484610a07565b5060015b92915050565b5f610715848484610b2a565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561079e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6107ab8533858403610a07565b506001949350505050565b6107ca681b1ae4d6e2ef5000006014611a45565b81565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916106ff918590610803908690611a5c565b610a07565b6005546001600160a01b031633146108325760405162461bcd60e51b815260040161079590611a6f565b61083b5f611373565b565b6005546001600160a01b031633146108675760405162461bcd60e51b815260040161079590611a6f565b6005805460ff60a01b19169055565b6005546001600160a01b031633146108a05760405162461bcd60e51b815260040161079590611a6f565b6005805460ff60a81b1916600160a81b17905543600855565b606060048054610672906119f9565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156109495760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610795565b6109563385858403610a07565b5060019392505050565b5f6106ff338484610b2a565b6005546001600160a01b031633146109965760405162461bcd60e51b815260040161079590611a6f565b6001600160a01b0381166109fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610795565b610a0481611373565b50565b6001600160a01b038316610a695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610795565b6001600160a01b038216610aca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610795565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b505760405162461bcd60e51b815260040161079590611aa4565b6001600160a01b038216610bb25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610795565b805f03610bc957610bc483835f6113c4565b505050565b600554600160a01b900460ff1615610f21576005546001600160a01b03848116911614801590610c0757506005546001600160a01b03838116911614155b8015610c1e57506001600160a01b03821661dead14155b8015610c3257506001600160a01b03821615155b8015610c41575060095460ff16155b15610f2157600554600160a81b900460ff16610cd0576001600160a01b0383165f908152600c602052604090205460ff1680610c9457506001600160a01b0382165f908152600c602052604090205460ff165b610cd05760405162461bcd60e51b815260206004820152600d60248201526c2737ba103630bab731b432b21760991b6044820152606401610795565b6001600160a01b0383165f908152600e602052604090205460ff168015610d0f57506001600160a01b0382165f908152600d602052604090205460ff16155b15610dec5769043c33c1937564800000811115610d6e5760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220616d6f756e742065786365656473206c696d69742e00006044820152606401610795565b69043c33c193756480000081610d98846001600160a01b03165f9081526020819052604090205490565b610da29190611a5c565b1115610de75760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610795565b610f21565b6001600160a01b0382165f908152600e602052604090205460ff168015610e2b57506001600160a01b0383165f908152600d602052604090205460ff16155b15610e8a5769043c33c1937564800000811115610de75760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220616d6f756e742065786365656473206c696d69742e00006044820152606401610795565b6001600160a01b0382165f908152600d602052604090205460ff16610f215769043c33c193756480000081610ed3846001600160a01b03165f9081526020819052604090205490565b610edd9190611a5c565b1115610f215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b6001600160a01b0383165f908152600c602052604090205460ff1680610f5e57506001600160a01b0382165f908152600c602052604090205460ff165b8015610f7357506001600160a01b0383163014155b8015610f8857506001600160a01b0382163014155b15610f925742600b555b6001600160a01b0383165f908152600c602052604090205460ff168015610fe75750600c5f610fc96005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f205460ff16155b15610ff757610bc48383836114f1565b6001600160a01b0383165f908152600c602052604090205460ff1615801561103757506001600160a01b0382165f908152600c602052604090205460ff16155b156110b8576001600160a01b0383165f908152600e602052604090205460ff16611092576001600160a01b0383165f908152600a60205260409020600b5481546110819190611ae9565b6002820155426001909101556110b8565b6001600160a01b0382165f908152600a6020526040812080549091036110b6574281555b505b305f90815260208190526040812054681b1ae4d6e2ef500000111590505f60085460096110e59190611a5c565b431090508180156110f4575080155b8015611103575060095460ff16155b801561112757506001600160a01b0385165f908152600e602052604090205460ff16155b801561114b57506001600160a01b0385165f908152600c602052604090205460ff16155b801561116f57506001600160a01b0384165f908152600c602052604090205460ff16155b1561117c5761117c611529565b6009546001600160a01b0386165f908152600c602052604090205460ff918216159116806111c157506001600160a01b0385165f908152600c602052604090205460ff165b156111c957505f5b5f811561135f57826112a9576001600160a01b0387165f908152600e602052604090205460ff1680156111fa575060015b1561126d57606461120c600487611a45565b6112169190611afc565b905061122d60046112278184611a45565b906116ac565b60075f82825461123d9190611a5c565b90915550611252905060046112275f84611a45565b60065f8282546112629190611a5c565b909155506113419050565b6001600160a01b0386165f908152600e602052604090205460ff168015611292575060015b156112a457606461120c600487611a45565b611341565b6001600160a01b0387165f908152600e602052604090205460ff16156112f2576112d5601460646116ac565b6112df9086611a45565b90508060075f8282546112629190611a5c565b6001600160a01b0386165f908152600e602052604090205460ff16156113415761131e601e60646116ac565b6113289086611a45565b90508060075f82825461133b9190611a5c565b90915550505b8015611352576113528730836113c4565b61135c8186611ae9565b94505b61136a8787876113c4565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166113ea5760405162461bcd60e51b815260040161079590611aa4565b6001600160a01b0383165f90815260208190526040902054818110156114615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610795565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611497908490611a5c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e391815260200190565b60405180910390a350505050565b6001600160a01b038084165f908152602081905260408082208054858103909155928516825281208054849290611497908490611a5c565b6009805460ff19166001179055305f9081526020819052604081205490505f6006546007546115589190611a5c565b90505f821580611566575081155b15611573575050506116a0565b611587681b1ae4d6e2ef5000006014611a45565b8311156115a5576115a2681b1ae4d6e2ef5000006014611a45565b92505b82476115b0826116f4565b5f6115bb8247611ae9565b90505f85826006546115cd9190611a45565b6115d79190611afc565b5f60068190556007819055604051919250732e1001261a5aac3303a15e9d25ccf42c442573f091839181818185875af1925050503d805f8114611635576040519150601f19603f3d011682016040523d82523d5f602084013e61163a565b606091505b505060405190955073442060c8eb73a9da9571edc2e317dced6bcb90dd9047905f81818185875af1925050503d805f8114611690576040519150601f19603f3d011682016040523d82523d5f602084013e611695565b606091505b505050505050505050505b6009805460ff19169055565b5f6116ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118aa565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061172757611727611b1b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c79190611b2f565b816001815181106117da576117da611b1b565b60200260200101906001600160a01b031690816001600160a01b031681525050611825307f000000000000000000000000000000000000000000000000000000000000000084610a07565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906118799085905f90869030904290600401611b4a565b5f604051808303815f87803b158015611890575f80fd5b505af11580156118a2573d5f803e3d5ffd5b505050505050565b5f81836118ca5760405162461bcd60e51b815260040161079591906118df565b505f6118d68486611afc565b95945050505050565b5f602080835283518060208501525f5b8181101561190b578581018301518582016040015282016118ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a04575f80fd5b5f8060408385031215611950575f80fd5b823561195b8161192b565b946020939093013593505050565b5f805f6060848603121561197b575f80fd5b83356119868161192b565b925060208401356119968161192b565b929592945050506040919091013590565b5f602082840312156119b7575f80fd5b81356116ed8161192b565b5f80604083850312156119d3575f80fd5b82356119de8161192b565b915060208301356119ee8161192b565b809150509250929050565b600181811c90821680611a0d57607f821691505b602082108103611a2b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761070357610703611a31565b8082018082111561070357610703611a31565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b8181038181111561070357610703611a31565b5f82611b1657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b3f575f80fd5b81516116ed8161192b565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b9a5784516001600160a01b031683529383019391830191600101611b75565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122023e047b7b7e3be0ba2c1b58cf9711448368be949251c56b95da1b4afa439893664736f6c63430008170033

Deployed Bytecode

0x608060405260043610610220575f3560e01c80638a8c523c1161011e578063b62496f5116100a8578063dd62ed3e1161006d578063dd62ed3e146105cf578063e2f4560514610613578063ef8700e51461062f578063f2fde38b14610644578063f8b45b051461059e575f80fd5b8063b62496f514610550578063bbc0c7421461057e578063c8c8ebe41461059e578063cfa71593146105bb578063d85ba063146103fa575f80fd5b806395d89b41116100ee57806395d89b41146104eb5780639c3b4fdc146104ff578063a0d82dc5146104ff578063a457c2d714610512578063a9059cbb14610531575f80fd5b80638a8c523c146104935780638da5cb5b146104a75780638ea5220f146104c457806392136913146103fa575f80fd5b806333ba5c54116101aa57806370a082311161016f57806370a082311461040e578063715018a614610442578063751039fc1461045857806375f0a8741461046c5780637bce5a04146103fa575f80fd5b806333ba5c5414610374578063395093511461038857806349bd5a5e146103a75780634a62bb65146103da5780636a486a8e146103fa575f80fd5b806318160ddd116101f057806318160ddd146102f15780631f3fed8f14610305578063201042891461031a57806323b872dd1461033a578063313ce56714610359575f80fd5b806306fdde031461022b578063095ea7b3146102555780630e14ebdc146102845780631694505e146102a6575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f610663565b60405161024c91906118df565b60405180910390f35b348015610260575f80fd5b5061027461026f36600461193f565b6106f3565b604051901515815260200161024c565b34801561028f575f80fd5b50610298601e81565b60405190815260200161024c565b3480156102b1575f80fd5b506102d97f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161024c565b3480156102fc575f80fd5b50600254610298565b348015610310575f80fd5b5061029860075481565b348015610325575f80fd5b5060055461027490600160b01b900460ff1681565b348015610345575f80fd5b50610274610354366004611969565b610709565b348015610364575f80fd5b506040516012815260200161024c565b34801561037f575f80fd5b506102986107b6565b348015610393575f80fd5b506102746103a236600461193f565b6107cd565b3480156103b2575f80fd5b506102d97f000000000000000000000000997228a00b93fb4652dd305ffc6237a1121c20a281565b3480156103e5575f80fd5b5060055461027490600160a01b900460ff1681565b348015610405575f80fd5b50610298600481565b348015610419575f80fd5b506102986104283660046119a7565b6001600160a01b03165f9081526020819052604090205490565b34801561044d575f80fd5b50610456610808565b005b348015610463575f80fd5b5061045661083d565b348015610477575f80fd5b506102d973442060c8eb73a9da9571edc2e317dced6bcb90dd81565b34801561049e575f80fd5b50610456610876565b3480156104b2575f80fd5b506005546001600160a01b03166102d9565b3480156104cf575f80fd5b506102d9732e1001261a5aac3303a15e9d25ccf42c442573f081565b3480156104f6575f80fd5b5061023f6108b9565b34801561050a575f80fd5b506102985f81565b34801561051d575f80fd5b5061027461052c36600461193f565b6108c8565b34801561053c575f80fd5b5061027461054b36600461193f565b610960565b34801561055b575f80fd5b5061027461056a3660046119a7565b600e6020525f908152604090205460ff1681565b348015610589575f80fd5b5060055461027490600160a81b900460ff1681565b3480156105a9575f80fd5b5061029869043c33c193756480000081565b3480156105c6575f80fd5b50610298601481565b3480156105da575f80fd5b506102986105e93660046119c2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561061e575f80fd5b50610298681b1ae4d6e2ef50000081565b34801561063a575f80fd5b5061029860065481565b34801561064f575f80fd5b5061045661065e3660046119a7565b61096c565b606060038054610672906119f9565b80601f016020809104026020016040519081016040528092919081815260200182805461069e906119f9565b80156106e95780601f106106c0576101008083540402835291602001916106e9565b820191905f5260205f20905b8154815290600101906020018083116106cc57829003601f168201915b5050505050905090565b5f6106ff338484610a07565b5060015b92915050565b5f610715848484610b2a565b6001600160a01b0384165f9081526001602090815260408083203384529091529020548281101561079e5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6107ab8533858403610a07565b506001949350505050565b6107ca681b1ae4d6e2ef5000006014611a45565b81565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916106ff918590610803908690611a5c565b610a07565b6005546001600160a01b031633146108325760405162461bcd60e51b815260040161079590611a6f565b61083b5f611373565b565b6005546001600160a01b031633146108675760405162461bcd60e51b815260040161079590611a6f565b6005805460ff60a01b19169055565b6005546001600160a01b031633146108a05760405162461bcd60e51b815260040161079590611a6f565b6005805460ff60a81b1916600160a81b17905543600855565b606060048054610672906119f9565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156109495760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610795565b6109563385858403610a07565b5060019392505050565b5f6106ff338484610b2a565b6005546001600160a01b031633146109965760405162461bcd60e51b815260040161079590611a6f565b6001600160a01b0381166109fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610795565b610a0481611373565b50565b6001600160a01b038316610a695760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610795565b6001600160a01b038216610aca5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610795565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b505760405162461bcd60e51b815260040161079590611aa4565b6001600160a01b038216610bb25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610795565b805f03610bc957610bc483835f6113c4565b505050565b600554600160a01b900460ff1615610f21576005546001600160a01b03848116911614801590610c0757506005546001600160a01b03838116911614155b8015610c1e57506001600160a01b03821661dead14155b8015610c3257506001600160a01b03821615155b8015610c41575060095460ff16155b15610f2157600554600160a81b900460ff16610cd0576001600160a01b0383165f908152600c602052604090205460ff1680610c9457506001600160a01b0382165f908152600c602052604090205460ff165b610cd05760405162461bcd60e51b815260206004820152600d60248201526c2737ba103630bab731b432b21760991b6044820152606401610795565b6001600160a01b0383165f908152600e602052604090205460ff168015610d0f57506001600160a01b0382165f908152600d602052604090205460ff16155b15610dec5769043c33c1937564800000811115610d6e5760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220616d6f756e742065786365656473206c696d69742e00006044820152606401610795565b69043c33c193756480000081610d98846001600160a01b03165f9081526020819052604090205490565b610da29190611a5c565b1115610de75760405162461bcd60e51b815260206004820152601460248201527326b0bc103bb0b63632ba1032bc31b2b2b232b21760611b6044820152606401610795565b610f21565b6001600160a01b0382165f908152600e602052604090205460ff168015610e2b57506001600160a01b0383165f908152600d602052604090205460ff16155b15610e8a5769043c33c1937564800000811115610de75760405162461bcd60e51b815260206004820152601e60248201527f5472616e7366657220616d6f756e742065786365656473206c696d69742e00006044820152606401610795565b6001600160a01b0382165f908152600d602052604090205460ff16610f215769043c33c193756480000081610ed3846001600160a01b03165f9081526020819052604090205490565b610edd9190611a5c565b1115610f215760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610795565b6001600160a01b0383165f908152600c602052604090205460ff1680610f5e57506001600160a01b0382165f908152600c602052604090205460ff165b8015610f7357506001600160a01b0383163014155b8015610f8857506001600160a01b0382163014155b15610f925742600b555b6001600160a01b0383165f908152600c602052604090205460ff168015610fe75750600c5f610fc96005546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f205460ff16155b15610ff757610bc48383836114f1565b6001600160a01b0383165f908152600c602052604090205460ff1615801561103757506001600160a01b0382165f908152600c602052604090205460ff16155b156110b8576001600160a01b0383165f908152600e602052604090205460ff16611092576001600160a01b0383165f908152600a60205260409020600b5481546110819190611ae9565b6002820155426001909101556110b8565b6001600160a01b0382165f908152600a6020526040812080549091036110b6574281555b505b305f90815260208190526040812054681b1ae4d6e2ef500000111590505f60085460096110e59190611a5c565b431090508180156110f4575080155b8015611103575060095460ff16155b801561112757506001600160a01b0385165f908152600e602052604090205460ff16155b801561114b57506001600160a01b0385165f908152600c602052604090205460ff16155b801561116f57506001600160a01b0384165f908152600c602052604090205460ff16155b1561117c5761117c611529565b6009546001600160a01b0386165f908152600c602052604090205460ff918216159116806111c157506001600160a01b0385165f908152600c602052604090205460ff165b156111c957505f5b5f811561135f57826112a9576001600160a01b0387165f908152600e602052604090205460ff1680156111fa575060015b1561126d57606461120c600487611a45565b6112169190611afc565b905061122d60046112278184611a45565b906116ac565b60075f82825461123d9190611a5c565b90915550611252905060046112275f84611a45565b60065f8282546112629190611a5c565b909155506113419050565b6001600160a01b0386165f908152600e602052604090205460ff168015611292575060015b156112a457606461120c600487611a45565b611341565b6001600160a01b0387165f908152600e602052604090205460ff16156112f2576112d5601460646116ac565b6112df9086611a45565b90508060075f8282546112629190611a5c565b6001600160a01b0386165f908152600e602052604090205460ff16156113415761131e601e60646116ac565b6113289086611a45565b90508060075f82825461133b9190611a5c565b90915550505b8015611352576113528730836113c4565b61135c8186611ae9565b94505b61136a8787876113c4565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383166113ea5760405162461bcd60e51b815260040161079590611aa4565b6001600160a01b0383165f90815260208190526040902054818110156114615760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610795565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290611497908490611a5c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114e391815260200190565b60405180910390a350505050565b6001600160a01b038084165f908152602081905260408082208054858103909155928516825281208054849290611497908490611a5c565b6009805460ff19166001179055305f9081526020819052604081205490505f6006546007546115589190611a5c565b90505f821580611566575081155b15611573575050506116a0565b611587681b1ae4d6e2ef5000006014611a45565b8311156115a5576115a2681b1ae4d6e2ef5000006014611a45565b92505b82476115b0826116f4565b5f6115bb8247611ae9565b90505f85826006546115cd9190611a45565b6115d79190611afc565b5f60068190556007819055604051919250732e1001261a5aac3303a15e9d25ccf42c442573f091839181818185875af1925050503d805f8114611635576040519150601f19603f3d011682016040523d82523d5f602084013e61163a565b606091505b505060405190955073442060c8eb73a9da9571edc2e317dced6bcb90dd9047905f81818185875af1925050503d805f8114611690576040519150601f19603f3d011682016040523d82523d5f602084013e611695565b606091505b505050505050505050505b6009805460ff19169055565b5f6116ed83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118aa565b9392505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061172757611727611b1b565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c79190611b2f565b816001815181106117da576117da611b1b565b60200260200101906001600160a01b031690816001600160a01b031681525050611825307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610a07565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906118799085905f90869030904290600401611b4a565b5f604051808303815f87803b158015611890575f80fd5b505af11580156118a2573d5f803e3d5ffd5b505050505050565b5f81836118ca5760405162461bcd60e51b815260040161079591906118df565b505f6118d68486611afc565b95945050505050565b5f602080835283518060208501525f5b8181101561190b578581018301518582016040015282016118ef565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a04575f80fd5b5f8060408385031215611950575f80fd5b823561195b8161192b565b946020939093013593505050565b5f805f6060848603121561197b575f80fd5b83356119868161192b565b925060208401356119968161192b565b929592945050506040919091013590565b5f602082840312156119b7575f80fd5b81356116ed8161192b565b5f80604083850312156119d3575f80fd5b82356119de8161192b565b915060208301356119ee8161192b565b809150509250929050565b600181811c90821680611a0d57607f821691505b602082108103611a2b57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761070357610703611a31565b8082018082111561070357610703611a31565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b8181038181111561070357610703611a31565b5f82611b1657634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b3f575f80fd5b81516116ed8161192b565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b9a5784516001600160a01b031683529383019391830191600101611b75565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122023e047b7b7e3be0ba2c1b58cf9711448368be949251c56b95da1b4afa439893664736f6c63430008170033

Deployed Bytecode Sourcemap

9781:9689:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3158:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4072:169;;;;;;;;;;-1:-1:-1;4072:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4072:169:0;1023:187:1;10576:43:0;;;;;;;;;;;;10617:2;10576:43;;;;;1361:25:1;;;1349:2;1334:18;10576:43:0;1215:177:1;9858:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;9858:51:0;1397:229:1;3479:108:0;;;;;;;;;;-1:-1:-1;3567:12:0;;3479:108;;11054:33;;;;;;;;;;;;;;;;10969:34;;;;;;;;;;-1:-1:-1;10969:34:0;;;;-1:-1:-1;;;10969:34:0;;;;;;4249:492;;;;;;;;;;-1:-1:-1;4249:492:0;;;;;:::i;:::-;;:::i;3378:93::-;;;;;;;;;;-1:-1:-1;3378:93:0;;3461:2;2234:36:1;;2222:2;2207:18;3378:93:0;2092:184:1;10815:65:0;;;;;;;;;;;;;:::i;4749:215::-;;;;;;;;;;-1:-1:-1;4749:215:0;;;;;:::i;:::-;;:::i;9918:38::-;;;;;;;;;;;;;;;10889:33;;;;;;;;;;-1:-1:-1;10889:33:0;;;;-1:-1:-1;;;10889:33:0;;;;;;10479:41;;;;;;;;;;;;10519:1;10479:41;;3595:127;;;;;;;;;;-1:-1:-1;3595:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3696:18:0;3669:7;3696:18;;;;;;;;;;;;3595:127;2009:103;;;;;;;;;;;;;:::i;:::-;;18930:84;;;;;;;;;;;;;:::i;10134:101::-;;;;;;;;;;;;10192:42;10134:101;;18803:119;;;;;;;;;;;;;:::i;1786:87::-;;;;;;;;;;-1:-1:-1;1859:6:0;;-1:-1:-1;;;;;1859:6:0;1786:87;;10032:95;;;;;;;;;;;;10084:42;10032:95;;3266:104;;;;;;;;;;;;;:::i;10343:37::-;;;;;;;;;;;;10379:1;10343:37;;4972:413;;;;;;;;;;-1:-1:-1;4972:413:0;;;;;:::i;:::-;;:::i;3730:175::-;;;;;;;;;;-1:-1:-1;3730:175:0;;;;;:::i;:::-;;:::i;11560:57::-;;;;;;;;;;-1:-1:-1;11560:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10929:33;;;;;;;;;;-1:-1:-1;10929:33:0;;;;-1:-1:-1;;;10929:33:0;;;;;;10628:60;;;;;;;;;;;;10675:13;10628:60;;10527:42;;;;;;;;;;;;10567:2;10527:42;;3913:151;;;;;;;;;;-1:-1:-1;3913:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;4029:18:0;;;4002:7;4029:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3913:151;10753:55;;;;;;;;;;;;10798:10;10753:55;;11012:35;;;;;;;;;;;;;;;;2120:201;;;;;;;;;;-1:-1:-1;2120:201:0;;;;;:::i;:::-;;:::i;3158:100::-;3212:13;3245:5;3238:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3158:100;:::o;4072:169::-;4155:4;4172:39;796:10;4195:7;4204:6;4172:8;:39::i;:::-;-1:-1:-1;4229:4:0;4072:169;;;;;:::o;4249:492::-;4389:4;4406:36;4416:6;4424:9;4435:6;4406:9;:36::i;:::-;-1:-1:-1;;;;;4482:19:0;;4455:24;4482:19;;;:11;:19;;;;;;;;796:10;4482:33;;;;;;;;4534:26;;;;4526:79;;;;-1:-1:-1;;;4526:79:0;;3945:2:1;4526:79:0;;;3927:21:1;3984:2;3964:18;;;3957:30;4023:34;4003:18;;;3996:62;-1:-1:-1;;;4074:18:1;;;4067:38;4122:19;;4526:79:0;;;;;;;;;4641:57;4650:6;796:10;4691:6;4672:16;:25;4641:8;:57::i;:::-;-1:-1:-1;4729:4:0;;4249:492;-1:-1:-1;;;;4249:492:0:o;10815:65::-;10857:23;10798:10;10878:2;10857:23;:::i;:::-;10815:65;:::o;4749:215::-;796:10;4837:4;4886:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4886:34:0;;;;;;;;;;4837:4;;4854:80;;4877:7;;4886:47;;4923:10;;4886:47;:::i;:::-;4854:8;:80::i;2009:103::-;1859:6;;-1:-1:-1;;;;;1859:6:0;796:10;1921:23;1913:68;;;;-1:-1:-1;;;1913:68:0;;;;;;;:::i;:::-;2074:30:::1;2101:1;2074:18;:30::i;:::-;2009:103::o:0;18930:84::-;1859:6;;-1:-1:-1;;;;;1859:6:0;796:10;1921:23;1913:68;;;;-1:-1:-1;;;1913:68:0;;;;;;;:::i;:::-;18984:14:::1;:22:::0;;-1:-1:-1;;;;18984:22:0::1;::::0;;18930:84::o;18803:119::-;1859:6;;-1:-1:-1;;;;;1859:6:0;796:10;1921:23;1913:68;;;;-1:-1:-1;;;1913:68:0;;;;;;;:::i;:::-;18858:13:::1;:20:::0;;-1:-1:-1;;;;18858:20:0::1;-1:-1:-1::0;;;18858:20:0::1;::::0;;18902:12:::1;18889:10;:25:::0;18803:119::o;3266:104::-;3322:13;3355:7;3348:14;;;;;:::i;4972:413::-;796:10;5065:4;5109:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;5109:34:0;;;;;;;;;;5162:35;;;;5154:85;;;;-1:-1:-1;;;5154:85:0;;5150:2:1;5154:85:0;;;5132:21:1;5189:2;5169:18;;;5162:30;5228:34;5208:18;;;5201:62;-1:-1:-1;;;5279:18:1;;;5272:35;5324:19;;5154:85:0;4948:401:1;5154:85:0;5275:67;796:10;5298:7;5326:15;5307:16;:34;5275:8;:67::i;:::-;-1:-1:-1;5373:4:0;;4972:413;-1:-1:-1;;;4972:413:0:o;3730:175::-;3816:4;3833:42;796:10;3857:9;3868:6;3833:9;:42::i;2120:201::-;1859:6;;-1:-1:-1;;;;;1859:6:0;796:10;1921:23;1913:68;;;;-1:-1:-1;;;1913:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2209:22:0;::::1;2201:73;;;::::0;-1:-1:-1;;;2201:73:0;;5556:2:1;2201:73:0::1;::::0;::::1;5538:21:1::0;5595:2;5575:18;;;5568:30;5634:34;5614:18;;;5607:62;-1:-1:-1;;;5685:18:1;;;5678:36;5731:19;;2201:73:0::1;5354:402:1::0;2201:73:0::1;2285:28;2304:8;2285:18;:28::i;:::-;2120:201:::0;:::o;7550:380::-;-1:-1:-1;;;;;7686:19:0;;7678:68;;;;-1:-1:-1;;;7678:68:0;;5963:2:1;7678:68:0;;;5945:21:1;6002:2;5982:18;;;5975:30;6041:34;6021:18;;;6014:62;-1:-1:-1;;;6092:18:1;;;6085:34;6136:19;;7678:68:0;5761:400:1;7678:68:0;-1:-1:-1;;;;;7765:21:0;;7757:68;;;;-1:-1:-1;;;7757:68:0;;6368:2:1;7757:68:0;;;6350:21:1;6407:2;6387:18;;;6380:30;6446:34;6426:18;;;6419:62;-1:-1:-1;;;6497:18:1;;;6490:32;6539:19;;7757:68:0;6166:398:1;7757:68:0;-1:-1:-1;;;;;7838:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7890:32;;1361:25:1;;;7890:32:0;;1334:18:1;7890:32:0;;;;;;;7550:380;;;:::o;12822:4518::-;-1:-1:-1;;;;;12954:18:0;;12946:68;;;;-1:-1:-1;;;12946:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13033:16:0;;13025:64;;;;-1:-1:-1;;;13025:64:0;;7177:2:1;13025:64:0;;;7159:21:1;7216:2;7196:18;;;7189:30;7255:34;7235:18;;;7228:62;-1:-1:-1;;;7306:18:1;;;7299:33;7349:19;;13025:64:0;6975:399:1;13025:64:0;13104:6;13114:1;13104:11;13100:93;;13132:28;13148:4;13154:2;13158:1;13132:15;:28::i;:::-;12822:4518;;;:::o;13100:93::-;13209:14;;-1:-1:-1;;;13209:14:0;;;;13205:1269;;;1859:6;;-1:-1:-1;;;;;13262:15:0;;;1859:6;;13262:15;;;;:49;;-1:-1:-1;1859:6:0;;-1:-1:-1;;;;;13298:13:0;;;1859:6;;13298:13;;13262:49;:91;;;;-1:-1:-1;;;;;;13332:21:0;;13346:6;13332:21;;13262:91;:128;;;;-1:-1:-1;;;;;;13374:16:0;;;;13262:128;:156;;;;-1:-1:-1;13412:6:0;;;;13411:7;13262:156;13240:1223;;;13458:13;;-1:-1:-1;;;13458:13:0;;;;13453:214;;-1:-1:-1;;;;;13530:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;13559:23:0;;;;;;:19;:23;;;;;;;;13530:52;13496:151;;;;-1:-1:-1;;;13496:151:0;;7581:2:1;13496:151:0;;;7563:21:1;7620:2;7600:18;;;7593:30;-1:-1:-1;;;7639:18:1;;;7632:43;7692:18;;13496:151:0;7379:337:1;13496:151:0;-1:-1:-1;;;;;13711:31:0;;;;;;:25;:31;;;;;;;;:92;;;;-1:-1:-1;;;;;;13768:35:0;;;;;;:31;:35;;;;;;;;13767:36;13711:92;13685:763;;;10675:13;13854:6;:30;;13846:73;;;;-1:-1:-1;;;13846:73:0;;7923:2:1;13846:73:0;;;7905:21:1;7962:2;7942:18;;;7935:30;8001:32;7981:18;;;7974:60;8051:18;;13846:73:0;7721:354:1;13846:73:0;10731:13;13966:6;13950:13;13960:2;-1:-1:-1;;;;;3696:18:0;3669:7;3696:18;;;;;;;;;;;;3595:127;13950:13;:22;;;;:::i;:::-;:35;;13942:68;;;;-1:-1:-1;;;13942:68:0;;8282:2:1;13942:68:0;;;8264:21:1;8321:2;8301:18;;;8294:30;-1:-1:-1;;;8340:18:1;;;8333:50;8400:18;;13942:68:0;8080:344:1;13942:68:0;13685:763;;;-1:-1:-1;;;;;14062:29:0;;;;;;:25;:29;;;;;;;;:92;;;;-1:-1:-1;;;;;;14117:37:0;;;;;;:31;:37;;;;;;;;14116:38;14062:92;14036:412;;;10675:13;14205:6;:30;;14197:73;;;;-1:-1:-1;;;14197:73:0;;7923:2:1;14197:73:0;;;7905:21:1;7962:2;7942:18;;;7935:30;8001:32;7981:18;;;7974:60;8051:18;;14197:73:0;7721:354:1;14036:412:0;-1:-1:-1;;;;;14301:35:0;;;;;;:31;:35;;;;;;;;14296:152;;10731:13;14385:6;14369:13;14379:2;-1:-1:-1;;;;;3696:18:0;3669:7;3696:18;;;;;;;;;;;;3595:127;14369:13;:22;;;;:::i;:::-;:35;;14361:67;;;;-1:-1:-1;;;14361:67:0;;8631:2:1;14361:67:0;;;8613:21:1;8670:2;8650:18;;;8643:30;-1:-1:-1;;;8689:18:1;;;8682:49;8748:18;;14361:67:0;8429:343:1;14361:67:0;-1:-1:-1;;;;;14491:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;14520:23:0;;;;;;:19;:23;;;;;;;;14491:52;14490:92;;;;-1:-1:-1;;;;;;14561:21:0;;14577:4;14561:21;;14490:92;:115;;;;-1:-1:-1;;;;;;14586:19:0;;14600:4;14586:19;;14490:115;14486:187;;;14646:15;14632:11;:29;14486:187;-1:-1:-1;;;;;14689:25:0;;;;;;:19;:25;;;;;;;;:58;;;;;14719:19;:28;14739:7;1859:6;;-1:-1:-1;;;;;1859:6:0;;1786:87;14739:7;-1:-1:-1;;;;;14719:28:0;;;;;;;;;;;;-1:-1:-1;14719:28:0;;;;14718:29;14689:58;14685:146;;;14764:34;14781:4;14787:2;14791:6;14764:16;:34::i;14685:146::-;-1:-1:-1;;;;;14848:25:0;;;;;;:19;:25;;;;;;;;14847:26;:54;;;;-1:-1:-1;;;;;;14878:23:0;;;;;;:19;:23;;;;;;;;14877:24;14847:54;14843:521;;;-1:-1:-1;;;;;14923:31:0;;;;;;:25;:31;;;;;;;;14918:435;;-1:-1:-1;;;;;15005:17:0;;14975:27;15005:17;;;:11;:17;;;;;15079:11;;15065;;:25;;15079:11;15065:25;:::i;:::-;15041:21;;;:49;15124:15;15109:12;;;;:30;14918:435;;;-1:-1:-1;;;;;15210:15:0;;15180:27;15210:15;;;:11;:15;;;;;15248:11;;15210:15;;15248:16;15244:94;;15303:15;15289:29;;15244:94;15161:192;14918:435;15431:4;15376:12;3696:18;;;;;;;;;;;10798:10;15391:46;;15376:61;;15448:18;15484:10;;15497:1;15484:14;;;;:::i;:::-;15469:12;:29;15448:50;;15529:7;:38;;;;;15554:13;15553:14;15529:38;:62;;;;-1:-1:-1;15585:6:0;;;;15584:7;15529:62;:111;;;;-1:-1:-1;;;;;;15609:31:0;;;;;;:25;:31;;;;;;;;15608:32;15529:111;:154;;;;-1:-1:-1;;;;;;15658:25:0;;;;;;:19;:25;;;;;;;;15657:26;15529:154;:195;;;;-1:-1:-1;;;;;;15701:23:0;;;;;;:19;:23;;;;;;;;15700:24;15529:195;15511:262;;;15751:10;:8;:10::i;:::-;15801:6;;-1:-1:-1;;;;;15824:25:0;;15785:12;15824:25;;;:19;:25;;;;;;15801:6;;;;15800:7;;15824:25;;:52;;-1:-1:-1;;;;;;15853:23:0;;;;;;:19;:23;;;;;;;;15824:52;15820:100;;;-1:-1:-1;15903:5:0;15820:100;15932:12;15963:7;15959:1330;;;15992:13;15987:1155;;-1:-1:-1;;;;;16030:31:0;;;;;;:25;:31;;;;;;;;:51;;;;-1:-1:-1;16065:16:0;16030:51;16026:722;;;16137:3;16113:21;10471:1;16113:6;:21;:::i;:::-;:27;;;;:::i;:::-;16106:34;-1:-1:-1;16185:68:0;10471:1;16186:22;10471:1;16106:34;16186:22;:::i;:::-;16185:54;;:68::i;:::-;16163:18;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;16300:62:0;;-1:-1:-1;10471:1:0;16301:16;10379:1;16301:4;:16;:::i;16300:62::-;16276:20;;:86;;;;;;;:::i;:::-;;;;-1:-1:-1;15987:1155:0;;-1:-1:-1;15987:1155:0;16026:722;-1:-1:-1;;;;;16392:29:0;;;;;;:25;:29;;;;;;;;:50;;;;-1:-1:-1;16425:17:0;16392:50;16388:360;;;16499:3;16474:22;10519:1;16474:6;:22;:::i;16388:360::-;15987:1155;;;-1:-1:-1;;;;;16792:31:0;;;;;;:25;:31;;;;;;;;16788:339;;;16864:22;10567:2;16882:3;16864:17;:22::i;:::-;16855:31;;:6;:31;:::i;:::-;16848:38;;16931:4;16909:18;;:26;;;;;;;:::i;16788:339::-;-1:-1:-1;;;;;16965:29:0;;;;;;:25;:29;;;;;;;;16961:166;;;17035:23;10617:2;17054:3;17035:18;:23::i;:::-;17026:32;;:6;:32;:::i;:::-;17019:39;;17103:4;17081:18;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;16961:166:0;17162:8;;17158:91;;17191:42;17207:4;17221;17228;17191:15;:42::i;:::-;17263:14;17273:4;17263:14;;:::i;:::-;;;15959:1330;17299:33;17315:4;17321:2;17325:6;17299:15;:33::i;:::-;12935:4405;;;;12822:4518;;;:::o;2329:191::-;2422:6;;;-1:-1:-1;;;;;2439:17:0;;;-1:-1:-1;;;;;;2439:17:0;;;;;;;2472:40;;2422:6;;;2439:17;2422:6;;2472:40;;2403:16;;2472:40;2392:128;2329:191;:::o;5393:651::-;-1:-1:-1;;;;;5533:20:0;;5525:70;;;;-1:-1:-1;;;5525:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5692:17:0;;5668:21;5692:17;;;;;;;;;;;5728:23;;;;5720:74;;;;-1:-1:-1;;;5720:74:0;;9334:2:1;5720:74:0;;;9316:21:1;9373:2;9353:18;;;9346:30;9412:34;9392:18;;;9385:62;-1:-1:-1;;;9463:18:1;;;9456:36;9509:19;;5720:74:0;9132:402:1;5720:74:0;-1:-1:-1;;;;;5830:17:0;;;:9;:17;;;;;;;;;;;5850:22;;;5830:42;;5894:20;;;;;;;;:30;;5866:6;;5830:9;5894:30;;5866:6;;5894:30;:::i;:::-;;;;;;;;5959:9;-1:-1:-1;;;;;5942:35:0;5951:6;-1:-1:-1;;;;;5942:35:0;;5970:6;5942:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;5942:35:0;;;;;;;;5514:530;5393:651;;;:::o;6052:484::-;-1:-1:-1;;;;;6269:17:0;;;6245:21;6269:17;;;;;;;;;;;;;6342:22;;;6322:42;;;6386:20;;;;;;;:30;;6358:6;;6245:21;6386:30;;6358:6;;6386:30;:::i;17827:968::-;11190:6;:13;;-1:-1:-1;;11190:13:0;11199:4;11190:13;;;17923:4:::1;-1:-1:-1::0;3696:18:0;;;;;;;;;;;17879:50:::1;;17940:25;17989:20;;17968:18;;:41;;;;:::i;:::-;17940:69:::0;-1:-1:-1;18020:12:0::1;18047:20:::0;;;:46:::1;;-1:-1:-1::0;18071:22:0;;18047:46:::1;18043:85;;;18110:7;;;;;18043:85;10857:23;10798:10;10878:2;10857:23;:::i;:::-;18142:15;:33;18138:99;;;10857:23;10798:10;10878:2;10857:23;:::i;:::-;18192:33;;18138:99;18276:15:::0;18330:21:::1;18362:36;18276:15:::0;18362:16:::1;:36::i;:::-;18409:22;18434:41;18458:17:::0;18434:21:::1;:41;:::i;:::-;18409:66;;18486:17;18546;18529:14;18506:20;;:37;;;;:::i;:::-;:57;;;;:::i;:::-;18597:1;18574:20;:24:::0;;;18609:18:::1;:22:::0;;;18655:45:::1;::::0;18486:77;;-1:-1:-1;10084:42:0::1;::::0;18486:77;;18655:45;18597:1;18655:45;18486:77;10084:42;18655:45:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;18724:63:0::1;::::0;18642:58;;-1:-1:-1;10192:42:0::1;::::0;18761:21:::1;::::0;18724:63:::1;::::0;;;18761:21;10192:42;18724:63:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;11214:1:0::1;11226:6:::0;:14;;-1:-1:-1;;11226:14:0;;;17827:968::o;8226:132::-;8284:7;8311:39;8315:1;8318;8311:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;8304:46;8226:132;-1:-1:-1;;;8226:132:0:o;17348:471::-;17438:16;;;17452:1;17438:16;;;;;;;;17414:21;;17438:16;;;;;;;;;;-1:-1:-1;17438:16:0;17414:40;;17483:4;17465;17470:1;17465:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;17465:23:0;;;-1:-1:-1;;;;;17465:23:0;;;;;17509:15;-1:-1:-1;;;;;17509:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17499:4;17504:1;17499:7;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;17499:32:0;;;-1:-1:-1;;;;;17499:32:0;;;;;17542:62;17559:4;17574:15;17592:11;17542:8;:62::i;:::-;17615:196;;-1:-1:-1;;;17615:196:0;;-1:-1:-1;;;;;17615:15:0;:66;;;;:196;;17696:11;;17722:1;;17738:4;;17765;;17785:15;;17615:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17403:416;17348:471;:::o;8366:189::-;8452:7;8487:12;8480:5;8472:28;;;;-1:-1:-1;;;8472:28:0;;;;;;;;:::i;:::-;-1:-1:-1;8511:9:0;8523:5;8527:1;8523;:5;:::i;:::-;8511:17;8366:189;-1:-1:-1;;;;;8366:189:0: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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2965:388::-;3033:6;3041;3094:2;3082:9;3073:7;3069:23;3065:32;3062:52;;;3110:1;3107;3100:12;3062:52;3149:9;3136:23;3168:31;3193:5;3168:31;:::i;:::-;3218:5;-1:-1:-1;3275:2:1;3260:18;;3247:32;3288:33;3247:32;3288:33;:::i;:::-;3340:7;3330:17;;;2965:388;;;;;:::o;3358:380::-;3437:1;3433:12;;;;3480;;;3501:61;;3555:4;3547:6;3543:17;3533:27;;3501:61;3608:2;3600:6;3597:14;3577:18;3574:38;3571:161;;3654:10;3649:3;3645:20;3642:1;3635:31;3689:4;3686:1;3679:15;3717:4;3714:1;3707:15;3571:161;;3358:380;;;:::o;4152:127::-;4213:10;4208:3;4204:20;4201:1;4194:31;4244:4;4241:1;4234:15;4268:4;4265:1;4258:15;4284:168;4357:9;;;4388;;4405:15;;;4399:22;;4385:37;4375:71;;4426:18;;:::i;4457:125::-;4522:9;;;4543:10;;;4540:36;;;4556:18;;:::i;4587:356::-;4789:2;4771:21;;;4808:18;;;4801:30;4867:34;4862:2;4847:18;;4840:62;4934:2;4919:18;;4587:356::o;6569:401::-;6771:2;6753:21;;;6810:2;6790:18;;;6783:30;6849:34;6844:2;6829:18;;6822:62;-1:-1:-1;;;6915:2:1;6900:18;;6893:35;6960:3;6945:19;;6569:401::o;8777:128::-;8844:9;;;8865:11;;;8862:37;;;8879:18;;:::i;8910:217::-;8950:1;8976;8966:132;;9020:10;9015:3;9011:20;9008:1;9001:31;9055:4;9052:1;9045:15;9083:4;9080:1;9073:15;8966:132;-1:-1:-1;9112:9:1;;8910:217::o;9881:127::-;9942:10;9937:3;9933:20;9930:1;9923:31;9973:4;9970:1;9963:15;9997:4;9994:1;9987:15;10013:251;10083:6;10136:2;10124:9;10115:7;10111:23;10107:32;10104:52;;;10152:1;10149;10142:12;10104:52;10184:9;10178:16;10203:31;10228:5;10203:31;:::i;10269:980::-;10531:4;10579:3;10568:9;10564:19;10610:6;10599:9;10592:25;10636:2;10674:6;10669:2;10658:9;10654:18;10647:34;10717:3;10712:2;10701:9;10697:18;10690:31;10741:6;10776;10770:13;10807:6;10799;10792:22;10845:3;10834:9;10830:19;10823:26;;10884:2;10876:6;10872:15;10858:29;;10905:1;10915:195;10929:6;10926:1;10923:13;10915:195;;;10994:13;;-1:-1:-1;;;;;10990:39:1;10978:52;;11085:15;;;;11050:12;;;;11026:1;10944:9;10915:195;;;-1:-1:-1;;;;;;;11166:32:1;;;;11161:2;11146:18;;11139:60;-1:-1:-1;;;11230:3:1;11215:19;11208:35;11127:3;10269:980;-1:-1:-1;;;10269:980:1:o

Swarm Source

ipfs://23e047b7b7e3be0ba2c1b58cf9711448368be949251c56b95da1b4afa4398936

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.