MetaFighter is a skill-based Play-to-Earn fighting game which captures the essence of arcade fighting classics like Street Fighter, Virtua Fighter and Soul Calibur, while delivering an in-game economy that rewards players for their combat prowess.
Contract ownership is not renounced (belongs to a wallet)
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Constant TransactionThrottler._delayBetweenTx (#580) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
MFToken.constructor(string,string) (#687-691) uses literals with too many digits:
- _mint(msg.sender,1500000000 * 10 ** 18) (#690)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Context._msgData() (#123-125) is never used and should be removed
ERC20._burn(address,uint256) (#399-414) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.11 (#1) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.11 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
MFToken.constructor(string,string)._name (#687) shadows:
- ERC20._name (#161) (state variable)
MFToken.constructor(string,string)._symbol (#687) shadows:
- ERC20._symbol (#162) (state variable)
Rename the local variables that shadow another component.
Additional information: link
TransactionThrottler.setTradingStart(uint256) (#610-614) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_tradingStart > block.timestamp,Protection: To late) (#611)
Avoid relying on block.timestamp.
Additional information: link
name() should be declared external:
- ERC20.name() (#181-183)
symbol() should be declared external:
- ERC20.symbol() (#189-191)
decimals() should be declared external:
- ERC20.decimals() (#206-208)
totalSupply() should be declared external:
- ERC20.totalSupply() (#213-215)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#220-222)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#232-236)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#255-259)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#277-286)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#300-304)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#320-329)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#551-553)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#559-562)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Young tokens have high risks of price dump / death