Skip to content

Releases: Phinetwork/Verahai

v2.6.0

09 Jan 01:42
17b579c

Choose a tag to compare

Verahai v2.6.0 — Market Status: “Canceled” Can No Longer Be Overridden by Resolution

What changed

  • Updated deriveMarketStatus in src/SigilMarkets/utils/marketTiming.ts to preserve explicit canceled status even when a resolution object 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 stays canceled no matter what other objects exist.

  • ✅ For non-canceled markets, resolution override behavior is unchanged:

    • resolution can still map status to voided or resolved exactly as before.

No semantic changes elsewhere

  • isResolvedLikeStatus is unchanged and continues to treat canceled as 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

Full Changelog: v2.5.0...v2.6.0

v2.5.0

09 Jan 00:40
2bc0e24

Choose a tag to compare

Verahai v2.5.0 — Prophecy Exports Now Preserve Full ZK Proof Bundles

What changed

  • Prophecy payload decoding now retains the original ZK proof bundle instead of trimming it away.
  • Updated src/utils/payload.ts so when decoding query payloads, the trimmed prophecy object copies rawProphecy.zk into the decoded/trimmed prophecy payload.

Why this matters

Previously, prophecyPayload was “trimmed” in a way that dropped the zk bundle, which meant:

  • Exporters (especially exportZIP) could not embed the original proof into:

    • the export manifest, and
    • the SVG <metadata> / data-* metadata
  • Result: prophecy exports looked valid visually, but were missing the cryptographic ZK attestation required for full portability and offline verification continuity.

With v2.5.0, the exact proof bundle that was sealed with the prophecy is preserved end-to-end, so exports can carry the full ZK integrity artifact.

Technical details

  • File: src/utils/payload.ts

  • Behavior: During decode/trim of prophecy payloads:

    • If rawProphecy.zk is an object, we now assign it onto the trimmed object:

    • trimmedProphecy.zk = rawProphecy.zk (guarded — only when rawProphecy.zk is an object)

Impact

  • payload.prophecyPayload.zk is now available after decoding.

  • The ZK bundle is also available via payload.payloadExtras (where applicable), enabling:

    • export manifest to include the full zk object
    • SVG metadata embedding to include the original zk bundle
    • Future verifiers to check that an export contains the same proof that was originally sealed

Compatibility & safety

  • Non-ZK prophecies unchanged: if no zk is present, nothing new is added.
  • Guarded copy: only copies zk when it’s an object to avoid malformed payloads.
  • No new crypto, no schema change: just preserves already-existing data instead of dropping it.

Summary

Verahai v2.5.0 fixes a critical portability gap: sealed prophecy exports now include the full ZK proof bundle exactly as originally minted, ensuring manifests + SVGs remain complete, self-verifying artifacts.

What's Changed

Full Changelog: v2.3.0...v2.5.0

v2.3.0

05 Jan 23:22
741c1a9

Choose a tag to compare

What's Changed

Full Changelog: v2.1.1...v2.3.0

v2.1.1

05 Jan 22:45
3caa90a

Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

05 Jan 22:43
a2c657a

Choose a tag to compare

What's Changed

Full Changelog: v2.0.5...v2.1.0

v2.0.5

05 Jan 21:22
92cfc93

Choose a tag to compare

What's Changed

Full Changelog: v2.0.4...v2.0.5

v2.0.4

05 Jan 21:11
994384f

Choose a tag to compare

What's Changed

Full Changelog: v2.0.3...v2.0.4

v2.0.3

05 Jan 21:09
b208bae

Choose a tag to compare

What's Changed

Full Changelog: v2.0.2...v2.0.3

v2.0.2

05 Jan 21:01
fbb22d5

Choose a tag to compare

What's Changed

Full Changelog: v2.0.1...v2.0.2

v2.0.1

05 Jan 19:52
4c3b5d2

Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v2.0.1