feat: merge-train/fairies-v5#24580
Merged
Merged
Conversation
As per title
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>
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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