Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
CubCoin.swapAndLiquify(address) (#1079-1112) sends eth to arbitrary user
Dangerous calls:
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
CubCoin.addLiquidity(address,address,uint256,uint256) (#1131-1145) sends eth to arbitrary user
Dangerous calls:
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in CubCoin._transfer(address,address,uint256) (#990-1023):
External calls:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
External calls sending eth:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _liquidityFee = _previousLiquidityFee (#957)
- _liquidityFee = 0 (#951)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _rOwned[address(this)] += rLiquidity (#925)
- _rOwned[sender] -= rAmount (#1051)
- _rOwned[recipient] += rTransferAmount (#1056)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _rTotal = _rTotal - rFee (#826)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _tOwned[address(this)] += tLiquidity (#927)
- _tOwned[sender] -= tAmount (#1053)
- _tOwned[recipient] += tTransferAmount (#1055)
Apply the check-effects-interactions pattern.
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.
CubCoin.addLiquidity(address,address,uint256,uint256) (#1131-1145) ignores return value by markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
Ensure that all the return values of the function calls are used.
Additional information: link
CubCoin.allowance(address,address)._owner (#674) shadows:
- Ownable._owner (#36) (state variable)
CubCoin._approve(address,address,uint256)._owner (#971) shadows:
- Ownable._owner (#36) (state variable)
CubCoin.addLiquidity(address,address,uint256,uint256).owner (#1133) shadows:
- Ownable.owner() (#50-52) (function)
Rename the local variables that shadow another component.
Additional information: link
CubCoin.setMaxWallet(uint256,uint256) (#664-668) should emit an event for:
- maxWallet = (_tTotal * numerator) / divisor (#667)
CubCoin.setTaxFeePercent(uint256) (#751-755) should emit an event for:
- _taxFee = taxFee (#753)
- _previousTaxFee = _taxFee (#754)
CubCoin.setBNBFeePercent(uint256,uint256,uint256,uint256,uint256) (#757-769) should emit an event for:
- _liquidityFee = totalBNBFee (#758)
- _previousLiquidityFee = _liquidityFee (#759)
- totalFeesToLP = _lpFee (#761)
- totalFeesToDev = _devFee (#763)
- sellBias = _sellbias (#765)
- previousSellBias = sellBias (#766)
CubCoin.setAmountToSell(uint256) (#771-773) should emit an event for:
- minTokenNumberToSell = _tTotal / _divisor (#772)
CubCoin.updateGnosisGas(uint256) (#1075-1077) should emit an event for:
- gnosisGas = _amount (#1076)
Emit an event for critical parameter changes.
Additional information: link
CubCoin.constructor(address,address,address)._marketing (#567) lacks a zero-check on :
- marketingWallet = _marketing (#582)
CubCoin.constructor(address,address,address)._liquidity (#567) lacks a zero-check on :
- liquidityWallet = _liquidity (#583)
CubCoin.constructor(address,address,address)._dev (#567) lacks a zero-check on :
- devWallet = address(_dev) (#584)
CubCoin.setMarketingWallet(address)._newAddress (#775) lacks a zero-check on :
- marketingWallet = _newAddress (#776)
CubCoin.setDevWallet(address)._newAddress (#779) lacks a zero-check on :
- devWallet = address(_newAddress) (#780)
CubCoin.setLiquidityWallet(address)._newAddress (#783) lacks a zero-check on :
- liquidityWallet = _newAddress (#784)
Check that the address is not zero.
Additional information: link
CubCoin.swapTokensForEth(address,uint256) (#1114-1129) has external calls inside a loop: path[1] = markets[pair].WETH() (#1120)
CubCoin.swapTokensForEth(address,uint256) (#1114-1129) has external calls inside a loop: markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
CubCoin.addLiquidity(address,address,uint256,uint256) (#1131-1145) has external calls inside a loop: markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
CubCoin.swapAndLiquify(address) (#1079-1112) has external calls inside a loop: devWallet.transfer(bnbForDev) (#1102)
CubCoin.swapAndLiquify(address) (#1079-1112) has external calls inside a loop: (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
CubCoin._transfer(address,address,uint256) (#990-1023) has external calls inside a loop: antisnipe.onPreTransferCheck(from,to,amount) (#1021)
Favor pull over push strategy for external calls.
Additional information: link
Reentrancy in CubCoin._transfer(address,address,uint256) (#990-1023):
External calls:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
External calls sending eth:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _previousLiquidityFee = _liquidityFee (#947)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _previousTaxFee = _taxFee (#946)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _tFeeTotal = _tFeeTotal + tFee (#827)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _taxFee = _previousTaxFee (#956)
- _taxFee = 0 (#950)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- previousSellBias = sellBias (#948)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- sellBias = previousSellBias (#958)
- sellBias = 0 (#952)
Reentrancy in CubCoin.addMarket(address) (#811-820):
External calls:
- pair = IPancakeFactory(router.factory()).createPair(address(this),router.WETH()) (#813-816)
State variables written after the call(s):
- excludeFromReward(pair) (#819)
- _excluded.push(account) (#648)
- excludeFromReward(pair) (#819)
- _isExcludedFromRewards[account] = true (#647)
- excludeFromReward(pair) (#819)
- _tOwned[account] = tokenFromReflection(_rOwned[account]) (#645)
- liquidityPools[pair] = true (#817)
- markets[pair] = router (#818)
Reentrancy in CubCoin.constructor(address,address,address) (#567-608):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (#575-578)
State variables written after the call(s):
- _approve(address(this),routerAddress,_tTotal) (#600)
- _allowances[_owner][spender] = amount (#978)
- _approve(msg.sender,routerAddress,_tTotal) (#601)
- _allowances[_owner][spender] = amount (#978)
- _excluded.push(address(this)) (#592)
- _excluded.push(burnAddress) (#594)
- _excluded.push(msg.sender) (#596)
- _excluded.push(pancakePair) (#598)
- _isExcludedFromRewards[address(this)] = true (#591)
- _isExcludedFromRewards[burnAddress] = true (#593)
- _isExcludedFromRewards[msg.sender] = true (#595)
- _isExcludedFromRewards[pancakePair] = true (#597)
- _liqProvWhitelist[msg.sender] = true (#587)
- _taxWhitelist[msg.sender] = true (#586)
- _taxWhitelist[_marketing] = true (#588)
- _taxWhitelist[address(this)] = true (#589)
- antisnipe = IAntiSnipe(0x8EFDb3b642eb2a20607ffe0A56CFefF6a95Df002) (#603)
- devWallet = address(_dev) (#584)
- liquidityPools[pancakePair] = true (#579)
- liquidityWallet = _liquidity (#583)
- marketingWallet = _marketing (#582)
- markets[pancakePair] = pancakeRouter (#580)
Reentrancy in CubCoin.transferFrom(address,address,uint256) (#696-708):
External calls:
- _transfer(sender,recipient,amount) (#701)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
- antisnipe.onPreTransferCheck(from,to,amount) (#1021)
External calls sending eth:
- _transfer(sender,recipient,amount) (#701)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount) (#702-706)
- _allowances[_owner][spender] = amount (#978)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in CubCoin._transfer(address,address,uint256) (#990-1023):
External calls:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
External calls sending eth:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1062)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
Reentrancy in CubCoin.constructor(address,address,address) (#567-608):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (#575-578)
Event emitted after the call(s):
- Approval(_owner,spender,amount) (#979)
- _approve(msg.sender,routerAddress,_tTotal) (#601)
- Approval(_owner,spender,amount) (#979)
- _approve(address(this),routerAddress,_tTotal) (#600)
Reentrancy in CubCoin.constructor(address,address,address) (#567-608):
External calls:
- pancakePair = IPancakeFactory(pancakeRouter.factory()).createPair(address(this),pancakeRouter.WETH()) (#575-578)
- antisnipe.setTokenOwner(msg.sender) (#605)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#607)
Reentrancy in CubCoin.swapAndLiquify(address) (#1079-1112):
External calls:
- swapTokensForEth(to,amountToSwap - tokensForLP) (#1086-1089)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- addLiquidity(to,liquidityWallet,tokensForLP,bnbToBeAddedToLiquidity) (#1097)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
External calls sending eth:
- addLiquidity(to,liquidityWallet,tokensForLP,bnbToBeAddedToLiquidity) (#1097)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
Event emitted after the call(s):
- SwapAndLiquify(amountToSwap,deltaBalance,tokensForLP) (#1111)
Reentrancy in CubCoin.transferFrom(address,address,uint256) (#696-708):
External calls:
- _transfer(sender,recipient,amount) (#701)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- markets[pair].swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1122-1128)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
- antisnipe.onPreTransferCheck(from,to,amount) (#1021)
External calls sending eth:
- _transfer(sender,recipient,amount) (#701)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
Event emitted after the call(s):
- Approval(_owner,spender,amount) (#979)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount) (#702-706)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#155-165) uses assembly
- INLINE ASM (#161-163)
Address.verifyCallResult(bool,bytes,string) (#324-344) uses assembly
- INLINE ASM (#336-339)
Do not use evm assembly.
Additional information: link
CubCoin.includeInReward(address) (#651-662) has costly operations inside a loop:
- _excluded.pop() (#658)
CubCoin._transfer(address,address,uint256) (#990-1023) has costly operations inside a loop:
- liquidityLaunched = true (#1001)
CubCoin.swapping() (#560) has costly operations inside a loop:
- inSwap = true (#560)
CubCoin.swapping() (#560) has costly operations inside a loop:
- inSwap = false (#560)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- _previousTaxFee = _taxFee (#946)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- _previousLiquidityFee = _liquidityFee (#947)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- previousSellBias = sellBias (#948)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- _taxFee = 0 (#950)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- _liquidityFee = 0 (#951)
CubCoin.removeAllFee() (#943-953) has costly operations inside a loop:
- sellBias = 0 (#952)
CubCoin._reflectFee(uint256,uint256) (#825-828) has costly operations inside a loop:
- _rTotal = _rTotal - rFee (#826)
CubCoin._reflectFee(uint256,uint256) (#825-828) has costly operations inside a loop:
- _tFeeTotal = _tFeeTotal + tFee (#827)
CubCoin.restoreAllFee() (#955-959) has costly operations inside a loop:
- _taxFee = _previousTaxFee (#956)
CubCoin.restoreAllFee() (#955-959) has costly operations inside a loop:
- _liquidityFee = _previousLiquidityFee (#957)
CubCoin.restoreAllFee() (#955-959) has costly operations inside a loop:
- sellBias = previousSellBias (#958)
Use a local variable to hold the loop computation result.
Additional information: link
Address.functionCall(address,bytes) (#208-210) is never used and should be removed
Address.functionCall(address,bytes,string) (#218-224) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#237-243) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#251-262) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#297-299) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#307-316) is never used and should be removed
Address.functionStaticCall(address,bytes) (#270-272) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#280-289) is never used and should be removed
Address.isContract(address) (#155-165) is never used and should be removed
Address.sendValue(address,uint256) (#183-188) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (#324-344) is never used and should be removed
Context._msgData() (#18-20) is never used and should be removed
Remove unused functions.
Additional information: link
CubCoin._tTotal (#514) is set pre-construction with a non-constant function or state variable:
- 100_000_000_000 * (10 ** _decimals)
CubCoin._rTotal (#515) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
CubCoin.maxWallet (#516) is set pre-construction with a non-constant function or state variable:
- (_tTotal * 2) / 100
CubCoin._previousTaxFee (#527) is set pre-construction with a non-constant function or state variable:
- _taxFee
CubCoin.previousSellBias (#532) is set pre-construction with a non-constant function or state variable:
- sellBias
CubCoin._previousLiquidityFee (#535) is set pre-construction with a non-constant function or state variable:
- _liquidityFee
CubCoin.minTokenNumberToSell (#537) is set pre-construction with a non-constant function or state variable:
- _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.8 (#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
solc-0.8.8 is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
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) (#183-188):
- (success) = recipient.call{value: amount}() (#186)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#251-262):
- (success,returndata) = target.call{value: value}(data) (#260)
Low level call in Address.functionStaticCall(address,bytes,string) (#280-289):
- (success,returndata) = target.staticcall(data) (#287)
Low level call in Address.functionDelegateCall(address,bytes,string) (#307-316):
- (success,returndata) = target.delegatecall(data) (#314)
Low level call in CubCoin.swapAndLiquify(address) (#1079-1112):
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IPancakeRouter01.WETH() (#349) is not in mixedCase
Parameter CubCoin.setTeamMember(address,bool)._team (#631) is not in mixedCase
Parameter CubCoin.setTeamMember(address,bool)._enabled (#631) is not in mixedCase
Parameter CubCoin.allowance(address,address)._owner (#674) is not in mixedCase
Parameter CubCoin.setBNBFeePercent(uint256,uint256,uint256,uint256,uint256)._marketingFee (#757) is not in mixedCase
Parameter CubCoin.setBNBFeePercent(uint256,uint256,uint256,uint256,uint256)._lpFee (#757) is not in mixedCase
Parameter CubCoin.setBNBFeePercent(uint256,uint256,uint256,uint256,uint256)._devFee (#757) is not in mixedCase
Parameter CubCoin.setBNBFeePercent(uint256,uint256,uint256,uint256,uint256)._sellbias (#757) is not in mixedCase
Parameter CubCoin.setAmountToSell(uint256)._divisor (#771) is not in mixedCase
Parameter CubCoin.setMarketingWallet(address)._newAddress (#775) is not in mixedCase
Parameter CubCoin.setDevWallet(address)._newAddress (#779) is not in mixedCase
Parameter CubCoin.setLiquidityWallet(address)._newAddress (#783) is not in mixedCase
Parameter CubCoin.setLiqidityProviderWhitelisted(address,bool)._address (#787) is not in mixedCase
Parameter CubCoin.setLiqidityProviderWhitelisted(address,bool)._whitelisted (#787) is not in mixedCase
Parameter CubCoin.getLPWhitelisted(address)._account (#797) is not in mixedCase
Parameter CubCoin.setSwapAndLiquifyEnabled(bool)._enabled (#801) is not in mixedCase
Parameter CubCoin.addMarket(address)._market (#811) is not in mixedCase
Function CubCoin._getRate() (#899-902) is not in mixedCase
Parameter CubCoin.calculateTaxFee(uint256,bool)._amount (#931) is not in mixedCase
Parameter CubCoin.calculateLiquidityFee(uint256,bool)._amount (#935) is not in mixedCase
Parameter CubCoin.activateLP(bool)._enabled (#965) is not in mixedCase
Parameter CubCoin.setProtection(IAntiSnipe)._protection (#982) is not in mixedCase
Parameter CubCoin.setProtection(bool)._enable (#986) is not in mixedCase
Parameter CubCoin.updateGnosisGas(uint256)._amount (#1075) is not in mixedCase
Parameter CubCoin.airdrop(address[],uint256[])._addresses (#1147) is not in mixedCase
Parameter CubCoin.airdrop(address[],uint256[])._amount (#1147) is not in mixedCase
Variable CubCoin._taxFee (#526) is not in mixedCase
Variable CubCoin._liquidityFee (#534) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Reentrancy in CubCoin._transfer(address,address,uint256) (#990-1023):
External calls:
- swapAndLiquify(to) (#1007)
- devWallet.transfer(bnbForDev) (#1102)
External calls sending eth:
- swapAndLiquify(to) (#1007)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _liquidityFee = _previousLiquidityFee (#957)
- _liquidityFee = 0 (#951)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _previousLiquidityFee = _liquidityFee (#947)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _previousTaxFee = _taxFee (#946)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _rOwned[address(this)] += rLiquidity (#925)
- _rOwned[sender] -= rAmount (#1051)
- _rOwned[recipient] += rTransferAmount (#1056)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _rTotal = _rTotal - rFee (#826)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _tFeeTotal = _tFeeTotal + tFee (#827)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _tOwned[address(this)] += tLiquidity (#927)
- _tOwned[sender] -= tAmount (#1053)
- _tOwned[recipient] += tTransferAmount (#1055)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- _taxFee = _previousTaxFee (#956)
- _taxFee = 0 (#950)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- previousSellBias = sellBias (#948)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
- sellBias = previousSellBias (#958)
- sellBias = 0 (#952)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1062)
- _tokenTransfer(from,to,amount,takeFee) (#1018)
Reentrancy in CubCoin.swapAndLiquify(address) (#1079-1112):
External calls:
- devWallet.transfer(bnbForDev) (#1102)
External calls sending eth:
- addLiquidity(to,liquidityWallet,tokensForLP,bnbToBeAddedToLiquidity) (#1097)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
Event emitted after the call(s):
- SwapAndLiquify(amountToSwap,deltaBalance,tokensForLP) (#1111)
Reentrancy in CubCoin.transferFrom(address,address,uint256) (#696-708):
External calls:
- _transfer(sender,recipient,amount) (#701)
- devWallet.transfer(bnbForDev) (#1102)
External calls sending eth:
- _transfer(sender,recipient,amount) (#701)
- markets[pair].addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner,block.timestamp + 360) (#1137-1144)
- devWallet.transfer(bnbForDev) (#1102)
- (sent) = marketingWallet.call{gas: gnosisGas,value: bnbToBeAddedToMarketing}() (#1107)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount) (#702-706)
- _allowances[_owner][spender] = amount (#978)
Event emitted after the call(s):
- Approval(_owner,spender,amount) (#979)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount) (#702-706)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#354) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#355)
Variable CubCoin._getValues(uint256,bool).rTransferAmount (#847) is too similar to CubCoin._getValues(uint256,bool).tTransferAmount (#843)
Variable CubCoin._getValues(uint256,bool).rTransferAmount (#847) is too similar to CubCoin._transferStandard(address,address,uint256).tTransferAmount (#1047)
Variable CubCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#895) is too similar to CubCoin._getValues(uint256,bool).tTransferAmount (#843)
Variable CubCoin._transferStandard(address,address,uint256).rTransferAmount (#1045) is too similar to CubCoin._getTValues(uint256,bool).tTransferAmount (#874)
Variable CubCoin._transferStandard(address,address,uint256).rTransferAmount (#1045) is too similar to CubCoin._getValues(uint256,bool).tTransferAmount (#843)
Variable CubCoin._transferStandard(address,address,uint256).rTransferAmount (#1045) is too similar to CubCoin._transferStandard(address,address,uint256).tTransferAmount (#1047)
Variable CubCoin._getValues(uint256,bool).rTransferAmount (#847) is too similar to CubCoin._getTValues(uint256,bool).tTransferAmount (#874)
Variable CubCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#895) is too similar to CubCoin._getTValues(uint256,bool).tTransferAmount (#874)
Variable CubCoin._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#895) is too similar to CubCoin._transferStandard(address,address,uint256).tTransferAmount (#1047)
Prevent variables from having similar names.
Additional information: link
CubCoin.slitherConstructorVariables() (#492-1162) uses literals with too many digits:
- burnAddress = 0x000000000000000000000000000000000000dEaD (#519)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
CubCoin._decimals (#497) should be constant
CubCoin._name (#495) should be constant
CubCoin._symbol (#496) should be constant
CubCoin.burnAddress (#519) should be constant
CubCoin.protectedFrom (#542) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#69-71)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#77-80)
name() should be declared external:
- CubCoin.name() (#610-612)
symbol() should be declared external:
- CubCoin.symbol() (#614-616)
decimals() should be declared external:
- CubCoin.decimals() (#618-620)
totalSupply() should be declared external:
- CubCoin.totalSupply() (#622-624)
isExcludedFromReward(address) should be declared external:
- CubCoin.isExcludedFromReward(address) (#635-637)
allowance(address,address) should be declared external:
- CubCoin.allowance(address,address) (#674-680)
totalFees() should be declared external:
- CubCoin.totalFees() (#682-684)
approve(address,uint256) should be declared external:
- CubCoin.approve(address,uint256) (#686-689)
transfer(address,uint256) should be declared external:
- CubCoin.transfer(address,uint256) (#691-694)
transferFrom(address,address,uint256) should be declared external:
- CubCoin.transferFrom(address,address,uint256) (#696-708)
increaseAllowance(address,uint256) should be declared external:
- CubCoin.increaseAllowance(address,uint256) (#710-721)
decreaseAllowance(address,uint256) should be declared external:
- CubCoin.decreaseAllowance(address,uint256) (#723-734)
setAccountWhitelisted(address,bool) should be declared external:
- CubCoin.setAccountWhitelisted(address,bool) (#746-749)
setSwapAndLiquifyEnabled(bool) should be declared external:
- CubCoin.setSwapAndLiquifyEnabled(bool) (#801-804)
isWhitelisted(address) should be declared external:
- CubCoin.isWhitelisted(address) (#961-963)
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