Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in McCheddaCheems._taxedTransfer(address,address,uint256,bool,bool) (#894-963):
External calls:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
External calls sending eth:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
State variables written after the call(s):
- _removeToken(sender,amount) (#951)
- _balances[addr] = newAmount (#1054)
- _balances[addr] = newAmount (#1061)
- _balances[address(this)] += contractToken (#954)
- _addToken(recipient,taxedAmount) (#959)
- _balances[addr] = newAmount (#1033)
- _balances[addr] = newAmount (#1044)
- _circulatingSupply -= tokensToBeBurnt (#956)
- _removeToken(sender,amount) (#951)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1063)
- _addToken(recipient,taxedAmount) (#959)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1040)
- _swapContractToken() (#942)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1095)
- _removeToken(sender,amount) (#951)
- toBePaid[addr] += payment (#1065)
- _addToken(recipient,taxedAmount) (#959)
- toBePaid[addr] += payment (#1042)
Reentrancy in McCheddaCheems.claim(address) (#1102-1136):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
State variables written after the call(s):
- _isWithdrawing = false (#1135)
Apply the check-effects-interactions pattern.
Additional information: link
McCheddaCheems.TeamReleaseLiquidity() (#1412-1422) ignores return value by liquidityToken.transfer(Development,amount) (#1420)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
McCheddaCheems.claim(address) (#1102-1136) uses a dangerous strict equality:
- amount == 0 (#1119)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
McCheddaCheems.constructor() (#819-859) ignores return value by _excluded.add(Development) (#850)
McCheddaCheems.constructor() (#819-859) ignores return value by _excluded.add(Marketing) (#851)
McCheddaCheems.constructor() (#819-859) ignores return value by _excluded.add(msg.sender) (#852)
McCheddaCheems.constructor() (#819-859) ignores return value by _excludedFromStaking.add(address(_pancakeRouter)) (#854)
McCheddaCheems.constructor() (#819-859) ignores return value by _excludedFromStaking.add(_pancakePairAddress) (#855)
McCheddaCheems.constructor() (#819-859) ignores return value by _excludedFromStaking.add(address(this)) (#856)
McCheddaCheems.constructor() (#819-859) ignores return value by _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#857)
McCheddaCheems._addLiquidity(uint256,uint256) (#1199-1210) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
McCheddaCheems.AddWalletExclusion(address) (#1336-1338) ignores return value by _excluded.add(exclusionAdd) (#1337)
McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453) ignores return value by liquidityToken.approve(address(_pancakeRouter),amount) (#1431)
McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453) ignores return value by _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1437-1444)
Ensure that all the return values of the function calls are used.
Additional information: link
McCheddaCheems.allowance(address,address)._owner (#1498) shadows:
- Ownable._owner (#221) (state variable)
McCheddaCheems._approve(address,address,uint256).owner (#1506) shadows:
- Ownable.owner() (#237-239) (function)
Rename the local variables that shadow another component.
Additional information: link
McCheddaCheems.TeamWithdrawXMarketingBNB(uint256) (#1289-1294) should emit an event for:
- marketingBalance -= amount (#1291)
McCheddaCheems.TeamChangeMaxBuy(uint256) (#1301-1303) should emit an event for:
- MaxBuy = newMaxBuy * 10 ** _decimals (#1302)
McCheddaCheems.TeamSetSellLockTime(uint256) (#1324-1327) should emit an event for:
- sellLockTime = sellLockSeconds (#1326)
McCheddaCheems.TeamSetBuyLockTime(uint256) (#1330-1333) should emit an event for:
- buyLockTime = buyLockSeconds (#1332)
McCheddaCheems.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1341-1352) should emit an event for:
- _burnTax = burnTaxes (#1345)
- _liquidityTax = liquidityTaxes (#1346)
- _stakingTax = stakingTaxes (#1347)
- _buyTax = buyTax (#1349)
- _sellTax = sellTax (#1350)
- _transferTax = transferTax (#1351)
McCheddaCheems.TeamChangeMarketingShare(uint8) (#1355-1358) should emit an event for:
- marketingShare = newShare (#1357)
McCheddaCheems.TeamUpdateLimits(uint256,uint256) (#1365-1382) should emit an event for:
- balanceLimit = newBalanceLimit (#1380)
- sellLimit = newSellLimit (#1381)
Emit an event for critical parameter changes.
Additional information: link
McCheddaCheems.TeamChangeDevelopment(address).newDevelopment (#1305) lacks a zero-check on :
- Development = address(newDevelopment) (#1306)
McCheddaCheems.TeamChangeMarketing(address).newMarketing (#1309) lacks a zero-check on :
- Marketing = address(newMarketing) (#1310)
McCheddaCheems.SetupLiquidityTokenAddress(address).liquidityTokenAddress (#1394) lacks a zero-check on :
- _liquidityTokenAddress = liquidityTokenAddress (#1395)
Check that the address is not zero.
Additional information: link
Reentrancy in McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453):
External calls:
- liquidityToken.approve(address(_pancakeRouter),amount) (#1431)
- _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1437-1444)
State variables written after the call(s):
- _distributeStake(newBNBBalance) (#1447)
- marketingBalance += marketingSplit (#1085)
- marketingBalance += amount (#1092)
- marketingBalance += newBNBBalance (#1450)
- _distributeStake(newBNBBalance) (#1447)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1095)
- _distributeStake(newBNBBalance) (#1447)
- totalStakingReward += amount (#1088)
Reentrancy in McCheddaCheems._swapContractToken() (#1152-1182):
External calls:
- _swapTokenForBNB(swapToken) (#1172)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
- _addLiquidity(liqToken,liqBNB) (#1176)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1176)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
State variables written after the call(s):
- _addLiquidity(liqToken,liqBNB) (#1176)
- _allowances[owner][spender] = amount (#1510)
- _distributeStake(distributeBNB) (#1181)
- marketingBalance += marketingSplit (#1085)
- marketingBalance += amount (#1092)
- _distributeStake(distributeBNB) (#1181)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1095)
- _distributeStake(distributeBNB) (#1181)
- totalStakingReward += amount (#1088)
Reentrancy in McCheddaCheems._taxedTransfer(address,address,uint256,bool,bool) (#894-963):
External calls:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
External calls sending eth:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
State variables written after the call(s):
- _swapContractToken() (#942)
- _allowances[owner][spender] = amount (#1510)
Reentrancy in McCheddaCheems.constructor() (#819-859):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#827)
State variables written after the call(s):
- _burnTax = 0 (#845)
- _buyTax = 12 (#841)
- _liquidityTax = 50 (#846)
- _sellTax = 20 (#842)
- _stakingTax = 50 (#847)
- _transferTax = 20 (#843)
- balanceLimit = InitialSupply / BalanceLimitDivider (#830)
- buyLockTime = 0 (#837)
- sellLimit = InitialSupply / SellLimitDivider (#831)
- sellLockTime = 0 (#834)
Reentrancy in McCheddaCheems.transferFrom(address,address,uint256) (#1514-1522):
External calls:
- _transfer(sender,recipient,amount) (#1515)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1515)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
State variables written after the call(s):
- _approve(sender,msg.sender,currentAllowance - amount) (#1520)
- _allowances[owner][spender] = amount (#1510)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in McCheddaCheems._swapContractToken() (#1152-1182):
External calls:
- _swapTokenForBNB(swapToken) (#1172)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
- _addLiquidity(liqToken,liqBNB) (#1176)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1176)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1511)
- _addLiquidity(liqToken,liqBNB) (#1176)
Reentrancy in McCheddaCheems._taxedTransfer(address,address,uint256,bool,bool) (#894-963):
External calls:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
External calls sending eth:
- claim(sender) (#928)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
- _swapContractToken() (#942)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1511)
- _swapContractToken() (#942)
- Transfer(sender,recipient,taxedAmount) (#961)
Reentrancy in McCheddaCheems.claim(address) (#1102-1136):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
Event emitted after the call(s):
- OnWithdrawXRP(amount,addr) (#1134)
Reentrancy in McCheddaCheems.transferFrom(address,address,uint256) (#1514-1522):
External calls:
- _transfer(sender,recipient,amount) (#1515)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1190-1196)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1515)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1202-1209)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1128-1132)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1511)
- _approve(sender,msg.sender,currentAllowance - amount) (#1520)
Apply the check-effects-interactions pattern.
Additional information: link
McCheddaCheems._taxedTransfer(address,address,uint256,bool,bool) (#894-963) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Seller in sellLock) (#903)
- require(bool,string)(_buyLock[recipient] <= block.timestamp || buyLockDisabled,Buyer in buyLock) (#915)
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Sender in Lock) (#934)
McCheddaCheems.getLiquidityReleaseTimeInSeconds() (#1214-1219) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#1215)
McCheddaCheems.getAddressSellLockTimeInSeconds(address) (#1234-1241) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1236)
McCheddaCheems.getAddressBuyLockTimeInSeconds(address) (#1247-1254) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1249)
McCheddaCheems._prolongLiquidityLock(uint256) (#1405-1409) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#1407)
McCheddaCheems.TeamReleaseLiquidity() (#1412-1422) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1414)
McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1426)
McCheddaCheems.TeamRemoveRemainingBNB() (#1455-1460) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1456)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#293-302) uses assembly
- INLINE ASM (#300)
Address._verifyCallResult(bool,bytes,string) (#438-455) uses assembly
- INLINE ASM (#447-450)
Do not use evm assembly.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#438-455) is never used and should be removed
Address.functionCall(address,bytes) (#346-348) is never used and should be removed
Address.functionCall(address,bytes,string) (#356-358) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#371-373) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#381-388) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#420-422) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#430-436) is never used and should be removed
Address.functionStaticCall(address,bytes) (#396-398) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#406-412) is never used and should be removed
Address.isContract(address) (#293-302) is never used and should be removed
Address.sendValue(address,uint256) (#320-326) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (#525-557) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#600-602) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#708-710) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#638-640) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#746-748) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#617-619) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#725-727) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#624-626) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#732-734) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (#664-666) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#610-612) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#718-720) is never used and should be removed
McCheddaCheems._isTeam(address) (#813-815) is never used and should be removed
Remove unused functions.
Additional information: link
McCheddaCheems.balanceLimit (#794) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
McCheddaCheems.sellLimit (#795) 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
Low level call in Address.sendValue(address,uint256) (#320-326):
- (success) = recipient.call{value: amount}() (#324)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#381-388):
- (success,returndata) = target.call{value: value}(data) (#386)
Low level call in Address.functionStaticCall(address,bytes,string) (#406-412):
- (success,returndata) = target.staticcall(data) (#410)
Low level call in Address.functionDelegateCall(address,bytes,string) (#430-436):
- (success,returndata) = target.delegatecall(data) (#434)
Low level call in McCheddaCheems.TeamRemoveRemainingBNB() (#1455-1460):
- (sent) = Development.call{value: (address(this).balance)}() (#1458)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IPancakeERC20.DOMAIN_SEPARATOR() (#54) is not in mixedCase
Function IPancakeERC20.PERMIT_TYPEHASH() (#55) is not in mixedCase
Function IPancakeRouter01.WETH() (#158) is not in mixedCase
Function McCheddaCheems._getTotalShares() (#1017-1025) is not in mixedCase
Parameter McCheddaCheems.getAddressSellLockTimeInSeconds(address).AddressToCheck (#1234) is not in mixedCase
Parameter McCheddaCheems.getAddressBuyLockTimeInSeconds(address).AddressToCheck (#1247) is not in mixedCase
Function McCheddaCheems.AddressResetSellLock() (#1261-1263) is not in mixedCase
Function McCheddaCheems.AddressResetBuyLock() (#1266-1269) is not in mixedCase
Function McCheddaCheems.TeamWithdrawALLMarketingBNB() (#1283-1288) is not in mixedCase
Function McCheddaCheems.TeamWithdrawXMarketingBNB(uint256) (#1289-1294) is not in mixedCase
Function McCheddaCheems.TeamSwitchManualBNBConversion(bool) (#1297-1299) is not in mixedCase
Function McCheddaCheems.TeamChangeMaxBuy(uint256) (#1301-1303) is not in mixedCase
Function McCheddaCheems.TeamChangeDevelopment(address) (#1305-1307) is not in mixedCase
Function McCheddaCheems.TeamChangeMarketing(address) (#1309-1311) is not in mixedCase
Function McCheddaCheems.TeamDisableSellLock(bool) (#1314-1316) is not in mixedCase
Function McCheddaCheems.TeamDisableBuyLock(bool) (#1319-1321) is not in mixedCase
Function McCheddaCheems.TeamSetSellLockTime(uint256) (#1324-1327) is not in mixedCase
Function McCheddaCheems.TeamSetBuyLockTime(uint256) (#1330-1333) is not in mixedCase
Function McCheddaCheems.AddWalletExclusion(address) (#1336-1338) is not in mixedCase
Function McCheddaCheems.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1341-1352) is not in mixedCase
Function McCheddaCheems.TeamChangeMarketingShare(uint8) (#1355-1358) is not in mixedCase
Function McCheddaCheems.TeamCreateLPandBNB() (#1360-1362) is not in mixedCase
Function McCheddaCheems.TeamUpdateLimits(uint256,uint256) (#1365-1382) is not in mixedCase
Function McCheddaCheems.SetupEnableTrading() (#1390-1392) is not in mixedCase
Function McCheddaCheems.SetupLiquidityTokenAddress(address) (#1394-1396) is not in mixedCase
Function McCheddaCheems.TeamUnlockLiquidityInSeconds(uint256) (#1402-1404) is not in mixedCase
Function McCheddaCheems.TeamReleaseLiquidity() (#1412-1422) is not in mixedCase
Function McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453) is not in mixedCase
Function McCheddaCheems.TeamRemoveRemainingBNB() (#1455-1460) is not in mixedCase
Parameter McCheddaCheems.allowance(address,address)._owner (#1498) is not in mixedCase
Constant McCheddaCheems._name (#768) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems._symbol (#769) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems._decimals (#770) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.InitialSupply (#771) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.BalanceLimitDivider (#774) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.SellLimitDivider (#776) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.MaxSellLockTime (#778) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.MaxBuyLockTime (#780) is not in UPPER_CASE_WITH_UNDERSCORES
Constant McCheddaCheems.DefaultLiquidityLockTime (#782) is not in UPPER_CASE_WITH_UNDERSCORES
Variable McCheddaCheems.Development (#784) is not in mixedCase
Variable McCheddaCheems.Marketing (#785) is not in mixedCase
Constant McCheddaCheems.PancakeRouter (#789) is not in UPPER_CASE_WITH_UNDERSCORES
Variable McCheddaCheems.MaxBuy (#796) is not in mixedCase
Constant McCheddaCheems.DistributionMultiplier (#991) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Variable IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#77) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#78)
Prevent variables from having similar names.
Additional information: link
McCheddaCheems.constructor() (#819-859) uses literals with too many digits:
- _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#857)
McCheddaCheems.slitherConstructorConstantVariables() (#753-1540) uses literals with too many digits:
- InitialSupply = 1000000 * 10 ** _decimals (#771)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#256-259)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#265-269)
getLiquidityReleaseTimeInSeconds() should be declared external:
- McCheddaCheems.getLiquidityReleaseTimeInSeconds() (#1214-1219)
getBurnedTokens() should be declared external:
- McCheddaCheems.getBurnedTokens() (#1221-1223)
getLimits() should be declared external:
- McCheddaCheems.getLimits() (#1225-1227)
getTaxes() should be declared external:
- McCheddaCheems.getTaxes() (#1229-1231)
getAddressSellLockTimeInSeconds(address) should be declared external:
- McCheddaCheems.getAddressSellLockTimeInSeconds(address) (#1234-1241)
getSellLockTimeInSeconds() should be declared external:
- McCheddaCheems.getSellLockTimeInSeconds() (#1242-1244)
getAddressBuyLockTimeInSeconds(address) should be declared external:
- McCheddaCheems.getAddressBuyLockTimeInSeconds(address) (#1247-1254)
getBuyLockTimeInSeconds() should be declared external:
- McCheddaCheems.getBuyLockTimeInSeconds() (#1255-1257)
AddressResetSellLock() should be declared external:
- McCheddaCheems.AddressResetSellLock() (#1261-1263)
AddressResetBuyLock() should be declared external:
- McCheddaCheems.AddressResetBuyLock() (#1266-1269)
getDividents(address) should be declared external:
- McCheddaCheems.getDividents(address) (#1270-1273)
TeamWithdrawALLMarketingBNB() should be declared external:
- McCheddaCheems.TeamWithdrawALLMarketingBNB() (#1283-1288)
TeamWithdrawXMarketingBNB(uint256) should be declared external:
- McCheddaCheems.TeamWithdrawXMarketingBNB(uint256) (#1289-1294)
TeamSwitchManualBNBConversion(bool) should be declared external:
- McCheddaCheems.TeamSwitchManualBNBConversion(bool) (#1297-1299)
TeamChangeMaxBuy(uint256) should be declared external:
- McCheddaCheems.TeamChangeMaxBuy(uint256) (#1301-1303)
TeamChangeDevelopment(address) should be declared external:
- McCheddaCheems.TeamChangeDevelopment(address) (#1305-1307)
TeamChangeMarketing(address) should be declared external:
- McCheddaCheems.TeamChangeMarketing(address) (#1309-1311)
TeamDisableSellLock(bool) should be declared external:
- McCheddaCheems.TeamDisableSellLock(bool) (#1314-1316)
TeamDisableBuyLock(bool) should be declared external:
- McCheddaCheems.TeamDisableBuyLock(bool) (#1319-1321)
TeamSetSellLockTime(uint256) should be declared external:
- McCheddaCheems.TeamSetSellLockTime(uint256) (#1324-1327)
TeamSetBuyLockTime(uint256) should be declared external:
- McCheddaCheems.TeamSetBuyLockTime(uint256) (#1330-1333)
AddWalletExclusion(address) should be declared external:
- McCheddaCheems.AddWalletExclusion(address) (#1336-1338)
TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) should be declared external:
- McCheddaCheems.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1341-1352)
TeamChangeMarketingShare(uint8) should be declared external:
- McCheddaCheems.TeamChangeMarketingShare(uint8) (#1355-1358)
TeamCreateLPandBNB() should be declared external:
- McCheddaCheems.TeamCreateLPandBNB() (#1360-1362)
SetupEnableTrading() should be declared external:
- McCheddaCheems.SetupEnableTrading() (#1390-1392)
SetupLiquidityTokenAddress(address) should be declared external:
- McCheddaCheems.SetupLiquidityTokenAddress(address) (#1394-1396)
TeamUnlockLiquidityInSeconds(uint256) should be declared external:
- McCheddaCheems.TeamUnlockLiquidityInSeconds(uint256) (#1402-1404)
TeamReleaseLiquidity() should be declared external:
- McCheddaCheems.TeamReleaseLiquidity() (#1412-1422)
TeamRemoveLiquidity(bool) should be declared external:
- McCheddaCheems.TeamRemoveLiquidity(bool) (#1424-1453)
TeamRemoveRemainingBNB() should be declared external:
- McCheddaCheems.TeamRemoveRemainingBNB() (#1455-1460)
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