OneArt is an Ecosystem of NFT and Metaverse products.
The global mission of OneArt is to build a scalable and easy-to-use NFT & Metaverse infrastructure to let industries utilize the full potential of advanced NFT technologies. The goal is to become a global leader pursuing Mass Adoption through the OneArt Ecosystem Products.
Contract ownership is not renounced (belongs to a wallet)
ArtWallet.burnForever(uint256) (#894-897) should emit an event for:
- maxSupply = maxSupply.sub(_amount) (#895)
ArtWallet.decreaseMaxSupply(uint256) (#902-905) should emit an event for:
- maxSupply = maxSupply.sub(_amount) (#904)
Emit an event for critical parameter changes.
Additional information: link
Pragma version^0.8.0 (#234) allows old versions
Pragma version^0.8.0 (#803) allows old versions
Pragma version^0.8.0 (#333) allows old versions
Pragma version^0.8.0 (#417) allows old versions
Pragma version^0.8.0 (#846) allows old versions
Pragma version^0.8.0 (#5) allows old versions
Pragma version^0.8.0 (#260) allows old versions
Pragma version^0.8.0 (#446) 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
Parameter ArtWallet.burnForever(uint256)._amount (#894) is not in mixedCase
Parameter ArtWallet.mint(address,uint256)._amount (#910) is not in mixedCase
Parameter ArtWallet.decreaseMaxSupply(uint256)._amount (#902) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
SafeMath.mul(uint256,uint256) (#122-124) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#65-70) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#77-82) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#169-178) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#23-29) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#218-227) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#192-201) is never used and should be removed
Context._msgData() (#251-253) is never used and should be removed
SafeMath.mod(uint256,uint256) (#152-154) is never used and should be removed
SafeMath.div(uint256,uint256) (#136-138) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#48-58) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#36-41) 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) (#591-605)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#833-840)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#309-311)
mint(address,uint256) should be declared external:
- ArtWallet.mint(address,uint256) (#910-913)
decimals() should be declared external:
- ERC20.decimals() (#528-530)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#638-646)
symbol() should be declared external:
- ERC20.symbol() (#511-513)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#542-544)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#554-557)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#619-622)
burnForever(uint256) should be declared external:
- ArtWallet.burnForever(uint256) (#894-897)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#317-320)
name() should be declared external:
- ERC20.name() (#503-505)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#573-576)
decreaseMaxSupply(uint256) should be declared external:
- ArtWallet.decreaseMaxSupply(uint256) (#902-905)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#818-820)
Use the external attribute for functions never called from the contract.
Additional information: link
ArtWallet.removeMinter(address) (#928-938) has costly operations inside a loop:
- mintersList.pop() (#934)
Use a local variable to hold the loop computation result.
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website