MONIWAR is an epic puzzle game with a PvP mechanic for everyone. The project aims to create a new experience for players in the field of gaming and DeFi. The game is designed with a suitable mechanism for players to be entertained, and DeFi will bring income and sustainable ways to make money for users.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
name() should be declared external:
- ERC20.name() (contracts/ERC20.sol#82-84)
symbol() should be declared external:
- ERC20.symbol() (contracts/ERC20.sol#90-92)
decimals() should be declared external:
- ERC20.decimals() (contracts/ERC20.sol#107-109)
totalSupply() should be declared external:
- ERC20.totalSupply() (contracts/ERC20.sol#114-116)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (contracts/ERC20.sol#121-123)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (contracts/ERC20.sol#133-144)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (contracts/ERC20.sol#149-151)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (contracts/ERC20.sol#160-163)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (contracts/ERC20.sol#178-201)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (contracts/ERC20.sol#215-218)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (contracts/ERC20.sol#234-242)
modifyWhiteList(address[],address[]) should be declared external:
- ERC20.modifyWhiteList(address[],address[]) (contracts/ERC20.sol#394-401)
changeFeeWallet(address) should be declared external:
- ERC20.changeFeeWallet(address) (contracts/ERC20.sol#407-409)
changeFee(uint256) should be declared external:
- ERC20.changeFee(uint256) (contracts/ERC20.sol#411-413)
isExcludedFromFee(address) should be declared external:
- ERC20.isExcludedFromFee(address) (contracts/ERC20.sol#415-417)
excludedFromFee(address) should be declared external:
- ERC20.excludedFromFee(address) (contracts/ERC20.sol#419-421)
burn(uint256) should be declared external:
- MONIWAR.burn(uint256) (contracts/Moniwar.sol#14-16)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (contracts/Ownable.sol#53-55)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/Ownable.sol#61-64)
Use the external attribute for functions never called from the contract.
Additional information: link
Context._msgData() (contracts/Context.sol#20-22) is never used and should be removed
SafeMath.add(uint256,uint256) (contracts/SafeMath.sol#92-94) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/SafeMath.sol#190-199) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/SafeMath.sol#150-152) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/SafeMath.sol#216-225) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (contracts/SafeMath.sol#167-176) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (contracts/SafeMath.sol#21-27) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (contracts/SafeMath.sol#63-68) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (contracts/SafeMath.sol#75-80) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (contracts/SafeMath.sol#46-56) is never used and should be removed
SafeMath.trySub(uint256,uint256) (contracts/SafeMath.sol#34-39) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (contracts/Context.sol#3) allows old versions
Pragma version^0.8.0 (contracts/ERC20.sol#3) allows old versions
Pragma version^0.8.0 (contracts/IERC20.sol#3) allows old versions
Pragma version^0.8.0 (contracts/IERC20Metadata.sol#3) allows old versions
Pragma version^0.8.0 (contracts/Moniwar.sol#2) allows old versions
Pragma version^0.8.0 (contracts/Ownable.sol#3) allows old versions
Pragma version^0.8.0 (contracts/SafeMath.sol#3) allows old versions
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
ERC20.modifyWhiteList(address[],address[]).index (contracts/ERC20.sol#395) is a local variable never initialized
ERC20.modifyWhiteList(address[],address[]).index_scope_0 (contracts/ERC20.sol#398) 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
ERC20.allowance(address,address).owner (contracts/ERC20.sol#149) shadows:
- Ownable.owner() (contracts/Ownable.sol#34-36) (function)
ERC20._approve(address,address,uint256).owner (contracts/ERC20.sol#343) shadows:
- Ownable.owner() (contracts/Ownable.sol#34-36) (function)
Rename the local variables that shadow another component.
Additional information: link
ERC20.changeFeeWallet(address).feeWallet (contracts/ERC20.sol#407) lacks a zero-check on :
- _feeWallet = feeWallet (contracts/ERC20.sol#408)
Check that the address is not zero.
Additional information: link
ERC20.transfer(address,uint256) (contracts/ERC20.sol#133-144) compares to a boolean constant:
-_msgSender() != owner() && _isExcludedFromFee[_msgSender()] == false (contracts/ERC20.sol#136)
ERC20.transfer(address,uint256) (contracts/ERC20.sol#133-144) compares to a boolean constant:
-_msgSender() == owner() || _isExcludedFromFee[_msgSender()] == true (contracts/ERC20.sol#140)
ERC20.transferFrom(address,address,uint256) (contracts/ERC20.sol#178-201) compares to a boolean constant:
-sender != owner() || (_isExcludedFromFee[_msgSender()] == false && _isExcludedFromFee[sender] == false) (contracts/ERC20.sol#186)
ERC20.transferFrom(address,address,uint256) (contracts/ERC20.sol#178-201) compares to a boolean constant:
-sender == owner() || (_isExcludedFromFee[_msgSender()] == true && _isExcludedFromFee[sender] == true) (contracts/ERC20.sol#190)
Remove the equality to the boolean constant.
Additional information: link
Parameter ERC20.setAntiBot(bool)._enable (contracts/ERC20.sol#403) is not in mixedCase
Variable ERC20._feeTransfer (contracts/ERC20.sol#48) is not in mixedCase
Variable ERC20._feeWallet (contracts/ERC20.sol#50) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
MONIWAR.maxSupply (contracts/Moniwar.sol#8) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Unable to find whitepaper link on the website
Young tokens have high risks of scam / price dump / death
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
Token has relatively low CoinGecko rank
Last post in Twitter was more than 30 days ago