Skip to content

feat: merge-train/fairies-v5#24580

Merged
AztecBot merged 7 commits into
v5-nextfrom
merge-train/fairies-v5
Jul 8, 2026
Merged

feat: merge-train/fairies-v5#24580
AztecBot merged 7 commits into
v5-nextfrom
merge-train/fairies-v5

Conversation

@AztecBot

@AztecBot AztecBot commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

BEGIN_COMMIT_OVERRIDE
fix: preload txe with protocol contracts (#24574)
test(e2e): onchain message delivery harness (#24373)
feat(pxe): recipient-side interactive handshake registration (#24514)
feat(aztec-nr): sender-side support for interactive handshakes (#24522)
test(txe): struct support in oracle serialization roundtrip tests (#24588)
refactor(aztec-nr): drop unused HandshakeNote fields (#24595)
END_COMMIT_OVERRIDE

vezenovm and others added 3 commits July 7, 2026 09:41
Fixes
[F-701](https://linear.app/aztec-labs/issue/F-701/e2e-unconstrained-delivery-via-non-interactive-handshake)
Fixes
[F-768](https://linear.app/aztec-labs/issue/F-768/e2e-arbitrary-secret)

Cross-PXE harness for onchain private delivery over two axes: delivery
**mode** x tagging-secret **source**. Lives in
`yarn-project/end-to-end/src/automine/delivery/`, split into
`onchain.test.ts` (the generic strategy x mode harness) and
`constrained.test.ts` (single-PXE constrained sequencing + the soundness
boundary), both wired into `bootstrap.sh`.

`buildMessageDeliveryTest({ strategy, mode, senderHook,
recipientRegistration? })`. PXE A sends, isolated PXE B discovers from
on-chain logs + the HandshakeRegistry. `senderHook` is required: every
cell states its source explicitly rather than leaning on the PXE
default. `mode` can split per message type (`{ events, notes }`) to
exercise cross-mode reuse.

- handshake x constrained: green
- handshake x unconstrained: green
- arbitrary secret x unconstrained (recipient registers it): green
- address-derived x unconstrained (recipient registers the sender):
green
- cross-mode, constrained bootstrap then unconstrained reuse on one
handshake: green
- cross-mode, unconstrained bootstrap then constrained reuse on one
handshake: green (the stricter direction: the constrained reuse proves
the predecessor sequence nullifier and validates the reused secret
against the registry at index 0, where the tolerant unconstrained scan
in the forward cell would absorb it silently)

These green cells are not unit-coverable: discovery is PXE-side
scanning, so only a cross-PXE harness proves a message reached an
isolated wallet.

`constrained.test.ts` keeps the single-PXE constrained sequencing suite
(handshake reuse, concurrency/batching) plus `rejects unsound sources`.

Renames `e2e_constrained_delivery` -> the `automine/delivery` split
above, and the `ConstrainedDeliveryTest` contract ->
`OnchainDeliveryTest`. Adds `emit_*_unconstrained` test-contract fns +
`TestWallet.registerTaggingSecretSource` (passthrough to
`PXE.registerTaggingSecretSource` for any non-sender source, replacing
the narrower `registerArbitrarySecret`).

---------

Co-authored-by: AztecBot <tech@aztec-labs.com>
Co-authored-by: Nicolas Chamo <nicolas@chamo.com.ar>
@nchamo nchamo requested a review from nventuro as a code owner July 7, 2026 16:53

@ludamad ludamad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot

AztecBot commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

@AztecBot AztecBot added this pull request to the merge queue Jul 8, 2026
Merged via the queue into v5-next with commit a455b9a Jul 8, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants