S Price: $0.807129 (+0.65%)

Token

Sonic Print (SPRINT)

Overview

Max Total Supply

1,000,000,000 SPRINT

Holders

5

Total Transfers

-

Market

Price

$0.00 @ 0.000000 S

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
SonicPrint

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 2000 runs

Other Settings:
default evmVersion
File 1 of 1 : printer.sol
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

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 IBEP20 {
    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, bool stable) external returns (address pair);

    function getPair(address token0, address token1, bool stable) external view returns (address);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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

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

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

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

// interface IDividendDistributor {
//     function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
//     function setShare(address shareholder, uint256 amount) external;
//     function deposit() external payable;
//     function process(uint256 gas) external;
//     }

// contract DividendDistributor is IDividendDistributor {

//     using SafeMath for uint256;
//     address _token;

//     struct Share {
//         uint256 amount;
//         uint256 totalExcluded;
//         uint256 totalRealised;
//     }

//     IDEXRouter router;
//     address routerAddress = 0x1D368773735ee1E678950B7A97bcA2CafB330CDc; //router
//     IBEP20 RewardToken = IBEP20(0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38); //wS

//     address[] shareholders;
//     mapping (address => uint256) shareholderIndexes;
//     mapping (address => uint256) shareholderClaims;
//     mapping (address => Share) public shares;

//     uint256 public totalShares;
//     uint256 public totalDividends;
//     uint256 public totalDistributed;
//     uint256 public dividendsPerShare;
//     uint256 public dividendsPerShareAccuracyFactor = 10 ** 36;

//     uint256 public minPeriod = 60 minutes;
//     uint256 public minDistribution = 1 * (10 ** 6);

//     uint256 currentIndex;

//     bool initialized;
//     modifier initialization() {
//         require(!initialized);
//         _;
//         initialized = true;
//     }

//     modifier onlyToken() {
//         require(msg.sender == _token); _;
//     }

//     constructor (address _router) {
//         router = _router != address(0) ? IDEXRouter(_router) : IDEXRouter(routerAddress);
//         _token = msg.sender;
//     }

//     function setDistributionCriteria(uint256 newMinPeriod, uint256 newMinDistribution) external override onlyToken {
//         minPeriod = newMinPeriod;
//         minDistribution = newMinDistribution;
//     }

//     function setShare(address shareholder, uint256 amount) external override onlyToken {

//         if(shares[shareholder].amount > 0){
//             distributeDividend(shareholder);
//         }

//         if(amount > 0 && shares[shareholder].amount == 0){
//             addShareholder(shareholder);
//         }else if(amount == 0 && shares[shareholder].amount > 0){
//             removeShareholder(shareholder);
//         }

//         totalShares = totalShares.sub(shares[shareholder].amount).add(amount);
//         shares[shareholder].amount = amount;
//         shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
//     }

//     function deposit() external payable override onlyToken {

//         uint256 balanceBefore = RewardToken.balanceOf(address(this));

//         route[] memory path = new route[](1);
//         path[0].from = address(this);
//         path[0].to = router.WETH();
//         path[0].stable = false;

//         router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: msg.value}(
//             0,
//             path,
//             address(this),
//             block.timestamp
//         );

//         uint256 amount = RewardToken.balanceOf(address(this)).sub(balanceBefore);
//         totalDividends = totalDividends.add(amount);
//         dividendsPerShare = dividendsPerShare.add(dividendsPerShareAccuracyFactor.mul(amount).div(totalShares));
//     }

//     function process(uint256 gas) external override onlyToken {
//         uint256 shareholderCount = shareholders.length;

//         if(shareholderCount == 0) { return; }

//         uint256 iterations = 0;
//         uint256 gasUsed = 0;
//         uint256 gasLeft = gasleft();

//         while(gasUsed < gas && iterations < shareholderCount) {

//             if(currentIndex >= shareholderCount){ currentIndex = 0; }

//             if(shouldDistribute(shareholders[currentIndex])){
//                 distributeDividend(shareholders[currentIndex]);
//             }

//             gasUsed = gasUsed.add(gasLeft.sub(gasleft()));
//             gasLeft = gasleft();
//             currentIndex++;
//             iterations++;
//         }
//     }
    
//     function shouldDistribute(address shareholder) internal view returns (bool) {
//         return shareholderClaims[shareholder] + minPeriod < block.timestamp
//                 && getUnpaidEarnings(shareholder) > minDistribution;
//     }

//     function distributeDividend(address shareholder) internal {
//         if(shares[shareholder].amount == 0){ return; }

//         uint256 amount = getUnpaidEarnings(shareholder);
//         if(amount > 0){
//             totalDistributed = totalDistributed.add(amount);
//             RewardToken.transfer(shareholder, amount);
//             shareholderClaims[shareholder] = block.timestamp;
//             shares[shareholder].totalRealised = shares[shareholder].totalRealised.add(amount);
//             shares[shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount);
//         }

//     }
    
//     function claimDividend(address shareholder) external onlyToken{
//         distributeDividend(shareholder);
//     }
    
//     function rescueDividends(address to) external onlyToken {
//         RewardToken.transfer(to, RewardToken.balanceOf(address(this)));
//     }
    
//     function setRewardToken(address _rewardToken) external onlyToken{
//         RewardToken = IBEP20(_rewardToken);
//     }

//     function getUnpaidEarnings(address shareholder) public view returns (uint256) {
//         if(shares[shareholder].amount == 0){ return 0; }

//         uint256 shareholderTotalDividends = getCumulativeDividends(shares[shareholder].amount);
//         uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded;

//         if(shareholderTotalDividends <= shareholderTotalExcluded){ return 0; }

//         return shareholderTotalDividends.sub(shareholderTotalExcluded);
//     }

//     function getCumulativeDividends(uint256 share) internal view returns (uint256) {
//         return share.mul(dividendsPerShare).div(dividendsPerShareAccuracyFactor);
//     }

//     function addShareholder(address shareholder) internal {
//         shareholderIndexes[shareholder] = shareholders.length;
//         shareholders.push(shareholder);
//     }

//     function removeShareholder(address shareholder) internal {
//         shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length-1];
//         shareholderIndexes[shareholders[shareholders.length-1]] = shareholderIndexes[shareholder];
//         shareholders.pop();
//     }
    
//    }

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

    /**
     * Function modifier to require caller to be contract owner
     */
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    /**
     * Function modifier to require caller to be authorized
     */
    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    /**
     * Authorize address. Owner only
     */
    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    /**
     * Remove address' authorization. Owner only
     */
    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    /**
     * Check if address is owner
     */
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    /**
     * Return address' authorization status
     */
    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    /**
     * Transfer ownership to new address. Caller must be owner.
     */
    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}
struct route {
    /// @dev token from
    address from;
    /// @dev token to
    address to;
    /// @dev is stable route
    bool stable;
}
contract SonicPrint is IBEP20, Auth {
    
    using SafeMath for uint256;

    string constant _name = "Sonic Print";
    string constant _symbol = "SPRINT";
    uint8 constant _decimals = 18;

    address DEAD = 0x000000000000000000000000000000000000dEaD;
    address ZERO = 0x0000000000000000000000000000000000000000;
    address routerAddress = 0x1D368773735ee1E678950B7A97bcA2CafB330CDc;
    address RewardToken = 0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38;

    uint256 _totalSupply = 1000000000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply;
    uint256 public _walletMax = _totalSupply;
    
    bool public restrictWhales = false;

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

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isTxLimitExempt;
    // mapping (address => bool) public isDividendExempt;
    bool public blacklistMode = false;
    mapping(address => bool) public isBlacklisted;

    uint256 public liquidityFee = 1;
    uint256 public marketingFee = 6;
    uint256 public rewardsFee = 1;
    uint256 public lotteryFee = 0;
    // uint256 private _gasPriceLimitB=8;
    // uint256 private gasPriceLimitB = _gasPriceLimitB * 1 gwei; 
    uint256 public sellMultiplier = 15;

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

    address public autoLiquidityReceiver;
    address public marketingWallet;
    address public lotteryWallet;

    IDEXRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = true;

    // DividendDistributor public dividendDistributor;
    // uint256 distributorGas = 750000;

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

    uint256 public swapThreshold = _totalSupply;
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor () Auth(msg.sender) {
        
        router = IDEXRouter(routerAddress);

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

        // dividendDistributor = new DividendDistributor(address(router));

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

        isTxLimitExempt[msg.sender] = true;
        
        // isDividendExempt[msg.sender] = true;
        // isDividendExempt[address(this)] = true;
        // isDividendExempt[DEAD] = true;
        // isDividendExempt[ZERO] = true;

        // NICE!
        autoLiquidityReceiver = msg.sender;
        marketingWallet = 0x54D89a05fa595dAFf1705BA3B3D6B84414567320;  // marketingwallet
        lotteryWallet = 0x54D89a05fa595dAFf1705BA3B3D6B84414567320;  // no tax for lotterywallet
        
        totalFee = (liquidityFee.add(marketingFee).add(rewardsFee).add(lotteryFee));
        totalFeeIfSelling = totalFee.mul(sellMultiplier).div(10);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

    function createPair() external {
        (
            address token0,
            address token1
        ) = (RewardToken, address(this));
        pair = IDEXFactory(0x2dA25E7446A70D7be65fd4c053948BEcAA6374c8).createPair(
            token0, 
            token1, 
            false
        );

        isTxLimitExempt[pair] = true;
        // isDividendExempt[pair] = true;
    }

    function name() external pure override returns (string memory) { return _name; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function getOwner() external view override returns (address) { return owner; }

    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 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, type(uint256).max);
    }
    
    // function claimDividend() external {
    //     dividendDistributor.claimDividend(msg.sender);
    // }

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

    function changeSellFeeX10(uint256 newMulti) external authorized{
        require(newMulti <= 30);
        sellMultiplier = newMulti;
        totalFeeIfSelling = totalFee.mul(sellMultiplier).div(10);
    }

    function launch() internal {
        launchedAt = block.number;
    }
    
    function changeTxLimit(uint256 newLimit) external authorized {
        _maxTxAmount = newLimit;
    }
    
    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }
    
    function enable_blacklist(bool _status) public onlyOwner {
    blacklistMode = _status;
    }

    function changeWalletLimit(uint256 newLimit) external authorized {
        _walletMax  = newLimit;
    }
    
    function manage_blacklist(address[] calldata addresses, bool status)
    public
    onlyOwner
    {
    for (uint256 i; i < addresses.length; ++i) {
      isBlacklisted[addresses[i]] = status;
        }
    }

    function changeRestrictWhales(bool newValue) external authorized {
       restrictWhales = newValue;
    }
    
    function changeIsFeeExempt(address holder, bool exempt) external authorized {
        isFeeExempt[holder] = exempt;
    }

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

    // function changeIsDividendExempt(address holder, bool exempt) external authorized {
    //     require(holder != address(this) && holder != pair);
    //     isDividendExempt[holder] = exempt;
        
    //     if(exempt){
    //         dividendDistributor.setShare(holder, 0);
    //     }else{
    //         dividendDistributor.setShare(holder, _balances[holder]);
    //     }
    // }

    function changeFees(uint256 newLiqFee, uint256 newRewardFee, uint256 newMarketingFee, uint256 newLotteryFee) external authorized {
        liquidityFee = newLiqFee;
        rewardsFee = newRewardFee;
        marketingFee = newMarketingFee;
        lotteryFee = newLotteryFee;
        
        totalFee = liquidityFee.add(marketingFee).add(rewardsFee).add(lotteryFee);
        require(totalFee <= 10);
        totalFeeIfSelling = totalFee.mul(sellMultiplier).div(10);
    }

    function changeFeeReceivers(address newLiquidityReceiver, address newMarketingWallet, address newLotteryWallet) external authorized {
        autoLiquidityReceiver = newLiquidityReceiver;
        marketingWallet = newMarketingWallet;
        lotteryWallet = newLotteryWallet;
    }

    // function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit, bool swapByLimitOnly) external authorized {
    //     swapAndLiquifyEnabled  = enableSwapBack;
    //     swapThreshold = newSwapBackLimit;
    //     swapAndLiquifyByLimitOnly = swapByLimitOnly;
    // }

    // function changeDistributionCriteria(uint256 newinPeriod, uint256 newMinDistribution) external authorized {
    //     dividendDistributor.setDistributionCriteria(newinPeriod, newMinDistribution);
    // }

    // function changeDistributorSettings(uint256 gas) external authorized {
    //     require(gas < 750000);
    //     distributorGas = gas;
    // }
    
    // function setRewardToken(address _rewardToken) external authorized {
    //     dividendDistributor.setRewardToken(_rewardToken);
    // }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

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

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

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

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

        if(!launched() && recipient == pair) {
            require(_balances[sender] > 0);
            launch();
        }
        
        // Blacklist
        if (blacklistMode) {
            require(
            !isBlacklisted[sender] && !isBlacklisted[recipient],
            "Blacklisted");
        }

        // if(recipient == pair && !authorizations[sender]) {
        //     require(tx.gasprice <= gasPriceLimitB);
        //     require(tradingOpen, "Trading not open yet");
        // }

        // if(recipient != pair && !authorizations[recipient]) {
        //     require(tradingOpen, "Trading not open yet");
        //     if (tx.gasprice >= gasPriceLimitB) {
        //         isBlacklisted[recipient] = true;
        //     }
        // }

        //Exchange tokens
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        
        if(!isTxLimitExempt[recipient] && restrictWhales)
        {
            require(_balances[recipient].add(amount) <= _walletMax);
        }

        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

        // Dividend tracker
        // if(!isDividendExempt[sender]) {
        //     try dividendDistributor.setShare(sender, _balances[sender]) {} catch {}
        // }

        // if(!isDividendExempt[recipient]) {
        //     try dividendDistributor.setShare(recipient, _balances[recipient]) {} catch {} 
        // }

        // try dividendDistributor.process(distributorGas) {} catch {}

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

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee;
        uint256 feeAmount = amount.mul(feeApplicable).div(100);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function tradingStatus(bool newStatus) public onlyOwner {
        tradingOpen = newStatus;
    }

    // function setGas(uint256 Gas) external onlyOwner() {
    //     require(Gas > 7, "Max gas must be higher than 7 gwei");
    //     _gasPriceLimitB=Gas;
    //     gasPriceLimitB = _gasPriceLimitB * 1 gwei; 
    // }

    // function swapBack() internal lockTheSwap {
        
    //     uint256 tokensToLiquify = _balances[address(this)];
    //     uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2);
    //     uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify);

    //     route[] memory path = new route[](1);
    //     path[0].from = address(this);
    //     path[0].to = router.WETH();
    //     path[0].stable = false;

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

    //     uint256 amountBNB = address(this).balance;

    //     uint256 totalBNBFee = totalFee.sub(liquidityFee.div(2));
        
    //     uint256 amountBNBLiquidity = amountBNB.mul(liquidityFee).div(totalBNBFee).div(2);
    //     uint256 amountBNBReflection = amountBNB.mul(rewardsFee).div(totalBNBFee);
    //     uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div(totalBNBFee);
    //     uint256 amountBNBLottery = amountBNB.mul(lotteryFee).div(totalBNBFee);

    //     try dividendDistributor.deposit{value: amountBNBReflection}() {} catch {}

    //     (bool tmpSuccess,) = payable(marketingWallet).call{value: amountBNBMarketing, gas: 30000}("");
    //     (bool tmpSuccess1,) = payable(lotteryWallet).call{value: amountBNBLottery, gas: 30000}("");
        
    //     // only to supress warning msg
    //     tmpSuccess = false;
    //     tmpSuccess1 = false;

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

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 2000
  },
  "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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityReceiver","type":"address"},{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newLotteryWallet","type":"address"}],"name":"changeFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newRewardFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newLotteryFee","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"changeRestrictWhales","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMulti","type":"uint256"}],"name":"changeSellFeeX10","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","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":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"account","type":"address"}],"name":"isOwner","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":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotteryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lotteryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600280546001600160a01b031990811661dead179091556003805482169055600480548216731d368773735ee1e678950b7a97bca2cafb330cdc1790556005805490911673039e2fb66102314ce7b64ce5ce3e5183bc94ad381790556200006e6012600a620004d6565b6200007e90633b9aca00620004e6565b6006818155600782905560088290556009805460ff19908116909155600e805490911690556001601081905560119190915560128190555f6013819055600f6014556015819055601655601d805463ffff00ff19169091179055601e55348015620000e7575f80fd5b505f8054336001600160a01b031991821681178355808352600160208181526040808620805460ff199081168517909155600454601a80546001600160a01b039092169188168217905530808952600b85528389209189529084528288205f199055858852600c8452828820805483168617905587528187208054821685179055848752600d909252909420805490941617909255601780548216909217909155601880547354d89a05fa595daff1705ba3b3d6b84414567320908316811790915560198054909216179055601354601254601154601054620001db9392620001d4929091839162000251565b9062000251565b6015819055601454620001fe91600a91620001f79190620002c0565b9062000346565b601655600654335f818152600a6020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000583565b5f806200025f838562000500565b905083811015620002b75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b5f825f03620002d157505f620002ba565b5f620002de8385620004e6565b905082620002ed858362000516565b14620002b75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401620002ae565b5f620002b783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200038f60201b60201c565b5f8183620003b25760405162461bcd60e51b8152600401620002ae919062000536565b505f620003c0848662000516565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200041d57815f1904821115620004015762000401620003c9565b808516156200040f57918102915b93841c9390800290620003e2565b509250929050565b5f826200043557506001620002ba565b816200044357505f620002ba565b81600181146200045c5760028114620004675762000487565b6001915050620002ba565b60ff8411156200047b576200047b620003c9565b50506001821b620002ba565b5060208310610133831016604e8410600b8410161715620004ac575081810a620002ba565b620004b88383620003dd565b805f1904821115620004ce57620004ce620003c9565b029392505050565b5f620002b760ff84168362000425565b8082028115828204841417620002ba57620002ba620003c9565b80820180821115620002ba57620002ba620003c9565b5f826200053157634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020808352835180828501525f5b81811015620005635785810183015185820160400152820162000545565b505f604082860101526040601f19601f8301168501019250505092915050565b611e2380620005915f395ff3fe60806040526004361061033d575f3560e01c8063896648c1116101b2578063ca33e64c116100f2578063f2fde38b11610092578063fe575a871161006d578063fe575a8714610998578063fe9fbb80146109c6578063fed0d2a1146109fd578063ffb54a9914610a12575f80fd5b8063f2fde38b1461093b578063f887ea401461095a578063fabe628314610979575f80fd5b8063da00097d116100cd578063da00097d14610899578063dd62ed3e146108b9578063e66b1d1e146108fd578063f0b37c041461091c575f80fd5b8063ca33e64c14610846578063ca987b0e14610865578063d920334e1461087a575f80fd5b8063a364b0771161015d578063a9059cbb11610138578063a9059cbb146107d4578063b6a5d7de146107f3578063bbb1994014610812578063bf56b37114610831575f80fd5b8063a364b07714610777578063a3a2e89e14610796578063a8aa1b31146107b5575f80fd5b806395d89b411161018d57806395d89b411461070957806398118cb41461074e5780639e78fb4f14610763575f80fd5b8063896648c1146106a35780638b42507f146106bc5780638e2eee84146106ea575f80fd5b806344de2e4c1161027d57806370a08231116102285780637d1db4a5116102035780637d1db4a51461063e5780637db1342c14610653578063807c2d9c14610672578063893d20e814610687575f80fd5b806370a08231146105be57806375f0a874146105f257806378aa08ed14610629575f80fd5b80635e562f3b116102585780635e562f3b1461056b578063650c42261461058a5780636b67c4df146105a9575f80fd5b806344de2e4c146105145780634a74bb021461052d578063571ac8b01461054c575f80fd5b806323b872dd116102e85780632f54bf6e116102c35780632f54bf6e1461047f578063313ce567146104ac578063315dca29146104c75780633f4218e0146104e6575f80fd5b806323b872dd146104375780632b112e49146104565780632bb14e1d1461046a575f80fd5b80630d295980116103185780630d295980146103ed57806318160ddd1461040e5780631df4ccfc14610422575f80fd5b80630445b6671461034857806306fdde0314610370578063095ea7b3146103be575f80fd5b3661034457005b5f80fd5b348015610353575f80fd5b5061035d601e5481565b6040519081526020015b60405180910390f35b34801561037b575f80fd5b5060408051808201909152600b81527f536f6e6963205072696e7400000000000000000000000000000000000000000060208201525b6040516103679190611a91565b3480156103c9575f80fd5b506103dd6103d8366004611b11565b610a2b565b6040519015158152602001610367565b3480156103f8575f80fd5b5061040c610407366004611b4f565b610a97565b005b348015610419575f80fd5b5060065461035d565b34801561042d575f80fd5b5061035d60155481565b348015610442575f80fd5b506103dd610451366004611b68565b610af1565b348015610461575f80fd5b5061035d610bb6565b348015610475575f80fd5b5061035d60125481565b34801561048a575f80fd5b506103dd610499366004611ba6565b5f546001600160a01b0391821691161490565b3480156104b7575f80fd5b5060405160128152602001610367565b3480156104d2575f80fd5b5061040c6104e1366004611bc1565b610c06565b3480156104f1575f80fd5b506103dd610500366004611ba6565b600c6020525f908152604090205460ff1681565b34801561051f575f80fd5b506009546103dd9060ff1681565b348015610538575f80fd5b50601d546103dd9062010000900460ff1681565b348015610557575f80fd5b506103dd610566366004611ba6565b610c9e565b348015610576575f80fd5b5061040c610585366004611b4f565b610caa565b348015610595575f80fd5b5061040c6105a4366004611c09565b610cff565b3480156105b4575f80fd5b5061035d60115481565b3480156105c9575f80fd5b5061035d6105d8366004611ba6565b6001600160a01b03165f908152600a602052604090205490565b3480156105fd575f80fd5b50601854610611906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b348015610634575f80fd5b5061035d60135481565b348015610649575f80fd5b5061035d60075481565b34801561065e575f80fd5b5061040c61066d366004611c38565b610db1565b34801561067d575f80fd5b5061035d60085481565b348015610692575f80fd5b505f546001600160a01b0316610611565b3480156106ae575f80fd5b50600e546103dd9060ff1681565b3480156106c7575f80fd5b506103dd6106d6366004611ba6565b600d6020525f908152604090205460ff1681565b3480156106f5575f80fd5b5061040c610704366004611c4f565b610e02565b348015610714575f80fd5b5060408051808201909152600681527f535052494e54000000000000000000000000000000000000000000000000000060208201526103b1565b348015610759575f80fd5b5061035d60105481565b34801561076e575f80fd5b5061040c610eb6565b348015610782575f80fd5b50601954610611906001600160a01b031681565b3480156107a1575f80fd5b5061040c6107b0366004611ccc565b610fa8565b3480156107c0575f80fd5b50601b54610611906001600160a01b031681565b3480156107df575f80fd5b506103dd6107ee366004611b11565b61101e565b3480156107fe575f80fd5b5061040c61080d366004611ba6565b61102a565b34801561081d575f80fd5b5061040c61082c366004611c38565b611092565b34801561083c575f80fd5b5061035d601c5481565b348015610851575f80fd5b50601754610611906001600160a01b031681565b348015610870575f80fd5b5061035d60165481565b348015610885575f80fd5b5061040c610894366004611c38565b61110a565b3480156108a4575f80fd5b50601d546103dd906301000000900460ff1681565b3480156108c4575f80fd5b5061035d6108d3366004611cff565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b348015610908575f80fd5b5061040c610917366004611b4f565b61115b565b348015610927575f80fd5b5061040c610936366004611ba6565b6111ba565b348015610946575f80fd5b5061040c610955366004611ba6565b61121c565b348015610965575f80fd5b50601a54610611906001600160a01b031681565b348015610984575f80fd5b5061040c610993366004611ccc565b6112d6565b3480156109a3575f80fd5b506103dd6109b2366004611ba6565b600f6020525f908152604090205460ff1681565b3480156109d1575f80fd5b506103dd6109e0366004611ba6565b6001600160a01b03165f9081526001602052604090205460ff1690565b348015610a08575f80fd5b5061035d60145481565b348015610a1d575f80fd5b50601d546103dd9060ff1681565b335f818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a859086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b03163314610ade5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b601d805460ff1916911515919091179055565b6001600160a01b0383165f908152600b602090815260408083203384529091528120545f1914610ba157604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387165f908152600b82528381203382529091529190912054610b7d91849061134c565b6001600160a01b0385165f908152600b602090815260408083203384529091529020555b610bac848484611384565b90505b9392505050565b6003546001600160a01b03165f908152600a6020526040812054610c01906002546001600160a01b03165f908152600a6020526040902054610bfb9060065490611740565b90611740565b905090565b335f9081526001602052604090205460ff16610c525760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b601780546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601880549385169382169390931790925560198054919093169116179055565b5f610a91825f19610a2b565b5f546001600160a01b03163314610cec5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b600e805460ff1916911515919091179055565b335f9081526001602052604090205460ff16610d4b5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6010849055601283905560118290556013819055610d7581610d6f85818887611781565b90611781565b6015819055600a1015610d86575f80fd5b610da8600a610da26014546015546117df90919063ffffffff16565b90611879565b60165550505050565b335f9081526001602052604090205460ff16610dfd5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b600855565b5f546001600160a01b03163314610e445760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b5f5b82811015610eb05781600f5f868685818110610e6457610e64611d36565b9050602002016020810190610e799190611ba6565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610ea981611d5e565b9050610e46565b50505050565b6005546040517f82dfdce40000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820181905230602483018190525f60448401529091732da25e7446a70d7be65fd4c053948becaa6374c8906382dfdce4906064016020604051808303815f875af1158015610f3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f609190611d76565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790555f908152600d60205260409020805460ff191660011790555050565b335f9081526001602052604090205460ff16610ff45760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f610baf338484611384565b5f546001600160a01b0316331461106c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b6001600160a01b03165f908152600160208190526040909120805460ff19169091179055565b335f9081526001602052604090205460ff166110de5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b601e8111156110eb575f80fd5b601481905560155461110490600a90610da290846117df565b60165550565b335f9081526001602052604090205460ff166111565760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b600755565b335f9081526001602052604090205460ff166111a75760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6009805460ff1916911515919091179055565b5f546001600160a01b031633146111fc5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b6001600160a01b03165f908152600160205260409020805460ff19169055565b5f546001600160a01b0316331461125e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b335f9081526001602052604090205460ff166113225760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f818484111561136f5760405162461bcd60e51b8152600401610ad59190611a91565b505f61137b8486611d91565b95945050505050565b601d545f90610100900460ff16156113a8576113a18484846118ba565b9050610baf565b6001600160a01b0384165f9081526001602052604090205460ff161580156113e857506001600160a01b0383165f9081526001602052604090205460ff16155b1561143f57601d5460ff1661143f5760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610ad5565b6007548211158061146757506001600160a01b0384165f908152600d602052604090205460ff165b6114b35760405162461bcd60e51b815260206004820152601160248201527f5458204c696d69742045786365656465640000000000000000000000000000006044820152606401610ad5565b601c541580156114d05750601b546001600160a01b038481169116145b156114fe576001600160a01b0384165f908152600a60205260409020546114f5575f80fd5b6114fe43601c55565b600e5460ff1615611595576001600160a01b0384165f908152600f602052604090205460ff1615801561154957506001600160a01b0383165f908152600f602052604090205460ff16155b6115955760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c69737465640000000000000000000000000000000000000000006044820152606401610ad5565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0387165f908152600a90915291909120546115ef91849061134c565b6001600160a01b038086165f908152600a60209081526040808320949094559186168152600d909152205460ff1615801561162c575060095460ff165b15611660576008546001600160a01b0384165f908152600a60205260409020546116569084611781565b1115611660575f80fd5b6001600160a01b0384165f908152600c602052604081205460ff161580156116a057506001600160a01b0384165f908152600c602052604090205460ff16155b6116aa57826116b5565b6116b58585856119a6565b6001600160a01b0385165f908152600a60205260409020549091506116da9082611781565b6001600160a01b038086165f818152600a602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061172d9085815260200190565b60405180910390a3506001949350505050565b5f610baf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061134c565b5f8061178d8385611da4565b905083811015610baf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad5565b5f825f036117ee57505f610a91565b5f6117f98385611db7565b9050826118068583611dce565b14610baf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152608401610ad5565b5f610baf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a65565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386165f908152600a9091529182205461191391849061134c565b6001600160a01b038086165f908152600a602052604080822093909355908516815220546119419083611781565b6001600160a01b038085165f818152600a602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119949086815260200190565b60405180910390a35060019392505050565b601b545f9081906001600160a01b038581169116146119c7576015546119cb565b6016545b90505f6119dd6064610da286856117df565b305f908152600a60205260409020549091506119f99082611781565b305f818152600a6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a499085815260200190565b60405180910390a3611a5b8482611740565b9695505050505050565b5f8183611a855760405162461bcd60e51b8152600401610ad59190611a91565b505f61137b8486611dce565b5f6020808352835180828501525f5b81811015611abc57858101830151858201604001528201611aa0565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6001600160a01b0381168114611b0e575f80fd5b50565b5f8060408385031215611b22575f80fd5b8235611b2d81611afa565b946020939093013593505050565b80358015158114611b4a575f80fd5b919050565b5f60208284031215611b5f575f80fd5b610baf82611b3b565b5f805f60608486031215611b7a575f80fd5b8335611b8581611afa565b92506020840135611b9581611afa565b929592945050506040919091013590565b5f60208284031215611bb6575f80fd5b8135610baf81611afa565b5f805f60608486031215611bd3575f80fd5b8335611bde81611afa565b92506020840135611bee81611afa565b91506040840135611bfe81611afa565b809150509250925092565b5f805f8060808587031215611c1c575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215611c48575f80fd5b5035919050565b5f805f60408486031215611c61575f80fd5b833567ffffffffffffffff80821115611c78575f80fd5b818601915086601f830112611c8b575f80fd5b813581811115611c99575f80fd5b8760208260051b8501011115611cad575f80fd5b602092830195509350611cc39186019050611b3b565b90509250925092565b5f8060408385031215611cdd575f80fd5b8235611ce881611afa565b9150611cf660208401611b3b565b90509250929050565b5f8060408385031215611d10575f80fd5b8235611d1b81611afa565b91506020830135611d2b81611afa565b809150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f5f198203611d6f57611d6f611d4a565b5060010190565b5f60208284031215611d86575f80fd5b8151610baf81611afa565b81810381811115610a9157610a91611d4a565b80820180821115610a9157610a91611d4a565b8082028115828204841417610a9157610a91611d4a565b5f82611de857634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122009d8568da94f49e935569da8d42b1b45885b2a75b47599b877ec28f652722f4364736f6c63430008140033

Deployed Bytecode

0x60806040526004361061033d575f3560e01c8063896648c1116101b2578063ca33e64c116100f2578063f2fde38b11610092578063fe575a871161006d578063fe575a8714610998578063fe9fbb80146109c6578063fed0d2a1146109fd578063ffb54a9914610a12575f80fd5b8063f2fde38b1461093b578063f887ea401461095a578063fabe628314610979575f80fd5b8063da00097d116100cd578063da00097d14610899578063dd62ed3e146108b9578063e66b1d1e146108fd578063f0b37c041461091c575f80fd5b8063ca33e64c14610846578063ca987b0e14610865578063d920334e1461087a575f80fd5b8063a364b0771161015d578063a9059cbb11610138578063a9059cbb146107d4578063b6a5d7de146107f3578063bbb1994014610812578063bf56b37114610831575f80fd5b8063a364b07714610777578063a3a2e89e14610796578063a8aa1b31146107b5575f80fd5b806395d89b411161018d57806395d89b411461070957806398118cb41461074e5780639e78fb4f14610763575f80fd5b8063896648c1146106a35780638b42507f146106bc5780638e2eee84146106ea575f80fd5b806344de2e4c1161027d57806370a08231116102285780637d1db4a5116102035780637d1db4a51461063e5780637db1342c14610653578063807c2d9c14610672578063893d20e814610687575f80fd5b806370a08231146105be57806375f0a874146105f257806378aa08ed14610629575f80fd5b80635e562f3b116102585780635e562f3b1461056b578063650c42261461058a5780636b67c4df146105a9575f80fd5b806344de2e4c146105145780634a74bb021461052d578063571ac8b01461054c575f80fd5b806323b872dd116102e85780632f54bf6e116102c35780632f54bf6e1461047f578063313ce567146104ac578063315dca29146104c75780633f4218e0146104e6575f80fd5b806323b872dd146104375780632b112e49146104565780632bb14e1d1461046a575f80fd5b80630d295980116103185780630d295980146103ed57806318160ddd1461040e5780631df4ccfc14610422575f80fd5b80630445b6671461034857806306fdde0314610370578063095ea7b3146103be575f80fd5b3661034457005b5f80fd5b348015610353575f80fd5b5061035d601e5481565b6040519081526020015b60405180910390f35b34801561037b575f80fd5b5060408051808201909152600b81527f536f6e6963205072696e7400000000000000000000000000000000000000000060208201525b6040516103679190611a91565b3480156103c9575f80fd5b506103dd6103d8366004611b11565b610a2b565b6040519015158152602001610367565b3480156103f8575f80fd5b5061040c610407366004611b4f565b610a97565b005b348015610419575f80fd5b5060065461035d565b34801561042d575f80fd5b5061035d60155481565b348015610442575f80fd5b506103dd610451366004611b68565b610af1565b348015610461575f80fd5b5061035d610bb6565b348015610475575f80fd5b5061035d60125481565b34801561048a575f80fd5b506103dd610499366004611ba6565b5f546001600160a01b0391821691161490565b3480156104b7575f80fd5b5060405160128152602001610367565b3480156104d2575f80fd5b5061040c6104e1366004611bc1565b610c06565b3480156104f1575f80fd5b506103dd610500366004611ba6565b600c6020525f908152604090205460ff1681565b34801561051f575f80fd5b506009546103dd9060ff1681565b348015610538575f80fd5b50601d546103dd9062010000900460ff1681565b348015610557575f80fd5b506103dd610566366004611ba6565b610c9e565b348015610576575f80fd5b5061040c610585366004611b4f565b610caa565b348015610595575f80fd5b5061040c6105a4366004611c09565b610cff565b3480156105b4575f80fd5b5061035d60115481565b3480156105c9575f80fd5b5061035d6105d8366004611ba6565b6001600160a01b03165f908152600a602052604090205490565b3480156105fd575f80fd5b50601854610611906001600160a01b031681565b6040516001600160a01b039091168152602001610367565b348015610634575f80fd5b5061035d60135481565b348015610649575f80fd5b5061035d60075481565b34801561065e575f80fd5b5061040c61066d366004611c38565b610db1565b34801561067d575f80fd5b5061035d60085481565b348015610692575f80fd5b505f546001600160a01b0316610611565b3480156106ae575f80fd5b50600e546103dd9060ff1681565b3480156106c7575f80fd5b506103dd6106d6366004611ba6565b600d6020525f908152604090205460ff1681565b3480156106f5575f80fd5b5061040c610704366004611c4f565b610e02565b348015610714575f80fd5b5060408051808201909152600681527f535052494e54000000000000000000000000000000000000000000000000000060208201526103b1565b348015610759575f80fd5b5061035d60105481565b34801561076e575f80fd5b5061040c610eb6565b348015610782575f80fd5b50601954610611906001600160a01b031681565b3480156107a1575f80fd5b5061040c6107b0366004611ccc565b610fa8565b3480156107c0575f80fd5b50601b54610611906001600160a01b031681565b3480156107df575f80fd5b506103dd6107ee366004611b11565b61101e565b3480156107fe575f80fd5b5061040c61080d366004611ba6565b61102a565b34801561081d575f80fd5b5061040c61082c366004611c38565b611092565b34801561083c575f80fd5b5061035d601c5481565b348015610851575f80fd5b50601754610611906001600160a01b031681565b348015610870575f80fd5b5061035d60165481565b348015610885575f80fd5b5061040c610894366004611c38565b61110a565b3480156108a4575f80fd5b50601d546103dd906301000000900460ff1681565b3480156108c4575f80fd5b5061035d6108d3366004611cff565b6001600160a01b039182165f908152600b6020908152604080832093909416825291909152205490565b348015610908575f80fd5b5061040c610917366004611b4f565b61115b565b348015610927575f80fd5b5061040c610936366004611ba6565b6111ba565b348015610946575f80fd5b5061040c610955366004611ba6565b61121c565b348015610965575f80fd5b50601a54610611906001600160a01b031681565b348015610984575f80fd5b5061040c610993366004611ccc565b6112d6565b3480156109a3575f80fd5b506103dd6109b2366004611ba6565b600f6020525f908152604090205460ff1681565b3480156109d1575f80fd5b506103dd6109e0366004611ba6565b6001600160a01b03165f9081526001602052604090205460ff1690565b348015610a08575f80fd5b5061035d60145481565b348015610a1d575f80fd5b50601d546103dd9060ff1681565b335f818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a859086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b03163314610ade5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b601d805460ff1916911515919091179055565b6001600160a01b0383165f908152600b602090815260408083203384529091528120545f1914610ba157604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387165f908152600b82528381203382529091529190912054610b7d91849061134c565b6001600160a01b0385165f908152600b602090815260408083203384529091529020555b610bac848484611384565b90505b9392505050565b6003546001600160a01b03165f908152600a6020526040812054610c01906002546001600160a01b03165f908152600a6020526040902054610bfb9060065490611740565b90611740565b905090565b335f9081526001602052604090205460ff16610c525760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b601780546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601880549385169382169390931790925560198054919093169116179055565b5f610a91825f19610a2b565b5f546001600160a01b03163314610cec5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b600e805460ff1916911515919091179055565b335f9081526001602052604090205460ff16610d4b5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6010849055601283905560118290556013819055610d7581610d6f85818887611781565b90611781565b6015819055600a1015610d86575f80fd5b610da8600a610da26014546015546117df90919063ffffffff16565b90611879565b60165550505050565b335f9081526001602052604090205460ff16610dfd5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b600855565b5f546001600160a01b03163314610e445760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b5f5b82811015610eb05781600f5f868685818110610e6457610e64611d36565b9050602002016020810190610e799190611ba6565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055610ea981611d5e565b9050610e46565b50505050565b6005546040517f82dfdce40000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820181905230602483018190525f60448401529091732da25e7446a70d7be65fd4c053948becaa6374c8906382dfdce4906064016020604051808303815f875af1158015610f3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f609190611d76565b601b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790555f908152600d60205260409020805460ff191660011790555050565b335f9081526001602052604090205460ff16610ff45760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b5f610baf338484611384565b5f546001600160a01b0316331461106c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b6001600160a01b03165f908152600160208190526040909120805460ff19169091179055565b335f9081526001602052604090205460ff166110de5760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b601e8111156110eb575f80fd5b601481905560155461110490600a90610da290846117df565b60165550565b335f9081526001602052604090205460ff166111565760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b600755565b335f9081526001602052604090205460ff166111a75760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6009805460ff1916911515919091179055565b5f546001600160a01b031633146111fc5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b6001600160a01b03165f908152600160205260409020805460ff19169055565b5f546001600160a01b0316331461125e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610ad5565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b335f9081526001602052604090205460ff166113225760405162461bcd60e51b815260206004820152600b60248201526a085055551213d49256915160aa1b6044820152606401610ad5565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f818484111561136f5760405162461bcd60e51b8152600401610ad59190611a91565b505f61137b8486611d91565b95945050505050565b601d545f90610100900460ff16156113a8576113a18484846118ba565b9050610baf565b6001600160a01b0384165f9081526001602052604090205460ff161580156113e857506001600160a01b0383165f9081526001602052604090205460ff16155b1561143f57601d5460ff1661143f5760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610ad5565b6007548211158061146757506001600160a01b0384165f908152600d602052604090205460ff165b6114b35760405162461bcd60e51b815260206004820152601160248201527f5458204c696d69742045786365656465640000000000000000000000000000006044820152606401610ad5565b601c541580156114d05750601b546001600160a01b038481169116145b156114fe576001600160a01b0384165f908152600a60205260409020546114f5575f80fd5b6114fe43601c55565b600e5460ff1615611595576001600160a01b0384165f908152600f602052604090205460ff1615801561154957506001600160a01b0383165f908152600f602052604090205460ff16155b6115955760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c69737465640000000000000000000000000000000000000000006044820152606401610ad5565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0387165f908152600a90915291909120546115ef91849061134c565b6001600160a01b038086165f908152600a60209081526040808320949094559186168152600d909152205460ff1615801561162c575060095460ff165b15611660576008546001600160a01b0384165f908152600a60205260409020546116569084611781565b1115611660575f80fd5b6001600160a01b0384165f908152600c602052604081205460ff161580156116a057506001600160a01b0384165f908152600c602052604090205460ff16155b6116aa57826116b5565b6116b58585856119a6565b6001600160a01b0385165f908152600a60205260409020549091506116da9082611781565b6001600160a01b038086165f818152600a602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061172d9085815260200190565b60405180910390a3506001949350505050565b5f610baf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061134c565b5f8061178d8385611da4565b905083811015610baf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ad5565b5f825f036117ee57505f610a91565b5f6117f98385611db7565b9050826118068583611dce565b14610baf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152608401610ad5565b5f610baf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a65565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386165f908152600a9091529182205461191391849061134c565b6001600160a01b038086165f908152600a602052604080822093909355908516815220546119419083611781565b6001600160a01b038085165f818152600a602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119949086815260200190565b60405180910390a35060019392505050565b601b545f9081906001600160a01b038581169116146119c7576015546119cb565b6016545b90505f6119dd6064610da286856117df565b305f908152600a60205260409020549091506119f99082611781565b305f818152600a6020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611a499085815260200190565b60405180910390a3611a5b8482611740565b9695505050505050565b5f8183611a855760405162461bcd60e51b8152600401610ad59190611a91565b505f61137b8486611dce565b5f6020808352835180828501525f5b81811015611abc57858101830151858201604001528201611aa0565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6001600160a01b0381168114611b0e575f80fd5b50565b5f8060408385031215611b22575f80fd5b8235611b2d81611afa565b946020939093013593505050565b80358015158114611b4a575f80fd5b919050565b5f60208284031215611b5f575f80fd5b610baf82611b3b565b5f805f60608486031215611b7a575f80fd5b8335611b8581611afa565b92506020840135611b9581611afa565b929592945050506040919091013590565b5f60208284031215611bb6575f80fd5b8135610baf81611afa565b5f805f60608486031215611bd3575f80fd5b8335611bde81611afa565b92506020840135611bee81611afa565b91506040840135611bfe81611afa565b809150509250925092565b5f805f8060808587031215611c1c575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215611c48575f80fd5b5035919050565b5f805f60408486031215611c61575f80fd5b833567ffffffffffffffff80821115611c78575f80fd5b818601915086601f830112611c8b575f80fd5b813581811115611c99575f80fd5b8760208260051b8501011115611cad575f80fd5b602092830195509350611cc39186019050611b3b565b90509250925092565b5f8060408385031215611cdd575f80fd5b8235611ce881611afa565b9150611cf660208401611b3b565b90509250929050565b5f8060408385031215611d10575f80fd5b8235611d1b81611afa565b91506020830135611d2b81611afa565b809150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f5f198203611d6f57611d6f611d4a565b5060010190565b5f60208284031215611d86575f80fd5b8151610baf81611afa565b81810381811115610a9157610a91611d4a565b80820180821115610a9157610a91611d4a565b8082028115828204841417610a9157610a91611d4a565b5f82611de857634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122009d8568da94f49e935569da8d42b1b45885b2a75b47599b877ec28f652722f4364736f6c63430008140033

[ 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.