Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
StarshiptoMarsSimulation.swapBack() (#1141-1175) sends eth to arbitrary user
Dangerous calls:
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
StarshiptoMarsSimulation.addLiquidity(uint256,uint256) (#1200-1210) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in StarshiptoMarsSimulation._transfer(address,address,uint256) (#1029-1139):
External calls:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
External calls sending eth:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _liquidityTokensToSwap += tLiquidity * _buyLiquidityFee / _liquidityFee (#1413)
- _liquidityTokensToSwap += tLiquidity * _sellLiquidityFee / _liquidityFee (#1417)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _marketingTokensToSwap += tLiquidity * _buyMarketingFee / _liquidityFee (#1415)
- _marketingTokensToSwap += tLiquidity * _sellMarketingFee / _liquidityFee (#1419)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1246)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1266)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1288)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1309)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1247)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1268)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1289)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1311)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1423)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _rTotal = _rTotal.sub(rFee) (#1318)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1308)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1287)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1267)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1310)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1425)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _teamTokensToSwap += tLiquidity * _buyTeamFee / _liquidityFee (#1414)
- _teamTokensToSwap += tLiquidity * _sellTeamFee / _liquidityFee (#1418)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable._lockTime (#217) is never initialized. It is used in:
- Ownable.getUnlockTime() (#253-255)
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
StarshiptoMarsSimulation._transfer(address,address,uint256) (#1029-1139) uses a dangerous strict equality:
- from != owner() && to != uniswapV2Pair && block.number == tradingActiveBlock (#1064)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
StarshiptoMarsSimulation.swapBack().success (#1165) is written in both
(success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
(success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
Fix or remove the writes.
Additional information: link
Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
StarshiptoMarsSimulation.slitherConstructorVariables() (#606-1590) uses literals with too many digits:
- deadAddress = 0x000000000000000000000000000000000000dEaD (#619-620)
StarshiptoMarsSimulation.slitherConstructorVariables() (#606-1590) uses literals with too many digits:
- gasMaxLimit = 50000000 (#678)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Ownable._previousOwner (#216) is never used in StarshiptoMarsSimulation (#606-1590)
Remove unused state variables.
Additional information: link
Ownable._lockTime (#217) should be constant
Ownable._previousOwner (#216) should be constant
StarshiptoMarsSimulation.minimumTokensBeforeSwap (#692) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Reentrancy in StarshiptoMarsSimulation.swapBack() (#1141-1175):
External calls:
- swapTokensForBNB(amountToSwapForBNB) (#1152)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
State variables written after the call(s):
- _liquidityTokensToSwap = 0 (#1161)
- _marketingTokensToSwap = 0 (#1162)
- _teamTokensToSwap = 0 (#1163)
Apply the check-effects-interactions pattern.
Additional information: link
StarshiptoMarsSimulation.manage_trusted(address[]).i (#1542) is a local variable never initialized
StarshiptoMarsSimulation.manage_Snipers(address[],bool).i (#1534) is a local variable never initialized
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
StarshiptoMarsSimulation.addLiquidity(uint256,uint256) (#1200-1210) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
Ensure that all the return values of the function calls are used.
Additional information: link
StarshiptoMarsSimulation.allowance(address,address).owner (#818) shadows:
- Ownable.owner() (#230-232) (function)
StarshiptoMarsSimulation._approve(address,address,uint256).owner (#1018) shadows:
- Ownable.owner() (#230-232) (function)
Rename the local variables that shadow another component.
Additional information: link
StarshiptoMarsSimulation.enableTrading(bool,uint256) (#895-904) should emit an event for:
- deadBlocks = _deadBlocks (#902)
StarshiptoMarsSimulation.setGasPriceLimit(uint256) (#941-944) should emit an event for:
- gasPriceLimit = gas * 1000000000 (#943)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in StarshiptoMarsSimulation._transfer(address,address,uint256) (#1029-1139):
External calls:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
External calls sending eth:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
State variables written after the call(s):
- removeAllFee() (#1114)
- _liquidityFee = 0 (#1447)
- _liquidityFee = _buyLiquidityFee + _buyMarketingFee + _buyTeamFee (#1116)
- removeAllFee() (#1121)
- _liquidityFee = 0 (#1447)
- _liquidityFee = _sellLiquidityFee + _sellMarketingFee + _sellTeamFee (#1123)
- _liquidityFee = _liquidityFee * 3 (#1128)
- removeAllFee() (#1132)
- _liquidityFee = 0 (#1447)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _liquidityFee = _previousLiquidityFee (#1452)
- _liquidityFee = 0 (#1447)
- removeAllFee() (#1114)
- _previousLiquidityFee = _liquidityFee (#1444)
- removeAllFee() (#1121)
- _previousLiquidityFee = _liquidityFee (#1444)
- removeAllFee() (#1132)
- _previousLiquidityFee = _liquidityFee (#1444)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _previousLiquidityFee = _liquidityFee (#1444)
- removeAllFee() (#1114)
- _previousTaxFee = _taxFee (#1443)
- removeAllFee() (#1121)
- _previousTaxFee = _taxFee (#1443)
- removeAllFee() (#1132)
- _previousTaxFee = _taxFee (#1443)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _previousTaxFee = _taxFee (#1443)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1319)
- removeAllFee() (#1114)
- _taxFee = 0 (#1446)
- _taxFee = _buyTaxFee (#1115)
- removeAllFee() (#1121)
- _taxFee = 0 (#1446)
- _taxFee = _sellTaxFee (#1122)
- _taxFee = _taxFee * 3 (#1127)
- removeAllFee() (#1132)
- _taxFee = 0 (#1446)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- _taxFee = _previousTaxFee (#1451)
- _taxFee = 0 (#1446)
- buyOrSellSwitch = TRANSFER (#1110)
- buyOrSellSwitch = BUY (#1117)
- buyOrSellSwitch = SELL (#1124)
- buyOrSellSwitch = TRANSFER (#1133)
Reentrancy in StarshiptoMarsSimulation.changeRouterVersion(address) (#1548-1572):
External calls:
- _pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1562-1565)
State variables written after the call(s):
- uniswapV2Pair = _pair (#1567)
- uniswapV2Router = _uniswapV2Router (#1570)
Reentrancy in StarshiptoMarsSimulation.constructor() (#748-786):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#761-762)
State variables written after the call(s):
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- _excluded[i] = _excluded[_excluded.length - 1] (#1000)
- _excluded.push(account) (#993)
- _excluded.pop() (#1003)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- _isExcluded[account] = true (#992)
- _isExcluded[account] = false (#1002)
- _isExcludedFromFee[owner()] = true (#769)
- _isExcludedFromFee[address(this)] = true (#770)
- _isExcludedFromFee[marketingAddress] = true (#771)
- _isExcludedFromFee[liquidityAddress] = true (#772)
- _isExcludedFromFee[teamAddress] = true (#773)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- _isExcludedMaxTransactionAmount[updAds] = isEx (#1010)
- excludeFromMaxTransaction(owner(),true) (#775)
- _isExcludedMaxTransactionAmount[updAds] = isEx (#1010)
- excludeFromMaxTransaction(address(this),true) (#776)
- _isExcludedMaxTransactionAmount[updAds] = isEx (#1010)
- excludeFromMaxTransaction(address(0xdead),true) (#777)
- _isExcludedMaxTransactionAmount[updAds] = isEx (#1010)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- _isExcludedMaxWalletAmount[updAds] = isEx (#1014)
- excludeFromWalletAmount(owner(),true) (#779)
- _isExcludedMaxWalletAmount[updAds] = isEx (#1014)
- excludeFromWalletAmount(address(this),true) (#780)
- _isExcludedMaxWalletAmount[updAds] = isEx (#1014)
- excludeFromWalletAmount(address(0xdead),true) (#781)
- _isExcludedMaxWalletAmount[updAds] = isEx (#1014)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- _tOwned[account] = tokenFromReflection(_rOwned[account]) (#990)
- _tOwned[account] = 0 (#1001)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- automatedMarketMakerPairs[pair] = value (#927)
- uniswapV2Pair = _uniswapV2Pair (#765)
- uniswapV2Router = _uniswapV2Router (#764)
Reentrancy in StarshiptoMarsSimulation.swapBack() (#1141-1175):
External calls:
- swapTokensForBNB(amountToSwapForBNB) (#1152)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
External calls sending eth:
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
State variables written after the call(s):
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- _allowances[owner][spender] = amount (#1025)
Reentrancy in StarshiptoMarsSimulation.transferFrom(address,address,uint256) (#836-851):
External calls:
- _transfer(sender,recipient,amount) (#841)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
External calls sending eth:
- _transfer(sender,recipient,amount) (#841)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#842-849)
- _allowances[owner][spender] = amount (#1025)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in StarshiptoMarsSimulation._transfer(address,address,uint256) (#1029-1139):
External calls:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
External calls sending eth:
- swapBack() (#1101)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1250)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- Transfer(sender,recipient,tTransferAmount) (#1271)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- Transfer(sender,recipient,tTransferAmount) (#1292)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
- Transfer(sender,recipient,tTransferAmount) (#1314)
- _tokenTransfer(from,to,amount,takeFee) (#1137)
Reentrancy in StarshiptoMarsSimulation.changeRouterVersion(address) (#1548-1572):
External calls:
- _pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#1562-1565)
Event emitted after the call(s):
- UpdatedRouter(_router) (#1571)
Reentrancy in StarshiptoMarsSimulation.constructor() (#748-786):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#761-762)
Event emitted after the call(s):
- SetAutomatedMarketMakerPair(pair,value) (#934)
- _setAutomatedMarketMakerPair(_uniswapV2Pair,true) (#767)
- Transfer(address(0),_msgSender(),_tTotal) (#785)
Reentrancy in StarshiptoMarsSimulation.swapBack() (#1141-1175):
External calls:
- swapTokensForBNB(amountToSwapForBNB) (#1152)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
External calls sending eth:
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1026)
- addLiquidity(tokensForLiquidity,bnbForLiquidity) (#1168)
- SwapAndLiquify(amountToSwapForBNB,bnbForLiquidity,tokensForLiquidity) (#1169)
Reentrancy in StarshiptoMarsSimulation.transferForeignToken(address,address) (#1577-1587):
External calls:
- _sent = IERC20(_token).transfer(_to,_contractBalance) (#1585)
Event emitted after the call(s):
- TransferForeignToken(_token,_contractBalance) (#1586)
Reentrancy in StarshiptoMarsSimulation.transferFrom(address,address,uint256) (#836-851):
External calls:
- _transfer(sender,recipient,amount) (#841)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1182-1188)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
External calls sending eth:
- _transfer(sender,recipient,amount) (#841)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,liquidityAddress,block.timestamp) (#1202-1209)
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1026)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#842-849)
Apply the check-effects-interactions pattern.
Additional information: link
StarshiptoMarsSimulation._transfer(address,address,uint256) (#1029-1139) uses timestamp for comparisons
Dangerous comparisons:
- boughtEarly[from] && earlyBuyPenaltyEnd <= block.number (#1126)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#119-130) uses assembly
- INLINE ASM (#126-128)
Address._functionCallWithValue(address,bytes,uint256,string) (#188-211) uses assembly
- INLINE ASM (#203-206)
Do not use evm assembly.
Additional information: link
StarshiptoMarsSimulation.includeInReward(address) (#996-1007) has costly operations inside a loop:
- _excluded.pop() (#1003)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#188-211) is never used and should be removed
Address.functionCall(address,bytes) (#146-151) is never used and should be removed
Address.functionCall(address,bytes,string) (#153-159) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#161-173) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#175-186) is never used and should be removed
Address.isContract(address) (#119-130) is never used and should be removed
Address.sendValue(address,uint256) (#132-144) is never used and should be removed
Context._msgData() (#18-21) is never used and should be removed
SafeMath.mod(uint256,uint256) (#104-106) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#108-115) is never used and should be removed
Remove unused functions.
Additional information: link
StarshiptoMarsSimulation._previousTaxFee (#653) is set pre-construction with a non-constant function or state variable:
- _taxFee
StarshiptoMarsSimulation._previousLiquidityFee (#656) 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
Pragma version0.8.9 (#11) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.9 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 Address.sendValue(address,uint256) (#132-144):
- (success) = recipient.call{value: amount}() (#139)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#188-211):
- (success,returndata) = target.call{value: weiValue}(data) (#196-198)
Low level call in StarshiptoMarsSimulation.swapBack() (#1141-1175):
- (success) = address(teamAddress).call{value: bnbForTeam}() (#1165)
- (success,None) = address(marketingAddress).call{value: bnbForMarketing}() (#1166)
- (success,None) = address(marketingAddress).call{value: address(this).balance}() (#1173)
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() (#327) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#329) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#359) is not in mixedCase
Function IUniswapV2Router01.WETH() (#403) is not in mixedCase
Parameter StarshiptoMarsSimulation.enableTrading(bool,uint256)._status (#895) is not in mixedCase
Parameter StarshiptoMarsSimulation.enableTrading(bool,uint256)._deadBlocks (#895) is not in mixedCase
Parameter StarshiptoMarsSimulation.addPresaleAddressForExclusions(address,address)._presaleAddress (#907) is not in mixedCase
Parameter StarshiptoMarsSimulation.addPresaleAddressForExclusions(address,address)._presaleRouterAddress (#907) is not in mixedCase
Parameter StarshiptoMarsSimulation.calculateTaxFee(uint256)._amount (#1428) is not in mixedCase
Parameter StarshiptoMarsSimulation.calculateLiquidityFee(uint256)._amount (#1432) is not in mixedCase
Parameter StarshiptoMarsSimulation.setMarketingAddress(address)._marketingAddress (#1499) is not in mixedCase
Parameter StarshiptoMarsSimulation.setTeamAddress(address)._teamAddress (#1506) is not in mixedCase
Parameter StarshiptoMarsSimulation.setLiquidityAddress(address)._liquidityAddress (#1513) is not in mixedCase
Parameter StarshiptoMarsSimulation.setSwapAndLiquifyEnabled(bool)._enabled (#1520) is not in mixedCase
Function StarshiptoMarsSimulation.manage_Snipers(address[],bool) (#1533-1539) is not in mixedCase
Function StarshiptoMarsSimulation.manage_trusted(address[]) (#1541-1545) is not in mixedCase
Parameter StarshiptoMarsSimulation.changeRouterVersion(address)._router (#1548) is not in mixedCase
Parameter StarshiptoMarsSimulation.transferForeignToken(address,address)._token (#1577) is not in mixedCase
Parameter StarshiptoMarsSimulation.transferForeignToken(address,address)._to (#1577) is not in mixedCase
Constant StarshiptoMarsSimulation._tTotal (#635) is not in UPPER_CASE_WITH_UNDERSCORES
Constant StarshiptoMarsSimulation._name (#641) is not in UPPER_CASE_WITH_UNDERSCORES
Constant StarshiptoMarsSimulation._symbol (#642) is not in UPPER_CASE_WITH_UNDERSCORES
Constant StarshiptoMarsSimulation._decimals (#644) is not in UPPER_CASE_WITH_UNDERSCORES
Variable StarshiptoMarsSimulation._buyTaxFee (#658) is not in mixedCase
Variable StarshiptoMarsSimulation._buyLiquidityFee (#659) is not in mixedCase
Variable StarshiptoMarsSimulation._buyMarketingFee (#660) is not in mixedCase
Variable StarshiptoMarsSimulation._buyTeamFee (#661) is not in mixedCase
Variable StarshiptoMarsSimulation._sellTaxFee (#663) is not in mixedCase
Variable StarshiptoMarsSimulation._sellLiquidityFee (#664) is not in mixedCase
Variable StarshiptoMarsSimulation._sellMarketingFee (#665) is not in mixedCase
Variable StarshiptoMarsSimulation._sellTeamFee (#666) is not in mixedCase
Variable StarshiptoMarsSimulation._isExcludedMaxTransactionAmount (#682) is not in mixedCase
Variable StarshiptoMarsSimulation._isExcludedMaxWalletAmount (#683) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#19)" inContext (#13-22)
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 (#408) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#409)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).rTransferAmount (#1281) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._getValues(uint256).tTransferAmount (#1335)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).tTransferAmount (#1262)
Variable StarshiptoMarsSimulation.reflectionFromToken(uint256,bool).rTransferAmount (#968) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._transferStandard(address,address,uint256).rTransferAmount (#1240) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._getTValues(uint256).tTransferAmount (#1366)
Variable StarshiptoMarsSimulation._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1387) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).rTransferAmount (#1302) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Variable StarshiptoMarsSimulation._getValues(uint256).rTransferAmount (#1339) is too similar to StarshiptoMarsSimulation._transferBothExcluded(address,address,uint256).tTransferAmount (#1304)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._transferStandard(address,address,uint256).tTransferAmount (#1242)
Variable StarshiptoMarsSimulation._transferToExcluded(address,address,uint256).rTransferAmount (#1260) is too similar to StarshiptoMarsSimulation._transferFromExcluded(address,address,uint256).tTransferAmount (#1283)
Prevent variables from having similar names.
Additional information: link
getUnlockTime() should be declared external:
- Ownable.getUnlockTime() (#253-255)
getTime() should be declared external:
- Ownable.getTime() (#257-259)
authorize(address) should be declared external:
- StarshiptoMarsSimulation.authorize(address) (#1191-1193)
unauthorize(address) should be declared external:
- StarshiptoMarsSimulation.unauthorize(address) (#1195-1197)
setSwapAndLiquifyEnabled(bool) should be declared external:
- StarshiptoMarsSimulation.setSwapAndLiquifyEnabled(bool) (#1520-1523)
isSniper(address) should be declared external:
- StarshiptoMarsSimulation.isSniper(address) (#1529-1531)
manage_Snipers(address[],bool) should be declared external:
- StarshiptoMarsSimulation.manage_Snipers(address[],bool) (#1533-1539)
manage_trusted(address[]) should be declared external:
- StarshiptoMarsSimulation.manage_trusted(address[]) (#1541-1545)
Use the external attribute for functions never called from the contract.
Additional information: link
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