A flaw in the MarketplaceLibraries::getMarketPlaceStatus(...) function incorrectly determines when settlement is active, may disrupt marketplaces lifecycle.
The main problems are:
Incorrect interpretation of tge == 0 as "settlement not active" instead of "marketplace not initialized", as tge once initialized is always a timestamp in the future !0. If you really want to check for "settlement not active", the check should be if _blockTimestamp < _marketPlaceInfo.tge because settlements starts AFTER the token generation event.
Lack of explicit handling for the Online status. Which must be the case since the status is neither of Uninitialized, Offline, AskSettling, BidSettling.
Disruption of marketplaces lifecycle. These issues could lead to incorrect marketplace status reporting, affecting various operations that depend on the accurate determination of the marketplace's current state.
Manual review.
Fix MarketplaceLibraries::getMarketPlaceStatus(...):
Validate TGE:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.