MyMasterWar is a DeFi x NFT gaming ecosystem with the difference that blockchain technology is applied to the game, along with Free Play to Earn and Profit Sharing model. Unlike many other NFT Games, MyMasterWar does not require players to spend any money to start playing, which revolves around the plot:
Humans crave power, desire to live forever, want to change heaven and earth, and master the vast universe.
To do this, humans need an evolution in both their thought and power. The best scientists in the world have researched, invented, and refined the most elite genes in history. Players, as kings to rule their kingdoms, have to cross time and space, create real battles to improve and evolve themselves.
The first set of MyMasterWar takes place in the Middle Ages. The game system supports multiple platforms and multiple devices: Web games (PC, mobile phone, tablet), Android, and iOS.
The second part will be in the future when humans cross time and space to build their Virtual Metaverse Empires. Players will no longer use traditional devices such as laptops or mobile phones to participate in the game, instead, they will enter a 3D virtual world, transform into gods with endless strength and abilities to create and conquer the new worlds.
Contract ownership is not renounced (belongs to a wallet)
Address._verifyCallResult(bool,bytes,string) (contracts/util/Address.sol#223-243) uses assembly
- INLINE ASM (contracts/util/Address.sol#235-238)
Address.isContract(address) (contracts/util/Address.sol#23-33) uses assembly
- INLINE ASM (contracts/util/Address.sol#29-31)
Do not use evm assembly.
Additional information: link
Low level call in Address.functionStaticCall(address,bytes,string) (contracts/util/Address.sol#177-186):
- (success,returndata) = target.staticcall(data) (contracts/util/Address.sol#184)
Low level call in Address.sendValue(address,uint256) (contracts/util/Address.sol#51-62):
- (success) = recipient.call{value: amount}() (contracts/util/Address.sol#57)
Low level call in Address.functionDelegateCall(address,bytes,string) (contracts/util/Address.sol#212-221):
- (success,returndata) = target.delegatecall(data) (contracts/util/Address.sol#219)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (contracts/util/Address.sol#134-150):
- (success,returndata) = target.call{value: value}(data) (contracts/util/Address.sol#146-148)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Parameter MAT.rescueStuckErc20(address)._token (contracts/MAT.sol#50) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
SafeBEP20.safeDecreaseAllowance(IBEP20,address,uint256) (contracts/ERC20/SafeBEP20.sol#75-96) is never used and should be removed
Address.sendValue(address,uint256) (contracts/util/Address.sol#51-62) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (contracts/util/Address.sol#114-126) is never used and should be removed
SafeBEP20.safeTransferFrom(IBEP20,address,address,uint256) (contracts/ERC20/SafeBEP20.sol#22-32) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (contracts/util/Address.sol#212-221) is never used and should be removed
BEP20._burn(address,uint256) (contracts/ERC20/BEP20.sol#291-306) is never used and should be removed
Address.functionDelegateCall(address,bytes) (contracts/util/Address.sol#194-204) is never used and should be removed
Context._msgData() (contracts/util/Context.sol#10-12) is never used and should be removed
Address.functionStaticCall(address,bytes) (contracts/util/Address.sol#158-169) is never used and should be removed
SafeBEP20.safeIncreaseAllowance(IBEP20,address,uint256) (contracts/ERC20/SafeBEP20.sol#59-73) is never used and should be removed
SafeBEP20.safeApprove(IBEP20,address,uint256) (contracts/ERC20/SafeBEP20.sol#41-57) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (contracts/util/Address.sol#177-186) is never used and should be removed
Address.functionCall(address,bytes) (contracts/util/Address.sol#82-87) is never used and should be removed
Remove unused functions.
Additional information: link
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0x9E1850F4802e43e5E05C7C6d7D6ef4ddBb1E195c,15000000000000000000000000) (contracts/MAT.sol#39-42)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0xa48f87AA888d9a341140562e8c094dE45b62fE90,10500000000000000000000000) (contracts/MAT.sol#19-22)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0xA1CE933CE3384E1e9c3E27EE239d5c08b63F3dA6,2500000000000000000000000) (contracts/MAT.sol#31-34)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0xfd22D86bE8C45082C225741F152Cbac7003D145e,25000000000000000000000000) (contracts/MAT.sol#15-18)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0xF3a3F29C1F846CbDe9A17A161DF4c68243e3003f,15000000000000000000000000) (contracts/MAT.sol#23-26)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0xda9D2d8e320f4C05e41C0ACEb92B89F1c347BFeA,20000000000000000000000000) (contracts/MAT.sol#35-38)
MAT.constructor() (contracts/MAT.sol#12-43) uses literals with too many digits:
- _mint(0x30c48731e978A876500b6e521b87139c2246771C,12000000000000000000000000) (contracts/MAT.sol#27-30)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (contracts/ERC20/BEP20.sol#92-100)
symbol() should be declared external:
- BEP20.symbol() (contracts/ERC20/BEP20.sol#43-45)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (contracts/access/Ownable.sol#45-48)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (contracts/ERC20/BEP20.sol#122-130)
name() should be declared external:
- BEP20.name() (contracts/ERC20/BEP20.sol#35-37)
balanceOf(address) should be declared external:
- BEP20.balanceOf(address) (contracts/ERC20/BEP20.sol#74-82)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (contracts/ERC20/BEP20.sol#145-162)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/access/Ownable.sol#54-61)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (contracts/ERC20/BEP20.sol#105-113)
totalSupply() should be declared external:
- BEP20.totalSupply() (contracts/ERC20/BEP20.sol#67-69)
decimals() should be declared external:
- BEP20.decimals() (contracts/ERC20/BEP20.sol#60-62)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (contracts/ERC20/BEP20.sol#176-187)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (contracts/ERC20/BEP20.sol#203-218)
Use the external attribute for functions never called from the contract.
Additional information: link
Contract name (mymasterwar.com) 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.
Unable to find Youtube account