Repository navigation
v2.5.0
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.tsso when decoding query payloads, the trimmed prophecy object copiesrawProphecy.zkinto 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.zkis an object, we now assign it onto the trimmed object: -
trimmedProphecy.zk = rawProphecy.zk(guarded — only whenrawProphecy.zkis an object)
-
Impact
-
payload.prophecyPayload.zkis now available after decoding. -
The ZK bundle is also available via
payload.payloadExtras(where applicable), enabling:- export manifest to include the full
zkobject - SVG metadata embedding to include the original
zkbundle - Future verifiers to check that an export contains the same proof that was originally sealed
- export manifest to include the full
Compatibility & safety
- Non-ZK prophecies unchanged: if no
zkis present, nothing new is added. - Guarded copy: only copies
zkwhen 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
- v2.5.0 by @Phinetwork in #13
Full Changelog: v2.3.0...v2.5.0