Verahai v2.6.0 — Market Status: “Canceled” Can No Longer Be Overridden by Resolution
What changed
- Updated
deriveMarketStatusinsrc/SigilMarkets/utils/marketTiming.tsto preserve explicitcanceledstatus even when aresolutionobject exists. - The function now captures status earlier and short-circuits when
status === "canceled"so cancellation can’t be reclassified downstream.
Why this matters
Previously, if a market had a resolution object, deriveMarketStatus could return a resolution-based status (voided / resolved) even when the market was explicitly marked canceled.
That caused:
- UI components to show the wrong state
- Messaging to lose cancellation-specific copy / flows
- Confusion between “canceled by authority” vs “resolved by outcome” vs “voided by policy”
Verahai’s UX depends on canceled being distinct, so it must remain intact.
Behavior (after v2.6.0)
-
✅ If a market is explicitly
canceled, it stayscanceledno matter what other objects exist. -
✅ For non-canceled markets, resolution override behavior is unchanged:
resolutioncan still map status tovoidedorresolvedexactly as before.
No semantic changes elsewhere
isResolvedLikeStatusis unchanged and continues to treatcanceledas resolved-like where that behavior is relied on (e.g., disabling trading, final-state UI groupings, etc.).
Summary
v2.6.0 fixes a subtle but critical classification bug: cancellation is now authoritative and won’t be overwritten by resolution-derived statuses, while all existing resolution mapping behavior for non-canceled markets remains the same.
What's Changed
- v2.6.0 by @Phinetwork in #14
Full Changelog: v2.5.0...v2.6.0