ETH Price: $2,610.82 (+0.15%)

Contract

0x1C09C31eACb1D0454bB1e1fd6e8EEC35767BAd33
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve203522092024-07-21 3:25:1187 days ago1721532311IN
0x1C09C31e...5767BAd33
0 ETH0.000154813.34716796
Approve203522092024-07-21 3:25:1187 days ago1721532311IN
0x1C09C31e...5767BAd33
0 ETH0.000154813.34716796
Transfer203522082024-07-21 3:24:5987 days ago1721532299IN
0x1C09C31e...5767BAd33
0 ETH0.000254623.40887654
Transfer203521992024-07-21 3:23:1187 days ago1721532191IN
0x1C09C31e...5767BAd33
0 ETH0.000188923.2801445
Transfer203521972024-07-21 3:22:4787 days ago1721532167IN
0x1C09C31e...5767BAd33
0 ETH0.000181053.14357902
Approve203521902024-07-21 3:21:2387 days ago1721532083IN
0x1C09C31e...5767BAd33
0 ETH0.000103582.22904778
Transfer203521632024-07-21 3:15:5987 days ago1721531759IN
0x1C09C31e...5767BAd33
0 ETH0.000193293.35597984
Transfer203521632024-07-21 3:15:5987 days ago1721531759IN
0x1C09C31e...5767BAd33
0 ETH0.000193293.35597984
Approve203521472024-07-21 3:12:4787 days ago1721531567IN
0x1C09C31e...5767BAd33
0 ETH0.000335547.21336004
Approve203521402024-07-21 3:11:2387 days ago1721531483IN
0x1C09C31e...5767BAd33
0 ETH0.000164613.53781359
Transfer203521292024-07-21 3:09:1187 days ago1721531351IN
0x1C09C31e...5767BAd33
0 ETH0.000211363.67048326
Approve203521222024-07-21 3:07:4787 days ago1721531267IN
0x1C09C31e...5767BAd33
0 ETH0.000168923.65216722
Approve203521212024-07-21 3:07:3587 days ago1721531255IN
0x1C09C31e...5767BAd33
0 ETH0.000168923.65216722
Transfer203521202024-07-21 3:07:2387 days ago1721531243IN
0x1C09C31e...5767BAd33
0 ETH0.000200883.48862627
Transfer203521202024-07-21 3:07:2387 days ago1721531243IN
0x1C09C31e...5767BAd33
0 ETH0.000200883.48862627
Approve203521192024-07-21 3:07:1187 days ago1721531231IN
0x1C09C31e...5767BAd33
0 ETH0.000150143.24618246
Transfer203520952024-07-21 3:02:2387 days ago1721530943IN
0x1C09C31e...5767BAd33
0 ETH0.00021993.81886881
Approve203520942024-07-21 3:02:1187 days ago1721530931IN
0x1C09C31e...5767BAd33
0 ETH0.000162543.51424667
Transfer203520942024-07-21 3:02:1187 days ago1721530931IN
0x1C09C31e...5767BAd33
0 ETH0.000202363.51424667
Transfer203520842024-07-21 3:00:1187 days ago1721530811IN
0x1C09C31e...5767BAd33
0 ETH0.000183993.19527965
Transfer203520762024-07-21 2:58:3587 days ago1721530715IN
0x1C09C31e...5767BAd33
0 ETH0.000178283.09615179
Approve203520702024-07-21 2:57:2387 days ago1721530643IN
0x1C09C31e...5767BAd33
0 ETH0.000233125.01028238
Approve203520702024-07-21 2:57:2387 days ago1721530643IN
0x1C09C31e...5767BAd33
0 ETH0.000233125.01028238
Approve203520572024-07-21 2:54:4787 days ago1721530487IN
0x1C09C31e...5767BAd33
0 ETH0.000145423.14406133
Transfer203520572024-07-21 2:54:4787 days ago1721530487IN
0x1C09C31e...5767BAd33
0 ETH0.000181083.14406133
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
203521802024-07-21 3:19:2387 days ago1721531963
0x1C09C31e...5767BAd33
0.01253625 ETH
203521802024-07-21 3:19:2387 days ago1721531963
0x1C09C31e...5767BAd33
0.01253625 ETH
203521722024-07-21 3:17:4787 days ago1721531867
0x1C09C31e...5767BAd33
0.11393937 ETH
203521722024-07-21 3:17:4787 days ago1721531867
0x1C09C31e...5767BAd33
0.11393937 ETH
203521652024-07-21 3:16:2387 days ago1721531783
0x1C09C31e...5767BAd33
0.1188648 ETH
203521652024-07-21 3:16:2387 days ago1721531783
0x1C09C31e...5767BAd33
0.1188648 ETH
203521532024-07-21 3:13:5987 days ago1721531639
0x1C09C31e...5767BAd33
0.10852139 ETH
203521532024-07-21 3:13:5987 days ago1721531639
0x1C09C31e...5767BAd33
0.10852139 ETH
203521412024-07-21 3:11:3587 days ago1721531495
0x1C09C31e...5767BAd33
0.09099052 ETH
203521412024-07-21 3:11:3587 days ago1721531495
0x1C09C31e...5767BAd33
0.09099052 ETH
203521372024-07-21 3:10:4787 days ago1721531447
0x1C09C31e...5767BAd33
0.12387916 ETH
203521372024-07-21 3:10:4787 days ago1721531447
0x1C09C31e...5767BAd33
0.12387916 ETH
203521372024-07-21 3:10:4787 days ago1721531447
0x1C09C31e...5767BAd33
0.12540037 ETH
203521372024-07-21 3:10:4787 days ago1721531447
0x1C09C31e...5767BAd33
0.12540037 ETH
203521302024-07-21 3:09:2387 days ago1721531363
0x1C09C31e...5767BAd33
0.15033615 ETH
203521302024-07-21 3:09:2387 days ago1721531363
0x1C09C31e...5767BAd33
0.15033615 ETH
203521172024-07-21 3:06:4787 days ago1721531207
0x1C09C31e...5767BAd33
0.14198905 ETH
203521172024-07-21 3:06:4787 days ago1721531207
0x1C09C31e...5767BAd33
0.14198905 ETH
203521122024-07-21 3:05:4787 days ago1721531147
0x1C09C31e...5767BAd33
0.12568196 ETH
203521122024-07-21 3:05:4787 days ago1721531147
0x1C09C31e...5767BAd33
0.12568196 ETH
203521012024-07-21 3:03:3587 days ago1721531015
0x1C09C31e...5767BAd33
0.12692553 ETH
203521012024-07-21 3:03:3587 days ago1721531015
0x1C09C31e...5767BAd33
0.12692553 ETH
203520792024-07-21 2:59:1187 days ago1721530751
0x1C09C31e...5767BAd33
0.08064079 ETH
203520792024-07-21 2:59:1187 days ago1721530751
0x1C09C31e...5767BAd33
0.08064079 ETH
203520712024-07-21 2:57:3587 days ago1721530655
0x1C09C31e...5767BAd33
0.08994675 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DUCK

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 2024-07-21
*/

/**
    https://t.me/Duck_ERC_20
    https://x.com/Duck_ERC_20
    https://duckerc20.space
 */


// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.19;

library SafeMath {
    function tryAdd(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b)
        internal
        pure
        returns (bool, uint256)
    {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

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

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

    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 IDEXFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IDEXRouter {
    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;
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

contract DUCK is IERC20, Ownable {
    using SafeMath for uint256;

    string constant _name = "Duck";
    string constant _symbol = "DUCK";
    uint8 constant _decimals = 18;

    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    address public autoLiquidityReceiver;
    address public marketingWallet;

    uint256 _totalSupply = 1_000_000_000 * (10**_decimals);
    uint256 public _maxTxAmount = (_totalSupply * 20) / 1000;
    uint256 public _walletMax = (_totalSupply * 20) / 1000;
    bool public restrictWhales = true;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    bool public tradingOpen = false;

    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isTxLimitExempt;

    bool public takeBuyFee = true;
    bool public takeSellFee = true;
    bool public takeTransferFee = true;

    uint256 public liquidityFee = 0;
    uint256 public marketingFee = 300;
    uint256 public rewardsFee = 0;

    uint256 public totalFee = 0;
    uint256 public totalFeeIfSelling = 0;

    IDEXRouter public router;
    address public pair;
    mapping(address => bool) public isPair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = false;
    bool public swapAndLiquifyByLimitOnly = false;

    uint256 public swapThreshold = (_totalSupply * 5) / 1000000;

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    event AutoLiquify(uint256 amountETH, uint256 amountToken);

    constructor() {
        autoLiquidityReceiver = msg.sender;
        marketingWallet = 0x48EAb6fA911B0e30750C22f9b3Cb77CbA334c0FC;

        router = IDEXRouter(routerAddress);

        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;
        isFeeExempt[marketingWallet] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[address(this)] = true;

        totalFee = liquidityFee.add(marketingFee).add(rewardsFee);
        totalFeeIfSelling = totalFee;

        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function name() external pure override returns (string memory) {
        return _name;
    }

    function symbol() external pure override returns (string memory) {
        return _symbol;
    }

    function decimals() external pure override returns (uint8) {
        return _decimals;
    }

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

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

    function allowance(address holder, address spender)
        external
        view
        override
        returns (uint256)
    {
        return _allowances[holder][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender]
                .sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }

    function openDuck() external onlyOwner {
        address pair_weth = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        pair = pair_weth;
        isPair[pair] = true;

        isTxLimitExempt[pair_weth] = true;

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

        tradingOpen = true;
        swapAndLiquifyEnabled = true;
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        if (inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (!isFeeExempt[sender]) {
            require(tradingOpen, "Trading not open yet");
        }

        require(
            amount <= _maxTxAmount ||
                isTxLimitExempt[sender] ||
                !restrictWhales,
            "TX Limit Exceeded"
        );

        if (isPair[recipient] && !inSwapAndLiquify && swapAndLiquifyEnabled) {
            swapBack();
        }

        if (!isTxLimitExempt[recipient] && restrictWhales) {
            require(
                _balances[recipient].add(amount) <= _walletMax,
                "Wallet Limit Exceeded"
            );
        }

        uint256 finalAmount = takeFee(sender, recipient, amount);
        _balances[recipient] = _balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);

        return true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        bool fee = !isFeeExempt[sender] && !isFeeExempt[recipient];
        uint256 feeAmount = 0;
        if (fee) {
            uint256 feeApplicable = 0;

            if (isPair[recipient] && takeSellFee) {
                feeApplicable = totalFeeIfSelling;
            }
            if (isPair[sender] && takeBuyFee) {
                feeApplicable = totalFee;
            }
            if (!isPair[sender] && !isPair[recipient]) {
                if (takeTransferFee) {
                    feeApplicable = totalFeeIfSelling;
                } else {
                    feeApplicable = 0;
                }
            }

            feeAmount = amount.mul(feeApplicable).div(1000);
        } else {
            if (sender == marketingWallet) {
                return amount;
            }
        }

        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );

        if (feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
        return amount.sub(feeAmount);
    }

    function swapBack() internal lockTheSwap {
        uint256 amountToSwap = _balances[address(this)];
        if (amountToSwap >= swapThreshold * 2000)
            amountToSwap = swapThreshold * 2000;

        if (amountToSwap >= swapThreshold) {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = router.WETH();

            router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                amountToSwap,
                0,
                path,
                address(this),
                block.timestamp
            );
        }

        uint256 amountETH = address(this).balance;

        payable(marketingWallet).transfer(amountETH);
    }

    function removeTax(
        uint256 newLiqFeeThou,
        uint256 newRewardFeeThou,
        uint256 newmarketingFee,
        uint256 extraSellFee
    ) external onlyOwner {
        liquidityFee = newLiqFeeThou;
        rewardsFee = newRewardFeeThou;
        marketingFee = newmarketingFee;

        totalFee = liquidityFee.add(marketingFee).add(rewardsFee);
        totalFeeIfSelling = totalFee + extraSellFee;
        require(
            totalFee <= 990 && totalFeeIfSelling <= 990,
            "Token: Combined fees must be under %"
        );
    }

    function removeLimits() external onlyOwner {
        _walletMax = type(uint256).max;
        _maxTxAmount = type(uint256).max;
    }

    function removeERC20(address tokenAddress, uint256 tokens)
        public
        onlyOwner
        returns (bool success)
    {
        require(tokenAddress != address(this), "Cant remove the native token");
        return IERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function removeEther(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        payable(msg.sender).transfer((amountETH * amountPercentage) / 100);
    }
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"}],"name":"AutoLiquify","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openDuck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeERC20","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"removeEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFeeThou","type":"uint256"},{"internalType":"uint256","name":"newRewardFeeThou","type":"uint256"},{"internalType":"uint256","name":"newmarketingFee","type":"uint256"},{"internalType":"uint256","name":"extraSellFee","type":"uint256"}],"name":"removeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"takeBuyFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeSellFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeTransferFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","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":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000386012600a620003eb565b6200004890633b9aca00620003fc565b6004556103e860045460146200005f9190620003fc565b6200006b919062000416565b6005556103e86004546014620000829190620003fc565b6200008e919062000416565b60065560078054600160ff1991821617909155600a80549091169055600d805462ffffff1916620101011790556000600e81905561012c600f55601081905560118190556012556016805462ffff0019169055600454620f424090620000f6906005620003fc565b62000102919062000416565b6017553480156200011257600080fd5b506200011e3362000271565b60028054336001600160a01b03199182168117909255600380547348eab6fa911b0e30750c22f9b3cb77cba334c0fc90831617815560018054601380546001600160a01b039283169516851790553060008181526009602090815260408083209783529681528682206000199055878252600b8152868220805460ff19908116871790915583835287832080548216871790559554841682528682208054871686179055968152600c9096528486208054851684179055601454909116855283852080548416831790558452919092208054909216179055601054600f54600e54620002189291620002119190620002c1565b90620002c1565b601181905560125560045433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200044f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000620002cf828462000439565b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200032f578160001904821115620003135762000313620002d8565b808516156200032157918102915b93841c9390800290620002f3565b509250929050565b6000826200034857506001620002d2565b816200035757506000620002d2565b81600181146200037057600281146200037b576200039b565b6001915050620002d2565b60ff8411156200038f576200038f620002d8565b50506001821b620002d2565b5060208310610133831016604e8410600b8410161715620003c0575081810a620002d2565b620003cc8383620002ee565b8060001904821115620003e357620003e3620002d8565b029392505050565b6000620002cf60ff84168362000337565b8082028115828204841417620002d257620002d2620002d8565b6000826200043457634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620002d257620002d2620002d8565b611a0a806200045f6000396000f3fe6080604052600436106102345760003560e01c80637d1db4a51161012e578063a9059cbb116100ab578063e5e31b131161006f578063e5e31b13146106b2578063f0ef821f146106e2578063f2fde38b146106fc578063f887ea401461071c578063ffb54a991461073c57600080fd5b8063a9059cbb146105f6578063ca33e64c14610616578063ca987b0e14610636578063da00097d1461064c578063dd62ed3e1461066c57600080fd5b80638da5cb5b116100f25780638da5cb5b1461055557806395d89b411461057357806398118cb4146105a0578063a5355989146105b6578063a8aa1b31146105d657600080fd5b80637d1db4a5146104b9578063807c2d9c146104cf5780638637b069146104e5578063876b876e146105055780638b42507f1461052557600080fd5b80633f4218e0116101bc57806370a082311161018057806370a0823114610401578063715018a614610437578063751039fc1461044c57806375f0a87414610461578063787a051b1461049957600080fd5b80633f4218e01461036357806344de2e4c146103935780634a74bb02146103ad5780636b67c4df146103cc57806370540933146103e257600080fd5b80631df4ccfc116102035780631df4ccfc146102e457806323b872dd146102fa5780632bb14e1d1461031a578063313ce56714610330578063343c2b131461034c57600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b31461029f57806318160ddd146102cf57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660175481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b506040805180820190915260048152634475636b60e01b60208201525b60405161026091906116c5565b3480156102ab57600080fd5b506102bf6102ba366004611728565b610756565b6040519015158152602001610260565b3480156102db57600080fd5b50600454610256565b3480156102f057600080fd5b5061025660115481565b34801561030657600080fd5b506102bf610315366004611754565b6107c3565b34801561032657600080fd5b5061025660105481565b34801561033c57600080fd5b5060405160128152602001610260565b34801561035857600080fd5b50610361610885565b005b34801561036f57600080fd5b506102bf61037e366004611795565b600b6020526000908152604090205460ff1681565b34801561039f57600080fd5b506007546102bf9060ff1681565b3480156103b957600080fd5b506016546102bf90610100900460ff1681565b3480156103d857600080fd5b50610256600f5481565b3480156103ee57600080fd5b50600d546102bf90610100900460ff1681565b34801561040d57600080fd5b5061025661041c366004611795565b6001600160a01b031660009081526008602052604090205490565b34801561044357600080fd5b50610361610b35565b34801561045857600080fd5b50610361610b6b565b34801561046d57600080fd5b50600354610481906001600160a01b031681565b6040516001600160a01b039091168152602001610260565b3480156104a557600080fd5b506103616104b43660046117b2565b610ba2565b3480156104c557600080fd5b5061025660055481565b3480156104db57600080fd5b5061025660065481565b3480156104f157600080fd5b506102bf610500366004611728565b610c14565b34801561051157600080fd5b506103616105203660046117cb565b610d08565b34801561053157600080fd5b506102bf610540366004611795565b600c6020526000908152604090205460ff1681565b34801561056157600080fd5b506000546001600160a01b0316610481565b34801561057f57600080fd5b506040805180820190915260048152634455434b60e01b6020820152610292565b3480156105ac57600080fd5b50610256600e5481565b3480156105c257600080fd5b50600d546102bf9062010000900460ff1681565b3480156105e257600080fd5b50601454610481906001600160a01b031681565b34801561060257600080fd5b506102bf610611366004611728565b610dde565b34801561062257600080fd5b50600254610481906001600160a01b031681565b34801561064257600080fd5b5061025660125481565b34801561065857600080fd5b506016546102bf9062010000900460ff1681565b34801561067857600080fd5b506102566106873660046117fd565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156106be57600080fd5b506102bf6106cd366004611795565b60156020526000908152604090205460ff1681565b3480156106ee57600080fd5b50600d546102bf9060ff1681565b34801561070857600080fd5b50610361610717366004611795565b610deb565b34801561072857600080fd5b50601354610481906001600160a01b031681565b34801561074857600080fd5b50600a546102bf9060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610870576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461084b918490610e86565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61087b848484610eb2565b90505b9392505050565b6000546001600160a01b031633146108b85760405162461bcd60e51b81526004016108af90611836565b60405180910390fd5b6013546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610926919061186b565b6001600160a01b031663c9c65396601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ab919061186b565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b919061186b565b601480546001600160a01b0319166001600160a01b038381169182179092556000908152601560209081526040808320805460ff199081166001908117909255600c84528285208054909116909117905560135430808552600890935292205493945091169163f305d7199147916040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201526000604482018190526064820181905260848201524260a482015260c40160606040518083038185885af1158015610aee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b139190611888565b5050600a805460ff1916600117905550506016805461ff001916610100179055565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b81526004016108af90611836565b610b696000611133565b565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016108af90611836565b6000196006819055600555565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016108af90611836565b47336108fc6064610bdd85856118cc565b610be791906118e3565b6040518115909202916000818181858888f19350505050158015610c0f573d6000803e3d6000fd5b505050565b600080546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016108af90611836565b306001600160a01b03841603610c975760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e0000000060448201526064016108af565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190611905565b6000546001600160a01b03163314610d325760405162461bcd60e51b81526004016108af90611836565b600e8490556010839055600f829055610d5583610d4f8685611183565b90611183565b6011819055610d65908290611927565b6012556011546103de10801590610d8057506103de60125411155b610dd85760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a20436f6d62696e65642066656573206d75737420626520756e646044820152636572202560e01b60648201526084016108af565b50505050565b600061087e338484610eb2565b6000546001600160a01b03163314610e155760405162461bcd60e51b81526004016108af90611836565b6001600160a01b038116610e7a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108af565b610e8381611133565b50565b60008184841115610eaa5760405162461bcd60e51b81526004016108af91906116c5565b505050900390565b60165460009060ff1615610ed257610ecb84848461118f565b905061087e565b6001600160a01b0384166000908152600b602052604090205460ff16610f3b57600a5460ff16610f3b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108af565b60055482111580610f6457506001600160a01b0384166000908152600c602052604090205460ff165b80610f72575060075460ff16155b610fb25760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108af565b6001600160a01b03831660009081526015602052604090205460ff168015610fdd575060165460ff16155b8015610ff05750601654610100900460ff165b15610ffd57610ffd611275565b6001600160a01b0383166000908152600c602052604090205460ff16158015611028575060075460ff165b15611099576006546001600160a01b0384166000908152600860205260409020546110539084611183565b11156110995760405162461bcd60e51b815260206004820152601560248201527415d85b1b195d08131a5b5a5d08115e18d959591959605a1b60448201526064016108af565b60006110a685858561144a565b6001600160a01b0385166000908152600860205260409020549091506110cc9082611183565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111209085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061087e8284611927565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546111e0918490610e86565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461120f9083611183565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112639086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055306000908152600860205260409020546017546112a1906107d06118cc565b81106112b9576017546112b6906107d06118cc565b90505b60175481106114015760408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f761193a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611374919061186b565b816001815181106113875761138761193a565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906113cd908590600090869030904290600401611950565b600060405180830381600087803b1580156113e757600080fd5b505af11580156113fb573d6000803e3d6000fd5b50505050505b60035460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561143b573d6000803e3d6000fd5b50506016805460ff1916905550565b6001600160a01b0383166000908152600b6020526040812054819060ff1615801561148e57506001600160a01b0384166000908152600b602052604090205460ff16155b905060008115611588576001600160a01b03851660009081526015602052604081205460ff1680156114c75750600d54610100900460ff165b156114d157506012545b6001600160a01b03871660009081526015602052604090205460ff1680156114fb5750600d5460ff165b1561150557506011545b6001600160a01b03871660009081526015602052604090205460ff1615801561154757506001600160a01b03861660009081526015602052604090205460ff16155b1561156a57600d5462010000900460ff1615611566575060125461156a565b5060005b6115806103e861157a87846116a1565b906116ad565b9150506115a8565b6003546001600160a01b03908116908716036115a857839250505061087e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600890915291909120546115fa918690610e86565b6001600160a01b038716600090815260086020526040902055801561168d57306000908152600860205260409020546116339082611183565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116849085815260200190565b60405180910390a35b61169784826116b9565b9695505050505050565b600061087e82846118cc565b600061087e82846118e3565b600061087e82846119c1565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8357600080fd5b6000806040838503121561173b57600080fd5b823561174681611713565b946020939093013593505050565b60008060006060848603121561176957600080fd5b833561177481611713565b9250602084013561178481611713565b929592945050506040919091013590565b6000602082840312156117a757600080fd5b813561087e81611713565b6000602082840312156117c457600080fd5b5035919050565b600080600080608085870312156117e157600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561181057600080fd5b823561181b81611713565b9150602083013561182b81611713565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561187d57600080fd5b815161087e81611713565b60008060006060848603121561189d57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107bd576107bd6118b6565b60008261190057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561191757600080fd5b8151801515811461087e57600080fd5b808201808211156107bd576107bd6118b6565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119a05784516001600160a01b03168352938301939183019160010161197b565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156107bd576107bd6118b656fea26469706673582212201e24be7f0b2055ccc3d910a2a407c658b21ee7a3dfd35766d59a21969c72205d64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102345760003560e01c80637d1db4a51161012e578063a9059cbb116100ab578063e5e31b131161006f578063e5e31b13146106b2578063f0ef821f146106e2578063f2fde38b146106fc578063f887ea401461071c578063ffb54a991461073c57600080fd5b8063a9059cbb146105f6578063ca33e64c14610616578063ca987b0e14610636578063da00097d1461064c578063dd62ed3e1461066c57600080fd5b80638da5cb5b116100f25780638da5cb5b1461055557806395d89b411461057357806398118cb4146105a0578063a5355989146105b6578063a8aa1b31146105d657600080fd5b80637d1db4a5146104b9578063807c2d9c146104cf5780638637b069146104e5578063876b876e146105055780638b42507f1461052557600080fd5b80633f4218e0116101bc57806370a082311161018057806370a0823114610401578063715018a614610437578063751039fc1461044c57806375f0a87414610461578063787a051b1461049957600080fd5b80633f4218e01461036357806344de2e4c146103935780634a74bb02146103ad5780636b67c4df146103cc57806370540933146103e257600080fd5b80631df4ccfc116102035780631df4ccfc146102e457806323b872dd146102fa5780632bb14e1d1461031a578063313ce56714610330578063343c2b131461034c57600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b31461029f57806318160ddd146102cf57600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660175481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b506040805180820190915260048152634475636b60e01b60208201525b60405161026091906116c5565b3480156102ab57600080fd5b506102bf6102ba366004611728565b610756565b6040519015158152602001610260565b3480156102db57600080fd5b50600454610256565b3480156102f057600080fd5b5061025660115481565b34801561030657600080fd5b506102bf610315366004611754565b6107c3565b34801561032657600080fd5b5061025660105481565b34801561033c57600080fd5b5060405160128152602001610260565b34801561035857600080fd5b50610361610885565b005b34801561036f57600080fd5b506102bf61037e366004611795565b600b6020526000908152604090205460ff1681565b34801561039f57600080fd5b506007546102bf9060ff1681565b3480156103b957600080fd5b506016546102bf90610100900460ff1681565b3480156103d857600080fd5b50610256600f5481565b3480156103ee57600080fd5b50600d546102bf90610100900460ff1681565b34801561040d57600080fd5b5061025661041c366004611795565b6001600160a01b031660009081526008602052604090205490565b34801561044357600080fd5b50610361610b35565b34801561045857600080fd5b50610361610b6b565b34801561046d57600080fd5b50600354610481906001600160a01b031681565b6040516001600160a01b039091168152602001610260565b3480156104a557600080fd5b506103616104b43660046117b2565b610ba2565b3480156104c557600080fd5b5061025660055481565b3480156104db57600080fd5b5061025660065481565b3480156104f157600080fd5b506102bf610500366004611728565b610c14565b34801561051157600080fd5b506103616105203660046117cb565b610d08565b34801561053157600080fd5b506102bf610540366004611795565b600c6020526000908152604090205460ff1681565b34801561056157600080fd5b506000546001600160a01b0316610481565b34801561057f57600080fd5b506040805180820190915260048152634455434b60e01b6020820152610292565b3480156105ac57600080fd5b50610256600e5481565b3480156105c257600080fd5b50600d546102bf9062010000900460ff1681565b3480156105e257600080fd5b50601454610481906001600160a01b031681565b34801561060257600080fd5b506102bf610611366004611728565b610dde565b34801561062257600080fd5b50600254610481906001600160a01b031681565b34801561064257600080fd5b5061025660125481565b34801561065857600080fd5b506016546102bf9062010000900460ff1681565b34801561067857600080fd5b506102566106873660046117fd565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156106be57600080fd5b506102bf6106cd366004611795565b60156020526000908152604090205460ff1681565b3480156106ee57600080fd5b50600d546102bf9060ff1681565b34801561070857600080fd5b50610361610717366004611795565b610deb565b34801561072857600080fd5b50601354610481906001600160a01b031681565b34801561074857600080fd5b50600a546102bf9060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610870576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461084b918490610e86565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61087b848484610eb2565b90505b9392505050565b6000546001600160a01b031633146108b85760405162461bcd60e51b81526004016108af90611836565b60405180910390fd5b6013546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610926919061186b565b6001600160a01b031663c9c65396601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610987573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ab919061186b565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b919061186b565b601480546001600160a01b0319166001600160a01b038381169182179092556000908152601560209081526040808320805460ff199081166001908117909255600c84528285208054909116909117905560135430808552600890935292205493945091169163f305d7199147916040516001600160e01b031960e086901b1681526001600160a01b03909216600483015260248201526000604482018190526064820181905260848201524260a482015260c40160606040518083038185885af1158015610aee573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b139190611888565b5050600a805460ff1916600117905550506016805461ff001916610100179055565b6000546001600160a01b03163314610b5f5760405162461bcd60e51b81526004016108af90611836565b610b696000611133565b565b6000546001600160a01b03163314610b955760405162461bcd60e51b81526004016108af90611836565b6000196006819055600555565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016108af90611836565b47336108fc6064610bdd85856118cc565b610be791906118e3565b6040518115909202916000818181858888f19350505050158015610c0f573d6000803e3d6000fd5b505050565b600080546001600160a01b03163314610c3f5760405162461bcd60e51b81526004016108af90611836565b306001600160a01b03841603610c975760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e0000000060448201526064016108af565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087e9190611905565b6000546001600160a01b03163314610d325760405162461bcd60e51b81526004016108af90611836565b600e8490556010839055600f829055610d5583610d4f8685611183565b90611183565b6011819055610d65908290611927565b6012556011546103de10801590610d8057506103de60125411155b610dd85760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a20436f6d62696e65642066656573206d75737420626520756e646044820152636572202560e01b60648201526084016108af565b50505050565b600061087e338484610eb2565b6000546001600160a01b03163314610e155760405162461bcd60e51b81526004016108af90611836565b6001600160a01b038116610e7a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108af565b610e8381611133565b50565b60008184841115610eaa5760405162461bcd60e51b81526004016108af91906116c5565b505050900390565b60165460009060ff1615610ed257610ecb84848461118f565b905061087e565b6001600160a01b0384166000908152600b602052604090205460ff16610f3b57600a5460ff16610f3b5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016108af565b60055482111580610f6457506001600160a01b0384166000908152600c602052604090205460ff165b80610f72575060075460ff16155b610fb25760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016108af565b6001600160a01b03831660009081526015602052604090205460ff168015610fdd575060165460ff16155b8015610ff05750601654610100900460ff165b15610ffd57610ffd611275565b6001600160a01b0383166000908152600c602052604090205460ff16158015611028575060075460ff165b15611099576006546001600160a01b0384166000908152600860205260409020546110539084611183565b11156110995760405162461bcd60e51b815260206004820152601560248201527415d85b1b195d08131a5b5a5d08115e18d959591959605a1b60448201526064016108af565b60006110a685858561144a565b6001600160a01b0385166000908152600860205260409020549091506110cc9082611183565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111209085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061087e8284611927565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546111e0918490610e86565b6001600160a01b03808616600090815260086020526040808220939093559085168152205461120f9083611183565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112639086815260200190565b60405180910390a35060019392505050565b6016805460ff19166001179055306000908152600860205260409020546017546112a1906107d06118cc565b81106112b9576017546112b6906107d06118cc565b90505b60175481106114015760408051600280825260608201835260009260208301908036833701905050905030816000815181106112f7576112f761193a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611374919061186b565b816001815181106113875761138761193a565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906113cd908590600090869030904290600401611950565b600060405180830381600087803b1580156113e757600080fd5b505af11580156113fb573d6000803e3d6000fd5b50505050505b60035460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561143b573d6000803e3d6000fd5b50506016805460ff1916905550565b6001600160a01b0383166000908152600b6020526040812054819060ff1615801561148e57506001600160a01b0384166000908152600b602052604090205460ff16155b905060008115611588576001600160a01b03851660009081526015602052604081205460ff1680156114c75750600d54610100900460ff165b156114d157506012545b6001600160a01b03871660009081526015602052604090205460ff1680156114fb5750600d5460ff165b1561150557506011545b6001600160a01b03871660009081526015602052604090205460ff1615801561154757506001600160a01b03861660009081526015602052604090205460ff16155b1561156a57600d5462010000900460ff1615611566575060125461156a565b5060005b6115806103e861157a87846116a1565b906116ad565b9150506115a8565b6003546001600160a01b03908116908716036115a857839250505061087e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600890915291909120546115fa918690610e86565b6001600160a01b038716600090815260086020526040902055801561168d57306000908152600860205260409020546116339082611183565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116849085815260200190565b60405180910390a35b61169784826116b9565b9695505050505050565b600061087e82846118cc565b600061087e82846118e3565b600061087e82846119c1565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8357600080fd5b6000806040838503121561173b57600080fd5b823561174681611713565b946020939093013593505050565b60008060006060848603121561176957600080fd5b833561177481611713565b9250602084013561178481611713565b929592945050506040919091013590565b6000602082840312156117a757600080fd5b813561087e81611713565b6000602082840312156117c457600080fd5b5035919050565b600080600080608085870312156117e157600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561181057600080fd5b823561181b81611713565b9150602083013561182b81611713565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561187d57600080fd5b815161087e81611713565b60008060006060848603121561189d57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107bd576107bd6118b6565b60008261190057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561191757600080fd5b8151801515811461087e57600080fd5b808201808211156107bd576107bd6118b6565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119a05784516001600160a01b03168352938301939183019160010161197b565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156107bd576107bd6118b656fea26469706673582212201e24be7f0b2055ccc3d910a2a407c658b21ee7a3dfd35766d59a21969c72205d64736f6c63430008130033

Deployed Bytecode Sourcemap

5899:9450:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;7275:59:0;;;;;;;;8324:94;;;;;;;;;;-1:-1:-1;8405:5:0;;;;;;;;;;;;-1:-1:-1;;;8405:5:0;;;;8324:94;;;;;;;:::i;9067:248::-;;;;;;;;;;-1:-1:-1;9067:248:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;9067:248:0;1205:187:1;8634:102:0;;;;;;;;;;-1:-1:-1;8716:12:0;;8634:102;;6962:27;;;;;;;;;;;;;;;;9519:422;;;;;;;;;;-1:-1:-1;9519:422:0;;;;;:::i;:::-;;:::i;6924:29::-;;;;;;;;;;;;;;;;8532:94;;;;;;;;;;-1:-1:-1;8532:94:0;;6077:2;2000:36:1;;1988:2;1973:18;8532:94:0;1858:184:1;9949:588:0;;;;;;;;;;;;;:::i;:::-;;6624:43;;;;;;;;;;-1:-1:-1;6624:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6430:33;;;;;;;;;;-1:-1:-1;6430:33:0;;;;;;;;7173:41;;;;;;;;;;-1:-1:-1;7173:41:0;;;;;;;;;;;6884:33;;;;;;;;;;;;;;;;6766:30;;;;;;;;;;-1:-1:-1;6766:30:0;;;;;;;;;;;8744:119;;;;;;;;;;-1:-1:-1;8744:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8837:18:0;8810:7;8837:18;;;:9;:18;;;;;;;8744:119;5344:103;;;;;;;;;;;;;:::i;14705:135::-;;;;;;;;;;;;;:::i;6206:30::-;;;;;;;;;;-1:-1:-1;6206:30:0;;;;-1:-1:-1;;;;;6206:30:0;;;;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6206:30:0;2299:203:1;15143::0;;;;;;;;;;-1:-1:-1;15143:203:0;;;;;:::i;:::-;;:::i;6306:56::-;;;;;;;;;;;;;;;;6369:54;;;;;;;;;;;;;;;;14848:287;;;;;;;;;;-1:-1:-1;14848:287:0;;;;;:::i;:::-;;:::i;14128:569::-;;;;;;;;;;-1:-1:-1;14128:569:0;;;;;:::i;:::-;;:::i;6674:47::-;;;;;;;;;;-1:-1:-1;6674:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5121:87;;;;;;;;;;-1:-1:-1;5167:7:0;5194:6;-1:-1:-1;;;;;5194:6:0;5121:87;;8426:98;;;;;;;;;;-1:-1:-1;8509:7:0;;;;;;;;;;;;-1:-1:-1;;;8509:7:0;;;;8426:98;;6846:31;;;;;;;;;;;;;;;;6803:34;;;;;;;;;;-1:-1:-1;6803:34:0;;;;;;;;;;;7072:19;;;;;;;;;;-1:-1:-1;7072:19:0;;;;-1:-1:-1;;;;;7072:19:0;;;9323:188;;;;;;;;;;-1:-1:-1;9323:188:0;;;;;:::i;:::-;;:::i;6163:36::-;;;;;;;;;;-1:-1:-1;6163:36:0;;;;-1:-1:-1;;;;;6163:36:0;;;6996;;;;;;;;;;;;;;;;7221:45;;;;;;;;;;-1:-1:-1;7221:45:0;;;;;;;;;;;8871:188;;;;;;;;;;-1:-1:-1;8871:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;9023:19:0;;;8991:7;9023:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8871:188;7098:38;;;;;;;;;;-1:-1:-1;7098:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6730:29;;;;;;;;;;-1:-1:-1;6730:29:0;;;;;;;;5455:238;;;;;;;;;;-1:-1:-1;5455:238:0;;;;;:::i;:::-;;:::i;7041:24::-;;;;;;;;;;-1:-1:-1;7041:24:0;;;;-1:-1:-1;;;;;7041:24:0;;;6584:31;;;;;;;;;;-1:-1:-1;6584:31:0;;;;;;;;9067:248;9203:10;9169:4;9191:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9191:32:0;;;;;;;;;;:41;;;9248:37;9169:4;;9191:32;;9248:37;;;;9226:6;160:25:1;;148:2;133:18;;14:177;9248:37:0;;;;;;;;-1:-1:-1;9303:4:0;9067:248;;;;;:::o;9519:422::-;-1:-1:-1;;;;;9674:19:0;;9653:4;9674:19;;;:11;:19;;;;;;;;9694:10;9674:31;;;;;;;;-1:-1:-1;;9674:52:0;9670:206;;9777:87;;;;;;;;;;;-1:-1:-1;;;9777:87:0;;;;;;;;-1:-1:-1;;;;;9777:19:0;;-1:-1:-1;9777:19:0;;;:11;:19;;;;;9797:10;9777:31;;;;;;;;;;:87;;9831:6;;9777:53;:87::i;:::-;-1:-1:-1;;;;;9743:19:0;;;;;;:11;:19;;;;;;;;9763:10;9743:31;;;;;;;:121;9670:206;9893:40;9907:6;9915:9;9926:6;9893:13;:40::i;:::-;9886:47;;9519:422;;;;;;:::o;9949:588::-;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;;;;;;;;;10031:6:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;10031:16:0;;;;9999:17:::1;::::0;-1:-1:-1;;;;;10031:6:0::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:6;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10019:40:0::1;;10074:6;;;;;;;;;-1:-1:-1::0;;;;;10074:6:0::1;-1:-1:-1::0;;;;;10074:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10019:107;::::0;-1:-1:-1;;;;;;10019:107:0::1;::::0;;;;;;-1:-1:-1;;;;;4548:15:1;;;10019:107:0::1;::::0;::::1;4530:34:1::0;10110:4:0::1;4580:18:1::0;;;4573:43;4465:18;;10019:107:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10137:4;:16:::0;;-1:-1:-1;;;;;;10137:16:0::1;-1:-1:-1::0;;;;;10137:16:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10164:12:0;;;:6:::1;:12;::::0;;;;;;;:19;;-1:-1:-1;;10164:19:0;;::::1;-1:-1:-1::0;10164:19:0;;::::1;::::0;;;10196:15:::1;:26:::0;;;;;:33;;;;::::1;::::0;;::::1;::::0;;10242:6:::1;::::0;10317:4:::1;8837:18:::0;;;:9;:18;;;;;;10137:16;;-1:-1:-1;10242:6:0;::::1;::::0;:22:::1;::::0;10272:21:::1;::::0;10242:217:::1;::::0;-1:-1:-1;;;;;;10242:217:0::1;::::0;;;;;;-1:-1:-1;;;;;4986:15:1;;;10242:217:0::1;::::0;::::1;4968:34:1::0;5018:18;;;5011:34;10376:1:0::1;5061:18:1::0;;;5054:34;;;5104:18;;;5097:34;;;5147:19;;;5140:44;10433:15:0::1;5200:19:1::0;;;5193:35;4902:19;;10242:217:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10472:11:0::1;:18:::0;;-1:-1:-1;;10472:18:0::1;10486:4;10472:18;::::0;;-1:-1:-1;;10501:21:0::1;:28:::0;;-1:-1:-1;;10501:28:0::1;10472:18;10501:28;::::0;;9949:588::o;5344:103::-;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;5409:30:::1;5436:1;5409:18;:30::i;:::-;5344:103::o:0;14705:135::-;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;-1:-1:-1;;14759:10:0::1;:30:::0;;;14800:12:::1;:32:::0;14705:135::o;15143:203::-;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;15240:21:::1;15280:10;15272:66;15334:3;15302:28;15314:16:::0;15240:21;15302:28:::1;:::i;:::-;15301:36;;;;:::i;:::-;15272:66;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;15209:137;15143:203:::0;:::o;14848:287::-;14960:12;5194:6;;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;15022:4:::1;-1:-1:-1::0;;;;;14998:29:0;::::1;::::0;14990:70:::1;;;::::0;-1:-1:-1;;;14990:70:0;;6279:2:1;14990:70:0::1;::::0;::::1;6261:21:1::0;6318:2;6298:18;;;6291:30;6357;6337:18;;;6330:58;6405:18;;14990:70:0::1;6077:352:1::0;14990:70:0::1;15078:49;::::0;-1:-1:-1;;;15078:49:0;;15108:10:::1;15078:49;::::0;::::1;6608:51:1::0;6675:18;;;6668:34;;;-1:-1:-1;;;;;15078:29:0;::::1;::::0;::::1;::::0;6581:18:1;;15078:49:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14128:569::-:0;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;14316:12:::1;:28:::0;;;14355:10:::1;:29:::0;;;14395:12:::1;:30:::0;;;14449:46:::1;14368:16:::0;14449:30:::1;14331:13:::0;14410:15;14449:16:::1;:30::i;:::-;:34:::0;::::1;:46::i;:::-;14438:8;:57:::0;;;14526:23:::1;::::0;14537:12;;14526:23:::1;:::i;:::-;14506:17;:43:::0;14582:8:::1;::::0;14594:3:::1;-1:-1:-1::0;14582:15:0;::::1;::::0;:43:::1;;;14622:3;14601:17;;:24;;14582:43;14560:129;;;::::0;-1:-1:-1;;;14560:129:0;;7327:2:1;14560:129:0::1;::::0;::::1;7309:21:1::0;7366:2;7346:18;;;7339:30;7405:34;7385:18;;;7378:62;-1:-1:-1;;;7456:18:1;;;7449:34;7500:19;;14560:129:0::1;7125:400:1::0;14560:129:0::1;14128:569:::0;;;;:::o;9323:188::-;9430:4;9459:44;9473:10;9485:9;9496:6;9459:13;:44::i;5455:238::-;5167:7;5194:6;-1:-1:-1;;;;;5194:6:0;4722:10;5256:23;5248:68;;;;-1:-1:-1;;;5248:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5558:22:0;::::1;5536:110;;;::::0;-1:-1:-1;;;5536:110:0;;7732:2:1;5536:110:0::1;::::0;::::1;7714:21:1::0;7771:2;7751:18;;;7744:30;7810:34;7790:18;;;7783:62;-1:-1:-1;;;7861:18:1;;;7854:36;7907:19;;5536:110:0::1;7530:402:1::0;5536:110:0::1;5657:28;5676:8;5657:18;:28::i;:::-;5455:238:::0;:::o;2002:240::-;2122:7;2183:12;2175:6;;;;2167:29;;;;-1:-1:-1;;;2167:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2218:5:0;;;2002:240::o;10545:1097::-;10692:16;;10671:4;;10692:16;;10688:97;;;10732:41;10747:6;10755:9;10766:6;10732:14;:41::i;:::-;10725:48;;;;10688:97;-1:-1:-1;;;;;10802:19:0;;;;;;:11;:19;;;;;;;;10797:97;;10846:11;;;;10838:44;;;;-1:-1:-1;;;10838:44:0;;8139:2:1;10838:44:0;;;8121:21:1;8178:2;8158:18;;;8151:30;-1:-1:-1;;;8197:18:1;;;8190:50;8257:18;;10838:44:0;7937:344:1;10838:44:0;10938:12;;10928:6;:22;;:66;;;-1:-1:-1;;;;;;10971:23:0;;;;;;:15;:23;;;;;;;;10928:66;:102;;;-1:-1:-1;11016:14:0;;;;11015:15;10928:102;10906:169;;;;-1:-1:-1;;;10906:169:0;;8488:2:1;10906:169:0;;;8470:21:1;8527:2;8507:18;;;8500:30;-1:-1:-1;;;8546:18:1;;;8539:47;8603:18;;10906:169:0;8286:341:1;10906:169:0;-1:-1:-1;;;;;11092:17:0;;;;;;:6;:17;;;;;;;;:38;;;;-1:-1:-1;11114:16:0;;;;11113:17;11092:38;:63;;;;-1:-1:-1;11134:21:0;;;;;;;11092:63;11088:106;;;11172:10;:8;:10::i;:::-;-1:-1:-1;;;;;11211:26:0;;;;;;:15;:26;;;;;;;;11210:27;:45;;;;-1:-1:-1;11241:14:0;;;;11210:45;11206:207;;;11334:10;;-1:-1:-1;;;;;11298:20:0;;;;;;:9;:20;;;;;;:32;;11323:6;11298:24;:32::i;:::-;:46;;11272:129;;;;-1:-1:-1;;;11272:129:0;;8834:2:1;11272:129:0;;;8816:21:1;8873:2;8853:18;;;8846:30;-1:-1:-1;;;8892:18:1;;;8885:51;8953:18;;11272:129:0;8632:345:1;11272:129:0;11425:19;11447:34;11455:6;11463:9;11474:6;11447:7;:34::i;:::-;-1:-1:-1;;;;;11515:20:0;;;;;;:9;:20;;;;;;11425:56;;-1:-1:-1;11515:37:0;;11425:56;11515:24;:37::i;:::-;-1:-1:-1;;;;;11492:20:0;;;;;;;:9;:20;;;;;;;:60;;;;11570:40;;;;;;;;;;11598:11;160:25:1;;148:2;133:18;;14:177;11570:40:0;;;;;;;;-1:-1:-1;11630:4:0;;10545:1097;-1:-1:-1;;;;10545:1097:0:o;5701:191::-;5775:16;5794:6;;-1:-1:-1;;;;;5811:17:0;;;-1:-1:-1;;;;;;5811:17:0;;;;;;5844:40;;5794:6;;;;;;;5844:40;;5775:16;5844:40;5764:128;5701:191;:::o;1472:98::-;1530:7;1557:5;1561:1;1557;:5;:::i;11650:401::-;11814:90;;;;;;;;;;;-1:-1:-1;;;11814:90:0;;;;;;;;-1:-1:-1;;;;;11814:17:0;;11777:4;11814:17;;;:9;:17;;;;;;;:90;;11850:6;;11814:21;:90::i;:::-;-1:-1:-1;;;;;11794:17:0;;;;;;;:9;:17;;;;;;:110;;;;11938:20;;;;;;;:32;;11963:6;11938:24;:32::i;:::-;-1:-1:-1;;;;;11915:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11986:35;;;;;;;;;;12014:6;160:25:1;;148:2;133:18;;14:177;11986:35:0;;;;;;;;-1:-1:-1;12039:4:0;11650:401;;;;;:::o;13382:738::-;7377:16;:23;;-1:-1:-1;;7377:23:0;7396:4;7377:23;;;13475:4:::1;7377:16:::0;13457:24;;;:9:::1;:24;::::0;;;;;13512:13:::1;::::0;:20:::1;::::0;13528:4:::1;13512:20;:::i;:::-;13496:12;:36;13492:90;;13562:13;::::0;:20:::1;::::0;13578:4:::1;13562:20;:::i;:::-;13547:35;;13492:90;13615:13;;13599:12;:29;13595:407;;13669:16;::::0;;13683:1:::1;13669:16:::0;;;;;::::1;::::0;;13645:21:::1;::::0;13669:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13669:16:0::1;13645:40;;13718:4;13700;13705:1;13700:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13700:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13748:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;13748:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;13700:7;;13748:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13738:4;13743:1;13738:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13738:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;13778:6:::1;::::0;:212:::1;::::0;-1:-1:-1;;;13778:212:0;;:6;::::1;::::0;:57:::1;::::0;:212:::1;::::0;13854:12;;13778:6:::1;::::0;13905:4;;13936::::1;::::0;13960:15:::1;::::0;13778:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13630:372;13595:407;14076:15;::::0;14068:44:::1;::::0;14034:21:::1;::::0;-1:-1:-1;;;;;14076:15:0::1;::::0;14068:44;::::1;;;::::0;14034:21;;14014:17:::1;14068:44:::0;14014:17;14068:44;14034:21;14076:15;14068:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7423:16:0;:24;;-1:-1:-1;;7423:24:0;;;-1:-1:-1;13382:738:0:o;12059:1315::-;-1:-1:-1;;;;;12211:19:0;;12179:7;12211:19;;;:11;:19;;;;;;12179:7;;12211:19;;12210:20;:47;;;;-1:-1:-1;;;;;;12235:22:0;;;;;;:11;:22;;;;;;;;12234:23;12210:47;12199:58;;12268:17;12304:3;12300:719;;;-1:-1:-1;;;;;12370:17:0;;12324:21;12370:17;;;:6;:17;;;;;;;;:32;;;;-1:-1:-1;12391:11:0;;;;;;;12370:32;12366:106;;;-1:-1:-1;12439:17:0;;12366:106;-1:-1:-1;;;;;12490:14:0;;;;;;:6;:14;;;;;;;;:28;;;;-1:-1:-1;12508:10:0;;;;12490:28;12486:93;;;-1:-1:-1;12555:8:0;;12486:93;-1:-1:-1;;;;;12598:14:0;;;;;;:6;:14;;;;;;;;12597:15;:37;;;;-1:-1:-1;;;;;;12617:17:0;;;;;;:6;:17;;;;;;;;12616:18;12597:37;12593:240;;;12659:15;;;;;;;12655:163;;;-1:-1:-1;12715:17:0;;12655:163;;;-1:-1:-1;12797:1:0;12655:163;12861:35;12891:4;12861:25;:6;12872:13;12861:10;:25::i;:::-;:29;;:35::i;:::-;12849:47;;12309:599;12300:719;;;12943:15;;-1:-1:-1;;;;;12943:15:0;;;12933:25;;;;12929:79;;12986:6;12979:13;;;;;;12929:79;13051:90;;;;;;;;;;;-1:-1:-1;;;13051:90:0;;;;;;;;-1:-1:-1;;;;;13051:17:0;;-1:-1:-1;13051:17:0;;;:9;:17;;;;;;;;:90;;13087:6;;13051:21;:90::i;:::-;-1:-1:-1;;;;;13031:17:0;;;;;;:9;:17;;;;;:110;13158:13;;13154:174;;13233:4;13215:24;;;;:9;:24;;;;;;:39;;13244:9;13215:28;:39::i;:::-;13206:4;13188:24;;;;:9;:24;;;;;;;:66;;;;13274:42;;-1:-1:-1;;;;;13274:42:0;;;;;;;13306:9;160:25:1;;148:2;133:18;;14:177;13274:42:0;;;;;;;;13154:174;13345:21;:6;13356:9;13345:10;:21::i;:::-;13338:28;12059:1315;-1:-1:-1;;;;;;12059:1315:0:o;1684:98::-;1742:7;1769:5;1773:1;1769;:5;:::i;1790:98::-;1848:7;1875:5;1879:1;1875;:5;:::i;1578:98::-;1636:7;1663:5;1667:1;1663;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2692:385::-;2778:6;2786;2794;2802;2855:3;2843:9;2834:7;2830:23;2826:33;2823:53;;;2872:1;2869;2862:12;2823:53;-1:-1:-1;;2895:23:1;;;2965:2;2950:18;;2937:32;;-1:-1:-1;3016:2:1;3001:18;;2988:32;;3067:2;3052:18;3039:32;;-1:-1:-1;2692:385:1;-1:-1:-1;2692:385:1:o;3082:388::-;3150:6;3158;3211:2;3199:9;3190:7;3186:23;3182:32;3179:52;;;3227:1;3224;3217:12;3179:52;3266:9;3253:23;3285:31;3310:5;3285:31;:::i;:::-;3335:5;-1:-1:-1;3392:2:1;3377:18;;3364:32;3405:33;3364:32;3405:33;:::i;:::-;3457:7;3447:17;;;3082:388;;;;;:::o;3701:356::-;3903:2;3885:21;;;3922:18;;;3915:30;3981:34;3976:2;3961:18;;3954:62;4048:2;4033:18;;3701:356::o;4062:251::-;4132:6;4185:2;4173:9;4164:7;4160:23;4156:32;4153:52;;;4201:1;4198;4191:12;4153:52;4233:9;4227:16;4252:31;4277:5;4252:31;:::i;5239:306::-;5327:6;5335;5343;5396:2;5384:9;5375:7;5371:23;5367:32;5364:52;;;5412:1;5409;5402:12;5364:52;5441:9;5435:16;5425:26;;5491:2;5480:9;5476:18;5470:25;5460:35;;5535:2;5524:9;5520:18;5514:25;5504:35;;5239:306;;;;;:::o;5550:127::-;5611:10;5606:3;5602:20;5599:1;5592:31;5642:4;5639:1;5632:15;5666:4;5663:1;5656:15;5682:168;5755:9;;;5786;;5803:15;;;5797:22;;5783:37;5773:71;;5824:18;;:::i;5855:217::-;5895:1;5921;5911:132;;5965:10;5960:3;5956:20;5953:1;5946:31;6000:4;5997:1;5990:15;6028:4;6025:1;6018:15;5911:132;-1:-1:-1;6057:9:1;;5855:217::o;6713:277::-;6780:6;6833:2;6821:9;6812:7;6808:23;6804:32;6801:52;;;6849:1;6846;6839:12;6801:52;6881:9;6875:16;6934:5;6927:13;6920:21;6913:5;6910:32;6900:60;;6956:1;6953;6946:12;6995:125;7060:9;;;7081:10;;;7078:36;;;7094:18;;:::i;9114:127::-;9175:10;9170:3;9166:20;9163:1;9156:31;9206:4;9203:1;9196:15;9230:4;9227:1;9220:15;9246:980;9508:4;9556:3;9545:9;9541:19;9587:6;9576:9;9569:25;9613:2;9651:6;9646:2;9635:9;9631:18;9624:34;9694:3;9689:2;9678:9;9674:18;9667:31;9718:6;9753;9747:13;9784:6;9776;9769:22;9822:3;9811:9;9807:19;9800:26;;9861:2;9853:6;9849:15;9835:29;;9882:1;9892:195;9906:6;9903:1;9900:13;9892:195;;;9971:13;;-1:-1:-1;;;;;9967:39:1;9955:52;;10062:15;;;;10027:12;;;;10003:1;9921:9;9892:195;;;-1:-1:-1;;;;;;;10143:32:1;;;;10138:2;10123:18;;10116:60;-1:-1:-1;;;10207:3:1;10192:19;10185:35;10104:3;9246:980;-1:-1:-1;;;9246:980:1:o;10231:128::-;10298:9;;;10319:11;;;10316:37;;;10333:18;;:::i

Swarm Source

ipfs://1e24be7f0b2055ccc3d910a2a407c658b21ee7a3dfd35766d59a21969c72205d

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.