8 Commits

Author SHA1 Message Date
Roman
dec23d373c
chore: sync with LEZ main (bundled public/private actions)
Upstream LEZ merged the parallel Message vectors into action structs
(f16c3bd1e, 75326d031, e13b4cb23):

* `Message` now carries `public_actions: Vec<PublicActionWithID>`
  (account id paired with its post-state) and `private_actions:
  Vec<PrivateAction>` (nullifier + root + commitment + encrypted post
  state bundled per action) instead of six parallel vectors.
* `PrivacyPreservingCircuitOutput` mirrors the same bundling
  (`public_actions: Vec<PublicAction>` with pre/post halves).
* `Message::try_from_circuit_output(ids, nonces, output)` became the
  infallible `Message::from_circuit_output(nonces, output)`.
* `EncryptionScheme::encrypt` keys the note on the nullifier and
  dropped the output-index argument.
* `V03State::default()` seeds the commitment set with the protocol's
  dummy commitment, so `root_history` contains the live root from
  genesis — a nullifier bound to the live root is valid on the first
  transaction (previously the history started empty).

Harness changes:

* `synthesize_passing_proof` reconstructs the journal from bundled
  `PublicAction`s, mirroring the validator byte-for-byte.
* `arb_privacy_preserving_tx` generates 1..=3 deduplicated
  `PrivateAction`s (the length-mismatch and empty-commitments shapes
  are unrepresentable under the paired layout and were dropped) and
  pairs every public account id with its post-state.
* `arb_conflicting_nullifier_pair` builds the shared-nullifier pair as
  two private actions with distinct commitments.
* Encoding/witness targets build messages via the action structs; the
  circuit-output-mapping invariant asserts the pre-id/post pairing.
* Generator-contract and proof-synthesis tests updated accordingly
  (48/48 pass, with and without RISC0_DEV_MODE).

Bump the pinned LEZ SHA to d6e4ae69 and refresh both lockfiles.

Fixes the scheduled lez-compat failure (run 30977103292).
2026-08-05 10:35:29 +02:00
Roman
594026b040
fix: docs, LEZ commit hash 2026-07-09 12:50:46 +02:00
Roman
42f683ef29
fix: undo prove feature
- install external prover
2026-07-06 15:24:30 +02:00
Roman
4768d581b3
fix: bump to the latest hash 2026-06-30 09:47:37 +02:00
Roman
e4c4d1eca7
fix: sync with updated LEZ API 2026-06-25 13:15:33 +08:00
Roman
21281e1c96
feat: automatic corpus update with minimize 2026-06-23 13:49:55 +08:00
Roman
56162a66a3
fix: repo pinning
- minor invariant changes
- missing target in CI added
- docs
2026-06-22 10:17:30 +08:00
Roman
db477a42d0
feat: apply changes from PR1 except corpus 2026-05-27 19:41:34 +08:00