The Metaverse Solomon Islands project is a new ecology based on the symbiosis of the Metaverse and reality created on the BSC chain.
Reentrancy in LiquidityGeneratorToken._transfer(address,address,uint256) (#990-1034):
External calls:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#946)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1115)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1124)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#859)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1135)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1116)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1126)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1136)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#861)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _rTotal = _rTotal.sub(rFee) (#901)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#948)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#858)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1134)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1125)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#860)
Apply the check-effects-interactions pattern.
Additional information: link
LiquidityGeneratorToken._isExcluded (#697) is never initialized. It is used in:
- LiquidityGeneratorToken.balanceOf(address) (#786-789)
- LiquidityGeneratorToken.isExcludedFromReward(address) (#821-823)
- LiquidityGeneratorToken.deliver(uint256) (#829-836)
- LiquidityGeneratorToken._takeLiquidity(uint256) (#943-949)
- LiquidityGeneratorToken._tokenTransfer(address,address,uint256,bool) (#1093-1111)
LiquidityGeneratorToken._excluded (#698) is never initialized. It is used in:
- LiquidityGeneratorToken._getCurrentSupply() (#931-941)
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
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
LiquidityGeneratorToken.setTaxFeePercent(uint256) (#875-878) contains a tautology or contradiction:
- require(bool,string)(taxFee >= 0 && taxFee <= maxTaxFee,taxFee out of range) (#876)
LiquidityGeneratorToken.setLiquidityFeePercent(uint256) (#880-883) contains a tautology or contradiction:
- require(bool,string)(liquidityFee >= 0 && liquidityFee <= maxLiqFee,liquidityFee out of range) (#881)
Fix the incorrect comparison by changing the value type or the comparison.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
LiquidityGeneratorToken.addLiquidity(uint256,uint256) (#1077-1090) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
Ensure that all the return values of the function calls are used.
Additional information: link
LiquidityGeneratorToken.constructor(address,string,string,uint8,uint256,uint8,uint8,uint256,uint256,uint256).name (#738) shadows:
- LiquidityGeneratorToken.name() (#770-772) (function)
LiquidityGeneratorToken.constructor(address,string,string,uint8,uint256,uint8,uint8,uint256,uint256,uint256).symbol (#738) shadows:
- LiquidityGeneratorToken.symbol() (#774-776) (function)
LiquidityGeneratorToken.allowance(address,address).owner (#796) shadows:
- Ownable.owner() (#413-415) (function)
LiquidityGeneratorToken._approve(address,address,uint256).owner (#982) shadows:
- Ownable.owner() (#413-415) (function)
Rename the local variables that shadow another component.
Additional information: link
LiquidityGeneratorToken.setTaxFeePercent(uint256) (#875-878) should emit an event for:
- _taxFee = taxFee (#877)
LiquidityGeneratorToken.setLiquidityFeePercent(uint256) (#880-883) should emit an event for:
- _liquidityFee = liquidityFee (#882)
LiquidityGeneratorToken.setMaxTxPercent(uint256) (#885-890) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 2) (#887-889)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in LiquidityGeneratorToken._transfer(address,address,uint256) (#990-1034):
External calls:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _liquidityFee = _previousLiquidityFee (#975)
- _liquidityFee = 0 (#970)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _previousLiquidityFee = _liquidityFee (#967)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _previousTaxFee = _taxFee (#966)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _tFeeTotal = _tFeeTotal.add(tFee) (#902)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- _taxFee = _previousTaxFee (#974)
- _taxFee = 0 (#969)
Reentrancy in LiquidityGeneratorToken.constructor(address,string,string,uint8,uint256,uint8,uint8,uint256,uint256,uint256) (#738-768):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#757-758)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#764)
- _isExcludedFromFee[address(this)] = true (#765)
- uniswapV2Router = _uniswapV2Router (#761)
Reentrancy in LiquidityGeneratorToken.swapAndLiquify(uint256) (#1036-1057):
External calls:
- swapTokensForEth(half) (#1048)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
- addLiquidity(otherHalf,newBalance) (#1054)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1054)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1054)
- _allowances[owner][spender] = amount (#986)
Reentrancy in LiquidityGeneratorToken.transferFrom(address,address,uint256) (#805-809):
External calls:
- _transfer(sender,recipient,amount) (#806)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
External calls sending eth:
- _transfer(sender,recipient,amount) (#806)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#807)
- _allowances[owner][spender] = amount (#986)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in LiquidityGeneratorToken._transfer(address,address,uint256) (#990-1034):
External calls:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1021)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1119)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- Transfer(sender,recipient,tTransferAmount) (#1139)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- Transfer(sender,recipient,tTransferAmount) (#1129)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
- Transfer(sender,recipient,tTransferAmount) (#864)
- _tokenTransfer(from,to,amount,takeFee) (#1033)
Reentrancy in LiquidityGeneratorToken.constructor(address,string,string,uint8,uint256,uint8,uint8,uint256,uint256,uint256) (#738-768):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#757-758)
Event emitted after the call(s):
- Transfer(address(0),tokenOwner,_tTotal) (#767)
Reentrancy in LiquidityGeneratorToken.swapAndLiquify(uint256) (#1036-1057):
External calls:
- swapTokensForEth(half) (#1048)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
- addLiquidity(otherHalf,newBalance) (#1054)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1054)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#987)
- addLiquidity(otherHalf,newBalance) (#1054)
- SwapAndLiquify(half,newBalance,otherHalf) (#1056)
Reentrancy in LiquidityGeneratorToken.transferFrom(address,address,uint256) (#805-809):
External calls:
- _transfer(sender,recipient,amount) (#806)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1068-1074)
External calls sending eth:
- _transfer(sender,recipient,amount) (#806)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,dead,block.timestamp) (#1082-1089)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#987)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#807)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#460-465) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#462)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#265-274) uses assembly
- INLINE ASM (#272)
Address._functionCallWithValue(address,bytes,uint256,string) (#358-379) uses assembly
- INLINE ASM (#371-374)
Do not use evm assembly.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#358-379) is never used and should be removed
Address.functionCall(address,bytes) (#318-320) is never used and should be removed
Address.functionCall(address,bytes,string) (#328-330) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#343-345) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#353-356) is never used and should be removed
Address.isContract(address) (#265-274) is never used and should be removed
Address.sendValue(address,uint256) (#292-298) is never used and should be removed
Context._msgData() (#237-240) is never used and should be removed
SafeMath.mod(uint256,uint256) (#210-212) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#226-229) is never used and should be removed
Remove unused functions.
Additional information: link
LiquidityGeneratorToken._previousTaxFee (#710) is set pre-construction with a non-constant function or state variable:
- _taxFee
LiquidityGeneratorToken._previousLiquidityFee (#713) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
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
Low level call in Address.sendValue(address,uint256) (#292-298):
- (success) = recipient.call{value: amount}() (#296)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#358-379):
- (success,returndata) = target.call{value: weiValue}(data) (#362)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#504) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#505) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#522) is not in mixedCase
Function IUniswapV2Router01.WETH() (#544) is not in mixedCase
Parameter LiquidityGeneratorToken.setSwapAndLiquifyEnabled(bool)._enabled (#892) is not in mixedCase
Parameter LiquidityGeneratorToken.calculateTaxFee(uint256)._amount (#951) is not in mixedCase
Parameter LiquidityGeneratorToken.calculateLiquidityFee(uint256)._amount (#957) is not in mixedCase
Variable LiquidityGeneratorToken._tTotal (#701) is not in mixedCase
Variable LiquidityGeneratorToken._name (#705) is not in mixedCase
Variable LiquidityGeneratorToken._symbol (#706) is not in mixedCase
Variable LiquidityGeneratorToken._taxFee (#709) is not in mixedCase
Variable LiquidityGeneratorToken._liquidityFee (#712) is not in mixedCase
Variable LiquidityGeneratorToken._maxTxAmount (#721) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#238)" inContext (#232-241)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#549) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#550)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._transferToExcluded(address,address,uint256).rTransferAmount (#1123) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._transferStandard(address,address,uint256).tTransferAmount (#1114)
Variable LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).rTransferAmount (#857) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken.reflectionFromToken(uint256,bool).rTransferAmount (#844) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._getValues(uint256).rTransferAmount (#907) is too similar to LiquidityGeneratorToken._getValues(uint256).tTransferAmount (#906)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._transferToExcluded(address,address,uint256).tTransferAmount (#1123)
Variable LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).rTransferAmount (#1133) is too similar to LiquidityGeneratorToken._getTValues(uint256).tTransferAmount (#914)
Variable LiquidityGeneratorToken._transferStandard(address,address,uint256).rTransferAmount (#1114) is too similar to LiquidityGeneratorToken._transferFromExcluded(address,address,uint256).tTransferAmount (#1133)
Variable LiquidityGeneratorToken._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#922) is too similar to LiquidityGeneratorToken._transferBothExcluded(address,address,uint256).tTransferAmount (#857)
Prevent variables from having similar names.
Additional information: link
LiquidityGeneratorToken.slitherConstructorVariables() (#682-1159) uses literals with too many digits:
- dead = 0x000000000000000000000000000000000000dEaD (#685)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
LiquidityGeneratorToken.dead (#685) should be constant
LiquidityGeneratorToken.mintedByDxsale (#704) should be constant
LiquidityGeneratorToken.router (#699) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#432-435)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#441-445)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#447-449)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#452-457)
unlock() should be declared external:
- Ownable.unlock() (#460-465)
name() should be declared external:
- LiquidityGeneratorToken.name() (#770-772)
symbol() should be declared external:
- LiquidityGeneratorToken.symbol() (#774-776)
decimals() should be declared external:
- LiquidityGeneratorToken.decimals() (#778-780)
totalSupply() should be declared external:
- LiquidityGeneratorToken.totalSupply() (#782-784)
transfer(address,uint256) should be declared external:
- LiquidityGeneratorToken.transfer(address,uint256) (#791-794)
allowance(address,address) should be declared external:
- LiquidityGeneratorToken.allowance(address,address) (#796-798)
approve(address,uint256) should be declared external:
- LiquidityGeneratorToken.approve(address,uint256) (#800-803)
transferFrom(address,address,uint256) should be declared external:
- LiquidityGeneratorToken.transferFrom(address,address,uint256) (#805-809)
increaseAllowance(address,uint256) should be declared external:
- LiquidityGeneratorToken.increaseAllowance(address,uint256) (#811-814)
decreaseAllowance(address,uint256) should be declared external:
- LiquidityGeneratorToken.decreaseAllowance(address,uint256) (#816-819)
isExcludedFromReward(address) should be declared external:
- LiquidityGeneratorToken.isExcludedFromReward(address) (#821-823)
totalFees() should be declared external:
- LiquidityGeneratorToken.totalFees() (#825-827)
deliver(uint256) should be declared external:
- LiquidityGeneratorToken.deliver(uint256) (#829-836)
reflectionFromToken(uint256,bool) should be declared external:
- LiquidityGeneratorToken.reflectionFromToken(uint256,bool) (#838-847)
excludeFromFee(address) should be declared external:
- LiquidityGeneratorToken.excludeFromFee(address) (#867-869)
includeInFee(address) should be declared external:
- LiquidityGeneratorToken.includeInFee(address) (#871-873)
setSwapAndLiquifyEnabled(bool) should be declared external:
- LiquidityGeneratorToken.setSwapAndLiquifyEnabled(bool) (#892-895)
isExcludedFromFee(address) should be declared external:
- LiquidityGeneratorToken.isExcludedFromFee(address) (#978-980)
disableFees() should be declared external:
- LiquidityGeneratorToken.disableFees() (#1142-1150)
enableFees() should be declared external:
- LiquidityGeneratorToken.enableFees() (#1152-1157)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token contract audit
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Last post in Twitter was more than 30 days ago
Unable to find Youtube account