Token is flagged by TokenSniffer due to presence of exploit in contract code
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
MetaBTC._tokenTransfer(address,address,uint256,bool) (#340-382) performs a multiplication on the result of a division:
-_takeTransfer(sender,_deadAddress,tAmount.div(100).mul(_deadFee),currentRate) (#355-360)
MetaBTC._tokenTransfer(address,address,uint256,bool) (#340-382) performs a multiplication on the result of a division:
-_takeTransfer(sender,_devAddress,tAmount.div(100).mul(_devFee),currentRate) (#363-368)
MetaBTC._tokenTransfer(address,address,uint256,bool) (#340-382) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(100).mul(recipientRate)) (#378-380)
MetaBTC._tokenTransfer(address,address,uint256,bool) (#340-382) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(100).mul(recipientRate)) (#381)
MetaBTC._takeInviterFee(address,address,uint256,uint256) (#400-430) performs a multiplication on the result of a division:
-curTAmount = tAmount.div(1000).mul(rate) (#425)
Consider ordering multiplication before division.
Additional information: link
MetaBTC._tokenTransfer(address,address,uint256,bool).rate (#352) 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
MetaBTC.allowance(address,address).owner (#170) shadows:
- Ownable.owner() (#30-32) (function)
MetaBTC._approve(address,address,uint256).owner (#295) shadows:
- Ownable.owner() (#30-32) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.changeOwner(address) (#42-44) should emit an event for:
- _owner = newOwner (#43)
Emit an event for critical parameter changes.
Additional information: link
MetaBTC.setdeadFeePercent(uint256) (#263-265) should emit an event for:
- _deadFee = deaddFee (#264)
MetaBTC.setdevFeePercent(uint256) (#267-269) should emit an event for:
- _devFee = devdFee (#268)
Emit an event for critical parameter changes.
Additional information: link
Ownable.changeOwner(address).newOwner (#42) lacks a zero-check on :
- _owner = newOwner (#43)
MetaBTC.constructor(address).tokenOwner (#123) lacks a zero-check on :
- _owner = tokenOwner (#137)
MetaBTC.changeRouter(address).router (#432) lacks a zero-check on :
- uniswapV2Pair = router (#433)
Check that the address is not zero.
Additional information: link
Variable Ownable._owner (#28) is not in mixedCase
Parameter MetaBTC.setSingleaddresstax(address,uint256).Singleaddresstax (#255) is not in mixedCase
Function MetaBTC.TransferMBTC(address[],uint256) (#435-439) is not in mixedCase
Parameter MetaBTC.TransferMBTC(address[],uint256).MBTCrecipient (#435) is not in mixedCase
Parameter MetaBTC.TransferMBTC(address[],uint256).MBTCamount (#435) is not in mixedCase
Variable MetaBTC._deadFee (#106) is not in mixedCase
Variable MetaBTC._devFee (#110) is not in mixedCase
Variable MetaBTC._inviterFee (#117) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
MetaBTC.constructor(address) (#123-139) uses literals with too many digits:
- _tTotal = 100000000 * 10 ** _decimals (#128)
MetaBTC.slitherConstructorVariables() (#89-442) uses literals with too many digits:
- _deadAddress = address(0x000000000000000000000000000000000000dEaD) (#107-108)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
MetaBTC._deadAddress (#107-108) should be constant
MetaBTC._devAddress (#111-112) should be constant
MetaBTC._inviterFee (#117) should be constant
MetaBTC.devAddress (#114-115) should be constant
Ownable._own (#29) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#30-32)
changeOwner(address) should be declared external:
- Ownable.changeOwner(address) (#42-44)
name() should be declared external:
- MetaBTC.name() (#141-143)
symbol() should be declared external:
- MetaBTC.symbol() (#145-147)
decimals() should be declared external:
- MetaBTC.decimals() (#149-151)
totalSupply() should be declared external:
- MetaBTC.totalSupply() (#153-155)
transfer(address,uint256) should be declared external:
- MetaBTC.transfer(address,uint256) (#161-168)
allowance(address,address) should be declared external:
- MetaBTC.allowance(address,address) (#170-177)
approve(address,uint256) should be declared external:
- MetaBTC.approve(address,uint256) (#179-186)
transferFrom(address,address,uint256) should be declared external:
- MetaBTC.transferFrom(address,address,uint256) (#188-203)
increaseAllowance(address,uint256) should be declared external:
- MetaBTC.increaseAllowance(address,uint256) (#205-216)
decreaseAllowance(address,uint256) should be declared external:
- MetaBTC.decreaseAllowance(address,uint256) (#218-232)
totalFees() should be declared external:
- MetaBTC.totalFees() (#234-236)
excludeFromFee(address) should be declared external:
- MetaBTC.excludeFromFee(address) (#251-253)
setSingleaddresstax(address,uint256) should be declared external:
- MetaBTC.setSingleaddresstax(address,uint256) (#255-257)
includeInFee(address) should be declared external:
- MetaBTC.includeInFee(address) (#259-261)
claimTokens() should be declared external:
- MetaBTC.claimTokens() (#286-288)
isExcludedFromFee(address) should be declared external:
- MetaBTC.isExcludedFromFee(address) (#290-292)
changeRouter(address) should be declared external:
- MetaBTC.changeRouter(address) (#432-434)
TransferMBTC(address[],uint256) should be declared external:
- MetaBTC.TransferMBTC(address[],uint256) (#435-439)
Use the external attribute for functions never called from the contract.
Additional information: link
Contract name (MetaBTC.one) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
MetaBTC._reflectFee(uint256,uint256) (#395-398) is never used and should be removed
Remove unused functions.
Additional information: link
Unable to find website, listings and other project-related information
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
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