Dart Inu ($DART) is a Metaverse token which supports the vision of NASA's Double Asteroid Redirection Test to defend Mother Earth.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
Variable DART._maxTxAmount (#437) is not in mixedCase
Constant DART._tTotal (#430) is not in UPPER_CASE_WITH_UNDERSCORES
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
DART._getTValues(uint256) (#648-652) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(3) (#649)
Consider ordering multiplication before division.
Additional information: link
DART._approve(address,address,uint256).owner (#562) shadows:
- Ownable.owner() (#382-384) (function)
DART.allowance(address,address).owner (#474) shadows:
- Ownable.owner() (#382-384) (function)
Rename the local variables that shadow another component.
Additional information: link
DART.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
DART.setUniswapPair(address).pair (#678) lacks a zero-check on :
- uniswapPair = pair (#679)
Check that the address is not zero.
Additional information: link
DART._transfer(address,address,uint256) (#570-598) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= lastBuy[sender] + transfertimeout,currently in 20 secs lock period) (#584)
Avoid relying on block.timestamp.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) uses assembly
- INLINE ASM (#354-357)
Address.isContract(address) (#248-257) uses assembly
- INLINE ASM (#255)
Do not use evm assembly.
Additional information: link
Address.sendValue(address,uint256) (#275-281) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#326-328) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#224-227) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#336-339) 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
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) is never used and should be removed
Address.isContract(address) (#248-257) is never used and should be removed
Address.functionCall(address,bytes,string) (#311-313) is never used and should be removed
Address.functionCall(address,bytes) (#301-303) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#341-362):
- (success,returndata) = target.call{value: weiValue}(data) (#345)
Low level call in Address.sendValue(address,uint256) (#275-281):
- (success) = recipient.call{value: amount}() (#279)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._transferStandard(address,address,uint256).rTransferAmount (#601) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART.reflectionFromToken(uint256,bool).rTransferAmount (#529) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._getValues(uint256).tTransferAmount (#642)
Variable DART._transferBothExcluded(address,address,uint256).rTransferAmount (#627) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._transferBothExcluded(address,address,uint256).tTransferAmount (#627)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._transferStandard(address,address,uint256).tTransferAmount (#601)
Variable DART._getRValues(uint256,uint256,uint256).rTransferAmount (#657) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART._transferFromExcluded(address,address,uint256).rTransferAmount (#618) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._transferToExcluded(address,address,uint256).tTransferAmount (#609)
Variable DART._getValues(uint256).rTransferAmount (#644) is too similar to DART._getTValues(uint256).tTransferAmount (#650)
Variable DART._transferToExcluded(address,address,uint256).rTransferAmount (#609) is too similar to DART._transferFromExcluded(address,address,uint256).tTransferAmount (#618)
Prevent variables from having similar names.
Additional information: link
DART.slitherConstructorConstantVariables() (#418-682) uses literals with too many digits:
- _tTotal = 100000000 * 10 ** 6 * 10 ** 9 (#430)
DART.slitherConstructorVariables() (#418-682) uses literals with too many digits:
- _maxTxAmount = 1000000 * 10 ** 6 * 10 ** 9 (#437)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
DART._symbol (#435) should be constant
DART.transfertimeout (#439) should be constant
DART._decimals (#436) should be constant
DART._name (#434) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
decimals() should be declared external:
- DART.decimals() (#456-458)
totalSupply() should be declared external:
- DART.totalSupply() (#460-462)
transferFrom(address,address,uint256) should be declared external:
- DART.transferFrom(address,address,uint256) (#483-487)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#401-404)
approve(address,uint256) should be declared external:
- DART.approve(address,uint256) (#478-481)
name() should be declared external:
- DART.name() (#448-450)
totalFees() should be declared external:
- DART.totalFees() (#503-505)
balanceOf(address) should be declared external:
- DART.balanceOf(address) (#464-467)
reflect(uint256) should be declared external:
- DART.reflect(uint256) (#514-521)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#410-414)
allowance(address,address) should be declared external:
- DART.allowance(address,address) (#474-476)
symbol() should be declared external:
- DART.symbol() (#452-454)
increaseAllowance(address,uint256) should be declared external:
- DART.increaseAllowance(address,uint256) (#489-492)
reflectionFromToken(uint256,bool) should be declared external:
- DART.reflectionFromToken(uint256,bool) (#523-532)
decreaseAllowance(address,uint256) should be declared external:
- DART.decreaseAllowance(address,uint256) (#494-497)
isExcluded(address) should be declared external:
- DART.isExcluded(address) (#499-501)
transfer(address,uint256) should be declared external:
- DART.transfer(address,uint256) (#469-472)
Use the external attribute for functions never called from the contract.
Additional information: link
DART.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
Average 30d PancakeSwap liquidity is less than $100. Token is either dead or inactive.
Average 30d number of PancakeSwap swaps is less than 1. Token is either dead or inactive.
Contract has 3% buy tax and 2% sell tax.
Taxes are low but contract ownership is not renounced. Token has a high risk of becoming a honeypot.
Token is deployed only at one blockchain
Token has a considerable age, but we're still unable to find its website
Token has no active CoinGecko listing / rank
Last post in Twitter was more than 180 days ago
Unable to find Youtube account
Unable to find Discord account