Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in NOMOCAT._taxedTransfer(address,address,uint256,bool,bool) (#901-970):
External calls:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
External calls sending eth:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
State variables written after the call(s):
- _removeToken(sender,amount) (#958)
- _balances[addr] = newAmount (#1063)
- _balances[addr] = newAmount (#1070)
- _balances[address(this)] += contractToken (#961)
- _addToken(recipient,taxedAmount) (#966)
- _balances[addr] = newAmount (#1042)
- _balances[addr] = newAmount (#1053)
- _circulatingSupply -= tokensToBeBurnt (#963)
- _removeToken(sender,amount) (#958)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1072)
- _addToken(recipient,taxedAmount) (#966)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1049)
- _swapContractToken() (#949)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1104)
- _removeToken(sender,amount) (#958)
- toBePaid[addr] += payment (#1074)
- _addToken(recipient,taxedAmount) (#966)
- toBePaid[addr] += payment (#1051)
Reentrancy in NOMOCAT.claimBTC(address) (#1111-1145):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
State variables written after the call(s):
- _isWithdrawing = false (#1144)
Apply the check-effects-interactions pattern.
Additional information: link
NOMOCAT.TeamReleaseLiquidity() (#1425-1435) ignores return value by liquidityToken.transfer(TeamWallet,amount) (#1433)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
NOMOCAT.claimBTC(address) (#1111-1145) uses a dangerous strict equality:
- amount == 0 (#1128)
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.
Contract ticker ($NOMOC) 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.
NOMOCAT.constructor() (#826-866) ignores return value by _excluded.add(TeamWallet) (#857)
NOMOCAT.constructor() (#826-866) ignores return value by _excluded.add(walletTwo) (#858)
NOMOCAT.constructor() (#826-866) ignores return value by _excluded.add(msg.sender) (#859)
NOMOCAT.constructor() (#826-866) ignores return value by _excludedFromStaking.add(address(_pancakeRouter)) (#861)
NOMOCAT.constructor() (#826-866) ignores return value by _excludedFromStaking.add(_pancakePairAddress) (#862)
NOMOCAT.constructor() (#826-866) ignores return value by _excludedFromStaking.add(address(this)) (#863)
NOMOCAT.constructor() (#826-866) ignores return value by _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#864)
NOMOCAT._addLiquidity(uint256,uint256) (#1208-1219) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
NOMOCAT.AddWalletExclusion(address) (#1349-1351) ignores return value by _excluded.add(exclusionAdd) (#1350)
NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466) ignores return value by liquidityToken.approve(address(_pancakeRouter),amount) (#1444)
NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466) ignores return value by _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1450-1457)
Ensure that all the return values of the function calls are used.
Additional information: link
NOMOCAT.allowance(address,address)._owner (#1511) shadows:
- Ownable._owner (#228) (state variable)
NOMOCAT._approve(address,address,uint256).owner (#1519) shadows:
- Ownable.owner() (#244-246) (function)
Rename the local variables that shadow another component.
Additional information: link
NOMOCAT.TeamWithdrawXMarketingBNB(uint256) (#1302-1307) should emit an event for:
- marketingBalance -= amount (#1304)
NOMOCAT.TeamChangeAntiWhale(uint256) (#1314-1316) should emit an event for:
- antiWhale = newAntiWhale * 10 ** _decimals (#1315)
NOMOCAT.TeamSetSellLockTime(uint256) (#1337-1340) should emit an event for:
- sellLockTime = sellLockSeconds (#1339)
NOMOCAT.TeamSetBuyLockTime(uint256) (#1343-1346) should emit an event for:
- buyLockTime = buyLockSeconds (#1345)
NOMOCAT.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1354-1365) should emit an event for:
- _burnTax = burnTaxes (#1358)
- _liquidityTax = liquidityTaxes (#1359)
- _stakingTax = stakingTaxes (#1360)
- _buyTax = buyTax (#1362)
- _sellTax = sellTax (#1363)
- _transferTax = transferTax (#1364)
NOMOCAT.TeamChangeMarketingShare(uint8) (#1368-1371) should emit an event for:
- marketingShare = newShare (#1370)
NOMOCAT.TeamUpdateLimits(uint256,uint256) (#1378-1395) should emit an event for:
- balanceLimit = newBalanceLimit (#1393)
- sellLimit = newSellLimit (#1394)
Emit an event for critical parameter changes.
Additional information: link
NOMOCAT.TeamChangeTeamWallet(address).newTeamWallet (#1318) lacks a zero-check on :
- TeamWallet = address(newTeamWallet) (#1319)
NOMOCAT.TeamChangeWalletTwo(address).newWalletTwo (#1322) lacks a zero-check on :
- walletTwo = address(newWalletTwo) (#1323)
NOMOCAT.SetupLiquidityTokenAddress(address).liquidityTokenAddress (#1407) lacks a zero-check on :
- _liquidityTokenAddress = liquidityTokenAddress (#1408)
Check that the address is not zero.
Additional information: link
Reentrancy in NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466):
External calls:
- liquidityToken.approve(address(_pancakeRouter),amount) (#1444)
- _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1450-1457)
State variables written after the call(s):
- _distributeStake(newBNBBalance) (#1460)
- marketingBalance += marketingSplit (#1094)
- marketingBalance += amount (#1101)
- marketingBalance += newBNBBalance (#1463)
- _distributeStake(newBNBBalance) (#1460)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1104)
- _distributeStake(newBNBBalance) (#1460)
- totalStakingReward += amount (#1097)
Reentrancy in NOMOCAT._swapContractToken() (#1161-1191):
External calls:
- _swapTokenForBNB(swapToken) (#1181)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
- _addLiquidity(liqToken,liqBNB) (#1185)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1185)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
State variables written after the call(s):
- _addLiquidity(liqToken,liqBNB) (#1185)
- _allowances[owner][spender] = amount (#1523)
- _distributeStake(distributeBNB) (#1190)
- marketingBalance += marketingSplit (#1094)
- marketingBalance += amount (#1101)
- _distributeStake(distributeBNB) (#1190)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1104)
- _distributeStake(distributeBNB) (#1190)
- totalStakingReward += amount (#1097)
Reentrancy in NOMOCAT._taxedTransfer(address,address,uint256,bool,bool) (#901-970):
External calls:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
External calls sending eth:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
State variables written after the call(s):
- _swapContractToken() (#949)
- _allowances[owner][spender] = amount (#1523)
Reentrancy in NOMOCAT.constructor() (#826-866):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#834)
State variables written after the call(s):
- _burnTax = 0 (#852)
- _buyTax = 15 (#848)
- _liquidityTax = 20 (#853)
- _sellTax = 15 (#849)
- _stakingTax = 80 (#854)
- _transferTax = 15 (#850)
- balanceLimit = InitialSupply / BalanceLimitDivider (#837)
- buyLockTime = 10 (#844)
- sellLimit = InitialSupply / SellLimitDivider (#838)
- sellLockTime = 10 (#841)
Reentrancy in NOMOCAT.transferFrom(address,address,uint256) (#1527-1535):
External calls:
- _transfer(sender,recipient,amount) (#1528)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1528)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
State variables written after the call(s):
- _approve(sender,msg.sender,currentAllowance - amount) (#1533)
- _allowances[owner][spender] = amount (#1523)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in NOMOCAT._swapContractToken() (#1161-1191):
External calls:
- _swapTokenForBNB(swapToken) (#1181)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
- _addLiquidity(liqToken,liqBNB) (#1185)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1185)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1524)
- _addLiquidity(liqToken,liqBNB) (#1185)
Reentrancy in NOMOCAT._taxedTransfer(address,address,uint256,bool,bool) (#901-970):
External calls:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
External calls sending eth:
- claimBTC(sender) (#935)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
- _swapContractToken() (#949)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1524)
- _swapContractToken() (#949)
- Transfer(sender,recipient,taxedAmount) (#968)
Reentrancy in NOMOCAT.claimBTC(address) (#1111-1145):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
Event emitted after the call(s):
- OnWithdrawBTC(amount,addr) (#1143)
Reentrancy in NOMOCAT.transferFrom(address,address,uint256) (#1527-1535):
External calls:
- _transfer(sender,recipient,amount) (#1528)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1199-1205)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1528)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1211-1218)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1137-1141)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1524)
- _approve(sender,msg.sender,currentAllowance - amount) (#1533)
Apply the check-effects-interactions pattern.
Additional information: link
NOMOCAT._taxedTransfer(address,address,uint256,bool,bool) (#901-970) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Seller in sellLock) (#910)
- require(bool,string)(_buyLock[recipient] <= block.timestamp || buyLockDisabled,Buyer in buyLock) (#922)
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Sender in Lock) (#941)
NOMOCAT.getLiquidityReleaseTimeInSeconds() (#1223-1228) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#1224)
NOMOCAT.getAddressSellLockTimeInSeconds(address) (#1243-1250) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1245)
NOMOCAT.getAddressBuyLockTimeInSeconds(address) (#1256-1263) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1258)
NOMOCAT._prolongLiquidityLock(uint256) (#1418-1422) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#1420)
NOMOCAT.TeamReleaseLiquidity() (#1425-1435) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1427)
NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1439)
NOMOCAT.TeamRemoveRemainingBNB() (#1468-1473) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1469)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#300-309) uses assembly
- INLINE ASM (#307)
Address._verifyCallResult(bool,bytes,string) (#445-462) uses assembly
- INLINE ASM (#454-457)
Do not use evm assembly.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#445-462) is never used and should be removed
Address.functionCall(address,bytes) (#353-355) is never used and should be removed
Address.functionCall(address,bytes,string) (#363-365) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#378-380) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#388-395) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#427-429) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#437-443) is never used and should be removed
Address.functionStaticCall(address,bytes) (#403-405) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#413-419) is never used and should be removed
Address.isContract(address) (#300-309) is never used and should be removed
Address.sendValue(address,uint256) (#327-333) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (#532-564) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#607-609) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#715-717) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#645-647) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#753-755) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#624-626) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#732-734) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#631-633) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#739-741) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (#671-673) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#617-619) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#725-727) is never used and should be removed
NOMOCAT._isTeam(address) (#820-822) is never used and should be removed
Remove unused functions.
Additional information: link
NOMOCAT.balanceLimit (#801) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
NOMOCAT.sellLimit (#802) 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) (#327-333):
- (success) = recipient.call{value: amount}() (#331)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#388-395):
- (success,returndata) = target.call{value: value}(data) (#393)
Low level call in Address.functionStaticCall(address,bytes,string) (#413-419):
- (success,returndata) = target.staticcall(data) (#417)
Low level call in Address.functionDelegateCall(address,bytes,string) (#437-443):
- (success,returndata) = target.delegatecall(data) (#441)
Low level call in NOMOCAT.TeamRemoveRemainingBNB() (#1468-1473):
- (sent) = TeamWallet.call{value: (address(this).balance)}() (#1471)
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() (#61) is not in mixedCase
Function IPancakeERC20.PERMIT_TYPEHASH() (#62) is not in mixedCase
Function IPancakeRouter01.WETH() (#165) is not in mixedCase
Function NOMOCAT._getTotalShares() (#1026-1034) is not in mixedCase
Parameter NOMOCAT.getAddressSellLockTimeInSeconds(address).AddressToCheck (#1243) is not in mixedCase
Parameter NOMOCAT.getAddressBuyLockTimeInSeconds(address).AddressToCheck (#1256) is not in mixedCase
Function NOMOCAT.AddressResetSellLock() (#1270-1272) is not in mixedCase
Function NOMOCAT.AddressResetBuyLock() (#1275-1277) is not in mixedCase
Function NOMOCAT.BTCWithdraw() (#1280-1282) is not in mixedCase
Function NOMOCAT.TeamWithdrawALLMarketingBNB() (#1296-1301) is not in mixedCase
Function NOMOCAT.TeamWithdrawXMarketingBNB(uint256) (#1302-1307) is not in mixedCase
Function NOMOCAT.TeamSwitchManualBNBConversion(bool) (#1310-1312) is not in mixedCase
Function NOMOCAT.TeamChangeAntiWhale(uint256) (#1314-1316) is not in mixedCase
Function NOMOCAT.TeamChangeTeamWallet(address) (#1318-1320) is not in mixedCase
Function NOMOCAT.TeamChangeWalletTwo(address) (#1322-1324) is not in mixedCase
Function NOMOCAT.TeamDisableSellLock(bool) (#1327-1329) is not in mixedCase
Function NOMOCAT.TeamDisableBuyLock(bool) (#1332-1334) is not in mixedCase
Function NOMOCAT.TeamSetSellLockTime(uint256) (#1337-1340) is not in mixedCase
Function NOMOCAT.TeamSetBuyLockTime(uint256) (#1343-1346) is not in mixedCase
Function NOMOCAT.AddWalletExclusion(address) (#1349-1351) is not in mixedCase
Function NOMOCAT.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1354-1365) is not in mixedCase
Function NOMOCAT.TeamChangeMarketingShare(uint8) (#1368-1371) is not in mixedCase
Function NOMOCAT.TeamCreateLPandBNB() (#1373-1375) is not in mixedCase
Function NOMOCAT.TeamUpdateLimits(uint256,uint256) (#1378-1395) is not in mixedCase
Function NOMOCAT.SetupEnableTrading() (#1403-1405) is not in mixedCase
Function NOMOCAT.SetupLiquidityTokenAddress(address) (#1407-1409) is not in mixedCase
Function NOMOCAT.TeamUnlockLiquidityInSeconds(uint256) (#1415-1417) is not in mixedCase
Function NOMOCAT.TeamReleaseLiquidity() (#1425-1435) is not in mixedCase
Function NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466) is not in mixedCase
Function NOMOCAT.TeamRemoveRemainingBNB() (#1468-1473) is not in mixedCase
Parameter NOMOCAT.allowance(address,address)._owner (#1511) is not in mixedCase
Constant NOMOCAT._name (#775) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT._symbol (#776) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT._decimals (#777) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.InitialSupply (#778) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.BalanceLimitDivider (#781) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.SellLimitDivider (#783) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.MaxSellLockTime (#785) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.MaxBuyLockTime (#787) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.DefaultLiquidityLockTime (#789) is not in UPPER_CASE_WITH_UNDERSCORES
Variable NOMOCAT.TeamWallet (#791) is not in mixedCase
Constant NOMOCAT.PancakeRouter (#796) is not in UPPER_CASE_WITH_UNDERSCORES
Constant NOMOCAT.DistributionMultiplier (#998) 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 (#84) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#85)
Prevent variables from having similar names.
Additional information: link
NOMOCAT.constructor() (#826-866) uses literals with too many digits:
- _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#864)
NOMOCAT.slitherConstructorVariables() (#760-1553) uses literals with too many digits:
- antiWhale = 2000000 * 10 ** _decimals (#803)
NOMOCAT.slitherConstructorConstantVariables() (#760-1553) uses literals with too many digits:
- InitialSupply = 400000000 * 10 ** _decimals (#778)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#263-266)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#272-276)
getLiquidityReleaseTimeInSeconds() should be declared external:
- NOMOCAT.getLiquidityReleaseTimeInSeconds() (#1223-1228)
getBurnedTokens() should be declared external:
- NOMOCAT.getBurnedTokens() (#1230-1232)
getLimits() should be declared external:
- NOMOCAT.getLimits() (#1234-1236)
getTaxes() should be declared external:
- NOMOCAT.getTaxes() (#1238-1240)
getAddressSellLockTimeInSeconds(address) should be declared external:
- NOMOCAT.getAddressSellLockTimeInSeconds(address) (#1243-1250)
getSellLockTimeInSeconds() should be declared external:
- NOMOCAT.getSellLockTimeInSeconds() (#1251-1253)
getAddressBuyLockTimeInSeconds(address) should be declared external:
- NOMOCAT.getAddressBuyLockTimeInSeconds(address) (#1256-1263)
getBuyLockTimeInSeconds() should be declared external:
- NOMOCAT.getBuyLockTimeInSeconds() (#1264-1266)
AddressResetSellLock() should be declared external:
- NOMOCAT.AddressResetSellLock() (#1270-1272)
AddressResetBuyLock() should be declared external:
- NOMOCAT.AddressResetBuyLock() (#1275-1277)
BTCWithdraw() should be declared external:
- NOMOCAT.BTCWithdraw() (#1280-1282)
getDividents(address) should be declared external:
- NOMOCAT.getDividents(address) (#1283-1286)
TeamWithdrawALLMarketingBNB() should be declared external:
- NOMOCAT.TeamWithdrawALLMarketingBNB() (#1296-1301)
TeamWithdrawXMarketingBNB(uint256) should be declared external:
- NOMOCAT.TeamWithdrawXMarketingBNB(uint256) (#1302-1307)
TeamSwitchManualBNBConversion(bool) should be declared external:
- NOMOCAT.TeamSwitchManualBNBConversion(bool) (#1310-1312)
TeamChangeAntiWhale(uint256) should be declared external:
- NOMOCAT.TeamChangeAntiWhale(uint256) (#1314-1316)
TeamChangeTeamWallet(address) should be declared external:
- NOMOCAT.TeamChangeTeamWallet(address) (#1318-1320)
TeamChangeWalletTwo(address) should be declared external:
- NOMOCAT.TeamChangeWalletTwo(address) (#1322-1324)
TeamDisableSellLock(bool) should be declared external:
- NOMOCAT.TeamDisableSellLock(bool) (#1327-1329)
TeamDisableBuyLock(bool) should be declared external:
- NOMOCAT.TeamDisableBuyLock(bool) (#1332-1334)
TeamSetSellLockTime(uint256) should be declared external:
- NOMOCAT.TeamSetSellLockTime(uint256) (#1337-1340)
TeamSetBuyLockTime(uint256) should be declared external:
- NOMOCAT.TeamSetBuyLockTime(uint256) (#1343-1346)
AddWalletExclusion(address) should be declared external:
- NOMOCAT.AddWalletExclusion(address) (#1349-1351)
TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) should be declared external:
- NOMOCAT.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1354-1365)
TeamChangeMarketingShare(uint8) should be declared external:
- NOMOCAT.TeamChangeMarketingShare(uint8) (#1368-1371)
TeamCreateLPandBNB() should be declared external:
- NOMOCAT.TeamCreateLPandBNB() (#1373-1375)
SetupEnableTrading() should be declared external:
- NOMOCAT.SetupEnableTrading() (#1403-1405)
SetupLiquidityTokenAddress(address) should be declared external:
- NOMOCAT.SetupLiquidityTokenAddress(address) (#1407-1409)
TeamUnlockLiquidityInSeconds(uint256) should be declared external:
- NOMOCAT.TeamUnlockLiquidityInSeconds(uint256) (#1415-1417)
TeamReleaseLiquidity() should be declared external:
- NOMOCAT.TeamReleaseLiquidity() (#1425-1435)
TeamRemoveLiquidity(bool) should be declared external:
- NOMOCAT.TeamRemoveLiquidity(bool) (#1437-1466)
TeamRemoveRemainingBNB() should be declared external:
- NOMOCAT.TeamRemoveRemainingBNB() (#1468-1473)
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