ETH Price: $3,238.89 (+1.33%)

Token

Big Buy Comp (BBC)
 

Overview

Max Total Supply

1,000,000 BBC

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
pswizzlemynizzle.eth
Balance
23,647.042748850425007194 BBC

Value
$0.00
0xad808e43e9df338b8af0b5cf72732783c26778a8
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:
BigBuyComp

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : bbc.sol
/**
    Big Buy Comp ($BBC) has arrived for all degens in the ETH space.
    Do you want to claim the title of the Master of the $BBC?
    Make the biggest buy within a 10 minutes cycle, become the Master of the $BBC and be rewarded with the $BBC pot collected within that cycle.
    The game resets every 10 minutes, so keep flexing your assets away!

    Rules of $BBC:

    1. Each cycle is 10 minutes
    2. Biggest buy within the cycle is rewarded with 4% of tokenomics
    3. If the *master of the $Token” sells any amount within the cycle, the game ends and starts again
    4. There is a cooldown of 2 cycles for a former master to become a master in a next Game
    5. Anyone that makes a bigger purchase than the current master, will steal the title and the timer will reset.
    
    TG: https://t.me/bbcportal
**/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.12;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

interface 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 getOwner() external view returns (address);

    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 getAmountsIn(uint256 amountOut, address[] memory path)
        external
        view
        returns (uint256[] memory amounts);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

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

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

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

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

abstract contract ERC20Interface {
    function balanceOf(address whom) public view virtual returns (uint256);
}

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

    string constant _name = "Big Buy Comp";
    string constant _symbol = "BBC";
    uint8 constant _decimals = 18;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    uint256 _totalSupply = 1e6 * (10**_decimals);
    uint256 public biggestBuy = 0;
    uint256 public lastWhaleChange = 0;
    uint256 public resetPeriod = 10 minutes;
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => uint256) public _lastWhaleTimer;
    mapping(address => uint256) public _payOut;
    mapping(address => bool) public previousWhaleHolder;
    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isTxLimitExempt;
    mapping(address => bool) private _isBlackedlisted;

    uint256 private constant MAX = ~uint256(0);

    uint256 public buyLiquidityFee = 2;
    uint256 public buyMarketingFee = 3;
    uint256 public buyWhaleFee = 3;
    uint256 private buyTotalFee;
    

    uint256 public sellLiquidityFee = 4;
    uint256 public sellMarketingFee = 4;
    uint256 public sellWhaleFee = 4;
    uint256 private sellTotalFee;

    address public autoLiquidityReceiver;
    address public marketingWallet;
    address public Whale;
    address public _payOutAddress;

    bool public _isLaunched = false;
    uint256 _launchTime;

    IDEXRouter public router;
    address public pair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    uint256 public _maxTxAmount = 5e3 * (10**_decimals);
    uint256 public _maxWalletAmount = 1e4 * (10**_decimals);
    uint256 public swapThreshold = 5e2 * (10**_decimals);

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    event AutoLiquify(uint256 amountETH, uint256 amountToken);
    event NewWhale(address whale, uint256 buyAmount);
    event WhalePayout(address whale, uint256 amountETH);
    event WhaleSold(address whale, uint256 amountETH);

    constructor()  {
        router = IDEXRouter(routerAddress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = MAX;
        isFeeExempt[DEAD] = true;
        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        autoLiquidityReceiver = msg.sender;
        marketingWallet = msg.sender;
        Whale = msg.sender;
        buyTotalFee = buyLiquidityFee.add(buyMarketingFee).add(buyWhaleFee);
        sellTotalFee = sellLiquidityFee.add(sellMarketingFee).add(sellWhaleFee);
        _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 getOwner() external view override returns (address) {
        return owner();
    }

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

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

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

    function removeLimitsAndFees() public onlyOwner() {
        swapAndLiquifyEnabled=false;
        _maxTxAmount=MAX;
        _maxWalletAmount=MAX;
        buyMarketingFee=0;
        buyWhaleFee=0;
        buyLiquidityFee=0;
        sellLiquidityFee = 0;
        sellMarketingFee = 0;
        sellWhaleFee = 0;
        buyTotalFee = 0;
        sellTotalFee = 0;
    }

    function setBuyFees(uint256 newBuyLiquidityFee, uint256 newBuyMarketingFee, uint256 newBuyWhaleFee) external onlyOwner {
        require(newBuyLiquidityFee <= 10, "Invalid fee");
        require(newBuyMarketingFee <= 10, "Invalid fee");
        require(newBuyWhaleFee <= 10, "Invalid fee");

        buyLiquidityFee = newBuyLiquidityFee;
        buyMarketingFee = newBuyMarketingFee;
        buyWhaleFee = newBuyWhaleFee;
        buyTotalFee = buyLiquidityFee.add(buyMarketingFee).add(buyWhaleFee);
    }

    function setSellFees(uint256 newSellLiquidityFee, uint256 newSellMarketingFee, uint256 newSellWhaleFee) external onlyOwner {
        require(newSellLiquidityFee <= 10, "Invalid fee");
        require(newSellMarketingFee <= 10, "Invalid fee");
        require(newSellWhaleFee <= 10, "Invalid fee");

        sellLiquidityFee = newSellLiquidityFee;
        sellMarketingFee = newSellMarketingFee;
        sellWhaleFee = newSellWhaleFee;
        sellTotalFee = sellLiquidityFee.add(sellMarketingFee).add(sellWhaleFee);
    }

    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 approveMax(address spender) external returns (bool) {
        return approve(spender, MAX);
    }

    function setIsFeeExempt(address[] memory accounts, bool exempt) external onlyOwner {
        for (uint i = 0; i < accounts.length; i++) {
            isFeeExempt[accounts[i]] = exempt;
        }
    }

    function setIsTxLimitExempt(address[] memory accounts, bool exempt) external onlyOwner {
        for (uint i = 0; i < accounts.length; i++) {
            isTxLimitExempt[accounts[i]] = exempt;
        }
    }
    
    function setBlacklist(address[] memory accounts, bool exempt) external onlyOwner {
        for (uint i = 0; i < accounts.length; i++) {
            _isBlackedlisted[accounts[i]] = exempt;
        }
    }

    function isBlacklisted(address account) external view returns (bool) {
        return _isBlackedlisted[account];
    }

    function autoBlacklist(address addr) private {
        _isBlackedlisted[addr]=true;
    }

    function setSwapThreshold(uint256 threshold) external onlyOwner {
        swapThreshold = threshold;
    }

    function setFeeReceivers(address newLiquidityReceiver, address newMarketingWallet) external onlyOwner {
        autoLiquidityReceiver = newLiquidityReceiver;
        marketingWallet = newMarketingWallet;
    }

    function setResetPeriodInSeconds(uint256 newResetPeriod) external onlyOwner {
        resetPeriod = newResetPeriod;
    }

    function _reset() internal {
        Whale = marketingWallet;
        biggestBuy = 0;
        lastWhaleChange = block.timestamp;
    }

    function epochReset() external view returns (uint256) {
        return lastWhaleChange + resetPeriod;
    }

    function letsGo() external onlyOwner {
        require (_isLaunched == false, "Already launched");
        _isLaunched = true;
        _launchTime = block.timestamp;
        Whale = marketingWallet;
        biggestBuy = 0;
        lastWhaleChange = block.timestamp;
    }

    function setMaxWalletSize(uint256 amount) external onlyOwner {
        require(amount >= 1e3 * (10**_decimals), "Max wallet size is too low");
        _maxWalletAmount = amount;

    }

    function setMaxTransactionSize(uint256 amount) external onlyOwner {
        require(amount >= 1e3 * (10**_decimals), "Max transaction size is too low");
        _maxTxAmount = amount;

    }

    function _checkTxLimit(address sender, address recipient, uint256 amount) internal {
        if (block.timestamp - lastWhaleChange > resetPeriod) {
            _reset();
        }

        if (sender != owner() && recipient != owner() && !isTxLimitExempt[recipient] && recipient != ZERO && recipient != DEAD && recipient != pair && recipient != address(this)) {
            require(amount <= _maxTxAmount, "Transaction exceeds limit.");
            uint256 contractBalanceRecipient = balanceOf(recipient);
            require(contractBalanceRecipient + amount <= _maxWalletAmount, "Exceeds maximum wallet token amount");

            address[] memory path = new address[](2);
            path[0] = router.WETH();
            path[1] = address(this);
            uint256 usedEth = router.getAmountsIn(amount, path)[0];

            if (previousWhaleHolder[recipient] && _lastWhaleTimer[recipient] + 1 hours < block.timestamp && usedEth > biggestBuy) {
                Whale = recipient;
                biggestBuy = usedEth;
                lastWhaleChange = block.timestamp;
                emit NewWhale(Whale, biggestBuy);
            } else if (!previousWhaleHolder[recipient]  && usedEth > biggestBuy) {
                Whale = recipient;
                biggestBuy = usedEth;
                lastWhaleChange = block.timestamp;
                emit NewWhale(Whale, biggestBuy);
            }
        }

        if (sender != owner() && recipient != owner() && !isTxLimitExempt[sender] && sender != pair && recipient != address(this)) {
            require(amount <= _maxTxAmount, "Transaction exceeds limit.");
            if (Whale == sender) {
                emit WhaleSold(Whale, biggestBuy);
                _reset();
            }
        }
    }

    function setSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner {
        swapAndLiquifyEnabled = enableSwapBack;
        swapThreshold = newSwapBackLimit;
    }

    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] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        _transferFrom(sender, recipient, amount);
        return true;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(_isBlackedlisted[sender]!=true && _isBlackedlisted[recipient]!=true, "You're blacklisted.");
        if (inSwapAndLiquify) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold) {
            swapBack(recipient);
        }

        require(!isWalletToWallet(sender, recipient), "Don't cheat");
        _checkTxLimit(sender, recipient, amount);

        uint256 amountReceived = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;

        if (!_isLaunched && recipient != pair && sender != owner() && recipient != owner()) {                       
            autoBlacklist(recipient);
        }

        _balances[recipient] = _balances[recipient].add(amountReceived);
        _balances[sender] = _balances[sender].sub(amount);

        emit Transfer(msg.sender, recipient, amountReceived);
        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) {
        uint256 totalFee;
        if (recipient == pair) {
            totalFee = sellTotalFee;
        } else {
            totalFee = buyTotalFee;
        }
        uint256 feeAmount = amount.mul(totalFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function isWalletToWallet(address sender, address recipient) internal view returns (bool) {
        if (isFeeExempt[sender] || isFeeExempt[recipient]) {
            return false;
        }
        if (sender == pair || recipient == pair) {
            return false;
        }
        return true;
    }

    function swapBack(address recipient) internal lockTheSwap {
        uint256 totalFee;
        uint256 liquidityFee;
        uint256 marketingFee;
        uint256 whaleFee;
        uint256 tokensToLiquify = swapThreshold;

        if (recipient == pair) {
            totalFee = sellTotalFee;
            liquidityFee = sellLiquidityFee;
            marketingFee = sellMarketingFee;
            whaleFee = sellWhaleFee;
        } else {
            totalFee = buyTotalFee;
            liquidityFee = buyLiquidityFee;
            marketingFee = buyMarketingFee;
            whaleFee = buyWhaleFee;
        }

        uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2);

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensToLiquify.sub(amountToLiquify), 
            0, 
            path, 
            address(this), 
            block.timestamp
        );

        uint256 amountETH = address(this).balance;
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHWhale = amountETH.mul(whaleFee).div(totalETHFee);
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);

        (bool tmpSuccess, ) = payable(marketingWallet).call{value: amountETHMarketing, gas: 30000}("");
        (bool tmpSuccess2, ) = payable(Whale).call{value: amountETHWhale, gas: 30000}("");

        _payOut[Whale]=amountETHWhale;
        previousWhaleHolder[Whale]=true;
        _lastWhaleTimer[Whale] = block.timestamp;
        emit WhalePayout(Whale, amountETHWhale);

        tmpSuccess = false;
        tmpSuccess2 = false;

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function recoverLostETH() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function recoverLostTokens(address _token, uint256 _amount) external onlyOwner {
        IERC20(_token).transfer(msg.sender, _amount);
    }

    function manualSwap() public onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualSend() public onlyOwner() {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

    function sendETHToFee(uint256 amount) private {
        payable(marketingWallet).transfer(amount);
    }

}

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

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":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"buyAmount","type":"uint256"}],"name":"NewWhale","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"WhalePayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"whale","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"WhaleSold","type":"event"},{"inputs":[],"name":"Whale","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isLaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastWhaleTimer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_payOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_payOutAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","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":"biggestBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyWhaleFee","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":"epochReset","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","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":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastWhaleChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"letsGo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"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":"previousWhaleHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverLostETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverLostTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimitsAndFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resetPeriod","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":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellWhaleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"newBuyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newBuyWhaleFee","type":"uint256"}],"name":"setBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTransactionSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newResetPeriod","type":"uint256"}],"name":"setResetPeriodInSeconds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"newSellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newSellWhaleFee","type":"uint256"}],"name":"setSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","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":"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"}]

6080604052600180546001600160a01b031990811661dead17909155600280548216905560038054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000506012600a62000602565b6200005f90620f42406200061a565b600490815560006005819055600655610258600755600260105560036011819055601290815560148290556015829055601691909155601b805460ff60a01b19169055601e805460ff60a81b1916600160a81b179055620000c290600a62000602565b620000d0906113886200061a565b601f55620000e16012600a62000602565b620000ef906127106200061a565b602055620001006012600a62000602565b6200010e906101f46200061a565b6021553480156200011e57600080fd5b506200012a3362000430565b600354601d80546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000187573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ad91906200063c565b6001600160a01b031663c9c65396601d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023591906200063c565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a891906200063c565b601e80546001600160a01b039283166001600160a01b0319918216178255306000818152600960209081526040808320601d5488168452825280832060001990556001805488168452600d8352818420805460ff1990811683179091553380865283862080548316841790559585528285208054821683179055815489168552600e8452828520805482168317905585855282852080548216831790559654909716835290912080549094169094179092556018805482168317905560198054821683179055601a80549091169091179055601254601154601054620003b1936200039d92906200156e62000480821b17901c565b6200048060201b6200156e1790919060201c565b601381905550620003dc6016546200039d6015546014546200048060201b6200156e1790919060201c565b60175560045433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000682565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806200048f838562000667565b905083811015620004e65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005465781600019048211156200052a576200052a620004ef565b808516156200053857918102915b93841c93908002906200050a565b509250929050565b6000826200055f57506001620004e9565b816200056e57506000620004e9565b81600181146200058757600281146200059257620005b2565b6001915050620004e9565b60ff841115620005a657620005a6620004ef565b50506001821b620004e9565b5060208310610133831016604e8410600b8410161715620005d7575081810a620004e9565b620005e3838362000505565b8060001904821115620005fa57620005fa620004ef565b029392505050565b60006200061360ff8416836200054e565b9392505050565b6000816000190483118215151615620006375762000637620004ef565b500290565b6000602082840312156200064f57600080fd5b81516001600160a01b0381168114620004e657600080fd5b600082198211156200067d576200067d620004ef565b500190565b612f4b80620006926000396000f3fe6080604052600436106103905760003560e01c806383de570a116101dc578063b898a71511610102578063f26ce616116100a0578063f887ea401161006f578063f887ea4014610a67578063fb02195914610a87578063fe575a8714610ab4578063fe66962e14610aed57600080fd5b8063f26ce61614610a06578063f2fde38b14610a1c578063f429389014610a3c578063f637434214610a5157600080fd5b8063dec2ba0f116100dc578063dec2ba0f14610990578063df20fd49146109b0578063ea1644d5146109d0578063f11a24d3146109f057600080fd5b8063b898a71514610914578063ca33e64c1461092a578063dd62ed3e1461094a57600080fd5b806395d89b411161017a578063a617792811610149578063a617792814610894578063a8aa1b31146108b4578063a9059cbb146108d4578063a9e59da3146108f457600080fd5b806395d89b41146108075780639d0014b1146108335780639e0a781014610853578063a4b45c001461087457600080fd5b80638da5cb5b116101b65780638da5cb5b146107775780638eb6889f146107c557806392136913146107db578063944c1d97146107f157600080fd5b806383de570a14610747578063893d20e8146107775780638b42507f1461079557600080fd5b80633e02a988116102c15780636c0a24eb1161025f57806375f0a8741161022e57806375f0a874146106ce5780637bce5a04146106ee5780637d1db4a5146107045780637de4c7781461071a57600080fd5b80636c0a24eb1461064d57806370a0823114610663578063712a890a14610699578063715018a6146106b957600080fd5b80635074f36f1161029b5780635074f36f146105d857806351bc3c85146105f8578063571ac8b01461060d5780636b1ebc541461062d57600080fd5b80633e02a988146105725780633f4218e0146105875780634a74bb02146105b757600080fd5b8063127e18561161032e5780632b112e49116103085780632b112e49146104f4578063302f627d14610509578063313ce5671461051e5780633b01a1571461053a57600080fd5b8063127e1856146104aa57806318160ddd146104bf57806323b872dd146104d457600080fd5b80630d075d9c1161036a5780630d075d9c146104335780630e85d1e3146104555780630f683e90146104755780631058bec81461049557600080fd5b80630445b6671461039c57806306fdde03146103c5578063095ea7b31461040357600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b260215481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152600c81526b04269672042757920436f6d760a41b60208201525b6040516103bc91906128ad565b34801561040f57600080fd5b5061042361041e366004612917565b610b03565b60405190151581526020016103bc565b34801561043f57600080fd5b5061045361044e366004612943565b610b70565b005b34801561046157600080fd5b506104536104703660046129f8565b610c31565b34801561048157600080fd5b50610453610490366004612943565b610cc7565b3480156104a157600080fd5b50610453610d79565b3480156104b657600080fd5b50610453610e35565b3480156104cb57600080fd5b506004546103b2565b3480156104e057600080fd5b506104236104ef366004612aa9565b610ea1565b34801561050057600080fd5b506103b2610f66565b34801561051557600080fd5b50610453610fb8565b34801561052a57600080fd5b50604051601281526020016103bc565b34801561054657600080fd5b50601a5461055a906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b34801561057e57600080fd5b506103b2611011565b34801561059357600080fd5b506104236105a2366004612aea565b600d6020526000908152604090205460ff1681565b3480156105c357600080fd5b50601e5461042390600160a81b900460ff1681565b3480156105e457600080fd5b506104536105f33660046129f8565b611023565b34801561060457600080fd5b506104536110b4565b34801561061957600080fd5b50610423610628366004612aea565b6110f7565b34801561063957600080fd5b506104536106483660046129f8565b611105565b34801561065957600080fd5b506103b260205481565b34801561066f57600080fd5b506103b261067e366004612aea565b6001600160a01b031660009081526008602052604090205490565b3480156106a557600080fd5b506104536106b4366004612b07565b611196565b3480156106c557600080fd5b506104536111c5565b3480156106da57600080fd5b5060195461055a906001600160a01b031681565b3480156106fa57600080fd5b506103b260115481565b34801561071057600080fd5b506103b2601f5481565b34801561072657600080fd5b506103b2610735366004612aea565b600b6020526000908152604090205481565b34801561075357600080fd5b50610423610762366004612aea565b600c6020526000908152604090205460ff1681565b34801561078357600080fd5b506000546001600160a01b031661055a565b3480156107a157600080fd5b506104236107b0366004612aea565b600e6020526000908152604090205460ff1681565b3480156107d157600080fd5b506103b260055481565b3480156107e757600080fd5b506103b260155481565b3480156107fd57600080fd5b506103b260075481565b34801561081357600080fd5b5060408051808201909152600381526242424360e81b60208201526103f6565b34801561083f57600080fd5b5061045361084e366004612b07565b6111fb565b34801561085f57600080fd5b50601b5461042390600160a01b900460ff1681565b34801561088057600080fd5b5061045361088f366004612b20565b61122a565b3480156108a057600080fd5b50601b5461055a906001600160a01b031681565b3480156108c057600080fd5b50601e5461055a906001600160a01b031681565b3480156108e057600080fd5b506104236108ef366004612917565b611282565b34801561090057600080fd5b5061045361090f366004612b07565b61128f565b34801561092057600080fd5b506103b260065481565b34801561093657600080fd5b5060185461055a906001600160a01b031681565b34801561095657600080fd5b506103b2610965366004612b20565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561099c57600080fd5b506104536109ab366004612917565b611325565b3480156109bc57600080fd5b506104536109cb366004612b59565b6113c0565b3480156109dc57600080fd5b506104536109eb366004612b07565b61140c565b3480156109fc57600080fd5b506103b260105481565b348015610a1257600080fd5b506103b260125481565b348015610a2857600080fd5b50610453610a37366004612aea565b6114a2565b348015610a4857600080fd5b5061045361153a565b348015610a5d57600080fd5b506103b260145481565b348015610a7357600080fd5b50601d5461055a906001600160a01b031681565b348015610a9357600080fd5b506103b2610aa2366004612aea565b600a6020526000908152604090205481565b348015610ac057600080fd5b50610423610acf366004612aea565b6001600160a01b03166000908152600f602052604090205460ff1690565b348015610af957600080fd5b506103b260165481565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b5e9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610ba35760405162461bcd60e51b8152600401610b9a90612b77565b60405180910390fd5b600a831115610bc45760405162461bcd60e51b8152600401610b9a90612bac565b600a821115610be55760405162461bcd60e51b8152600401610b9a90612bac565b600a811115610c065760405162461bcd60e51b8152600401610b9a90612bac565b601083905560118290556012819055610c2981610c23858561156e565b9061156e565b601355505050565b6000546001600160a01b03163314610c5b5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600f6000858481518110610c7e57610c7e612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610cba81612bfd565b915050610c5e565b505050565b6000546001600160a01b03163314610cf15760405162461bcd60e51b8152600401610b9a90612b77565b600a831115610d125760405162461bcd60e51b8152600401610b9a90612bac565b600a821115610d335760405162461bcd60e51b8152600401610b9a90612bac565b600a811115610d545760405162461bcd60e51b8152600401610b9a90612bac565b601483905560158290556016819055610d7181610c23858561156e565b601755505050565b6000546001600160a01b03163314610da35760405162461bcd60e51b8152600401610b9a90612b77565b601b54600160a01b900460ff1615610df05760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610b9a565b601b805460ff60a01b1916600160a01b17905542601c819055601954601a80546001600160a01b0319166001600160a01b039092169190911790556000600555600655565b6000546001600160a01b03163314610e5f5760405162461bcd60e51b8152600401610b9a90612b77565b601e805460ff60a81b19169055600019601f81905560205560006011819055601281905560108190556014819055601581905560168190556013819055601755565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610f4e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610f299184906115cd565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610f59848484611607565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610fb3906001546001600160a01b0316600090815260086020526040902054610fad9060045490611904565b90611904565b905090565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610b9a90612b77565b60405133904780156108fc02916000818181858888f1935050505015801561100e573d6000803e3d6000fd5b50565b6000600754600654610fb39190612c18565b6000546001600160a01b0316331461104d5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600d600085848151811061107057611070612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110ac81612bfd565b915050611050565b6000546001600160a01b031633146110de5760405162461bcd60e51b8152600401610b9a90612b77565b3060009081526008602052604090205461100e81611946565b6000610b6a82600019610b03565b6000546001600160a01b0316331461112f5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600e600085848151811061115257611152612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061118e81612bfd565b915050611132565b6000546001600160a01b031633146111c05760405162461bcd60e51b8152600401610b9a90612b77565b600755565b6000546001600160a01b031633146111ef5760405162461bcd60e51b8152600401610b9a90612b77565b6111f96000611aa7565b565b6000546001600160a01b031633146112255760405162461bcd60e51b8152600401610b9a90612b77565b602155565b6000546001600160a01b031633146112545760405162461bcd60e51b8152600401610b9a90612b77565b601880546001600160a01b039384166001600160a01b03199182161790915560198054929093169116179055565b6000610f5f338484611607565b6000546001600160a01b031633146112b95760405162461bcd60e51b8152600401610b9a90612b77565b6112c56012600a612d14565b6112d1906103e8612d23565b8110156113205760405162461bcd60e51b815260206004820152601f60248201527f4d6178207472616e73616374696f6e2073697a6520697320746f6f206c6f77006044820152606401610b9a565b601f55565b6000546001600160a01b0316331461134f5760405162461bcd60e51b8152600401610b9a90612b77565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561139c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc29190612d42565b6000546001600160a01b031633146113ea5760405162461bcd60e51b8152600401610b9a90612b77565b601e8054921515600160a81b0260ff60a81b1990931692909217909155602155565b6000546001600160a01b031633146114365760405162461bcd60e51b8152600401610b9a90612b77565b6114426012600a612d14565b61144e906103e8612d23565b81101561149d5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b9a565b602055565b6000546001600160a01b031633146114cc5760405162461bcd60e51b8152600401610b9a90612b77565b6001600160a01b0381166115315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b9a565b61100e81611aa7565b6000546001600160a01b031633146115645760405162461bcd60e51b8152600401610b9a90612b77565b4761100e81611af7565b60008061157b8385612c18565b905083811015610f5f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b9a565b600081848411156115f15760405162461bcd60e51b8152600401610b9a91906128ad565b5060006115fe8486612d5f565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff16151560011480159061165357506001600160a01b0383166000908152600f602052604090205460ff161515600114155b6116955760405162461bcd60e51b81526020600482015260136024820152722cb7ba93b93290313630b1b5b634b9ba32b21760691b6044820152606401610b9a565b601e54600160a01b900460ff16156116b9576116b2848484611b35565b9050610f5f565b601e546001600160a01b031633148015906116de5750601e54600160a01b900460ff16155b80156116f35750601e54600160a81b900460ff165b801561171057506021543060009081526008602052604090205410155b1561171e5761171e83611c1b565b6117288484612080565b156117635760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610b9a565b61176e84848461210b565b6001600160a01b0384166000908152600d602052604081205460ff161580156117b057506001600160a01b0384166000908152600d602052604090205460ff16155b6117ba57826117c5565b6117c58585856126cd565b601b54909150600160a01b900460ff161580156117f05750601e546001600160a01b03858116911614155b801561180a57506000546001600160a01b03868116911614155b801561182457506000546001600160a01b03858116911614155b1561185157611851846001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6001600160a01b038416600090815260086020526040902054611874908261156e565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546118a39084611904565b6001600160a01b0386811660009081526008602090815260409182902093909355518381529086169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506001949350505050565b6000610f5f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115cd565b601e805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061198e5761198e612bd1565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0b9190612d76565b81600181518110611a1e57611a1e612bd1565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b815291169063791ac94790611a64908590600090869030904290600401612dd7565b600060405180830381600087803b158015611a7e57600080fd5b505af1158015611a92573d6000803e3d6000fd5b5050601e805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b31573d6000803e3d6000fd5b5050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611b869184906115cd565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611bb5908361156e565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c099086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b198116600160a01b17909155602154600091829182918291906001600160a01b0387811691161415611c69576017549450601454935060155492506016549150611c7e565b60135494506010549350601154925060125491505b6000611c976002611c918881868a612791565b90612810565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611cd157611cd1612bd1565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190612d76565b81600181518110611d6157611d61612bd1565b6001600160a01b039283166020918202929092010152601d541663791ac947611d8a8585611904565b60008430426040518663ffffffff1660e01b8152600401611daf959493929190612dd7565b600060405180830381600087803b158015611dc957600080fd5b505af1158015611ddd573d6000803e3d6000fd5b5047925060009150611dfc9050611df5896002612810565b8a90611904565b90506000611e0e82611c91858b612791565b90506000611e2083611c91868b612791565b90506000611e406002611c9186611c918f8a61279190919063ffffffff16565b6019546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611e97576040519150601f19603f3d011682016040523d82523d6000602084013e611e9c565b606091505b5050601a546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611ef5576040519150601f19603f3d011682016040523d82523d6000602084013e611efa565b606091505b5050601a80546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f7e1b91090974f99ff863df0f31147c10b81b1693e8c646cfdc1b97a5d6283b11910160405180910390a1506000905080881561206257601d5460185460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015612000573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120259190612e13565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff60a01b1916905550505050505050505050505050565b6001600160a01b0382166000908152600d602052604081205460ff16806120bf57506001600160a01b0382166000908152600d602052604090205460ff165b156120cc57506000610b6a565b601e546001600160a01b03848116911614806120f55750601e546001600160a01b038381169116145b1561210257506000610b6a565b50600192915050565b60075460065461211b9042612d5f565b111561212957612129612852565b6000546001600160a01b0384811691161480159061215557506000546001600160a01b03838116911614155b801561217a57506001600160a01b0382166000908152600e602052604090205460ff16155b801561219457506002546001600160a01b03838116911614155b80156121ae57506001546001600160a01b03838116911614155b80156121c85750601e546001600160a01b03838116911614155b80156121dd57506001600160a01b0382163014155b1561258e57601f548111156122345760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e2065786365656473206c696d69742e0000000000006044820152606401610b9a565b6001600160a01b03821660009081526008602052604081205460205490915061225d8383612c18565b11156122b75760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610b9a565b6040805160028082526060820183526000926020830190803683375050601d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123459190612d76565b8160008151811061235857612358612bd1565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061238c5761238c612bd1565b6001600160a01b039283166020918202929092010152601d546040516307c0329d60e21b81526000929190911690631f00ca74906123d09087908690600401612e41565b600060405180830381865afa1580156123ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124159190810190612e62565b60008151811061242757612427612bd1565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff16801561248357506001600160a01b0385166000908152600a6020526040902054429061248190610e10612c18565b105b8015612490575060055481115b156124fa57601a80546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a161258a565b6001600160a01b0385166000908152600c602052604090205460ff16158015612524575060055481115b1561258a57601a80546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a15b5050505b6000546001600160a01b038481169116148015906125ba57506000546001600160a01b03838116911614155b80156125df57506001600160a01b0383166000908152600e602052604090205460ff16155b80156125f95750601e546001600160a01b03848116911614155b801561260e57506001600160a01b0382163014155b15610cc257601f548111156126655760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e2065786365656473206c696d69742e0000000000006044820152606401610b9a565b601a546001600160a01b0384811691161415610cc257601a54600554604080516001600160a01b03909316835260208301919091527f83a0fa64f7ae8557922f3732336a8b1e5885999f44e7422b63cd0a5aae62cf29910160405180910390a1610cc2612852565b601e5460009081906001600160a01b03858116911614156126f157506017546126f6565b506013545b60006127076064611c918685612791565b30600090815260086020526040902054909150612724908261156e565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906127759085815260200190565b60405180910390a36127878482611904565b9695505050505050565b6000826127a057506000610b6a565b60006127ac8385612d23565b9050826127b98583612ef3565b14610f5f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b9a565b6000610f5f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061287f565b601954601a80546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b600081836128a05760405162461bcd60e51b8152600401610b9a91906128ad565b5060006115fe8486612ef3565b600060208083528351808285015260005b818110156128da578581018301518582016040015282016128be565b818111156128ec576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100e57600080fd5b6000806040838503121561292a57600080fd5b823561293581612902565b946020939093013593505050565b60008060006060848603121561295857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156129ae576129ae61296f565b604052919050565b600067ffffffffffffffff8211156129d0576129d061296f565b5060051b60200190565b801515811461100e57600080fd5b80356129f3816129da565b919050565b60008060408385031215612a0b57600080fd5b823567ffffffffffffffff811115612a2257600080fd5b8301601f81018513612a3357600080fd5b80356020612a48612a43836129b6565b612985565b82815260059290921b83018101918181019088841115612a6757600080fd5b938201935b83851015612a8e578435612a7f81612902565b82529382019390820190612a6c565b9550612a9d90508682016129e8565b93505050509250929050565b600080600060608486031215612abe57600080fd5b8335612ac981612902565b92506020840135612ad981612902565b929592945050506040919091013590565b600060208284031215612afc57600080fd5b8135610f5f81612902565b600060208284031215612b1957600080fd5b5035919050565b60008060408385031215612b3357600080fd5b8235612b3e81612902565b91506020830135612b4e81612902565b809150509250929050565b60008060408385031215612b6c57600080fd5b8235612935816129da565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612c1157612c11612be7565b5060010190565b60008219821115612c2b57612c2b612be7565b500190565b600181815b80851115612c6b578160001904821115612c5157612c51612be7565b80851615612c5e57918102915b93841c9390800290612c35565b509250929050565b600082612c8257506001610b6a565b81612c8f57506000610b6a565b8160018114612ca55760028114612caf57612ccb565b6001915050610b6a565b60ff841115612cc057612cc0612be7565b50506001821b610b6a565b5060208310610133831016604e8410600b8410161715612cee575081810a610b6a565b612cf88383612c30565b8060001904821115612d0c57612d0c612be7565b029392505050565b6000610f5f60ff841683612c73565b6000816000190483118215151615612d3d57612d3d612be7565b500290565b600060208284031215612d5457600080fd5b8151610f5f816129da565b600082821015612d7157612d71612be7565b500390565b600060208284031215612d8857600080fd5b8151610f5f81612902565b600081518084526020808501945080840160005b83811015612dcc5781516001600160a01b031687529582019590820190600101612da7565b509495945050505050565b85815284602082015260a060408201526000612df660a0830186612d93565b6001600160a01b0394909416606083015250608001529392505050565b600080600060608486031215612e2857600080fd5b8351925060208401519150604084015190509250925092565b828152604060208201526000612e5a6040830184612d93565b949350505050565b60006020808385031215612e7557600080fd5b825167ffffffffffffffff811115612e8c57600080fd5b8301601f81018513612e9d57600080fd5b8051612eab612a43826129b6565b81815260059190911b82018301908381019087831115612eca57600080fd5b928401925b82841015612ee857835182529284019290840190612ecf565b979650505050505050565b600082612f1057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220b8d0d600d51edf7de83d2ce74e17153545b8e4e00e8c9a6e75339dbbd4a557ca64736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106103905760003560e01c806383de570a116101dc578063b898a71511610102578063f26ce616116100a0578063f887ea401161006f578063f887ea4014610a67578063fb02195914610a87578063fe575a8714610ab4578063fe66962e14610aed57600080fd5b8063f26ce61614610a06578063f2fde38b14610a1c578063f429389014610a3c578063f637434214610a5157600080fd5b8063dec2ba0f116100dc578063dec2ba0f14610990578063df20fd49146109b0578063ea1644d5146109d0578063f11a24d3146109f057600080fd5b8063b898a71514610914578063ca33e64c1461092a578063dd62ed3e1461094a57600080fd5b806395d89b411161017a578063a617792811610149578063a617792814610894578063a8aa1b31146108b4578063a9059cbb146108d4578063a9e59da3146108f457600080fd5b806395d89b41146108075780639d0014b1146108335780639e0a781014610853578063a4b45c001461087457600080fd5b80638da5cb5b116101b65780638da5cb5b146107775780638eb6889f146107c557806392136913146107db578063944c1d97146107f157600080fd5b806383de570a14610747578063893d20e8146107775780638b42507f1461079557600080fd5b80633e02a988116102c15780636c0a24eb1161025f57806375f0a8741161022e57806375f0a874146106ce5780637bce5a04146106ee5780637d1db4a5146107045780637de4c7781461071a57600080fd5b80636c0a24eb1461064d57806370a0823114610663578063712a890a14610699578063715018a6146106b957600080fd5b80635074f36f1161029b5780635074f36f146105d857806351bc3c85146105f8578063571ac8b01461060d5780636b1ebc541461062d57600080fd5b80633e02a988146105725780633f4218e0146105875780634a74bb02146105b757600080fd5b8063127e18561161032e5780632b112e49116103085780632b112e49146104f4578063302f627d14610509578063313ce5671461051e5780633b01a1571461053a57600080fd5b8063127e1856146104aa57806318160ddd146104bf57806323b872dd146104d457600080fd5b80630d075d9c1161036a5780630d075d9c146104335780630e85d1e3146104555780630f683e90146104755780631058bec81461049557600080fd5b80630445b6671461039c57806306fdde03146103c5578063095ea7b31461040357600080fd5b3661039757005b600080fd5b3480156103a857600080fd5b506103b260215481565b6040519081526020015b60405180910390f35b3480156103d157600080fd5b5060408051808201909152600c81526b04269672042757920436f6d760a41b60208201525b6040516103bc91906128ad565b34801561040f57600080fd5b5061042361041e366004612917565b610b03565b60405190151581526020016103bc565b34801561043f57600080fd5b5061045361044e366004612943565b610b70565b005b34801561046157600080fd5b506104536104703660046129f8565b610c31565b34801561048157600080fd5b50610453610490366004612943565b610cc7565b3480156104a157600080fd5b50610453610d79565b3480156104b657600080fd5b50610453610e35565b3480156104cb57600080fd5b506004546103b2565b3480156104e057600080fd5b506104236104ef366004612aa9565b610ea1565b34801561050057600080fd5b506103b2610f66565b34801561051557600080fd5b50610453610fb8565b34801561052a57600080fd5b50604051601281526020016103bc565b34801561054657600080fd5b50601a5461055a906001600160a01b031681565b6040516001600160a01b0390911681526020016103bc565b34801561057e57600080fd5b506103b2611011565b34801561059357600080fd5b506104236105a2366004612aea565b600d6020526000908152604090205460ff1681565b3480156105c357600080fd5b50601e5461042390600160a81b900460ff1681565b3480156105e457600080fd5b506104536105f33660046129f8565b611023565b34801561060457600080fd5b506104536110b4565b34801561061957600080fd5b50610423610628366004612aea565b6110f7565b34801561063957600080fd5b506104536106483660046129f8565b611105565b34801561065957600080fd5b506103b260205481565b34801561066f57600080fd5b506103b261067e366004612aea565b6001600160a01b031660009081526008602052604090205490565b3480156106a557600080fd5b506104536106b4366004612b07565b611196565b3480156106c557600080fd5b506104536111c5565b3480156106da57600080fd5b5060195461055a906001600160a01b031681565b3480156106fa57600080fd5b506103b260115481565b34801561071057600080fd5b506103b2601f5481565b34801561072657600080fd5b506103b2610735366004612aea565b600b6020526000908152604090205481565b34801561075357600080fd5b50610423610762366004612aea565b600c6020526000908152604090205460ff1681565b34801561078357600080fd5b506000546001600160a01b031661055a565b3480156107a157600080fd5b506104236107b0366004612aea565b600e6020526000908152604090205460ff1681565b3480156107d157600080fd5b506103b260055481565b3480156107e757600080fd5b506103b260155481565b3480156107fd57600080fd5b506103b260075481565b34801561081357600080fd5b5060408051808201909152600381526242424360e81b60208201526103f6565b34801561083f57600080fd5b5061045361084e366004612b07565b6111fb565b34801561085f57600080fd5b50601b5461042390600160a01b900460ff1681565b34801561088057600080fd5b5061045361088f366004612b20565b61122a565b3480156108a057600080fd5b50601b5461055a906001600160a01b031681565b3480156108c057600080fd5b50601e5461055a906001600160a01b031681565b3480156108e057600080fd5b506104236108ef366004612917565b611282565b34801561090057600080fd5b5061045361090f366004612b07565b61128f565b34801561092057600080fd5b506103b260065481565b34801561093657600080fd5b5060185461055a906001600160a01b031681565b34801561095657600080fd5b506103b2610965366004612b20565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561099c57600080fd5b506104536109ab366004612917565b611325565b3480156109bc57600080fd5b506104536109cb366004612b59565b6113c0565b3480156109dc57600080fd5b506104536109eb366004612b07565b61140c565b3480156109fc57600080fd5b506103b260105481565b348015610a1257600080fd5b506103b260125481565b348015610a2857600080fd5b50610453610a37366004612aea565b6114a2565b348015610a4857600080fd5b5061045361153a565b348015610a5d57600080fd5b506103b260145481565b348015610a7357600080fd5b50601d5461055a906001600160a01b031681565b348015610a9357600080fd5b506103b2610aa2366004612aea565b600a6020526000908152604090205481565b348015610ac057600080fd5b50610423610acf366004612aea565b6001600160a01b03166000908152600f602052604090205460ff1690565b348015610af957600080fd5b506103b260165481565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610b5e9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610ba35760405162461bcd60e51b8152600401610b9a90612b77565b60405180910390fd5b600a831115610bc45760405162461bcd60e51b8152600401610b9a90612bac565b600a821115610be55760405162461bcd60e51b8152600401610b9a90612bac565b600a811115610c065760405162461bcd60e51b8152600401610b9a90612bac565b601083905560118290556012819055610c2981610c23858561156e565b9061156e565b601355505050565b6000546001600160a01b03163314610c5b5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600f6000858481518110610c7e57610c7e612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610cba81612bfd565b915050610c5e565b505050565b6000546001600160a01b03163314610cf15760405162461bcd60e51b8152600401610b9a90612b77565b600a831115610d125760405162461bcd60e51b8152600401610b9a90612bac565b600a821115610d335760405162461bcd60e51b8152600401610b9a90612bac565b600a811115610d545760405162461bcd60e51b8152600401610b9a90612bac565b601483905560158290556016819055610d7181610c23858561156e565b601755505050565b6000546001600160a01b03163314610da35760405162461bcd60e51b8152600401610b9a90612b77565b601b54600160a01b900460ff1615610df05760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b6044820152606401610b9a565b601b805460ff60a01b1916600160a01b17905542601c819055601954601a80546001600160a01b0319166001600160a01b039092169190911790556000600555600655565b6000546001600160a01b03163314610e5f5760405162461bcd60e51b8152600401610b9a90612b77565b601e805460ff60a81b19169055600019601f81905560205560006011819055601281905560108190556014819055601581905560168190556013819055601755565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610f4e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610f299184906115cd565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610f59848484611607565b50600190505b9392505050565b6002546001600160a01b0316600090815260086020526040812054610fb3906001546001600160a01b0316600090815260086020526040902054610fad9060045490611904565b90611904565b905090565b6000546001600160a01b03163314610fe25760405162461bcd60e51b8152600401610b9a90612b77565b60405133904780156108fc02916000818181858888f1935050505015801561100e573d6000803e3d6000fd5b50565b6000600754600654610fb39190612c18565b6000546001600160a01b0316331461104d5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600d600085848151811061107057611070612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806110ac81612bfd565b915050611050565b6000546001600160a01b031633146110de5760405162461bcd60e51b8152600401610b9a90612b77565b3060009081526008602052604090205461100e81611946565b6000610b6a82600019610b03565b6000546001600160a01b0316331461112f5760405162461bcd60e51b8152600401610b9a90612b77565b60005b8251811015610cc25781600e600085848151811061115257611152612bd1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061118e81612bfd565b915050611132565b6000546001600160a01b031633146111c05760405162461bcd60e51b8152600401610b9a90612b77565b600755565b6000546001600160a01b031633146111ef5760405162461bcd60e51b8152600401610b9a90612b77565b6111f96000611aa7565b565b6000546001600160a01b031633146112255760405162461bcd60e51b8152600401610b9a90612b77565b602155565b6000546001600160a01b031633146112545760405162461bcd60e51b8152600401610b9a90612b77565b601880546001600160a01b039384166001600160a01b03199182161790915560198054929093169116179055565b6000610f5f338484611607565b6000546001600160a01b031633146112b95760405162461bcd60e51b8152600401610b9a90612b77565b6112c56012600a612d14565b6112d1906103e8612d23565b8110156113205760405162461bcd60e51b815260206004820152601f60248201527f4d6178207472616e73616374696f6e2073697a6520697320746f6f206c6f77006044820152606401610b9a565b601f55565b6000546001600160a01b0316331461134f5760405162461bcd60e51b8152600401610b9a90612b77565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561139c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc29190612d42565b6000546001600160a01b031633146113ea5760405162461bcd60e51b8152600401610b9a90612b77565b601e8054921515600160a81b0260ff60a81b1990931692909217909155602155565b6000546001600160a01b031633146114365760405162461bcd60e51b8152600401610b9a90612b77565b6114426012600a612d14565b61144e906103e8612d23565b81101561149d5760405162461bcd60e51b815260206004820152601a60248201527f4d61782077616c6c65742073697a6520697320746f6f206c6f770000000000006044820152606401610b9a565b602055565b6000546001600160a01b031633146114cc5760405162461bcd60e51b8152600401610b9a90612b77565b6001600160a01b0381166115315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b9a565b61100e81611aa7565b6000546001600160a01b031633146115645760405162461bcd60e51b8152600401610b9a90612b77565b4761100e81611af7565b60008061157b8385612c18565b905083811015610f5f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b9a565b600081848411156115f15760405162461bcd60e51b8152600401610b9a91906128ad565b5060006115fe8486612d5f565b95945050505050565b6001600160a01b0383166000908152600f602052604081205460ff16151560011480159061165357506001600160a01b0383166000908152600f602052604090205460ff161515600114155b6116955760405162461bcd60e51b81526020600482015260136024820152722cb7ba93b93290313630b1b5b634b9ba32b21760691b6044820152606401610b9a565b601e54600160a01b900460ff16156116b9576116b2848484611b35565b9050610f5f565b601e546001600160a01b031633148015906116de5750601e54600160a01b900460ff16155b80156116f35750601e54600160a81b900460ff165b801561171057506021543060009081526008602052604090205410155b1561171e5761171e83611c1b565b6117288484612080565b156117635760405162461bcd60e51b815260206004820152600b60248201526a111bdb89dd0818da19585d60aa1b6044820152606401610b9a565b61176e84848461210b565b6001600160a01b0384166000908152600d602052604081205460ff161580156117b057506001600160a01b0384166000908152600d602052604090205460ff16155b6117ba57826117c5565b6117c58585856126cd565b601b54909150600160a01b900460ff161580156117f05750601e546001600160a01b03858116911614155b801561180a57506000546001600160a01b03868116911614155b801561182457506000546001600160a01b03858116911614155b1561185157611851846001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6001600160a01b038416600090815260086020526040902054611874908261156e565b6001600160a01b0380861660009081526008602052604080822093909355908716815220546118a39084611904565b6001600160a01b0386811660009081526008602090815260409182902093909355518381529086169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506001949350505050565b6000610f5f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115cd565b601e805460ff60a01b1916600160a01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061198e5761198e612bd1565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156119e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0b9190612d76565b81600181518110611a1e57611a1e612bd1565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b815291169063791ac94790611a64908590600090869030904290600401612dd7565b600060405180830381600087803b158015611a7e57600080fd5b505af1158015611a92573d6000803e3d6000fd5b5050601e805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611b31573d6000803e3d6000fd5b5050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611b869184906115cd565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611bb5908361156e565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c099086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b198116600160a01b17909155602154600091829182918291906001600160a01b0387811691161415611c69576017549450601454935060155492506016549150611c7e565b60135494506010549350601154925060125491505b6000611c976002611c918881868a612791565b90612810565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611cd157611cd1612bd1565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190612d76565b81600181518110611d6157611d61612bd1565b6001600160a01b039283166020918202929092010152601d541663791ac947611d8a8585611904565b60008430426040518663ffffffff1660e01b8152600401611daf959493929190612dd7565b600060405180830381600087803b158015611dc957600080fd5b505af1158015611ddd573d6000803e3d6000fd5b5047925060009150611dfc9050611df5896002612810565b8a90611904565b90506000611e0e82611c91858b612791565b90506000611e2083611c91868b612791565b90506000611e406002611c9186611c918f8a61279190919063ffffffff16565b6019546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611e97576040519150601f19603f3d011682016040523d82523d6000602084013e611e9c565b606091505b5050601a546040519192506000916001600160a01b039091169061753090869084818181858888f193505050503d8060008114611ef5576040519150601f19603f3d011682016040523d82523d6000602084013e611efa565b606091505b5050601a80546001600160a01b039081166000908152600b602090815260408083208a9055845484168352600c8252808320805460ff19166001179055845484168352600a82529182902042905592548151921682529181018790529192507f7e1b91090974f99ff863df0f31147c10b81b1693e8c646cfdc1b97a5d6283b11910160405180910390a1506000905080881561206257601d5460185460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015612000573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120259190612e13565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff60a01b1916905550505050505050505050505050565b6001600160a01b0382166000908152600d602052604081205460ff16806120bf57506001600160a01b0382166000908152600d602052604090205460ff165b156120cc57506000610b6a565b601e546001600160a01b03848116911614806120f55750601e546001600160a01b038381169116145b1561210257506000610b6a565b50600192915050565b60075460065461211b9042612d5f565b111561212957612129612852565b6000546001600160a01b0384811691161480159061215557506000546001600160a01b03838116911614155b801561217a57506001600160a01b0382166000908152600e602052604090205460ff16155b801561219457506002546001600160a01b03838116911614155b80156121ae57506001546001600160a01b03838116911614155b80156121c85750601e546001600160a01b03838116911614155b80156121dd57506001600160a01b0382163014155b1561258e57601f548111156122345760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e2065786365656473206c696d69742e0000000000006044820152606401610b9a565b6001600160a01b03821660009081526008602052604081205460205490915061225d8383612c18565b11156122b75760405162461bcd60e51b815260206004820152602360248201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152621d5b9d60ea1b6064820152608401610b9a565b6040805160028082526060820183526000926020830190803683375050601d54604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015612321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123459190612d76565b8160008151811061235857612358612bd1565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061238c5761238c612bd1565b6001600160a01b039283166020918202929092010152601d546040516307c0329d60e21b81526000929190911690631f00ca74906123d09087908690600401612e41565b600060405180830381865afa1580156123ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124159190810190612e62565b60008151811061242757612427612bd1565b6020908102919091018101516001600160a01b0387166000908152600c90925260409091205490915060ff16801561248357506001600160a01b0385166000908152600a6020526040902054429061248190610e10612c18565b105b8015612490575060055481115b156124fa57601a80546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a161258a565b6001600160a01b0385166000908152600c602052604090205460ff16158015612524575060055481115b1561258a57601a80546001600160a01b0319166001600160a01b03871690811790915560058290554260065560408051918252602082018390527f7a3876294c003693c09b1f201358b7363caa12e3e033ed587899fd1d9f044737910160405180910390a15b5050505b6000546001600160a01b038481169116148015906125ba57506000546001600160a01b03838116911614155b80156125df57506001600160a01b0383166000908152600e602052604090205460ff16155b80156125f95750601e546001600160a01b03848116911614155b801561260e57506001600160a01b0382163014155b15610cc257601f548111156126655760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e2065786365656473206c696d69742e0000000000006044820152606401610b9a565b601a546001600160a01b0384811691161415610cc257601a54600554604080516001600160a01b03909316835260208301919091527f83a0fa64f7ae8557922f3732336a8b1e5885999f44e7422b63cd0a5aae62cf29910160405180910390a1610cc2612852565b601e5460009081906001600160a01b03858116911614156126f157506017546126f6565b506013545b60006127076064611c918685612791565b30600090815260086020526040902054909150612724908261156e565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906127759085815260200190565b60405180910390a36127878482611904565b9695505050505050565b6000826127a057506000610b6a565b60006127ac8385612d23565b9050826127b98583612ef3565b14610f5f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b9a565b6000610f5f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061287f565b601954601a80546001600160a01b0319166001600160a01b03909216919091179055600060055542600655565b600081836128a05760405162461bcd60e51b8152600401610b9a91906128ad565b5060006115fe8486612ef3565b600060208083528351808285015260005b818110156128da578581018301518582016040015282016128be565b818111156128ec576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461100e57600080fd5b6000806040838503121561292a57600080fd5b823561293581612902565b946020939093013593505050565b60008060006060848603121561295857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156129ae576129ae61296f565b604052919050565b600067ffffffffffffffff8211156129d0576129d061296f565b5060051b60200190565b801515811461100e57600080fd5b80356129f3816129da565b919050565b60008060408385031215612a0b57600080fd5b823567ffffffffffffffff811115612a2257600080fd5b8301601f81018513612a3357600080fd5b80356020612a48612a43836129b6565b612985565b82815260059290921b83018101918181019088841115612a6757600080fd5b938201935b83851015612a8e578435612a7f81612902565b82529382019390820190612a6c565b9550612a9d90508682016129e8565b93505050509250929050565b600080600060608486031215612abe57600080fd5b8335612ac981612902565b92506020840135612ad981612902565b929592945050506040919091013590565b600060208284031215612afc57600080fd5b8135610f5f81612902565b600060208284031215612b1957600080fd5b5035919050565b60008060408385031215612b3357600080fd5b8235612b3e81612902565b91506020830135612b4e81612902565b809150509250929050565b60008060408385031215612b6c57600080fd5b8235612935816129da565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600b908201526a496e76616c69642066656560a81b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612c1157612c11612be7565b5060010190565b60008219821115612c2b57612c2b612be7565b500190565b600181815b80851115612c6b578160001904821115612c5157612c51612be7565b80851615612c5e57918102915b93841c9390800290612c35565b509250929050565b600082612c8257506001610b6a565b81612c8f57506000610b6a565b8160018114612ca55760028114612caf57612ccb565b6001915050610b6a565b60ff841115612cc057612cc0612be7565b50506001821b610b6a565b5060208310610133831016604e8410600b8410161715612cee575081810a610b6a565b612cf88383612c30565b8060001904821115612d0c57612d0c612be7565b029392505050565b6000610f5f60ff841683612c73565b6000816000190483118215151615612d3d57612d3d612be7565b500290565b600060208284031215612d5457600080fd5b8151610f5f816129da565b600082821015612d7157612d71612be7565b500390565b600060208284031215612d8857600080fd5b8151610f5f81612902565b600081518084526020808501945080840160005b83811015612dcc5781516001600160a01b031687529582019590820190600101612da7565b509495945050505050565b85815284602082015260a060408201526000612df660a0830186612d93565b6001600160a01b0394909416606083015250608001529392505050565b600080600060608486031215612e2857600080fd5b8351925060208401519150604084015190509250925092565b828152604060208201526000612e5a6040830184612d93565b949350505050565b60006020808385031215612e7557600080fd5b825167ffffffffffffffff811115612e8c57600080fd5b8301601f81018513612e9d57600080fd5b8051612eab612a43826129b6565b81815260059190911b82018301908381019087831115612eca57600080fd5b928401925b82841015612ee857835182529284019290840190612ecf565b979650505050505050565b600082612f1057634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220b8d0d600d51edf7de83d2ce74e17153545b8e4e00e8c9a6e75339dbbd4a557ca64736f6c634300080c0033

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.