mirror of
https://github.com/logos-blockchain/lez-fuzzing.git
synced 2026-08-07 01:43:13 +00:00
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).
39 lines
1.5 KiB
YAML
39 lines
1.5 KiB
YAML
name: Checkout logos-execution-zone
|
|
description: >
|
|
Checks out logos-blockchain/logos-execution-zone into a sub-directory and
|
|
symlinks it to the expected sibling path (../logos-execution-zone) so that
|
|
Cargo path dependencies resolve correctly.
|
|
|
|
inputs:
|
|
ref:
|
|
description: >
|
|
Git ref (SHA, tag, or branch) of logos-execution-zone to check out.
|
|
Defaults to the pinned, reviewed revision below — this single line is the
|
|
source of truth for the LEZ version every PR-gating workflow builds against.
|
|
To bump it: update ../logos-execution-zone to a tested commit, run
|
|
`just update-lez`, replace this SHA, and open a PR. The scheduled
|
|
lez-compat workflow overrides this with `main` to detect upstream drift.
|
|
required: false
|
|
default: d6e4ae694e7419f5906b340c232704466a1917b7
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Checkout logos-execution-zone alongside lez-fuzzing
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: logos-blockchain/logos-execution-zone
|
|
ref: ${{ inputs.ref }}
|
|
path: logos-execution-zone
|
|
|
|
- name: Symlink logos-execution-zone to sibling directory
|
|
run: ln -s "$GITHUB_WORKSPACE/logos-execution-zone" "$GITHUB_WORKSPACE/../logos-execution-zone"
|
|
shell: bash
|
|
|
|
- name: Report pinned LEZ revision
|
|
run: |
|
|
echo "LEZ ref: ${{ inputs.ref }}"
|
|
echo "LEZ SHA: $(git -C "$GITHUB_WORKSPACE/logos-execution-zone" rev-parse HEAD)" \
|
|
| tee -a "$GITHUB_STEP_SUMMARY"
|
|
shell: bash
|