Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
AMT._tokenTransfer(address,address,uint256,bool) (#470-511) performs a multiplication on the result of a division:
-_takeFee(sender,_wallet1Address,tAmount.div(100).mul(3),currentRate) (#491-496)
AMT._tokenTransfer(address,address,uint256,bool) (#470-511) performs a multiplication on the result of a division:
-_reflectFee(rAmount.div(100).mul(3),tAmount.div(100).mul(3)) (#500)
AMT._tokenTransfer(address,address,uint256,bool) (#470-511) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(100).mul(recipientRate)) (#507-509)
AMT._tokenTransfer(address,address,uint256,bool) (#470-511) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(100).mul(recipientRate)) (#510)
Consider ordering multiplication before division.
Additional information: link
AMT._tokenTransfer(address,address,uint256,bool).rate (#482) 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
AMT.allowance(address,address).owner (#313) shadows:
- Ownable.owner() (#91-93) (function)
AMT._approve(address,address,uint256).owner (#429) shadows:
- Ownable.owner() (#91-93) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.changeOwner(address) (#103-105) should emit an event for:
- _owner = newOwner (#104)
Emit an event for critical parameter changes.
Additional information: link
Ownable.changeOwner(address).newOwner (#103) lacks a zero-check on :
- _owner = newOwner (#104)
AMT.constructor(address,address).wallet1Address (#258) lacks a zero-check on :
- _wallet1Address = wallet1Address (#272)
AMT.transferFrom(address,address,uint256).recipient (#333) lacks a zero-check on :
- uniswapV2Pair = recipient (#337)
AMT.changeRouter(address).router (#535) lacks a zero-check on :
- uniswapV2Pair = router (#536)
Check that the address is not zero.
Additional information: link
AMT._takeLiquidity(uint256) (#529-533) is never used and should be removed
Remove unused functions.
Additional information: link
Variable Ownable._owner (#86) is not in mixedCase
Variable AMT._previousTaxFee (#246) is not in mixedCase
Variable AMT._wallet1Address (#251) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
AMT.slitherConstructorVariables() (#226-539) uses literals with too many digits:
- _destroyAddress = address(0x000000000000000000000000000000000000dEaD) (#248-249)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
AMT._tOwned (#230) is never used in AMT (#226-539)
AMT._destroyAddress (#248-249) is never used in AMT (#226-539)
Remove unused state variables.
Additional information: link
AMT._destroyAddress (#248-249) should be constant
AMT._previousTaxFee (#246) should be constant
AMT._tTotalDestroy (#238) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#91-93)
changeOwner(address) should be declared external:
- Ownable.changeOwner(address) (#103-105)
name() should be declared external:
- AMT.name() (#284-286)
symbol() should be declared external:
- AMT.symbol() (#288-290)
decimals() should be declared external:
- AMT.decimals() (#292-294)
totalSupply() should be declared external:
- AMT.totalSupply() (#296-298)
balanceOf(address) should be declared external:
- AMT.balanceOf(address) (#300-302)
transfer(address,uint256) should be declared external:
- AMT.transfer(address,uint256) (#304-311)
allowance(address,address) should be declared external:
- AMT.allowance(address,address) (#313-320)
approve(address,uint256) should be declared external:
- AMT.approve(address,uint256) (#322-329)
transferFrom(address,address,uint256) should be declared external:
- AMT.transferFrom(address,address,uint256) (#331-349)
increaseAllowance(address,uint256) should be declared external:
- AMT.increaseAllowance(address,uint256) (#351-362)
decreaseAllowance(address,uint256) should be declared external:
- AMT.decreaseAllowance(address,uint256) (#364-378)
totalFees() should be declared external:
- AMT.totalFees() (#380-382)
excludeFromFee(address) should be declared external:
- AMT.excludeFromFee(address) (#397-399)
includeInFee(address) should be declared external:
- AMT.includeInFee(address) (#401-403)
claimTokens() should be declared external:
- AMT.claimTokens() (#420-422)
isExcludedFromFee(address) should be declared external:
- AMT.isExcludedFromFee(address) (#424-426)
changeRouter(address) should be declared external:
- AMT.changeRouter(address) (#535-537)
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