Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
THEBATCOIN._getTValues(uint256) (#629-633) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(2) (#630)
Consider ordering multiplication before division.
Additional information: link
THEBATCOIN.allowance(address,address).owner (#475) shadows:
- Ownable.owner() (#387-389) (function)
THEBATCOIN._approve(address,address,uint256).owner (#556) shadows:
- Ownable.owner() (#387-389) (function)
Rename the local variables that shadow another component.
Additional information: link
Address.isContract(address) (#253-262) uses assembly
- INLINE ASM (#260)
Address._functionCallWithValue(address,bytes,uint256,string) (#346-367) uses assembly
- INLINE ASM (#359-362)
Do not use evm assembly.
Additional information: link
THEBATCOIN.includeAccount(address) (#543-554) has costly operations inside a loop:
- _excluded.pop() (#550)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#346-367) is never used and should be removed
Address.functionCall(address,bytes) (#306-308) is never used and should be removed
Address.functionCall(address,bytes,string) (#316-318) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#331-333) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#341-344) is never used and should be removed
Address.isContract(address) (#253-262) is never used and should be removed
Address.sendValue(address,uint256) (#280-286) is never used and should be removed
Context._msgData() (#15-18) is never used and should be removed
SafeMath.mod(uint256,uint256) (#213-215) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#229-232) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#280-286):
- (success) = recipient.call{value: amount}() (#284)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#346-367):
- (success,returndata) = target.call{value: weiValue}(data) (#350)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant THEBATCOIN._tTotal (#436) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#16)" inContext (#10-19)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._transferFromExcluded(address,address,uint256).rTransferAmount (#599) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._getTValues(uint256).tTransferAmount (#631)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN._getValues(uint256).rTransferAmount (#625) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._transferStandard(address,address,uint256).tTransferAmount (#582)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN.reflectionFromToken(uint256,bool).rTransferAmount (#523) is too similar to THEBATCOIN._getValues(uint256).tTransferAmount (#623)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._transferToExcluded(address,address,uint256).tTransferAmount (#590)
Variable THEBATCOIN._transferBothExcluded(address,address,uint256).rTransferAmount (#608) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN._transferStandard(address,address,uint256).rTransferAmount (#582) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Variable THEBATCOIN._transferToExcluded(address,address,uint256).rTransferAmount (#590) is too similar to THEBATCOIN._transferBothExcluded(address,address,uint256).tTransferAmount (#608)
Variable THEBATCOIN._getRValues(uint256,uint256,uint256).rTransferAmount (#638) is too similar to THEBATCOIN._transferFromExcluded(address,address,uint256).tTransferAmount (#599)
Prevent variables from having similar names.
Additional information: link
THEBATCOIN.slitherConstructorConstantVariables() (#424-659) uses literals with too many digits:
- _tTotal = 1000000000 * 10 ** 6 (#436)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
THEBATCOIN._decimals (#442) should be constant
THEBATCOIN._name (#440) should be constant
THEBATCOIN._symbol (#441) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#387-389)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#406-409)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#415-419)
name() should be declared external:
- THEBATCOIN.name() (#449-451)
symbol() should be declared external:
- THEBATCOIN.symbol() (#453-455)
decimals() should be declared external:
- THEBATCOIN.decimals() (#457-459)
totalSupply() should be declared external:
- THEBATCOIN.totalSupply() (#461-463)
balanceOf(address) should be declared external:
- THEBATCOIN.balanceOf(address) (#465-468)
transfer(address,uint256) should be declared external:
- THEBATCOIN.transfer(address,uint256) (#470-473)
allowance(address,address) should be declared external:
- THEBATCOIN.allowance(address,address) (#475-477)
approve(address,uint256) should be declared external:
- THEBATCOIN.approve(address,uint256) (#479-482)
transferFrom(address,address,uint256) should be declared external:
- THEBATCOIN.transferFrom(address,address,uint256) (#484-488)
increaseAllowance(address,uint256) should be declared external:
- THEBATCOIN.increaseAllowance(address,uint256) (#490-493)
decreaseAllowance(address,uint256) should be declared external:
- THEBATCOIN.decreaseAllowance(address,uint256) (#495-498)
isExcluded(address) should be declared external:
- THEBATCOIN.isExcluded(address) (#500-502)
totalFees() should be declared external:
- THEBATCOIN.totalFees() (#504-506)
reflect(uint256) should be declared external:
- THEBATCOIN.reflect(uint256) (#508-515)
reflectionFromToken(uint256,bool) should be declared external:
- THEBATCOIN.reflectionFromToken(uint256,bool) (#517-526)
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