Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in CatLazer._transfer(address,address,uint256) (#414-449):
External calls:
- swapTokens(swapTokensAtAmount) (#446)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
External calls sending eth:
- swapTokens(swapTokensAtAmount) (#446)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _previousTaxFee = _taxFee (#362)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _previousTotalLPFee = _totalLPFee (#363)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _rOwned[address(this)] = _rOwned[address(this)] + rLiquidity (#346)
- _rOwned[sender] = _rOwned[sender] - rAmount (#571)
- _rOwned[sender] = _rOwned[sender] - rAmount (#562)
- _rOwned[sender] = _rOwned[sender] - rAmount (#592)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#563)
- _rOwned[sender] = _rOwned[sender] - rAmount (#582)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#583)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#573)
- _rOwned[recipient] = _rOwned[recipient] + rTransferAmount (#594)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _rTotal = _rTotal - rFee (#301)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _tFeeTotal = _tFeeTotal + tFee (#302)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _tOwned[address(this)] = _tOwned[address(this)] + tLiquidity (#348)
- _tOwned[sender] = _tOwned[sender] - tAmount (#581)
- _tOwned[sender] = _tOwned[sender] - tAmount (#591)
- _tOwned[recipient] = _tOwned[recipient] + tTransferAmount (#572)
- _tOwned[recipient] = _tOwned[recipient] + tTransferAmount (#593)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _taxFee = _previousTaxFee (#370)
- _taxFee = 0 (#365)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- _totalLPFee = _previousTotalLPFee (#371)
- _totalLPFee = 0 (#366)
Apply the check-effects-interactions pattern.
Additional information: link
CatLazer.withdrawTokens(address,uint256) (#606-613) ignores return value by IERC20(token).transfer(msg.sender,amount) (#612)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
CatLazer._isExcluded (#158) is never initialized. It is used in:
- CatLazer.balanceOf(address) (#245-248)
- CatLazer.isExcludedFromReward(address) (#282-284)
- CatLazer._takeLiquidity(uint256) (#343-349)
- CatLazer._tokenTransfer(address,address,uint256,bool) (#540-558)
CatLazer._excluded (#159) is never initialized. It is used in:
- CatLazer._getCurrentSupply() (#331-341)
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
CatLazer.swapTokens(uint256) (#477-500) performs a multiplication on the result of a division:
-halfLPTokens = LPtokens / 2 (#480)
-bnbForLP = newBalance * halfLPTokens / tokensToSwap (#490)
Consider ordering multiplication before division.
Additional information: link
CatLazer.addLiquidity(uint256,uint256) (#520-533) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
Ensure that all the return values of the function calls are used.
Additional information: link
CatLazer.allowance(address,address).owner (#255) shadows:
- Authorized.owner() (#82-84) (function)
CatLazer._approve(address,address,uint256).owner (#374) shadows:
- Authorized.owner() (#82-84) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in CatLazer.createPair() (#382-391):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#385-386)
State variables written after the call(s):
- isPair[uniswapV2Pair] = true (#387)
- uniswapV2Router = _uniswapV2Router (#388)
Reentrancy in CatLazer.swapTokens(uint256) (#477-500):
External calls:
- swapTokensForEth(tokensToSwap) (#486)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
External calls sending eth:
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
State variables written after the call(s):
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- _allowances[owner][spender] = amount (#378)
Reentrancy in CatLazer.transferFrom(address,address,uint256) (#264-269):
External calls:
- _transfer(sender,recipient,amount) (#265)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
External calls sending eth:
- _transfer(sender,recipient,amount) (#265)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
State variables written after the call(s):
- _approve(sender,msg.sender,_allowances[sender][msg.sender] - amount) (#267)
- _allowances[owner][spender] = amount (#378)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in CatLazer._transfer(address,address,uint256) (#414-449):
External calls:
- swapTokens(swapTokensAtAmount) (#446)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
External calls sending eth:
- swapTokens(swapTokensAtAmount) (#446)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#566)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- Transfer(sender,recipient,tTransferAmount) (#586)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- Transfer(sender,recipient,tTransferAmount) (#576)
- _tokenTransfer(from,to,amount,takeFee) (#448)
- Transfer(sender,recipient,tTransferAmount) (#597)
- _tokenTransfer(from,to,amount,takeFee) (#448)
Reentrancy in CatLazer.createPair() (#382-391):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#385-386)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(uniswapV2Pair,true) (#390)
Reentrancy in CatLazer.swapTokens(uint256) (#477-500):
External calls:
- swapTokensForEth(tokensToSwap) (#486)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
External calls sending eth:
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#379)
- addLiquidity(halfLPTokens,bnbForLP) (#496)
- SwapAndLiquify(halfLPTokens,bnbForLP) (#499)
Reentrancy in CatLazer.transferFrom(address,address,uint256) (#264-269):
External calls:
- _transfer(sender,recipient,amount) (#265)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#511-517)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
External calls sending eth:
- _transfer(sender,recipient,amount) (#265)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514),block.timestamp) (#525-532)
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#379)
- _approve(sender,msg.sender,_allowances[sender][msg.sender] - amount) (#267)
Apply the check-effects-interactions pattern.
Additional information: link
CatLazer.withdrawTokens(address,uint256) (#606-613) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > timeLastWithdraw + 86400 && amount <= 2 * balanceOf(address(this)) / 100,A maximum of 2% of token supply may be withdrawn each 24 hours.) (#608-609)
Avoid relying on block.timestamp.
Additional information: link
CatLazer.DECIMALS (#165) is set pre-construction with a non-constant function or state variable:
- 10 ** _decimals
CatLazer._tTotal (#168) is set pre-construction with a non-constant function or state variable:
- 69e9 * DECIMALS
CatLazer._rTotal (#169) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
CatLazer._previousTaxFee (#173) is set pre-construction with a non-constant function or state variable:
- _taxFee
CatLazer._previousTotalLPFee (#178) is set pre-construction with a non-constant function or state variable:
- _totalLPFee
CatLazer.swapTokensAtAmount (#184) is set pre-construction with a non-constant function or state variable:
- 1 * _tTotal / 1000
CatLazer.maxTx (#185) is set pre-construction with a non-constant function or state variable:
- 15 * _tTotal / 1000
CatLazer.maxWallet (#186) is set pre-construction with a non-constant function or state variable:
- 15 * _tTotal / 1000
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Pragma version^0.8.12 (#53) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.12 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Low level call in CatLazer.swapTokens(uint256) (#477-500):
- (temp) = address(0xa85ab2E2681C33ef3d46AA14536cCd16B62db514).call{gas: 30000,value: bnbForMarketing}() (#493)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable Authorized._authorized (#71) is not in mixedCase
Function IUniswapV2Router01.WETH() (#115) is not in mixedCase
Parameter CatLazer.calculateTaxFee(uint256)._amount (#351) is not in mixedCase
Parameter CatLazer.calculateLiquidityFee(uint256)._amount (#355) is not in mixedCase
Parameter CatLazer.launch(uint256)._nAntiBotBlocks (#393) is not in mixedCase
Parameter CatLazer.burn(uint256)._burnAmount (#458) is not in mixedCase
Parameter CatLazer.planBurn(uint256,uint256)._burnNumerator (#535) is not in mixedCase
Parameter CatLazer.planBurn(uint256,uint256)._burnDenominator (#535) is not in mixedCase
Variable CatLazer.DECIMALS (#165) is not in mixedCase
Variable CatLazer._taxFee (#172) is not in mixedCase
Variable CatLazer._liquidityFee (#175) is not in mixedCase
Variable CatLazer._marketingFee (#176) is not in mixedCase
Variable CatLazer._totalLPFee (#177) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "temp (#493)" inCatLazer (#151-618)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._transferFromExcluded(address,address,uint256).rTransferAmount (#580) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._transferStandard(address,address,uint256).tTransferAmount (#561)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._getValues(uint256).rTransferAmount (#307) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._transferToExcluded(address,address,uint256).rTransferAmount (#570) is too similar to CatLazer._getValues(uint256).tTransferAmount (#306)
Variable CatLazer._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#322) is too similar to CatLazer._transferFromExcluded(address,address,uint256).tTransferAmount (#580)
Variable CatLazer._transferStandard(address,address,uint256).rTransferAmount (#561) is too similar to CatLazer._transferBothExcluded(address,address,uint256).tTransferAmount (#590)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._transferToExcluded(address,address,uint256).tTransferAmount (#570)
Variable CatLazer._transferBothExcluded(address,address,uint256).rTransferAmount (#590) is too similar to CatLazer._getTValues(uint256).tTransferAmount (#314)
Prevent variables from having similar names.
Additional information: link
CatLazer.slitherConstructorVariables() (#151-618) uses literals with too many digits:
- deadAddress = address(0x000000000000000000000000000000000000dEaD) (#182)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Authorized._previousOwner (#70) is never used in CatLazer (#151-618)
Remove unused state variables.
Additional information: link
Authorized._previousOwner (#70) should be constant
CatLazer._decimals (#164) should be constant
CatLazer._liquidityFee (#175) should be constant
CatLazer._marketingFee (#176) should be constant
CatLazer._name (#162) should be constant
CatLazer._symbol (#163) should be constant
CatLazer.deadAddress (#182) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Authorized.renounceOwnership() (#96-99)
transferOwnership(address) should be declared external:
- Authorized.transferOwnership(address) (#101-105)
name() should be declared external:
- CatLazer.name() (#229-231)
symbol() should be declared external:
- CatLazer.symbol() (#233-235)
decimals() should be declared external:
- CatLazer.decimals() (#237-239)
totalSupply() should be declared external:
- CatLazer.totalSupply() (#241-243)
transfer(address,uint256) should be declared external:
- CatLazer.transfer(address,uint256) (#250-253)
allowance(address,address) should be declared external:
- CatLazer.allowance(address,address) (#255-257)
approve(address,uint256) should be declared external:
- CatLazer.approve(address,uint256) (#259-262)
transferFrom(address,address,uint256) should be declared external:
- CatLazer.transferFrom(address,address,uint256) (#264-269)
increaseAllowance(address,uint256) should be declared external:
- CatLazer.increaseAllowance(address,uint256) (#271-274)
decreaseAllowance(address,uint256) should be declared external:
- CatLazer.decreaseAllowance(address,uint256) (#276-280)
isExcludedFromReward(address) should be declared external:
- CatLazer.isExcludedFromReward(address) (#282-284)
isExcludedFromFee(address) should be declared external:
- CatLazer.isExcludedFromFee(address) (#286-288)
totalFees() should be declared external:
- CatLazer.totalFees() (#290-292)
createPair() should be declared external:
- CatLazer.createPair() (#382-391)
launch(uint256) should be declared external:
- CatLazer.launch(uint256) (#393-401)
planBurn(uint256,uint256) should be declared external:
- CatLazer.planBurn(uint256,uint256) (#535-538)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts