After a line by line manual analysis and automated review, Guardian Audits has concluded that:
- Published
- Language
- Solidity
- Chains
- Fantom
- Sector
- NFTs
- 0 Critical
- 0 High
- 2 Medium
- 3 Low
- 0 Informational
Scope
Overview
After a line by line manual analysis and automated review, Guardian Audits has concluded that:
- Ice Bear Society’s smart contracts have a LOW RISK SEVERITY
- Ice Bear Society’s smart contracts have an ACTIVE OWNERSHIP
- Important owner privileges –
reserveForGiveaway,setSaleTime,setCost,setMaxMintAmount,setBaseURI,pause,withdraw - Ice Bear Society’s smart contract owner has multiple “write” privileges. Centralization risk correlated to the active ownership is MEDIUM
📜 Ice Bear Society’s contract address: 0xF33925C8F4C13ae138C8E7D159e950824990eA36
Findings 5
-
ICE-1 Medium Centralization Risk Centralization / Privilege Resolved
Description
The
owneraddress,0xa3056090d5583747ef278f3cb6d599aa0e306e64, is not a multi-sig and has potentially dangerous permissions forrenounceOwnership,transferOwnership,reserveForGiveaway,setSaleTime,setCost,setMaxMintAmount,setBaseURI,pause,withdraw, and a modifiedmintexecution where theownercan mint Ice Bear NFTs for free.Recommendation
Make the
ownera multi-sig and/or introduce a timelock for improved community oversight. -
ICE-2 Medium Uncapped Minting Logical Error Resolved
Description
The
ownercan cause thetotalSupplyto exceed themaxSupplyby callingreserveForGiveawaywith an arbitrarily largeamount.Recommendation
Add a
requireor anifstatement to make sure the amount of tokens to reserve plus the current supply does not exceed the max supply. -
ICE-3 Low Immutability Modifiers Mutability Resolved
Description
The
devAddress,maxSupply, andbaseExtensionvariables are never modified, and should therefore be declaredconstant.Recommendation
Declare them as constant.
-
ICE-4 Low Function Visibility Modifiers Optimization Resolved
Description
The functions
mint,walletOfOwner,setCost,setMaxMintAmount,setBaseURI,pause, andwithdraware marked aspublic, but are never called from inside the contract.Recommendation
These functions can be marked
externalfor gas optimization and explicitness. -
ICE-5 Low Block Timestamp Tx Manipulation Resolved
Description
The
mintfunction relies onblock.timestampwhich can be manipulated by validators in extreme circumstances.Recommendation
The
block.timestampreliance can be safely ignored as thesaleStarttakes place in the past.While
block.timestampmay be more accurate for auction time, it can be manipulated by validators. In the future, it may help to rely onblock.numberinstead, or ensure resilience toblock.timestampmanipulation.
No findings match.
Put your code through the same review.
This review started with a conversation about scope. Tell us what you are building and we will plan yours with you.