Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in Chinu._taxedTransfer(address,address,uint256,bool,bool) (#893-962):
External calls:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
External calls sending eth:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
State variables written after the call(s):
- _removeToken(sender,amount) (#950)
- _balances[addr] = newAmount (#1053)
- _balances[addr] = newAmount (#1060)
- _balances[address(this)] += contractToken (#953)
- _addToken(recipient,taxedAmount) (#958)
- _balances[addr] = newAmount (#1032)
- _balances[addr] = newAmount (#1043)
- _circulatingSupply -= tokensToBeBurnt (#955)
- _removeToken(sender,amount) (#950)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1062)
- _addToken(recipient,taxedAmount) (#958)
- alreadyPaidShares[addr] = profitPerShare * newAmount (#1039)
- _swapContractToken() (#941)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1094)
- _removeToken(sender,amount) (#950)
- toBePaid[addr] += payment (#1064)
- _addToken(recipient,taxedAmount) (#958)
- toBePaid[addr] += payment (#1041)
Reentrancy in Chinu.claim(address) (#1101-1135):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
State variables written after the call(s):
- _isWithdrawing = false (#1134)
Apply the check-effects-interactions pattern.
Additional information: link
Chinu.TeamReleaseLiquidity() (#1411-1421) ignores return value by liquidityToken.transfer(Development,amount) (#1419)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
Chinu.claim(address) (#1101-1135) uses a dangerous strict equality:
- amount == 0 (#1118)
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 ($CHINU) 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.
Chinu.constructor() (#818-858) ignores return value by _excluded.add(Development) (#849)
Chinu.constructor() (#818-858) ignores return value by _excluded.add(Marketing) (#850)
Chinu.constructor() (#818-858) ignores return value by _excluded.add(msg.sender) (#851)
Chinu.constructor() (#818-858) ignores return value by _excludedFromStaking.add(address(_pancakeRouter)) (#853)
Chinu.constructor() (#818-858) ignores return value by _excludedFromStaking.add(_pancakePairAddress) (#854)
Chinu.constructor() (#818-858) ignores return value by _excludedFromStaking.add(address(this)) (#855)
Chinu.constructor() (#818-858) ignores return value by _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#856)
Chinu._addLiquidity(uint256,uint256) (#1198-1209) ignores return value by _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
Chinu.AddWalletExclusion(address) (#1335-1337) ignores return value by _excluded.add(exclusionAdd) (#1336)
Chinu.TeamRemoveLiquidity(bool) (#1423-1452) ignores return value by liquidityToken.approve(address(_pancakeRouter),amount) (#1430)
Chinu.TeamRemoveLiquidity(bool) (#1423-1452) ignores return value by _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1436-1443)
Ensure that all the return values of the function calls are used.
Additional information: link
Chinu.allowance(address,address)._owner (#1497) shadows:
- Ownable._owner (#220) (state variable)
Chinu._approve(address,address,uint256).owner (#1505) shadows:
- Ownable.owner() (#236-238) (function)
Rename the local variables that shadow another component.
Additional information: link
Chinu.TeamWithdrawXMarketingBNB(uint256) (#1288-1293) should emit an event for:
- marketingBalance -= amount (#1290)
Chinu.TeamChangeMaxBuy(uint256) (#1300-1302) should emit an event for:
- MaxBuy = newMaxBuy * 10 ** _decimals (#1301)
Chinu.TeamSetSellLockTime(uint256) (#1323-1326) should emit an event for:
- sellLockTime = sellLockSeconds (#1325)
Chinu.TeamSetBuyLockTime(uint256) (#1329-1332) should emit an event for:
- buyLockTime = buyLockSeconds (#1331)
Chinu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1340-1351) should emit an event for:
- _burnTax = burnTaxes (#1344)
- _liquidityTax = liquidityTaxes (#1345)
- _stakingTax = stakingTaxes (#1346)
- _buyTax = buyTax (#1348)
- _sellTax = sellTax (#1349)
- _transferTax = transferTax (#1350)
Chinu.TeamChangeMarketingShare(uint8) (#1354-1357) should emit an event for:
- marketingShare = newShare (#1356)
Chinu.TeamUpdateLimits(uint256,uint256) (#1364-1381) should emit an event for:
- balanceLimit = newBalanceLimit (#1379)
- sellLimit = newSellLimit (#1380)
Emit an event for critical parameter changes.
Additional information: link
Chinu.TeamChangeDevelopment(address).newDevelopment (#1304) lacks a zero-check on :
- Development = address(newDevelopment) (#1305)
Chinu.TeamChangeMarketing(address).newMarketing (#1308) lacks a zero-check on :
- Marketing = address(newMarketing) (#1309)
Chinu.SetupLiquidityTokenAddress(address).liquidityTokenAddress (#1393) lacks a zero-check on :
- _liquidityTokenAddress = liquidityTokenAddress (#1394)
Check that the address is not zero.
Additional information: link
Reentrancy in Chinu.TeamRemoveLiquidity(bool) (#1423-1452):
External calls:
- liquidityToken.approve(address(_pancakeRouter),amount) (#1430)
- _pancakeRouter.removeLiquidityETHSupportingFeeOnTransferTokens(address(this),amount,0,0,address(this),block.timestamp) (#1436-1443)
State variables written after the call(s):
- _distributeStake(newBNBBalance) (#1446)
- marketingBalance += marketingSplit (#1084)
- marketingBalance += amount (#1091)
- marketingBalance += newBNBBalance (#1449)
- _distributeStake(newBNBBalance) (#1446)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1094)
- _distributeStake(newBNBBalance) (#1446)
- totalStakingReward += amount (#1087)
Reentrancy in Chinu._swapContractToken() (#1151-1181):
External calls:
- _swapTokenForBNB(swapToken) (#1171)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
- _addLiquidity(liqToken,liqBNB) (#1175)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1175)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
State variables written after the call(s):
- _addLiquidity(liqToken,liqBNB) (#1175)
- _allowances[owner][spender] = amount (#1509)
- _distributeStake(distributeBNB) (#1180)
- marketingBalance += marketingSplit (#1084)
- marketingBalance += amount (#1091)
- _distributeStake(distributeBNB) (#1180)
- profitPerShare += ((amount * DistributionMultiplier) / totalShares) (#1094)
- _distributeStake(distributeBNB) (#1180)
- totalStakingReward += amount (#1087)
Reentrancy in Chinu._taxedTransfer(address,address,uint256,bool,bool) (#893-962):
External calls:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
External calls sending eth:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
State variables written after the call(s):
- _swapContractToken() (#941)
- _allowances[owner][spender] = amount (#1509)
Reentrancy in Chinu.constructor() (#818-858):
External calls:
- _pancakePairAddress = IPancakeFactory(_pancakeRouter.factory()).createPair(address(this),_pancakeRouter.WETH()) (#826)
State variables written after the call(s):
- _burnTax = 0 (#844)
- _buyTax = 10 (#840)
- _liquidityTax = 35 (#845)
- _sellTax = 20 (#841)
- _stakingTax = 65 (#846)
- _transferTax = 20 (#842)
- balanceLimit = InitialSupply / BalanceLimitDivider (#829)
- buyLockTime = 0 (#836)
- sellLimit = InitialSupply / SellLimitDivider (#830)
- sellLockTime = 0 (#833)
Reentrancy in Chinu.transferFrom(address,address,uint256) (#1513-1521):
External calls:
- _transfer(sender,recipient,amount) (#1514)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1514)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
State variables written after the call(s):
- _approve(sender,msg.sender,currentAllowance - amount) (#1519)
- _allowances[owner][spender] = amount (#1509)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Chinu._swapContractToken() (#1151-1181):
External calls:
- _swapTokenForBNB(swapToken) (#1171)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
- _addLiquidity(liqToken,liqBNB) (#1175)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
External calls sending eth:
- _addLiquidity(liqToken,liqBNB) (#1175)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1510)
- _addLiquidity(liqToken,liqBNB) (#1175)
Reentrancy in Chinu._taxedTransfer(address,address,uint256,bool,bool) (#893-962):
External calls:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
External calls sending eth:
- claim(sender) (#927)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
- _swapContractToken() (#941)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1510)
- _swapContractToken() (#941)
- Transfer(sender,recipient,taxedAmount) (#960)
Reentrancy in Chinu.claim(address) (#1101-1135):
External calls:
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
Event emitted after the call(s):
- OnWithdrawXRP(amount,addr) (#1133)
Reentrancy in Chinu.transferFrom(address,address,uint256) (#1513-1521):
External calls:
- _transfer(sender,recipient,amount) (#1514)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(amount,0,path,address(this),block.timestamp) (#1189-1195)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
External calls sending eth:
- _transfer(sender,recipient,amount) (#1514)
- _pancakeRouter.addLiquidityETH{value: bnbamount}(address(this),tokenamount,0,0,address(this),block.timestamp) (#1201-1208)
- _pancakeRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,addr,block.timestamp) (#1127-1131)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1510)
- _approve(sender,msg.sender,currentAllowance - amount) (#1519)
Apply the check-effects-interactions pattern.
Additional information: link
Chinu._taxedTransfer(address,address,uint256,bool,bool) (#893-962) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Seller in sellLock) (#902)
- require(bool,string)(_buyLock[recipient] <= block.timestamp || buyLockDisabled,Buyer in buyLock) (#914)
- require(bool,string)(_sellLock[sender] <= block.timestamp || sellLockDisabled,Sender in Lock) (#933)
Chinu.getLiquidityReleaseTimeInSeconds() (#1213-1218) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < _liquidityUnlockTime (#1214)
Chinu.getAddressSellLockTimeInSeconds(address) (#1233-1240) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1235)
Chinu.getAddressBuyLockTimeInSeconds(address) (#1246-1253) uses timestamp for comparisons
Dangerous comparisons:
- lockTime <= block.timestamp (#1248)
Chinu._prolongLiquidityLock(uint256) (#1404-1408) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(newUnlockTime > _liquidityUnlockTime) (#1406)
Chinu.TeamReleaseLiquidity() (#1411-1421) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1413)
Chinu.TeamRemoveLiquidity(bool) (#1423-1452) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1425)
Chinu.TeamRemoveRemainingBNB() (#1454-1459) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= _liquidityUnlockTime,Not yet unlocked) (#1455)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#292-301) uses assembly
- INLINE ASM (#299)
Address._verifyCallResult(bool,bytes,string) (#437-454) uses assembly
- INLINE ASM (#446-449)
Do not use evm assembly.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#437-454) is never used and should be removed
Address.functionCall(address,bytes) (#345-347) is never used and should be removed
Address.functionCall(address,bytes,string) (#355-357) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#370-372) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#380-387) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#419-421) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#429-435) is never used and should be removed
Address.functionStaticCall(address,bytes) (#395-397) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#405-411) is never used and should be removed
Address.isContract(address) (#292-301) is never used and should be removed
Address.sendValue(address,uint256) (#319-325) is never used and should be removed
Chinu._isTeam(address) (#812-814) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (#524-556) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#599-601) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#707-709) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#637-639) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#745-747) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#616-618) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#724-726) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#623-625) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#731-733) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (#663-665) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#609-611) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#717-719) is never used and should be removed
Remove unused functions.
Additional information: link
Chinu.balanceLimit (#793) is set pre-construction with a non-constant function or state variable:
- _circulatingSupply
Chinu.sellLimit (#794) 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) (#319-325):
- (success) = recipient.call{value: amount}() (#323)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#380-387):
- (success,returndata) = target.call{value: value}(data) (#385)
Low level call in Address.functionStaticCall(address,bytes,string) (#405-411):
- (success,returndata) = target.staticcall(data) (#409)
Low level call in Address.functionDelegateCall(address,bytes,string) (#429-435):
- (success,returndata) = target.delegatecall(data) (#433)
Low level call in Chinu.TeamRemoveRemainingBNB() (#1454-1459):
- (sent) = Development.call{value: (address(this).balance)}() (#1457)
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() (#53) is not in mixedCase
Function IPancakeERC20.PERMIT_TYPEHASH() (#54) is not in mixedCase
Function IPancakeRouter01.WETH() (#157) is not in mixedCase
Function Chinu._getTotalShares() (#1016-1024) is not in mixedCase
Parameter Chinu.getAddressSellLockTimeInSeconds(address).AddressToCheck (#1233) is not in mixedCase
Parameter Chinu.getAddressBuyLockTimeInSeconds(address).AddressToCheck (#1246) is not in mixedCase
Function Chinu.AddressResetSellLock() (#1260-1262) is not in mixedCase
Function Chinu.AddressResetBuyLock() (#1265-1268) is not in mixedCase
Function Chinu.TeamWithdrawALLMarketingBNB() (#1282-1287) is not in mixedCase
Function Chinu.TeamWithdrawXMarketingBNB(uint256) (#1288-1293) is not in mixedCase
Function Chinu.TeamSwitchManualBNBConversion(bool) (#1296-1298) is not in mixedCase
Function Chinu.TeamChangeMaxBuy(uint256) (#1300-1302) is not in mixedCase
Function Chinu.TeamChangeDevelopment(address) (#1304-1306) is not in mixedCase
Function Chinu.TeamChangeMarketing(address) (#1308-1310) is not in mixedCase
Function Chinu.TeamDisableSellLock(bool) (#1313-1315) is not in mixedCase
Function Chinu.TeamDisableBuyLock(bool) (#1318-1320) is not in mixedCase
Function Chinu.TeamSetSellLockTime(uint256) (#1323-1326) is not in mixedCase
Function Chinu.TeamSetBuyLockTime(uint256) (#1329-1332) is not in mixedCase
Function Chinu.AddWalletExclusion(address) (#1335-1337) is not in mixedCase
Function Chinu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1340-1351) is not in mixedCase
Function Chinu.TeamChangeMarketingShare(uint8) (#1354-1357) is not in mixedCase
Function Chinu.TeamCreateLPandBNB() (#1359-1361) is not in mixedCase
Function Chinu.TeamUpdateLimits(uint256,uint256) (#1364-1381) is not in mixedCase
Function Chinu.SetupEnableTrading() (#1389-1391) is not in mixedCase
Function Chinu.SetupLiquidityTokenAddress(address) (#1393-1395) is not in mixedCase
Function Chinu.TeamUnlockLiquidityInSeconds(uint256) (#1401-1403) is not in mixedCase
Function Chinu.TeamReleaseLiquidity() (#1411-1421) is not in mixedCase
Function Chinu.TeamRemoveLiquidity(bool) (#1423-1452) is not in mixedCase
Function Chinu.TeamRemoveRemainingBNB() (#1454-1459) is not in mixedCase
Parameter Chinu.allowance(address,address)._owner (#1497) is not in mixedCase
Constant Chinu._name (#767) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu._symbol (#768) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu._decimals (#769) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.InitialSupply (#770) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.BalanceLimitDivider (#773) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.SellLimitDivider (#775) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.MaxSellLockTime (#777) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.MaxBuyLockTime (#779) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Chinu.DefaultLiquidityLockTime (#781) is not in UPPER_CASE_WITH_UNDERSCORES
Variable Chinu.Development (#783) is not in mixedCase
Variable Chinu.Marketing (#784) is not in mixedCase
Constant Chinu.PancakeRouter (#788) is not in UPPER_CASE_WITH_UNDERSCORES
Variable Chinu.MaxBuy (#795) is not in mixedCase
Constant Chinu.DistributionMultiplier (#990) 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 (#76) is too similar to IPancakeRouter01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#77)
Prevent variables from having similar names.
Additional information: link
Chinu.constructor() (#818-858) uses literals with too many digits:
- _excludedFromStaking.add(0x000000000000000000000000000000000000dEaD) (#856)
Chinu.slitherConstructorConstantVariables() (#752-1539) uses literals with too many digits:
- InitialSupply = 1000000 * 10 ** _decimals (#770)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#255-258)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#264-268)
getLiquidityReleaseTimeInSeconds() should be declared external:
- Chinu.getLiquidityReleaseTimeInSeconds() (#1213-1218)
getBurnedTokens() should be declared external:
- Chinu.getBurnedTokens() (#1220-1222)
getLimits() should be declared external:
- Chinu.getLimits() (#1224-1226)
getTaxes() should be declared external:
- Chinu.getTaxes() (#1228-1230)
getAddressSellLockTimeInSeconds(address) should be declared external:
- Chinu.getAddressSellLockTimeInSeconds(address) (#1233-1240)
getSellLockTimeInSeconds() should be declared external:
- Chinu.getSellLockTimeInSeconds() (#1241-1243)
getAddressBuyLockTimeInSeconds(address) should be declared external:
- Chinu.getAddressBuyLockTimeInSeconds(address) (#1246-1253)
getBuyLockTimeInSeconds() should be declared external:
- Chinu.getBuyLockTimeInSeconds() (#1254-1256)
AddressResetSellLock() should be declared external:
- Chinu.AddressResetSellLock() (#1260-1262)
AddressResetBuyLock() should be declared external:
- Chinu.AddressResetBuyLock() (#1265-1268)
getDividents(address) should be declared external:
- Chinu.getDividents(address) (#1269-1272)
TeamWithdrawALLMarketingBNB() should be declared external:
- Chinu.TeamWithdrawALLMarketingBNB() (#1282-1287)
TeamWithdrawXMarketingBNB(uint256) should be declared external:
- Chinu.TeamWithdrawXMarketingBNB(uint256) (#1288-1293)
TeamSwitchManualBNBConversion(bool) should be declared external:
- Chinu.TeamSwitchManualBNBConversion(bool) (#1296-1298)
TeamChangeMaxBuy(uint256) should be declared external:
- Chinu.TeamChangeMaxBuy(uint256) (#1300-1302)
TeamChangeDevelopment(address) should be declared external:
- Chinu.TeamChangeDevelopment(address) (#1304-1306)
TeamChangeMarketing(address) should be declared external:
- Chinu.TeamChangeMarketing(address) (#1308-1310)
TeamDisableSellLock(bool) should be declared external:
- Chinu.TeamDisableSellLock(bool) (#1313-1315)
TeamDisableBuyLock(bool) should be declared external:
- Chinu.TeamDisableBuyLock(bool) (#1318-1320)
TeamSetSellLockTime(uint256) should be declared external:
- Chinu.TeamSetSellLockTime(uint256) (#1323-1326)
TeamSetBuyLockTime(uint256) should be declared external:
- Chinu.TeamSetBuyLockTime(uint256) (#1329-1332)
AddWalletExclusion(address) should be declared external:
- Chinu.AddWalletExclusion(address) (#1335-1337)
TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) should be declared external:
- Chinu.TeamSetTaxes(uint8,uint8,uint8,uint8,uint8,uint8) (#1340-1351)
TeamChangeMarketingShare(uint8) should be declared external:
- Chinu.TeamChangeMarketingShare(uint8) (#1354-1357)
TeamCreateLPandBNB() should be declared external:
- Chinu.TeamCreateLPandBNB() (#1359-1361)
SetupEnableTrading() should be declared external:
- Chinu.SetupEnableTrading() (#1389-1391)
SetupLiquidityTokenAddress(address) should be declared external:
- Chinu.SetupLiquidityTokenAddress(address) (#1393-1395)
TeamUnlockLiquidityInSeconds(uint256) should be declared external:
- Chinu.TeamUnlockLiquidityInSeconds(uint256) (#1401-1403)
TeamReleaseLiquidity() should be declared external:
- Chinu.TeamReleaseLiquidity() (#1411-1421)
TeamRemoveLiquidity(bool) should be declared external:
- Chinu.TeamRemoveLiquidity(bool) (#1423-1452)
TeamRemoveRemainingBNB() should be declared external:
- Chinu.TeamRemoveRemainingBNB() (#1454-1459)
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