ETH Price: $3,108.52 (+1.34%)

Token

Shibarium DAO (SHIBDAO)
 

Overview

Max Total Supply

1,000,000,000 SHIBDAO

Holders

1,527

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 SHIBDAO

Value
$0.00
0x40db3c25194677c4fcc000c09c2b0718f67cc81c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ShibariumDAO

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ShibariumDAO.sol
/**

 ______     __  __     __     ______     ______     ______     __     __  __     __    __    
/\  ___\   /\ \_\ \   /\ \   /\  == \   /\  __ \   /\  == \   /\ \   /\ \/\ \   /\ "-./  \   
\ \___  \  \ \  __ \  \ \ \  \ \  __<   \ \  __ \  \ \  __<   \ \ \  \ \ \_\ \  \ \ \-./\ \  
 \/\_____\  \ \_\ \_\  \ \_\  \ \_____\  \ \_\ \_\  \ \_\ \_\  \ \_\  \ \_____\  \ \_\ \ \_\ 
  \/_____/   \/_/\/_/   \/_/   \/_____/   \/_/\/_/   \/_/ /_/   \/_/   \/_____/   \/_/  \/_/                                                                                              
 _____     ______     ______                                                                 
/\  __-.  /\  __ \   /\  __ \                                                                
\ \ \/\ \ \ \  __ \  \ \ \/\ \                                                               
 \ \____-  \ \_\ \_\  \ \_____\                                                              
  \/____/   \/_/\/_/   \/_____/                                                              


    Website: https://shibariumdao.io
    Telegram: https://t.me/ShibariumDAO

**/
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.7;

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

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract ShibariumDAO is IERC20, Ownable {
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;

    string constant _name = "Shibarium DAO";
    string constant _symbol = "SHIBDAO";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 1_000_000_000 * (10**_decimals);
    uint256 _maxBuyTxAmount = (_totalSupply * 1) / 10;
    uint256 _maxSellTxAmount = (_totalSupply * 1) / 10;
    uint256 _maxWalletSize = (_totalSupply * 1) / 10;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => uint256) public lastSell;
    mapping(address => uint256) public lastBuy;

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

    uint256 marketingFee = 200;
    uint256 liquidityFee = 300;
    uint256 totalFee = marketingFee + liquidityFee;
    uint256 sellBias = 0;
    uint256 feeDenominator = 10000;

    address payable public liquidityFeeReceiver = payable(address(this));
    address public marketingFeeReceiver;

    IDEXRouter public router;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    mapping(address => bool) liquidityPools;
    mapping(address => uint256) public protected;
    bool protectionEnabled = true;
    bool protectionDisabled = false;
    uint256 protectionLimit;
    uint256 public protectionCount;
    uint256 protectionTimer;

    address public pair;

    uint256 public launchedAt;
    uint256 public launchedTime;
    uint256 public deadBlocks;
    bool startBullRun = false;
    bool pauseDisabled = false;
    bool _feeOn = true;
    uint256 public rateLimit = 2;

    bool public swapEnabled = false;
    bool processEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000;
    uint256 public swapMinimum = _totalSupply / 10000;
    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    address devWallet;
    modifier onlyTeam() {
        require(_msgSender() == devWallet, "Caller is not a team member");
        _;
    }

    event ProtectedWallet(address, address, uint256, uint8);

    constructor() {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        liquidityPools[pair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        isFeeExempt[owner()] = true;
        liquidityCreator[owner()] = true;

        isTxLimitExempt[address(this)] = true;
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[routerAddress] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[owner()] = _totalSupply;

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

    receive() external payable {}

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

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

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

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

    function getOwner() external view returns (address) {
        return owner();
    }

    function maxBuyTxTokens() external view returns (uint256) {
        return _maxBuyTxAmount / (10**_decimals);
    }

    function maxSellTxTokens() external view returns (uint256) {
        return _maxSellTxAmount / (10**_decimals);
    }

    function maxWalletTokens() external view returns (uint256) {
        return _maxWalletSize / (10**_decimals);
    }

    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 approveMaximum(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function setTeamWallet(address _team, bool _enabled) external onlyOwner {
        if (_enabled) {
            devWallet = _team;
            marketingFeeReceiver = _team;
        }
    }

    function airdrop(address[] calldata addresses, uint256[] calldata amounts)
        external
        onlyOwner
    {
        require(addresses.length > 0 && amounts.length == addresses.length);
        address from = msg.sender;

        for (uint256 i = 0; i < addresses.length; i++) {
            if (
                !liquidityPools[addresses[i]] && !liquidityCreator[addresses[i]]
            ) {
                _basicTransfer(
                    from,
                    addresses[i],
                    amounts[i] * (10**_decimals)
                );
            }
        }
    }

    function feeWithdrawal(uint256 amount, bool procedure) external onlyTeam {
        if (!procedure) {
            uint256 amountETH = address(this).balance;
            payable(devWallet).transfer((amountETH * amount) / 100);
        }
    }

    function totalFeeAmount() public view returns (uint256) {
        return address(this).balance;
    }

    function launchTrading(
        uint256 _deadBlocks,
        uint256 _protection,
        uint256 _limit
    ) external onlyOwner {
        require(!startBullRun && _deadBlocks < 10);
        deadBlocks = _deadBlocks;
        startBullRun = true;
        launchedAt = block.number;
        protectionTimer = block.timestamp + _protection;
        protectionLimit = _limit * (10**_decimals);
    }

    function enableProtection(bool _protect, uint256 _addTime)
        external
        onlyTeam
    {
        require(!protectionDisabled);
        protectionEnabled = _protect;
        require(_addTime < 1 days);
        protectionTimer += _addTime;
    }

    function disableProtection() external onlyTeam {
        protectionDisabled = true;
        protectionEnabled = false;
    }

    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] -
                amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        require(sender != address(0), "ERC20: transfer from 0x0");
        require(recipient != address(0), "ERC20: transfer to 0x0");
        require(amount > 0, "Amount must be > zero");
        require(_balances[sender] >= amount, "Insufficient balance");
        if (!launched() && liquidityPools[recipient]) {
            require(liquidityCreator[sender], "Liquidity not added yet.");
            launch();
        }
        if (!startBullRun) {
            require(
                liquidityCreator[sender] || liquidityCreator[recipient],
                "Trading not open yet."
            );
        }

        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = feeExcluded(sender)
            ? takeFee(recipient, amount)
            : amount;

        if (shouldSwapBack(recipient)) {
            if (amount > 0) swapBack();
        }

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
        launchedTime = block.timestamp;
        swapEnabled = true;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkWalletLimit(address recipient, uint256 amount) internal view {
        uint256 walletLimit = _maxWalletSize;
        require(
            _balances[recipient] + amount <= walletLimit,
            "Transfer amount exceeds the bag size."
        );
    }

    function checkTxLimit(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        require(
            isTxLimitExempt[sender] ||
                amount <=
                (liquidityPools[sender] ? _maxBuyTxAmount : _maxSellTxAmount),
            "TX Limit Exceeded"
        );
        require(
            isTxLimitExempt[sender] ||
                lastBuy[recipient] + rateLimit <= block.number,
            "Transfer rate limit exceeded."
        );

        if (protected[sender] != 0) {
            require(
                amount <= protectionLimit * (10**_decimals) &&
                    lastSell[sender] == 0 &&
                    protectionTimer > block.timestamp,
                "Wallet protected, please contact support."
            );
            lastSell[sender] = block.number;
        }

        if (liquidityPools[recipient]) {
            lastSell[sender] = block.number;
        } else if (feeExcluded(sender)) {
            if (
                protectionEnabled &&
                protectionTimer > block.timestamp &&
                lastBuy[tx.origin] == block.number &&
                protected[recipient] == 0
            ) {
                protected[recipient] = block.number;
                emit ProtectedWallet(tx.origin, recipient, block.number, 1);
            }
            lastBuy[recipient] = block.number;
            if (tx.origin != recipient) lastBuy[tx.origin] = block.number;
        }
    }

    function feeExcluded(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if (launchedAt + deadBlocks >= block.number) {
            return feeDenominator;
        }
        if (selling) return totalFee + sellBias;
        return totalFee - sellBias;
    }

    function takeFee(address recipient, uint256 amount)
        internal
        returns (uint256)
    {
        bool selling = liquidityPools[recipient];
        uint256 feeAmount = (amount * getTotalFee(selling)) / feeDenominator;

        _balances[address(this)] += feeAmount;

        return amount - feeAmount;
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return
            !liquidityPools[msg.sender] &&
            !inSwap &&
            swapEnabled &&
            liquidityPools[recipient] &&
            _feeOn;
    }

    function swapBack() internal swapping {
        if (_balances[address(this)] > 0) {
            uint256 amountToSwap = _balances[address(this)];

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

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

            emit FundsDistributed(amountToSwap);
        }
    }

    function provideLiquidity(address lp, bool isPool) external onlyOwner {
        require(lp != pair, "Can't alter current liquidity pair");
        liquidityPools[lp] = isPool;
    }

    function setTakeFee(bool enabled) external onlyTeam returns (bool) {
        if (enabled) {
            _feeOn = true;
        } else _feeOn = false;
        return _feeOn;
    }

    function takeFee() public view returns (bool) {
        return _feeOn;
    }

    function currentFees() public view returns (uint256) {
        return totalFee;
    }

    function setTXRateLimit(uint256 rate) external onlyOwner {
        require(rate <= 60 seconds);
        rateLimit = rate;
    }

    function setTXLimit(
        uint256 buyNumerator,
        uint256 sellNumerator,
        uint256 divisor
    ) external onlyOwner {
        require(
            buyNumerator > 0 &&
                sellNumerator > 0 &&
                divisor > 0 &&
                divisor <= 10000
        );
        _maxBuyTxAmount = (_totalSupply * buyNumerator) / divisor;
        _maxSellTxAmount = (_totalSupply * sellNumerator) / divisor;
    }

    function setMaxWallet(uint256 numerator, uint256 divisor)
        external
        onlyOwner
    {
        require(numerator > 0 && divisor > 0 && divisor <= 10000);
        _maxWalletSize = (_totalSupply * numerator) / divisor;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt)
        external
        onlyOwner
    {
        isTxLimitExempt[holder] = exempt;
    }

    function setFeeReceivers(
        address _liquidityFeeReceiver,
        address _marketingFeeReceiver
    ) external onlyOwner {
        liquidityFeeReceiver = payable(_liquidityFeeReceiver);
        marketingFeeReceiver = payable(_marketingFeeReceiver);
    }

    function changeSettings(
        bool _enabled,
        bool _processEnabled,
        uint256 _denominator,
        uint256 _swapMinimum
    ) external onlyOwner {
        require(_denominator > 0);
        swapEnabled = _enabled;
        processEnabled = _processEnabled;
        swapThreshold = _totalSupply / _denominator;
        swapMinimum = _swapMinimum * (10**_decimals);
    }

    function getCurrentSupply() public view returns (uint256) {
        return _totalSupply - (balanceOf(DEAD) + balanceOf(ZERO));
    }

    event FundsDistributed(uint256 marketingFee);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

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":"marketingFee","type":"uint256"}],"name":"FundsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"ProtectedWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMaximum","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_processEnabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"},{"internalType":"uint256","name":"_swapMinimum","type":"uint256"}],"name":"changeSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadBlocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disableProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_protect","type":"bool"},{"internalType":"uint256","name":"_addTime","type":"uint256"}],"name":"enableProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"procedure","type":"bool"}],"name":"feeWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadBlocks","type":"uint256"},{"internalType":"uint256","name":"_protection","type":"uint256"},{"internalType":"uint256","name":"_limit","type":"uint256"}],"name":"launchTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFeeReceiver","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTxTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"protected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protectionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lp","type":"address"},{"internalType":"bool","name":"isPool","type":"bool"}],"name":"provideLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rateLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityFeeReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyNumerator","type":"uint256"},{"internalType":"uint256","name":"sellNumerator","type":"uint256"},{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setTXLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTXRateLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setTakeFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"takeFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b031990811661dead17909155600280549091169055620000326012600a62000582565b6200004290633b9aca0062000643565b600355600a600354600162000058919062000643565b62000064919062000516565b600455600a60035460016200007a919062000643565b62000086919062000516565b600555600a60035460016200009c919062000643565b620000a8919062000516565b60065560c8600e81905561012c600f819055620000c591620004fb565b6010556000601155612710601255601380546001600160a01b0319908116301790915560168054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556019805461ffff199081166001179091556021805462ffffff1916620100001790556002602255602380549091166101001790556003546200014d906103e89062000516565b60245561271060035462000162919062000516565b6025553480156200017257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601654601580546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200020c57600080fd5b505afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002479190620004c9565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a457600080fd5b505afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620004c9565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200032757600080fd5b505af11580156200033c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003629190620004c9565b601d80546001600160a01b0319166001600160a01b039290921691821790556000908152601760205260408120805460ff1916600117905560001990600890620003b46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120601680548416835290855283822095909555308082526008855283822086548416835285528382206000199055815483168252600b85528382208054600160ff199182168117909255835485168452600d87528584208054821683179055918352600c865284832080548316821790558254841683528483208054831682179055955483168252838220805482168717905585548316825283822080549091169095179094556003548454821685526007845282852081905584549251908152911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200067b565b600060208284031215620004dc57600080fd5b81516001600160a01b0381168114620004f457600080fd5b9392505050565b6000821982111562000511576200051162000665565b500190565b6000826200053457634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200057a5781600019048211156200055e576200055e62000665565b808516156200056c57918102915b93841c93908002906200053e565b509250929050565b6000620004f460ff8416836000826200059e575060016200063d565b81620005ad575060006200063d565b8160018114620005c65760028114620005d157620005f1565b60019150506200063d565b60ff841115620005e557620005e562000665565b50506001821b6200063d565b5060208310610133831016604e8410600b841016171562000616575081810a6200063d565b62000622838362000539565b806000190482111562000639576200063962000665565b0290505b92915050565b600081600019048311821515161562000660576200066062000665565b500290565b634e487b7160e01b600052601160045260246000fd5b6121eb806200068b6000396000f3fe6080604052600436106103035760003560e01c8063893d20e811610190578063bfa21d6a116100dc578063e96fada211610095578063f84ba65d1161006f578063f84ba65d14610933578063f8821a6214610953578063f887ea4014610969578063fabb0b4f1461098957600080fd5b8063e96fada2146108d3578063f1f3bca3146108f3578063f2fde38b1461091357600080fd5b8063bfa21d6a146107e0578063c1adf7bc14610800578063dd62ed3e1461082d578063dd63b12b14610873578063ddfa717814610893578063e4f61b2d146108b357600080fd5b8063a4b45c0011610149578063abe57e7011610123578063abe57e7014610775578063b7fb695f14610795578063bafe446b146107b5578063bf56b371146107ca57600080fd5b8063a4b45c0014610715578063a8aa1b3114610735578063a9059cbb1461075557600080fd5b8063893d20e81461064c5780638da5cb5b1461067e57806395d89b411461069c57806396521716146106cc5780639b02c402146106df5780639e6353c8146106f557600080fd5b80635804f1e41161024f5780636ddd171311610208578063715018a6116101e2578063715018a6146105d757806372330705146105ec57806378bb11a21461060c5780637c6e0a5e1461062c57600080fd5b80636ddd17131461055a5780636f4ce4281461057457806370a08231146105a157600080fd5b80635804f1e4146104c45780635d9644c4146104da57806361e08e72146104ef57806363a803e114610505578063658d4b7f1461051a578063672434821461053a57600080fd5b8063234e9494116102bc578063408ef87211610296578063408ef8721461044d578063421dd7c71461046d57806346d7edaa146104825780634f3e1efc146104af57600080fd5b8063234e9494146103fc57806323b872dd14610411578063313ce5671461043157600080fd5b80630445b6671461030f57806306fdde0314610338578063095ea7b3146103775780630c914840146103a757806318160ddd146103c9578063181aa1fd146103de57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560245481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600d81526c53686962617269756d2044414f60981b60208201525b60405161032f9190611ec6565b34801561038357600080fd5b50610397610392366004611d2b565b61099f565b604051901515815260200161032f565b3480156103b357600080fd5b506103c76103c2366004611cf6565b610a0c565b005b3480156103d557600080fd5b50600354610325565b3480156103ea57600080fd5b5060215462010000900460ff16610397565b34801561040857600080fd5b50610325610a83565b34801561041d57600080fd5b5061039761042c366004611cb5565b610aa3565b34801561043d57600080fd5b506040516012815260200161032f565b34801561045957600080fd5b506103c7610468366004611e9a565b610b38565b34801561047957600080fd5b506103c7610bd3565b34801561048e57600080fd5b5061032561049d366004611c42565b60186020526000908152604090205481565b3480156104bb57600080fd5b50610325610c1c565b3480156104d057600080fd5b50610325601f5481565b3480156104e657600080fd5b50601054610325565b3480156104fb57600080fd5b5061032560225481565b34801561051157600080fd5b50610325610c5d565b34801561052657600080fd5b506103c7610535366004611cf6565b610c78565b34801561054657600080fd5b506103c7610555366004611d57565b610ccd565b34801561056657600080fd5b506023546103979060ff1681565b34801561058057600080fd5b5061032561058f366004611c42565b60096020526000908152604090205481565b3480156105ad57600080fd5b506103256105bc366004611c42565b6001600160a01b031660009081526007602052604090205490565b3480156105e357600080fd5b506103c7610e34565b3480156105f857600080fd5b506103c7610607366004611e9a565b610ea8565b34801561061857600080fd5b506103c7610627366004611dde565b610f2f565b34801561063857600080fd5b50610397610647366004611c42565b610fb2565b34801561065857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561068a57600080fd5b506000546001600160a01b0316610666565b3480156106a857600080fd5b506040805180820190915260078152665348494244414f60c81b602082015261036a565b3480156106d857600080fd5b5047610325565b3480156106eb57600080fd5b50610325601b5481565b34801561070157600080fd5b506103c7610710366004611e20565b610fc0565b34801561072157600080fd5b506103c7610730366004611c7c565b611045565b34801561074157600080fd5b50601d54610666906001600160a01b031681565b34801561076157600080fd5b50610397610770366004611d2b565b61109d565b34801561078157600080fd5b506103c7610790366004611e78565b6110aa565b3480156107a157600080fd5b506103c76107b0366004611e3c565b61111b565b3480156107c157600080fd5b50610325611158565b3480156107d657600080fd5b50610325601e5481565b3480156107ec57600080fd5b50601354610666906001600160a01b031681565b34801561080c57600080fd5b5061032561081b366004611c42565b600a6020526000908152604090205481565b34801561083957600080fd5b50610325610848366004611c7c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561087f57600080fd5b5061039761088e366004611dc3565b611173565b34801561089f57600080fd5b506103c76108ae366004611cf6565b6111ea565b3480156108bf57600080fd5b506103c76108ce366004611e55565b6112a8565b3480156108df57600080fd5b50601454610666906001600160a01b031681565b3480156108ff57600080fd5b5061032561090e366004611dc3565b61133f565b34801561091f57600080fd5b506103c761092e366004611c42565b611385565b34801561093f57600080fd5b506103c761094e366004611cf6565b61146f565b34801561095f57600080fd5b5061032560255481565b34801561097557600080fd5b50601554610666906001600160a01b031681565b34801561099557600080fd5b5061032560205481565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109fa9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a3f5760405162461bcd60e51b8152600401610a3690611f52565b60405180910390fd5b8015610a7f5760268054610100600160a81b0319166101006001600160a01b03851690810291909117909155601480546001600160a01b03191690911790555b5050565b6000610a916012600a612075565b600554610a9e9190612010565b905090565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b23576001600160a01b0384166000908152600860209081526040808320338452909152902054610afe90839061213f565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b2e8484846114c4565b90505b9392505050565b6000546001600160a01b03163314610b625760405162461bcd60e51b8152600401610a3690611f52565b600083118015610b725750600082115b8015610b7e5750600081115b8015610b8c57506127108111155b610b9557600080fd5b8083600354610ba49190612120565b610bae9190612010565b6004556003548190610bc1908490612120565b610bcb9190612010565b600555505050565b60265461010090046001600160a01b0316336001600160a01b031614610c0b5760405162461bcd60e51b8152600401610a3690611f1b565b6019805461ffff1916610100179055565b6002546001600160a01b039081166000908152600760205260408082205460015490931682528120549091610c5091611ff8565b600354610a9e919061213f565b6000610c6b6012600a612075565b600654610a9e9190612010565b6000546001600160a01b03163314610ca25760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cf75760405162461bcd60e51b8152600401610a3690611f52565b8215801590610d0557508083145b610d0e57600080fd5b3360005b84811015610e2c5760176000878784818110610d3057610d30612187565b9050602002016020810190610d459190611c42565b6001600160a01b0316815260208101919091526040016000205460ff16158015610db45750600d6000878784818110610d8057610d80612187565b9050602002016020810190610d959190611c42565b6001600160a01b0316815260208101919091526040016000205460ff16155b15610e1a57610e1882878784818110610dcf57610dcf612187565b9050602002016020810190610de49190611c42565b610df06012600a612075565b878786818110610e0257610e02612187565b90506020020135610e139190612120565b611877565b505b80610e2481612156565b915050610d12565b505050505050565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b8152600401610a3690611f52565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ed25760405162461bcd60e51b8152600401610a3690611f52565b60215460ff16158015610ee55750600a83105b610eee57600080fd5b60208390556021805460ff1916600117905543601e55610f0e8242611ff8565b601c55610f1d6012600a612075565b610f279082612120565b601a55505050565b6000546001600160a01b03163314610f595760405162461bcd60e51b8152600401610a3690611f52565b60008211610f6657600080fd5b6023805461ffff191685151561ff0019161761010085151502179055600354610f90908390612010565b602455610f9f6012600a612075565b610fa99082612120565b60255550505050565b6000610a068260001961099f565b60265461010090046001600160a01b0316336001600160a01b031614610ff85760405162461bcd60e51b8152600401610a3690611f1b565b601954610100900460ff161561100d57600080fd5b6019805460ff191683151517905562015180811061102a57600080fd5b80601c600082825461103c9190611ff8565b90915550505050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b8152600401610a3690611f52565b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6000610b313384846114c4565b6000546001600160a01b031633146110d45760405162461bcd60e51b8152600401610a3690611f52565b6000821180156110e45750600081115b80156110f257506127108111155b6110fb57600080fd5b808260035461110a9190612120565b6111149190612010565b6006555050565b6000546001600160a01b031633146111455760405162461bcd60e51b8152600401610a3690611f52565b603c81111561115357600080fd5b602255565b60006111666012600a612075565b600454610a9e9190612010565b60265460009061010090046001600160a01b0316336001600160a01b0316146111ae5760405162461bcd60e51b8152600401610a3690611f1b565b81156111ca576021805462ff00001916620100001790556111d7565b6021805462ff0000191690555b5060215462010000900460ff165b919050565b6000546001600160a01b031633146112145760405162461bcd60e51b8152600401610a3690611f52565b601d546001600160a01b038381169116141561127d5760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b6064820152608401610a36565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b60265461010090046001600160a01b0316336001600160a01b0316146112e05760405162461bcd60e51b8152600401610a3690611f1b565b80610a7f57602654479061010090046001600160a01b03166108fc60646113078685612120565b6113119190612010565b6040518115909202916000818181858888f19350505050158015611339573d6000803e3d6000fd5b50505050565b600043602054601e546113529190611ff8565b1061135f57505060125490565b811561137557601154601054610a069190611ff8565b601154601054610a06919061213f565b6000546001600160a01b031633146113af5760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b0381166114145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a36565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114995760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60006001600160a01b03841661151c5760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610a36565b6001600160a01b03831661156b5760405162461bcd60e51b8152602060048201526016602482015275045524332303a207472616e7366657220746f203078360541b6044820152606401610a36565b600082116115b35760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b6044820152606401610a36565b6001600160a01b0384166000908152600760205260409020548211156116125760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610a36565b601e5415801561163a57506001600160a01b03831660009081526017602052604090205460ff165b156116c1576001600160a01b0384166000908152600d602052604090205460ff166116a75760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e00000000000000006044820152606401610a36565b6116c143601e5542601f556023805460ff19166001179055565b60215460ff1661174e576001600160a01b0384166000908152600d602052604090205460ff168061170a57506001600160a01b0383166000908152600d602052604090205460ff165b61174e5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610a36565b60265460ff161561176b57611764848484611877565b9050610b31565b6001600160a01b03841660009081526007602052604090205461178f90839061213f565b6001600160a01b038516600090815260076020908152604080832093909355600b90529081205460ff16156117c457826117ce565b6117ce8484611931565b90506117d9846119af565b156117ec5782156117ec576117ec611a1d565b6001600160a01b038416600090815260076020526040902054611810908290611ff8565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118649085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526007602052604081205461189b90839061213f565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546118cb908390611ff8565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061191f9086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526017602052604081205460125460ff90911690829061195e8361133f565b6119689086612120565b6119729190612010565b30600090815260076020526040812080549293508392909190611996908490611ff8565b909155506119a69050818561213f565b95945050505050565b3360009081526017602052604081205460ff161580156119d2575060265460ff16155b80156119e0575060235460ff165b8015611a0457506001600160a01b03821660009081526017602052604090205460ff165b8015610a0657505060215462010000900460ff16919050565b6026805460ff191660011790553060009081526007602052604090205415611bda57306000908152600760205260408082205481516002808252606082019093529092918160200160208202803683370190505090503081600081518110611a8757611a87612187565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611adb57600080fd5b505afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b139190611c5f565b81600181518110611b2657611b26612187565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611b6c908590600090869030904290600401611f87565b600060405180830381600087803b158015611b8657600080fd5b505af1158015611b9a573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de82604051611bcf91815260200190565b60405180910390a150505b6026805460ff19169055565b60008083601f840112611bf857600080fd5b50813567ffffffffffffffff811115611c1057600080fd5b6020830191508360208260051b8501011115611c2b57600080fd5b9250929050565b803580151581146111e557600080fd5b600060208284031215611c5457600080fd5b8135610b318161219d565b600060208284031215611c7157600080fd5b8151610b318161219d565b60008060408385031215611c8f57600080fd5b8235611c9a8161219d565b91506020830135611caa8161219d565b809150509250929050565b600080600060608486031215611cca57600080fd5b8335611cd58161219d565b92506020840135611ce58161219d565b929592945050506040919091013590565b60008060408385031215611d0957600080fd5b8235611d148161219d565b9150611d2260208401611c32565b90509250929050565b60008060408385031215611d3e57600080fd5b8235611d498161219d565b946020939093013593505050565b60008060008060408587031215611d6d57600080fd5b843567ffffffffffffffff80821115611d8557600080fd5b611d9188838901611be6565b90965094506020870135915080821115611daa57600080fd5b50611db787828801611be6565b95989497509550505050565b600060208284031215611dd557600080fd5b610b3182611c32565b60008060008060808587031215611df457600080fd5b611dfd85611c32565b9350611e0b60208601611c32565b93969395505050506040820135916060013590565b60008060408385031215611e3357600080fd5b611d4983611c32565b600060208284031215611e4e57600080fd5b5035919050565b60008060408385031215611e6857600080fd5b82359150611d2260208401611c32565b60008060408385031215611e8b57600080fd5b50508035926020909101359150565b600080600060608486031215611eaf57600080fd5b505081359360208301359350604090920135919050565b600060208083528351808285015260005b81811015611ef357858101830151858201604001528201611ed7565b81811115611f05576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd75784516001600160a01b031683529383019391830191600101611fb2565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561200b5761200b612171565b500190565b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561206d57816000190482111561205357612053612171565b8085161561206057918102915b93841c9390800290612037565b509250929050565b6000610b3160ff84168360008261208e57506001610a06565b8161209b57506000610a06565b81600181146120b157600281146120bb576120d7565b6001915050610a06565b60ff8411156120cc576120cc612171565b50506001821b610a06565b5060208310610133831016604e8410600b84101617156120fa575081810a610a06565b6121048383612032565b806000190482111561211857612118612171565b029392505050565b600081600019048311821515161561213a5761213a612171565b500290565b60008282101561215157612151612171565b500390565b600060001982141561216a5761216a612171565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146121b257600080fd5b5056fea264697066735822122061f0a6549388750418d40a4af940e8a65a0935541a6e19462fbeb27dc639909964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106103035760003560e01c8063893d20e811610190578063bfa21d6a116100dc578063e96fada211610095578063f84ba65d1161006f578063f84ba65d14610933578063f8821a6214610953578063f887ea4014610969578063fabb0b4f1461098957600080fd5b8063e96fada2146108d3578063f1f3bca3146108f3578063f2fde38b1461091357600080fd5b8063bfa21d6a146107e0578063c1adf7bc14610800578063dd62ed3e1461082d578063dd63b12b14610873578063ddfa717814610893578063e4f61b2d146108b357600080fd5b8063a4b45c0011610149578063abe57e7011610123578063abe57e7014610775578063b7fb695f14610795578063bafe446b146107b5578063bf56b371146107ca57600080fd5b8063a4b45c0014610715578063a8aa1b3114610735578063a9059cbb1461075557600080fd5b8063893d20e81461064c5780638da5cb5b1461067e57806395d89b411461069c57806396521716146106cc5780639b02c402146106df5780639e6353c8146106f557600080fd5b80635804f1e41161024f5780636ddd171311610208578063715018a6116101e2578063715018a6146105d757806372330705146105ec57806378bb11a21461060c5780637c6e0a5e1461062c57600080fd5b80636ddd17131461055a5780636f4ce4281461057457806370a08231146105a157600080fd5b80635804f1e4146104c45780635d9644c4146104da57806361e08e72146104ef57806363a803e114610505578063658d4b7f1461051a578063672434821461053a57600080fd5b8063234e9494116102bc578063408ef87211610296578063408ef8721461044d578063421dd7c71461046d57806346d7edaa146104825780634f3e1efc146104af57600080fd5b8063234e9494146103fc57806323b872dd14610411578063313ce5671461043157600080fd5b80630445b6671461030f57806306fdde0314610338578063095ea7b3146103775780630c914840146103a757806318160ddd146103c9578063181aa1fd146103de57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560245481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b5060408051808201909152600d81526c53686962617269756d2044414f60981b60208201525b60405161032f9190611ec6565b34801561038357600080fd5b50610397610392366004611d2b565b61099f565b604051901515815260200161032f565b3480156103b357600080fd5b506103c76103c2366004611cf6565b610a0c565b005b3480156103d557600080fd5b50600354610325565b3480156103ea57600080fd5b5060215462010000900460ff16610397565b34801561040857600080fd5b50610325610a83565b34801561041d57600080fd5b5061039761042c366004611cb5565b610aa3565b34801561043d57600080fd5b506040516012815260200161032f565b34801561045957600080fd5b506103c7610468366004611e9a565b610b38565b34801561047957600080fd5b506103c7610bd3565b34801561048e57600080fd5b5061032561049d366004611c42565b60186020526000908152604090205481565b3480156104bb57600080fd5b50610325610c1c565b3480156104d057600080fd5b50610325601f5481565b3480156104e657600080fd5b50601054610325565b3480156104fb57600080fd5b5061032560225481565b34801561051157600080fd5b50610325610c5d565b34801561052657600080fd5b506103c7610535366004611cf6565b610c78565b34801561054657600080fd5b506103c7610555366004611d57565b610ccd565b34801561056657600080fd5b506023546103979060ff1681565b34801561058057600080fd5b5061032561058f366004611c42565b60096020526000908152604090205481565b3480156105ad57600080fd5b506103256105bc366004611c42565b6001600160a01b031660009081526007602052604090205490565b3480156105e357600080fd5b506103c7610e34565b3480156105f857600080fd5b506103c7610607366004611e9a565b610ea8565b34801561061857600080fd5b506103c7610627366004611dde565b610f2f565b34801561063857600080fd5b50610397610647366004611c42565b610fb2565b34801561065857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b34801561068a57600080fd5b506000546001600160a01b0316610666565b3480156106a857600080fd5b506040805180820190915260078152665348494244414f60c81b602082015261036a565b3480156106d857600080fd5b5047610325565b3480156106eb57600080fd5b50610325601b5481565b34801561070157600080fd5b506103c7610710366004611e20565b610fc0565b34801561072157600080fd5b506103c7610730366004611c7c565b611045565b34801561074157600080fd5b50601d54610666906001600160a01b031681565b34801561076157600080fd5b50610397610770366004611d2b565b61109d565b34801561078157600080fd5b506103c7610790366004611e78565b6110aa565b3480156107a157600080fd5b506103c76107b0366004611e3c565b61111b565b3480156107c157600080fd5b50610325611158565b3480156107d657600080fd5b50610325601e5481565b3480156107ec57600080fd5b50601354610666906001600160a01b031681565b34801561080c57600080fd5b5061032561081b366004611c42565b600a6020526000908152604090205481565b34801561083957600080fd5b50610325610848366004611c7c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561087f57600080fd5b5061039761088e366004611dc3565b611173565b34801561089f57600080fd5b506103c76108ae366004611cf6565b6111ea565b3480156108bf57600080fd5b506103c76108ce366004611e55565b6112a8565b3480156108df57600080fd5b50601454610666906001600160a01b031681565b3480156108ff57600080fd5b5061032561090e366004611dc3565b61133f565b34801561091f57600080fd5b506103c761092e366004611c42565b611385565b34801561093f57600080fd5b506103c761094e366004611cf6565b61146f565b34801561095f57600080fd5b5061032560255481565b34801561097557600080fd5b50601554610666906001600160a01b031681565b34801561099557600080fd5b5061032560205481565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109fa9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610a3f5760405162461bcd60e51b8152600401610a3690611f52565b60405180910390fd5b8015610a7f5760268054610100600160a81b0319166101006001600160a01b03851690810291909117909155601480546001600160a01b03191690911790555b5050565b6000610a916012600a612075565b600554610a9e9190612010565b905090565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610b23576001600160a01b0384166000908152600860209081526040808320338452909152902054610afe90839061213f565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610b2e8484846114c4565b90505b9392505050565b6000546001600160a01b03163314610b625760405162461bcd60e51b8152600401610a3690611f52565b600083118015610b725750600082115b8015610b7e5750600081115b8015610b8c57506127108111155b610b9557600080fd5b8083600354610ba49190612120565b610bae9190612010565b6004556003548190610bc1908490612120565b610bcb9190612010565b600555505050565b60265461010090046001600160a01b0316336001600160a01b031614610c0b5760405162461bcd60e51b8152600401610a3690611f1b565b6019805461ffff1916610100179055565b6002546001600160a01b039081166000908152600760205260408082205460015490931682528120549091610c5091611ff8565b600354610a9e919061213f565b6000610c6b6012600a612075565b600654610a9e9190612010565b6000546001600160a01b03163314610ca25760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610cf75760405162461bcd60e51b8152600401610a3690611f52565b8215801590610d0557508083145b610d0e57600080fd5b3360005b84811015610e2c5760176000878784818110610d3057610d30612187565b9050602002016020810190610d459190611c42565b6001600160a01b0316815260208101919091526040016000205460ff16158015610db45750600d6000878784818110610d8057610d80612187565b9050602002016020810190610d959190611c42565b6001600160a01b0316815260208101919091526040016000205460ff16155b15610e1a57610e1882878784818110610dcf57610dcf612187565b9050602002016020810190610de49190611c42565b610df06012600a612075565b878786818110610e0257610e02612187565b90506020020135610e139190612120565b611877565b505b80610e2481612156565b915050610d12565b505050505050565b6000546001600160a01b03163314610e5e5760405162461bcd60e51b8152600401610a3690611f52565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ed25760405162461bcd60e51b8152600401610a3690611f52565b60215460ff16158015610ee55750600a83105b610eee57600080fd5b60208390556021805460ff1916600117905543601e55610f0e8242611ff8565b601c55610f1d6012600a612075565b610f279082612120565b601a55505050565b6000546001600160a01b03163314610f595760405162461bcd60e51b8152600401610a3690611f52565b60008211610f6657600080fd5b6023805461ffff191685151561ff0019161761010085151502179055600354610f90908390612010565b602455610f9f6012600a612075565b610fa99082612120565b60255550505050565b6000610a068260001961099f565b60265461010090046001600160a01b0316336001600160a01b031614610ff85760405162461bcd60e51b8152600401610a3690611f1b565b601954610100900460ff161561100d57600080fd5b6019805460ff191683151517905562015180811061102a57600080fd5b80601c600082825461103c9190611ff8565b90915550505050565b6000546001600160a01b0316331461106f5760405162461bcd60e51b8152600401610a3690611f52565b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6000610b313384846114c4565b6000546001600160a01b031633146110d45760405162461bcd60e51b8152600401610a3690611f52565b6000821180156110e45750600081115b80156110f257506127108111155b6110fb57600080fd5b808260035461110a9190612120565b6111149190612010565b6006555050565b6000546001600160a01b031633146111455760405162461bcd60e51b8152600401610a3690611f52565b603c81111561115357600080fd5b602255565b60006111666012600a612075565b600454610a9e9190612010565b60265460009061010090046001600160a01b0316336001600160a01b0316146111ae5760405162461bcd60e51b8152600401610a3690611f1b565b81156111ca576021805462ff00001916620100001790556111d7565b6021805462ff0000191690555b5060215462010000900460ff165b919050565b6000546001600160a01b031633146112145760405162461bcd60e51b8152600401610a3690611f52565b601d546001600160a01b038381169116141561127d5760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b6064820152608401610a36565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b60265461010090046001600160a01b0316336001600160a01b0316146112e05760405162461bcd60e51b8152600401610a3690611f1b565b80610a7f57602654479061010090046001600160a01b03166108fc60646113078685612120565b6113119190612010565b6040518115909202916000818181858888f19350505050158015611339573d6000803e3d6000fd5b50505050565b600043602054601e546113529190611ff8565b1061135f57505060125490565b811561137557601154601054610a069190611ff8565b601154601054610a06919061213f565b6000546001600160a01b031633146113af5760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b0381166114145760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a36565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114995760405162461bcd60e51b8152600401610a3690611f52565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60006001600160a01b03841661151c5760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610a36565b6001600160a01b03831661156b5760405162461bcd60e51b8152602060048201526016602482015275045524332303a207472616e7366657220746f203078360541b6044820152606401610a36565b600082116115b35760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b6044820152606401610a36565b6001600160a01b0384166000908152600760205260409020548211156116125760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610a36565b601e5415801561163a57506001600160a01b03831660009081526017602052604090205460ff165b156116c1576001600160a01b0384166000908152600d602052604090205460ff166116a75760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e00000000000000006044820152606401610a36565b6116c143601e5542601f556023805460ff19166001179055565b60215460ff1661174e576001600160a01b0384166000908152600d602052604090205460ff168061170a57506001600160a01b0383166000908152600d602052604090205460ff165b61174e5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610a36565b60265460ff161561176b57611764848484611877565b9050610b31565b6001600160a01b03841660009081526007602052604090205461178f90839061213f565b6001600160a01b038516600090815260076020908152604080832093909355600b90529081205460ff16156117c457826117ce565b6117ce8484611931565b90506117d9846119af565b156117ec5782156117ec576117ec611a1d565b6001600160a01b038416600090815260076020526040902054611810908290611ff8565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118649085815260200190565b60405180910390a3506001949350505050565b6001600160a01b03831660009081526007602052604081205461189b90839061213f565b6001600160a01b0380861660009081526007602052604080822093909355908516815220546118cb908390611ff8565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061191f9086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526017602052604081205460125460ff90911690829061195e8361133f565b6119689086612120565b6119729190612010565b30600090815260076020526040812080549293508392909190611996908490611ff8565b909155506119a69050818561213f565b95945050505050565b3360009081526017602052604081205460ff161580156119d2575060265460ff16155b80156119e0575060235460ff165b8015611a0457506001600160a01b03821660009081526017602052604090205460ff165b8015610a0657505060215462010000900460ff16919050565b6026805460ff191660011790553060009081526007602052604090205415611bda57306000908152600760205260408082205481516002808252606082019093529092918160200160208202803683370190505090503081600081518110611a8757611a87612187565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611adb57600080fd5b505afa158015611aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b139190611c5f565b81600181518110611b2657611b26612187565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b815291169063791ac94790611b6c908590600090869030904290600401611f87565b600060405180830381600087803b158015611b8657600080fd5b505af1158015611b9a573d6000803e3d6000fd5b505050507f8eecd6f35243e1875b7143b093766263953bc97e6e92213e4ae934c67e1fe0de82604051611bcf91815260200190565b60405180910390a150505b6026805460ff19169055565b60008083601f840112611bf857600080fd5b50813567ffffffffffffffff811115611c1057600080fd5b6020830191508360208260051b8501011115611c2b57600080fd5b9250929050565b803580151581146111e557600080fd5b600060208284031215611c5457600080fd5b8135610b318161219d565b600060208284031215611c7157600080fd5b8151610b318161219d565b60008060408385031215611c8f57600080fd5b8235611c9a8161219d565b91506020830135611caa8161219d565b809150509250929050565b600080600060608486031215611cca57600080fd5b8335611cd58161219d565b92506020840135611ce58161219d565b929592945050506040919091013590565b60008060408385031215611d0957600080fd5b8235611d148161219d565b9150611d2260208401611c32565b90509250929050565b60008060408385031215611d3e57600080fd5b8235611d498161219d565b946020939093013593505050565b60008060008060408587031215611d6d57600080fd5b843567ffffffffffffffff80821115611d8557600080fd5b611d9188838901611be6565b90965094506020870135915080821115611daa57600080fd5b50611db787828801611be6565b95989497509550505050565b600060208284031215611dd557600080fd5b610b3182611c32565b60008060008060808587031215611df457600080fd5b611dfd85611c32565b9350611e0b60208601611c32565b93969395505050506040820135916060013590565b60008060408385031215611e3357600080fd5b611d4983611c32565b600060208284031215611e4e57600080fd5b5035919050565b60008060408385031215611e6857600080fd5b82359150611d2260208401611c32565b60008060408385031215611e8b57600080fd5b50508035926020909101359150565b600080600060608486031215611eaf57600080fd5b505081359360208301359350604090920135919050565b600060208083528351808285015260005b81811015611ef357858101830151858201604001528201611ed7565b81811115611f05576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fd75784516001600160a01b031683529383019391830191600101611fb2565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561200b5761200b612171565b500190565b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561206d57816000190482111561205357612053612171565b8085161561206057918102915b93841c9390800290612037565b509250929050565b6000610b3160ff84168360008261208e57506001610a06565b8161209b57506000610a06565b81600181146120b157600281146120bb576120d7565b6001915050610a06565b60ff8411156120cc576120cc612171565b50506001821b610a06565b5060208310610133831016604e8410600b84101617156120fa575081810a610a06565b6121048383612032565b806000190482111561211857612118612171565b029392505050565b600081600019048311821515161561213a5761213a612171565b500290565b60008282101561215157612151612171565b500390565b600060001982141561216a5761216a612171565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146121b257600080fd5b5056fea264697066735822122061f0a6549388750418d40a4af940e8a65a0935541a6e19462fbeb27dc639909964736f6c63430008070033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.