Combining Memes & Crypto to bring both LOLs and money to the masses of the internet. Get some Cheems Inu today!
CheemsInu.TeamReleaseLiquidity() (#1407-1417) ignores return value by liquidityToken.transfer(TeamWallet,amount) (#1415)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Reentrancy in CheemsInu.claim(address) (#1097-1131):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
State variables written after the call(s):
- _isWithdrawing = false (#1130)
Reentrancy in CheemsInu._taxedTransfer(address,address,uint256,bool,bool) (#889-958):
External calls:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
External calls sending eth:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
State variables written after the call(s):
- _removeToken(sender,amount) (#946)
- _balances[addr] = newAmount (#1049)
- _balances[addr] = newAmount (#1056)
- _balances[address(this)] += contractToken (#949)
- _addToken(recipient,taxedAmount) (#954)
- _balances[addr] = newAmount (#1028)
- _balances[addr] = newAmount (#1039)
- _circulatingSupply -= tokensToBeBurnt (#951)
- _removeToken(sender,amount) (#946)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1058)
- _addToken(recipient,taxedAmount) (#954)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1035)
- _swapContractToken() (#937)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1090)
- _removeToken(sender,amount) (#946)
- toBePaid[addr] += payment (#1060)
- _addToken(recipient,taxedAmount) (#954)
- toBePaid[addr] += payment (#1037)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
CheemsInu.claim(address) (#1097-1131) uses a dangerous strict equality:
- amount == 0 (#1114)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
Address.isContract(address) (#288-297) uses assembly
- INLINE ASM (#295)
Address._verifyCallResult(bool,bytes,string) (#433-450) uses assembly
- INLINE ASM (#442-445)
Do not use evm assembly.
Additional information: link
CheemsInu.sellLimit (#790) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
CheemsInu.balanceLimit (#789) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
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
Variable IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#72) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#73)
Prevent variables from having similar names.
Additional information: link
Constant CheemsInu._decimals (#765) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.TeamChangeMarketingShare(uint8) (#1350-1353) is not in mixedCase
Function CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448) is not in mixedCase
Function CheemsInu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1336-1347) is not in mixedCase
Function CheemsInu.TeamSetSellLockTime(uint256) (#1319-1322) is not in mixedCase
Function CheemsInu.TeamDisableBuyLock(bool) (#1314-1316) is not in mixedCase
Variable CheemsInu.TeamWallet (#779) is not in mixedCase
Function IPancakeRouter01.WETH() (#153) is not in mixedCase
Function CheemsInu.AddWalletExclusion(address) (#1331-1333) is not in mixedCase
Function IPancakeERC20.PERMIT_TYPEHASH() (#50) is not in mixedCase
Constant CheemsInu._name (#763) is not in UPPER_CASE_WITH_UNDERSCORES
Constant CheemsInu.PancakeRouter (#784) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.TeamCreateLPandBNB() (#1355-1357) is not in mixedCase
Constant CheemsInu.DefaultLiquidityLockTime (#777) is not in UPPER_CASE_WITH_UNDERSCORES
Constant CheemsInu.DistributionMultiplier (#986) is not in UPPER_CASE_WITH_UNDERSCORES
Constant CheemsInu.MaxSellLockTime (#773) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.TeamWithdrawXMarketingBNB(uint256) (#1284-1289) is not in mixedCase
Function CheemsInu.TeamChangeWalletTwo(address) (#1304-1306) is not in mixedCase
Parameter CheemsInu.getAddressBuyLockTimeInSeconds(address).AddressToCheck (#1242) is not in mixedCase
Function CheemsInu.AddressResetBuyLock() (#1261-1264) is not in mixedCase
Function CheemsInu.AddressResetSellLock() (#1256-1258) is not in mixedCase
Parameter CheemsInu.getAddressSellLockTimeInSeconds(address).AddressToCheck (#1229) is not in mixedCase
Constant CheemsInu._symbol (#764) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.TeamUnlockLiquidityInSeconds(uint256) (#1397-1399) is not in mixedCase
Function CheemsInu.TeamWithdrawALLMarketingBNB() (#1278-1283) is not in mixedCase
Constant CheemsInu.SellLimitDivider (#771) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter CheemsInu.allowance(address,address)._owner (#1493) is not in mixedCase
Function CheemsInu.TeamUpdateLimits(uint256,uint256) (#1360-1377) is not in mixedCase
Function CheemsInu.TeamDisableSellLock(bool) (#1309-1311) is not in mixedCase
Function CheemsInu.SetupEnableTrading() (#1385-1387) is not in mixedCase
Function CheemsInu.TeamRemoveRemainingBNB() (#1450-1455) is not in mixedCase
Function CheemsInu._getTotalShares() (#1012-1020) is not in mixedCase
Function CheemsInu.TeamSetBuyLockTime(uint256) (#1325-1328) is not in mixedCase
Function CheemsInu.TeamSwitchManualBNBConversion(bool) (#1292-1294) is not in mixedCase
Constant CheemsInu.InitialSupply (#766) is not in UPPER_CASE_WITH_UNDERSCORES
Function IPancakeERC20.DOMAIN_SEPARATOR() (#49) is not in mixedCase
Constant CheemsInu.MaxBuyLockTime (#775) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.TeamReleaseLiquidity() (#1407-1417) is not in mixedCase
Function CheemsInu.TeamChangeTeamWallet(address) (#1300-1302) is not in mixedCase
Function CheemsInu.TeamChangeAntiWhale(uint256) (#1296-1298) is not in mixedCase
Constant CheemsInu.BalanceLimitDivider (#769) is not in UPPER_CASE_WITH_UNDERSCORES
Function CheemsInu.SetupLiquidityTokenAddress(address) (#1389-1391) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Reentrancy in CheemsInu._taxedTransfer(address,address,uint256,bool,bool) (#889-958):
External calls:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
External calls sending eth:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1506)
- _swapContractToken() (#937)
- Transfer(sender,recipient,taxedAmount) (#956)
Reentrancy in CheemsInu.claim(address) (#1097-1131):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
Event emitted after the call(s):
- OnWithdrawXRP(amount,addr) (#1129)
Reentrancy in CheemsInu._swapContractToken() (#1147-1177):
External calls:
- _swapTokenForBNB(swapToken) (#1167)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
- _addLiquidity(liqToken,liqBNB) (#1171)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1171)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1506)
- _addLiquidity(liqToken,liqBNB) (#1171)
Reentrancy in CheemsInu.transferFrom(address,address,uint256) (#1509-1517):
External calls:
- _transfer(sender,recipient,amount) (#1510)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1510)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1506)
- _approve(sender,msg.sender,currentAllowance - amount) (#1515)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ticker ($CINU) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448) ignores return value by _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1432-1439)
CheemsInu.constructor() (#814-854) ignores return value by _excluded.add(TeamWallet) (#845)
CheemsInu.constructor() (#814-854) ignores return value by _excluded.add(msg.sender) (#847)
CheemsInu.constructor() (#814-854) ignores return value by _excludedFromStaking.add(address(_pancakeRouter)) (#849)
CheemsInu.constructor() (#814-854) ignores return value by _excludedFromStaking.add(_pancakePairAddress) (#850)
CheemsInu.constructor() (#814-854) ignores return value by _excluded.add(walletTwo) (#846)
CheemsInu.AddWalletExclusion(address) (#1331-1333) ignores return value by _excluded.add(exclusionAdd) (#1332)
CheemsInu.constructor() (#814-854) ignores return value by _excludedFromStaking.add(address(this)) (#851)
CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448) ignores return value by liquidityToken.approve(address(_pancakeRouter),amount) (#1426)
CheemsInu.constructor() (#814-854) ignores return value by _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#852)
CheemsInu._addLiquidity(uint256,uint256) (#1194-1205) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
Ensure that all the return values of the function calls are used.
Additional information: link
CheemsInu.allowance(address,address)._owner (#1493) shadows:
- Ownable._owner (#216) (state variable)
CheemsInu._approve(address,address,uint256).owner (#1501) shadows:
- Ownable.owner() (#232-234) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448):
External calls:
- liquidityToken.approve(address(_pancakeRouter),amount) (#1426)
- _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1432-1439)
State variables written after the call(s):
- _distributeStake(newBNBBalance) (#1442)
- marketingBalance += marketingSplit (#1080)
- marketingBalance += amount (#1087)
- marketingBalance += newBNBBalance (#1445)
- _distributeStake(newBNBBalance) (#1442)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1090)
- _distributeStake(newBNBBalance) (#1442)
- totalStakingReward += amount (#1083)
Reentrancy in CheemsInu._swapContractToken() (#1147-1177):
External calls:
- _swapTokenForBNB(swapToken) (#1167)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
- _addLiquidity(liqToken,liqBNB) (#1171)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1171)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
State variables written after the call(s):
- _addLiquidity(liqToken,liqBNB) (#1171)
- _allowances[owner][spender] = amount (#1505)
- _distributeStake(distributeBNB) (#1176)
- marketingBalance += marketingSplit (#1080)
- marketingBalance += amount (#1087)
- _distributeStake(distributeBNB) (#1176)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1090)
- _distributeStake(distributeBNB) (#1176)
- totalStakingReward += amount (#1083)
Reentrancy in CheemsInu.transferFrom(address,address,uint256) (#1509-1517):
External calls:
- _transfer(sender,recipient,amount) (#1510)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1510)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
State variables written after the call(s):
- _approve(sender,msg.sender,currentAllowance - amount) (#1515)
- _allowances[owner][spender] = amount (#1505)
Reentrancy in CheemsInu._taxedTransfer(address,address,uint256,bool,bool) (#889-958):
External calls:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1185-1191)
External calls sending eth:
- claim(sender) (#923)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1123-1127)
- _swapContractToken() (#937)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
State variables written after the call(s):
- _swapContractToken() (#937)
- _allowances[owner][spender] = amount (#1505)
Apply the check-effects-interactions pattern.
Additional information: link
EnumerableSet.length(EnumerableSet.Bytes32Set) (#619-621) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#633-635) is never used and should be removed
Address.sendValue(address,uint256) (#315-321) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#366-368) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#713-715) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#612-614) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#425-431) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#415-417) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#720-722) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (#659-661) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#376-383) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#595-597) is never used and should be removed
Address.functionStaticCall(address,bytes) (#391-393) is never used and should be removed
Address._verifyCallResult(bool,bytes,string) (#433-450) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#727-729) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#741-743) is never used and should be removed
Address.isContract(address) (#288-297) is never used and should be removed
Address.functionCall(address,bytes,string) (#351-353) is never used and should be removed
CheemsInu._isTeam(address) (#808-810) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#401-407) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (#520-552) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#703-705) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#605-607) is never used and should be removed
Address.functionCall(address,bytes) (#341-343) is never used and should be removed
Remove unused functions.
Additional information: link
CheemsInu.TeamSetBuyLockTime(uint256) (#1325-1328) should emit an event for:
- buyLockTime = buyLockSeconds (#1327)
CheemsInu.TeamWithdrawXMarketingBNB(uint256) (#1284-1289) should emit an event for:
- marketingBalance -= amount (#1286)
CheemsInu.TeamChangeMarketingShare(uint8) (#1350-1353) should emit an event for:
- marketingShare = newShare (#1352)
CheemsInu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1336-1347) should emit an event for:
- _burnTax = burnTaxes (#1340)
- _liquidityTax = liquidityTaxes (#1341)
- _stakingTax = stakingTaxes (#1342)
- _buyTax = buyTax (#1344)
- _sellTax = sellTax (#1345)
- _transferTax = transferTax (#1346)
CheemsInu.TeamSetSellLockTime(uint256) (#1319-1322) should emit an event for:
- sellLockTime = sellLockSeconds (#1321)
CheemsInu.TeamChangeAntiWhale(uint256) (#1296-1298) should emit an event for:
- antiWhale = newAntiWhale * 10 ** _decimals (#1297)
CheemsInu.TeamUpdateLimits(uint256,uint256) (#1360-1377) should emit an event for:
- balanceLimit = newBalanceLimit (#1375)
- sellLimit = newSellLimit (#1376)
Emit an event for critical parameter changes.
Additional information: link
CheemsInu.TeamChangeTeamWallet(address).newTeamWallet (#1300) lacks a zero-check on :
- TeamWallet = address(newTeamWallet) (#1301)
CheemsInu.TeamChangeWalletTwo(address).newWalletTwo (#1304) lacks a zero-check on :
- walletTwo = address(newWalletTwo) (#1305)
CheemsInu.SetupLiquidityTokenAddress(address).liquidityTokenAddress (#1389) lacks a zero-check on :
- _liquidityTokenAddress = liquidityTokenAddress (#1390)
Check that the address is not zero.
Additional information: link
CheemsInu._prolongLiquidityLock(uint256) (#1400-1404) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#1402)
CheemsInu.TeamReleaseLiquidity() (#1407-1417) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1409)
CheemsInu.getAddressBuyLockTimeInSeconds(address) (#1242-1249) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1244)
CheemsInu._taxedTransfer(address,address,uint256,bool,bool) (#889-958) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Seller in sellLock) (#898)
- require(bool,string)(_buyLock[recipient] <= block.timestamp || buyLockDisabled,Buyer in buyLock) (#910)
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Sender in Lock) (#929)
CheemsInu.TeamRemoveRemainingBNB() (#1450-1455) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1451)
CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1421)
CheemsInu.getAddressSellLockTimeInSeconds(address) (#1229-1236) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1231)
CheemsInu.getLiquidityReleaseTimeInSeconds() (#1209-1214) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#1210)
Avoid relying on block.timestamp.
Additional information: link
Low level call in CheemsInu.TeamRemoveRemainingBNB() (#1450-1455):
- (sent) = TeamWallet.call{value: (address(this).balance)}() (#1453)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#376-383):
- (success,returndata) = target.call{value: value}(data) (#381)
Low level call in Address.functionStaticCall(address,bytes,string) (#401-407):
- (success,returndata) = target.staticcall(data) (#405)
Low level call in Address.sendValue(address,uint256) (#315-321):
- (success) = recipient.call{value: amount}() (#319)
Low level call in Address.functionDelegateCall(address,bytes,string) (#425-431):
- (success,returndata) = target.delegatecall(data) (#429)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
CheemsInu.slitherConstructorVariables() (#748-1535) uses literals with too many digits:
- antiWhale = 60000000000000000000 * 10 ** _decimals (#791)
CheemsInu.slitherConstructorConstantVariables() (#748-1535) uses literals with too many digits:
- InitialSupply = 6000000000000000000000 * 10 ** _decimals (#766)
CheemsInu._swapContractToken() (#1147-1177) uses literals with too many digits:
- tokenToSwap = 15000000000000000000 * 10 ** _decimals (#1150)
CheemsInu.constructor() (#814-854) uses literals with too many digits:
- _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#852)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
TeamCreateLPandBNB() should be declared external:
- CheemsInu.TeamCreateLPandBNB() (#1355-1357)
getAddressBuyLockTimeInSeconds(address) should be declared external:
- CheemsInu.getAddressBuyLockTimeInSeconds(address) (#1242-1249)
getBurnedTokens() should be declared external:
- CheemsInu.getBurnedTokens() (#1216-1218)
getDividents(address) should be declared external:
- CheemsInu.getDividents(address) (#1265-1268)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#251-254)
AddressResetSellLock() should be declared external:
- CheemsInu.AddressResetSellLock() (#1256-1258)
TeamUnlockLiquidityInSeconds(uint256) should be declared external:
- CheemsInu.TeamUnlockLiquidityInSeconds(uint256) (#1397-1399)
getTaxes() should be declared external:
- CheemsInu.getTaxes() (#1224-1226)
TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) should be declared external:
- CheemsInu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1336-1347)
TeamChangeTeamWallet(address) should be declared external:
- CheemsInu.TeamChangeTeamWallet(address) (#1300-1302)
SetupEnableTrading() should be declared external:
- CheemsInu.SetupEnableTrading() (#1385-1387)
TeamChangeWalletTwo(address) should be declared external:
- CheemsInu.TeamChangeWalletTwo(address) (#1304-1306)
AddWalletExclusion(address) should be declared external:
- CheemsInu.AddWalletExclusion(address) (#1331-1333)
getLiquidityReleaseTimeInSeconds() should be declared external:
- CheemsInu.getLiquidityReleaseTimeInSeconds() (#1209-1214)
AddressResetBuyLock() should be declared external:
- CheemsInu.AddressResetBuyLock() (#1261-1264)
TeamRemoveRemainingBNB() should be declared external:
- CheemsInu.TeamRemoveRemainingBNB() (#1450-1455)
TeamSwitchManualBNBConversion(bool) should be declared external:
- CheemsInu.TeamSwitchManualBNBConversion(bool) (#1292-1294)
getBuyLockTimeInSeconds() should be declared external:
- CheemsInu.getBuyLockTimeInSeconds() (#1250-1252)
TeamWithdrawALLMarketingBNB() should be declared external:
- CheemsInu.TeamWithdrawALLMarketingBNB() (#1278-1283)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#260-264)
getLimits() should be declared external:
- CheemsInu.getLimits() (#1220-1222)
TeamChangeMarketingShare(uint8) should be declared external:
- CheemsInu.TeamChangeMarketingShare(uint8) (#1350-1353)
TeamSetBuyLockTime(uint256) should be declared external:
- CheemsInu.TeamSetBuyLockTime(uint256) (#1325-1328)
TeamReleaseLiquidity() should be declared external:
- CheemsInu.TeamReleaseLiquidity() (#1407-1417)
TeamChangeAntiWhale(uint256) should be declared external:
- CheemsInu.TeamChangeAntiWhale(uint256) (#1296-1298)
TeamDisableBuyLock(bool) should be declared external:
- CheemsInu.TeamDisableBuyLock(bool) (#1314-1316)
TeamWithdrawXMarketingBNB(uint256) should be declared external:
- CheemsInu.TeamWithdrawXMarketingBNB(uint256) (#1284-1289)
TeamRemoveLiquidity(bool) should be declared external:
- CheemsInu.TeamRemoveLiquidity(bool) (#1419-1448)
TeamDisableSellLock(bool) should be declared external:
- CheemsInu.TeamDisableSellLock(bool) (#1309-1311)
getAddressSellLockTimeInSeconds(address) should be declared external:
- CheemsInu.getAddressSellLockTimeInSeconds(address) (#1229-1236)
TeamSetSellLockTime(uint256) should be declared external:
- CheemsInu.TeamSetSellLockTime(uint256) (#1319-1322)
SetupLiquidityTokenAddress(address) should be declared external:
- CheemsInu.SetupLiquidityTokenAddress(address) (#1389-1391)
getSellLockTimeInSeconds() should be declared external:
- CheemsInu.getSellLockTimeInSeconds() (#1237-1239)
Use the external attribute for functions never called from the contract.
Additional information: link
Average 30d PancakeSwap liquidity is less than $100. Token is either dead or inactive.
Average 30d number of PancakeSwap swaps is less than 1. Token is either dead or inactive.
Contract has 99% buy tax and 99% sell tax.
Taxes are extremely high (over 30%)
Additional information: link
Unable to find audit link on the website
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Token has no active CoinGecko listing / rank
Young tokens have high risks of price dump / death
Twitter account link seems to be invalid
Unable to find Youtube account
Unable to find Discord account