LULU Market is a community-driven, fair-launched Web 3.0 game, that aims to build a healthy and sustainable blockchain application. It supports our natural economies by bridging the metaverse and the real world. Through play-to-earn gaming and NFT minting in LULU Market, players can participate in DAO governance, stake to earn dividends, and get real goods from LULU Market.
It is a farming-style gamefi filled with fascinating functions that allow players to experience the real market trading mechanism in the metaverse. In LULU Market, players can plant, collect and trade for earnings, just like our real economics. Except, we brought it into the metaverse where players can have a 100% experience of possessing, purchasing, and trading raw materials they earn in games and contribute to the ecosystem but at the same time, players can trade their materials at the in-game market or exchange for REAL physical goods.
There are and will be many more functions in LULU Market. Many of them will have players trading with each other. We are creating a game scene with high interaction between players, where they can negotiate, trade, hire, and lease with each other. Others will have them complete daily tasks, grow crops, and unlock other characters.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
AccessControlEnumerable.grantRole(bytes32,address) (#838-841) ignores return value by _roleMembers[role].add(account) (#840)
AccessControlEnumerable.revokeRole(bytes32,address) (#846-849) ignores return value by _roleMembers[role].remove(account) (#848)
AccessControlEnumerable.renounceRole(bytes32,address) (#854-857) ignores return value by _roleMembers[role].remove(account) (#856)
AccessControlEnumerable._setupRole(bytes32,address) (#862-865) ignores return value by _roleMembers[role].add(account) (#864)
Ensure that all the return values of the function calls are used.
Additional information: link
EnumerableSet.values(EnumerableSet.AddressSet) (#273-282) uses assembly
- INLINE ASM (#277-279)
EnumerableSet.values(EnumerableSet.UintSet) (#346-355) uses assembly
- INLINE ASM (#350-352)
Do not use evm assembly.
Additional information: link
Pragma version^0.8.0 (#3) allows old versions
solc-0.8.0 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
LuckToken.constructor() (#1320-1324) uses literals with too many digits:
- _mint(msg.sender,100000000000000) (#1323)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
EnumerableSet.values(EnumerableSet.Bytes32Set) (#207-209) is never used and should be removed
AccessControl._setRoleAdmin(bytes32,bytes32) (#750-754) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#181-183) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#195-197) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#306-308) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#174-176) is never used and should be removed
Strings.toHexString(uint256) (#436-447) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#313-315) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (#273-282) is never used and should be removed
Strings.toString(uint256) (#411-431) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (#240-242) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#157-159) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (#141-143) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (#346-355) is never used and should be removed
Context._msgData() (#564-566) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#320-322) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#334-336) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#296-298) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#167-169) is never used and should be removed
Remove unused functions.
Additional information: link
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#1108-1122)
burn(address,uint256) should be declared external:
- LuckToken.burn(address,uint256) (#1330-1332)
decimals() should be declared external:
- ERC20.decimals() (#1045-1047)
- LuckToken.decimals() (#1326-1328)
getRoleMemberCount(bytes32) should be declared external:
- AccessControlEnumerable.getRoleMemberCount(bytes32) (#831-833)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#1155-1163)
symbol() should be declared external:
- ERC20.symbol() (#1028-1030)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#1059-1061)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#1071-1074)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#1136-1139)
getRoleMember(bytes32,uint256) should be declared external:
- AccessControlEnumerable.getRoleMember(bytes32,uint256) (#823-825)
name() should be declared external:
- ERC20.name() (#1020-1022)
totalSupply() should be declared external:
- ERC20.totalSupply() (#1052-1054)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#1090-1093)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#1079-1081)
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
Token has relatively low CoinGecko rank
Young tokens have high risks of price dump / death
Unable to find Youtube account