Crypto Inu is a peer-to-peer cryptocurrency with built-in Automated Rewards Farming technology.
Crypto Inu is a multiplayer blockchain real-estate game where the player’s goal is to accumulate wealth and avoid financial insolvency through real-estate and asset investments. The players must invest in the $ABCD token in order to participate in a game. The game play is similar to the traditional game “Monopoly” but has been introduced a social aspect to the game and the use of NFTs to tokenize the characters and properties.
Contract creator or owner is blacklisted for past scams
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Low level call in Address.sendValue(address,uint256) (#275-281):
- (success) = recipient.call{value: amount}() (#279)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#341-362):
- (success,returndata) = target.call{value: weiValue}(data) (#345)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant CRYPTO._tTotal (#430) is not in UPPER_CASE_WITH_UNDERSCORES
Variable CRYPTO._maxTxAmount (#437) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#11)" inContext (#5-14)
Remove redundant statements if they congest code but offer no value.
Additional information: link
CRYPTO._transfer(address,address,uint256) (#570-598) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= lastBuy[sender] + transfertimeout,currently in 10 secs lock period) (#584)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#248-257) uses assembly
- INLINE ASM (#255)
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) uses assembly
- INLINE ASM (#354-357)
Do not use evm assembly.
Additional information: link
CRYPTO.slitherConstructorVariables() (#418-682) uses literals with too many digits:
- _maxTxAmount = 1000000 * 10 ** 6 * 10 ** 9 (#437)
CRYPTO.slitherConstructorConstantVariables() (#418-682) uses literals with too many digits:
- _tTotal = 100000000 * 10 ** 6 * 10 ** 9 (#430)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
CRYPTO._getTValues(uint256) (#648-652) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(2) (#649)
Consider ordering multiplication before division.
Additional information: link
CRYPTO.setUniswapPair(address).pair (#678) lacks a zero-check on :
- uniswapPair = pair (#679)
Check that the address is not zero.
Additional information: link
CRYPTO.allowance(address,address).owner (#474) shadows:
- Ownable.owner() (#382-384) (function)
CRYPTO._approve(address,address,uint256).owner (#562) shadows:
- Ownable.owner() (#382-384) (function)
Rename the local variables that shadow another component.
Additional information: link
CRYPTO.setMaxTxPercent(uint256) (#508-512) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 1) (#509-511)
Emit an event for critical parameter changes.
Additional information: link
CRYPTO._decimals (#436) should be constant
CRYPTO._name (#434) should be constant
CRYPTO._symbol (#435) should be constant
CRYPTO.transfertimeout (#439) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
CRYPTO.includeAccount(address) (#549-560) has costly operations inside a loop:
- _excluded.pop() (#556)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) is never used and should be removed
Address.functionCall(address,bytes) (#301-303) is never used and should be removed
Address.functionCall(address,bytes,string) (#311-313) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#326-328) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#336-339) is never used and should be removed
Address.isContract(address) (#248-257) is never used and should be removed
Address.sendValue(address,uint256) (#275-281) is never used and should be removed
Context._msgData() (#10-13) is never used and should be removed
SafeMath.mod(uint256,uint256) (#208-210) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#224-227) is never used and should be removed
Remove unused functions.
Additional information: link
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._getTValues(uint256).tTransferAmount (#650)
Variable CRYPTO._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable CRYPTO._getValues(uint256).rTransferAmount (#644) is too similar to CRYPTO._getValues(uint256).tTransferAmount (#642)
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable CRYPTO._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to CRYPTO._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable CRYPTO._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to CRYPTO._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Prevent variables from having similar names.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#401-404)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#410-414)
name() should be declared external:
- CRYPTO.name() (#448-450)
symbol() should be declared external:
- CRYPTO.symbol() (#452-454)
decimals() should be declared external:
- CRYPTO.decimals() (#456-458)
totalSupply() should be declared external:
- CRYPTO.totalSupply() (#460-462)
balanceOf(address) should be declared external:
- CRYPTO.balanceOf(address) (#464-467)
transfer(address,uint256) should be declared external:
- CRYPTO.transfer(address,uint256) (#469-472)
allowance(address,address) should be declared external:
- CRYPTO.allowance(address,address) (#474-476)
approve(address,uint256) should be declared external:
- CRYPTO.approve(address,uint256) (#478-481)
transferFrom(address,address,uint256) should be declared external:
- CRYPTO.transferFrom(address,address,uint256) (#483-487)
increaseAllowance(address,uint256) should be declared external:
- CRYPTO.increaseAllowance(address,uint256) (#489-492)
decreaseAllowance(address,uint256) should be declared external:
- CRYPTO.decreaseAllowance(address,uint256) (#494-497)
isExcluded(address) should be declared external:
- CRYPTO.isExcluded(address) (#499-501)
totalFees() should be declared external:
- CRYPTO.totalFees() (#503-505)
reflect(uint256) should be declared external:
- CRYPTO.reflect(uint256) (#514-521)
reflectionFromToken(uint256,bool) should be declared external:
- CRYPTO.reflectionFromToken(uint256,bool) (#523-532)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Last post in Twitter was more than 30 days ago
Unable to find Youtube account
Unable to find Discord account