API Inu is decentralized charting and API Bridge. It aims to provide a traditional API service to smart contracts in a decentralized way.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
API._getValues(uint256).tFee (#666) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Address.isContract(address) (#244-253) uses assembly
- INLINE ASM (#251)
Address._functionCallWithValue(address,bytes,uint256,string) (#337-358) uses assembly
- INLINE ASM (#350-353)
Do not use evm assembly.
Additional information: link
API.slitherConstructorVariables() (#414-699) uses literals with too many digits:
- _maxTxAmount = 100000 * 10 ** 6 * 10 ** 9 (#441)
API.slitherConstructorConstantVariables() (#414-699) uses literals with too many digits:
- _tTotal = 10000000 * 10 ** 6 * 10 ** 9 (#434)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Redundant expression "this (#15)" inContext (#9-18)
Remove redundant statements if they congest code but offer no value.
Additional information: link
API._maxTxAmount (#441) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Constant API._symbol (#439) is not in UPPER_CASE_WITH_UNDERSCORES
Constant API._name (#438) is not in UPPER_CASE_WITH_UNDERSCORES
Constant API._decimals (#440) is not in UPPER_CASE_WITH_UNDERSCORES
Variable API._maxTxAmount (#441) is not in mixedCase
Constant API._tTotal (#434) is not in UPPER_CASE_WITH_UNDERSCORES
Variable API._tOwnedExcluded (#423) is not in mixedCase
Variable API._rOwnedExcluded (#422) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
API._approve(address,address,uint256).owner (#570) shadows:
- Ownable.owner() (#378-380) (function)
API.allowance(address,address).owner (#478) shadows:
- Ownable.owner() (#378-380) (function)
Rename the local variables that shadow another component.
Additional information: link
API._getValues(uint256) (#664-677) performs a multiplication on the result of a division:
-tFee = tAmount.div(1000).mul(9) (#671)
Consider ordering multiplication before division.
Additional information: link
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#337-358):
- (success,returndata) = target.call{value: weiValue}(data) (#341)
Low level call in Address.sendValue(address,uint256) (#271-277):
- (success) = recipient.call{value: amount}() (#275)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#397-400)
totalFees() should be declared external:
- API.totalFees() (#497-499)
approve(address,uint256) should be declared external:
- API.approve(address,uint256) (#482-485)
transferFrom(address,address,uint256) should be declared external:
- API.transferFrom(address,address,uint256) (#487-491)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#406-410)
balanceOf(address) should be declared external:
- API.balanceOf(address) (#468-471)
symbol() should be declared external:
- API.symbol() (#456-458)
reflectionFromToken(uint256,bool) should be declared external:
- API.reflectionFromToken(uint256,bool) (#513-522)
transfer(address,uint256) should be declared external:
- API.transfer(address,uint256) (#473-476)
name() should be declared external:
- API.name() (#452-454)
reflect(uint256) should be declared external:
- API.reflect(uint256) (#501-511)
allowance(address,address) should be declared external:
- API.allowance(address,address) (#478-480)
isExcluded(address) should be declared external:
- API.isExcluded(address) (#493-495)
decimals() should be declared external:
- API.decimals() (#460-462)
totalSupply() should be declared external:
- API.totalSupply() (#464-466)
Use the external attribute for functions never called from the contract.
Additional information: link
Address.sendValue(address,uint256) (#271-277) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#322-324) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#220-223) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#332-335) is never used and should be removed
Context._msgData() (#14-17) is never used and should be removed
SafeMath.mod(uint256,uint256) (#204-206) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#337-358) is never used and should be removed
Address.isContract(address) (#244-253) is never used and should be removed
Address.functionCall(address,bytes,string) (#307-309) is never used and should be removed
Address.functionCall(address,bytes) (#297-299) is never used and should be removed
Remove unused functions.
Additional information: link
Variable API._transferStandard(address,address,uint256).rTransferAmount (#611) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._getRValues(uint256,uint256,uint256).rTransferAmount (#682) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._transferFromExcluded(address,address,uint256).rTransferAmount (#632) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._transferToExcluded(address,address,uint256).rTransferAmount (#619) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API._transferStandard(address,address,uint256).rTransferAmount (#611) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._getValues(uint256).rTransferAmount (#675) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API._transferFromExcluded(address,address,uint256).rTransferAmount (#632) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API._transferFromExcluded(address,address,uint256).rTransferAmount (#632) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API._getRValues(uint256,uint256,uint256).rTransferAmount (#682) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._getRValues(uint256,uint256,uint256).rTransferAmount (#682) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API.reflectionFromToken(uint256,bool).rTransferAmount (#519) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API._transferToExcluded(address,address,uint256).rTransferAmount (#619) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._transferToExcluded(address,address,uint256).rTransferAmount (#619) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API._transferStandard(address,address,uint256).rTransferAmount (#611) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._rOwnedExcluded (#422) is too similar to API._tOwnedExcluded (#423)
Variable API._getValues(uint256).rTransferAmount (#675) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._getRValues(uint256,uint256,uint256).rTransferAmount (#682) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._transferStandard(address,address,uint256).rTransferAmount (#611) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API._transferToExcluded(address,address,uint256).rTransferAmount (#619) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._transferBothExcluded(address,address,uint256).rTransferAmount (#645) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._transferBothExcluded(address,address,uint256).rTransferAmount (#645) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API.reflectionFromToken(uint256,bool).rTransferAmount (#519) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API.reflectionFromToken(uint256,bool).rTransferAmount (#519) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API._transferBothExcluded(address,address,uint256).rTransferAmount (#645) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._getRValues(uint256,uint256,uint256).rTransferAmount (#682) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API.reflectionFromToken(uint256,bool).rTransferAmount (#519) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._transferBothExcluded(address,address,uint256).rTransferAmount (#645) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API._transferStandard(address,address,uint256).rTransferAmount (#611) is too similar to API._transferFromExcluded(address,address,uint256).tTransferAmount (#632)
Variable API.reflectionFromToken(uint256,bool).rTransferAmount (#519) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._getValues(uint256).rTransferAmount (#675) is too similar to API._transferStandard(address,address,uint256).tTransferAmount (#611)
Variable API._getValues(uint256).rTransferAmount (#675) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._transferFromExcluded(address,address,uint256).rTransferAmount (#632) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._transferBothExcluded(address,address,uint256).rTransferAmount (#645) is too similar to API._transferToExcluded(address,address,uint256).tTransferAmount (#619)
Variable API._transferFromExcluded(address,address,uint256).rTransferAmount (#632) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Variable API._getValues(uint256).rTransferAmount (#675) is too similar to API._getValues(uint256).tTransferAmount (#667)
Variable API._transferToExcluded(address,address,uint256).rTransferAmount (#619) is too similar to API._transferBothExcluded(address,address,uint256).tTransferAmount (#645)
Prevent variables from having similar names.
Additional information: link
Token has no active CoinGecko listing / rank
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
Last post in Twitter was more than 30 days ago
Unable to find Youtube account
Unable to find Discord account