42 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
61d5a729ec
fix: add timeout to model based stateful lockstep 2026-07-13 13:25:47 +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
e19b1b73bd
fix: dependency config 2026-07-06 13:02:45 +02:00
Roman
325c37a291
fix: targets matrix reuse 2026-07-02 15:04:31 +02:00
Roman
0f4cf52491
test: transaction ordering independence 2026-07-02 13:55:36 +02:00
Roman
4768d581b3
fix: bump to the latest hash 2026-06-30 09:47:37 +02:00
copilot-swe-agent[bot]
c92746a7f6
chore: merge main into chore-sync-with-lez (resolve conflicts) 2026-06-27 04:37:21 +00:00
Roman
239c814c30
fix: remove on push trigger 2026-06-27 11:49:42 +08:00
Roman
0c4b7fb382
fix: exclude corpus artifacts from summary 2026-06-27 09:40:40 +08:00
Roman
8b48478050
fix: create PR on top of main 2026-06-26 22:41:14 +08:00
Roman
3b0a61e3b9
fix: unique branch name for each new PR 2026-06-26 20:56:24 +08:00
Roman
d09d896edb
test: add on push trigger 2026-06-26 10:38:42 +08:00
Roman
2e2b41b1d8
fix: files changed summary to simplify generated PR review 2026-06-26 10:32:47 +08:00
Roman
e4c4d1eca7
fix: sync with updated LEZ API 2026-06-25 13:15:33 +08:00
Roman
aeec0e275a
chore: remove redundant circuits installation 2026-06-25 12:33:43 +08:00
Roman
03d9440fba
fix: remove on push trigger 2026-06-25 11:21:35 +08:00
Roman
8b44d7c967
fix: use PAT to authorize workflow to create PR 2026-06-24 14:17:10 +08:00
Roman
e38a53c253
test: corpus update workflow 2026-06-24 12:33:17 +08:00
Roman
21281e1c96
feat: automatic corpus update with minimize 2026-06-23 13:49:55 +08:00
Roman
a699899873
fix: run props tests which require RISC0_DEV_MODE off 2026-06-22 16:09:37 +08:00
Roman
9c431c98ac
fix: reset compat workflow to schedule only 2026-06-22 11:01:56 +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
4657620ab7
fix: clippy happy 2026-06-17 10:14:36 +08:00
Roman
2b949127a7
fix: simplify the code 2026-06-16 13:28:33 +08:00
Roman
7843a90254
fix: lower the load per single runner 2026-06-16 13:17:42 +08:00
Roman
cfc415d214
fix: workflow files update
- polish documentation
2026-06-12 11:47:43 +08:00
Roman
0710dbfc2b
fix: update mutants workflow 2026-06-12 11:13:14 +08:00
Roman
ee7b3b0f69
fix: mutants-protocol invocation 2026-05-28 21:27:48 +08:00
Roman
1da53a9566
fix: resolve path to LEZ 2026-05-28 20:50:45 +08:00
Roman
e0720cbceb
test: initial mutants for props and protocol 2026-05-28 20:41:11 +08:00
Roman
aceb12f054
fix: run aggregated coverage instead 2026-05-28 17:59:21 +08:00
Roman
db477a42d0
feat: apply changes from PR1 except corpus 2026-05-27 19:41:34 +08:00
Roman
471077b7df
test: add sequencer vs replayer target 2026-05-19 11:31:48 +08:00
Roman
fb6071e72a
fix: unlock cargo-fuzz version 2026-05-07 13:59:19 +08:00
Roman
ec1063083c
fix: install circuits 2026-04-20 13:52:25 +08:00
Roman
5b39131150
fix: add circuits dir 2026-04-20 13:41:24 +08:00
Roman
1cda357e47
fix: lez repo path 2026-04-20 13:35:20 +08:00
Roman
18c40d81fd
fix: path in workflow 2026-04-20 13:29:55 +08:00
Roman
8bd0a1a612
fix: add new fuzz targets
- template for adding targets
2026-04-15 15:47:01 +08:00
Roman
c62bacece0
Initial commit 2026-04-13 16:03:20 +08:00