Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in MafiaCatz._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)
Reentrancy in MafiaCatz.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)
Apply the check-effects-interactions pattern.
Additional information: link
MafiaCatz.TeamReleaseLiquidity() (#1407-1417) ignores return value by liquidityToken.transfer(Development,amount) (#1415)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
MafiaCatz.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
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 ($MCATZ) 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.
MafiaCatz.constructor() (#814-854) ignores return value by _excluded.add(Development) (#845)
MafiaCatz.constructor() (#814-854) ignores return value by _excluded.add(Marketing) (#846)
MafiaCatz.constructor() (#814-854) ignores return value by _excluded.add(msg.sender) (#847)
MafiaCatz.constructor() (#814-854) ignores return value by _excludedFromStaking.add(address(_pancakeRouter)) (#849)
MafiaCatz.constructor() (#814-854) ignores return value by _excludedFromStaking.add(_pancakePairAddress) (#850)
MafiaCatz.constructor() (#814-854) ignores return value by _excludedFromStaking.add(address(this)) (#851)
MafiaCatz.constructor() (#814-854) ignores return value by _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#852)
MafiaCatz._addLiquidity(uint256,uint256) (#1194-1205) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1197-1204)
MafiaCatz.AddWalletExclusion(address) (#1331-1333) ignores return value by _excluded.add(exclusionAdd) (#1332)
MafiaCatz.TeamRemoveLiquidity(bool) (#1419-1448) ignores return value by liquidityToken.approve(address(_pancakeRouter),amount) (#1426)
MafiaCatz.TeamRemoveLiquidity(bool) (#1419-1448) ignores return value by _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1432-1439)
Ensure that all the return values of the function calls are used.
Additional information: link
MafiaCatz.allowance(address,address)._owner (#1493) shadows:
- Ownable._owner (#216) (state variable)
MafiaCatz._approve(address,address,uint256).owner (#1501) shadows:
- Ownable.owner() (#232-234) (function)
Rename the local variables that shadow another component.
Additional information: link
MafiaCatz.TeamWithdrawXMarketingBNB(uint256) (#1284-1289) should emit an event for:
- marketingBalance -= amount (#1286)
MafiaCatz.TeamChangeMaxBuy(uint256) (#1296-1298) should emit an event for:
- MaxBuy = newMaxBuy * 10 ** _decimals (#1297)
MafiaCatz.TeamSetSellLockTime(uint256) (#1319-1322) should emit an event for:
- sellLockTime = sellLockSeconds (#1321)
MafiaCatz.TeamSetBuyLockTime(uint256) (#1325-1328) should emit an event for:
- buyLockTime = buyLockSeconds (#1327)
MafiaCatz.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)
MafiaCatz.TeamChangeMarketingShare(uint8) (#1350-1353) should emit an event for:
- marketingShare = newShare (#1352)
MafiaCatz.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
MafiaCatz.TeamChangeDevelopment(address).newDevelopment (#1300) lacks a zero-check on :
- Development = address(newDevelopment) (#1301)
MafiaCatz.TeamChangeMarketing(address).newMarketing (#1304) lacks a zero-check on :
- Marketing = address(newMarketing) (#1305)
MafiaCatz.SetupLiquidityTokenAddress(address).liquidityTokenAddress (#1389) lacks a zero-check on :
- _liquidityTokenAddress = liquidityTokenAddress (#1390)
Check that the address is not zero.
Additional information: link
Reentrancy in MafiaCatz.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 MafiaCatz._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 MafiaCatz._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)
Reentrancy in MafiaCatz.constructor() (#814-854):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#822)
State variables written after the call(s):
- _burnTax = 0 (#840)
- _buyTax = 9 (#836)
- _liquidityTax = 30 (#841)
- _sellTax = 50 (#837)
- _stakingTax = 70 (#842)
- _transferTax = 50 (#838)
- balanceLimit = InitialSupply / BalanceLimitDivider (#825)
- buyLockTime = 0 (#832)
- sellLimit = InitialSupply / SellLimitDivider (#826)
- sellLockTime = 0 (#829)
Reentrancy in MafiaCatz.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)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in MafiaCatz._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 MafiaCatz._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 MafiaCatz.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 MafiaCatz.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
MafiaCatz._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)
MafiaCatz.getLiquidityReleaseTimeInSeconds() (#1209-1214) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#1210)
MafiaCatz.getAddressSellLockTimeInSeconds(address) (#1229-1236) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1231)
MafiaCatz.getAddressBuyLockTimeInSeconds(address) (#1242-1249) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1244)
MafiaCatz._prolongLiquidityLock(uint256) (#1400-1404) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#1402)
MafiaCatz.TeamReleaseLiquidity() (#1407-1417) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1409)
MafiaCatz.TeamRemoveLiquidity(bool) (#1419-1448) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1421)
MafiaCatz.TeamRemoveRemainingBNB() (#1450-1455) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1451)
Avoid relying on block.timestamp.
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
Address._verifyCallResult(bool,bytes,string) (#433-450) is never used and should be removed
Address.functionCall(address,bytes) (#341-343) is never used and should be removed
Address.functionCall(address,bytes,string) (#351-353) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#366-368) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#376-383) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#415-417) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#425-431) is never used and should be removed
Address.functionStaticCall(address,bytes) (#391-393) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#401-407) is never used and should be removed
Address.isContract(address) (#288-297) is never used and should be removed
Address.sendValue(address,uint256) (#315-321) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (#520-552) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#595-597) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#703-705) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#633-635) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#741-743) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#612-614) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#720-722) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#619-621) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#727-729) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (#659-661) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#605-607) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#713-715) is never used and should be removed
MafiaCatz._isTeam(address) (#808-810) is never used and should be removed
Remove unused functions.
Additional information: link
MafiaCatz.balanceLimit (#789) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
MafiaCatz.sellLimit (#790) 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) (#315-321):
- (success) = recipient.call{value: amount}() (#319)
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.functionDelegateCall(address,bytes,string) (#425-431):
- (success,returndata) = target.delegatecall(data) (#429)
Low level call in MafiaCatz.TeamRemoveRemainingBNB() (#1450-1455):
- (sent) = Development.call{value: (address(this).balance)}() (#1453)
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() (#49) is not in mixedCase
Function IPancakeERC20.PERMIT_TYPEHASH() (#50) is not in mixedCase
Function IPancakeRouter01.WETH() (#153) is not in mixedCase
Function MafiaCatz._getTotalShares() (#1012-1020) is not in mixedCase
Parameter MafiaCatz.getAddressSellLockTimeInSeconds(address).AddressToCheck (#1229) is not in mixedCase
Parameter MafiaCatz.getAddressBuyLockTimeInSeconds(address).AddressToCheck (#1242) is not in mixedCase
Function MafiaCatz.AddressResetSellLock() (#1256-1258) is not in mixedCase
Function MafiaCatz.AddressResetBuyLock() (#1261-1264) is not in mixedCase
Function MafiaCatz.TeamWithdrawALLMarketingBNB() (#1278-1283) is not in mixedCase
Function MafiaCatz.TeamWithdrawXMarketingBNB(uint256) (#1284-1289) is not in mixedCase
Function MafiaCatz.TeamSwitchManualBNBConversion(bool) (#1292-1294) is not in mixedCase
Function MafiaCatz.TeamChangeMaxBuy(uint256) (#1296-1298) is not in mixedCase
Function MafiaCatz.TeamChangeDevelopment(address) (#1300-1302) is not in mixedCase
Function MafiaCatz.TeamChangeMarketing(address) (#1304-1306) is not in mixedCase
Function MafiaCatz.TeamDisableSellLock(bool) (#1309-1311) is not in mixedCase
Function MafiaCatz.TeamDisableBuyLock(bool) (#1314-1316) is not in mixedCase
Function MafiaCatz.TeamSetSellLockTime(uint256) (#1319-1322) is not in mixedCase
Function MafiaCatz.TeamSetBuyLockTime(uint256) (#1325-1328) is not in mixedCase
Function MafiaCatz.AddWalletExclusion(address) (#1331-1333) is not in mixedCase
Function MafiaCatz.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1336-1347) is not in mixedCase
Function MafiaCatz.TeamChangeMarketingShare(uint8) (#1350-1353) is not in mixedCase
Function MafiaCatz.TeamCreateLPandBNB() (#1355-1357) is not in mixedCase
Function MafiaCatz.TeamUpdateLimits(uint256,uint256) (#1360-1377) is not in mixedCase
Function MafiaCatz.SetupEnableTrading() (#1385-1387) is not in mixedCase
Function MafiaCatz.SetupLiquidityTokenAddress(address) (#1389-1391) is not in mixedCase
Function MafiaCatz.TeamUnlockLiquidityInSeconds(uint256) (#1397-1399) is not in mixedCase
Function MafiaCatz.TeamReleaseLiquidity() (#1407-1417) is not in mixedCase
Function MafiaCatz.TeamRemoveLiquidity(bool) (#1419-1448) is not in mixedCase
Function MafiaCatz.TeamRemoveRemainingBNB() (#1450-1455) is not in mixedCase
Parameter MafiaCatz.allowance(address,address)._owner (#1493) is not in mixedCase
Constant MafiaCatz._name (#763) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz._symbol (#764) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz._decimals (#765) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.InitialSupply (#766) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.BalanceLimitDivider (#769) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.SellLimitDivider (#771) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.MaxSellLockTime (#773) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.MaxBuyLockTime (#775) is not in UPPER_CASE_WITH_UNDERSCORES
Constant MafiaCatz.DefaultLiquidityLockTime (#777) is not in UPPER_CASE_WITH_UNDERSCORES
Variable MafiaCatz.Development (#779) is not in mixedCase
Variable MafiaCatz.Marketing (#780) is not in mixedCase
Constant MafiaCatz.PancakeRouter (#784) is not in UPPER_CASE_WITH_UNDERSCORES
Variable MafiaCatz.MaxBuy (#791) is not in mixedCase
Constant MafiaCatz.DistributionMultiplier (#986) 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 (#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
MafiaCatz.constructor() (#814-854) uses literals with too many digits:
- _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#852)
MafiaCatz.slitherConstructorVariables() (#748-1535) uses literals with too many digits:
- MaxBuy = 100000 * 10 ** _decimals (#791)
MafiaCatz.slitherConstructorConstantVariables() (#748-1535) uses literals with too many digits:
- InitialSupply = 10000000 * 10 ** _decimals (#766)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#251-254)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#260-264)
getLiquidityReleaseTimeInSeconds() should be declared external:
- MafiaCatz.getLiquidityReleaseTimeInSeconds() (#1209-1214)
getBurnedTokens() should be declared external:
- MafiaCatz.getBurnedTokens() (#1216-1218)
getLimits() should be declared external:
- MafiaCatz.getLimits() (#1220-1222)
getTaxes() should be declared external:
- MafiaCatz.getTaxes() (#1224-1226)
getAddressSellLockTimeInSeconds(address) should be declared external:
- MafiaCatz.getAddressSellLockTimeInSeconds(address) (#1229-1236)
getSellLockTimeInSeconds() should be declared external:
- MafiaCatz.getSellLockTimeInSeconds() (#1237-1239)
getAddressBuyLockTimeInSeconds(address) should be declared external:
- MafiaCatz.getAddressBuyLockTimeInSeconds(address) (#1242-1249)
getBuyLockTimeInSeconds() should be declared external:
- MafiaCatz.getBuyLockTimeInSeconds() (#1250-1252)
AddressResetSellLock() should be declared external:
- MafiaCatz.AddressResetSellLock() (#1256-1258)
AddressResetBuyLock() should be declared external:
- MafiaCatz.AddressResetBuyLock() (#1261-1264)
getDividents(address) should be declared external:
- MafiaCatz.getDividents(address) (#1265-1268)
TeamWithdrawALLMarketingBNB() should be declared external:
- MafiaCatz.TeamWithdrawALLMarketingBNB() (#1278-1283)
TeamWithdrawXMarketingBNB(uint256) should be declared external:
- MafiaCatz.TeamWithdrawXMarketingBNB(uint256) (#1284-1289)
TeamSwitchManualBNBConversion(bool) should be declared external:
- MafiaCatz.TeamSwitchManualBNBConversion(bool) (#1292-1294)
TeamChangeMaxBuy(uint256) should be declared external:
- MafiaCatz.TeamChangeMaxBuy(uint256) (#1296-1298)
TeamChangeDevelopment(address) should be declared external:
- MafiaCatz.TeamChangeDevelopment(address) (#1300-1302)
TeamChangeMarketing(address) should be declared external:
- MafiaCatz.TeamChangeMarketing(address) (#1304-1306)
TeamDisableSellLock(bool) should be declared external:
- MafiaCatz.TeamDisableSellLock(bool) (#1309-1311)
TeamDisableBuyLock(bool) should be declared external:
- MafiaCatz.TeamDisableBuyLock(bool) (#1314-1316)
TeamSetSellLockTime(uint256) should be declared external:
- MafiaCatz.TeamSetSellLockTime(uint256) (#1319-1322)
TeamSetBuyLockTime(uint256) should be declared external:
- MafiaCatz.TeamSetBuyLockTime(uint256) (#1325-1328)
AddWalletExclusion(address) should be declared external:
- MafiaCatz.AddWalletExclusion(address) (#1331-1333)
TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) should be declared external:
- MafiaCatz.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1336-1347)
TeamChangeMarketingShare(uint8) should be declared external:
- MafiaCatz.TeamChangeMarketingShare(uint8) (#1350-1353)
TeamCreateLPandBNB() should be declared external:
- MafiaCatz.TeamCreateLPandBNB() (#1355-1357)
SetupEnableTrading() should be declared external:
- MafiaCatz.SetupEnableTrading() (#1385-1387)
SetupLiquidityTokenAddress(address) should be declared external:
- MafiaCatz.SetupLiquidityTokenAddress(address) (#1389-1391)
TeamUnlockLiquidityInSeconds(uint256) should be declared external:
- MafiaCatz.TeamUnlockLiquidityInSeconds(uint256) (#1397-1399)
TeamReleaseLiquidity() should be declared external:
- MafiaCatz.TeamReleaseLiquidity() (#1407-1417)
TeamRemoveLiquidity(bool) should be declared external:
- MafiaCatz.TeamRemoveLiquidity(bool) (#1419-1448)
TeamRemoveRemainingBNB() should be declared external:
- MafiaCatz.TeamRemoveRemainingBNB() (#1450-1455)
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