Skip to content

feat(aztec-nr): wire constrained tagging into message delivery#23867

Closed
vezenovm wants to merge 9 commits into
mv/f-669-constrained-delivery-helpersfrom
mv/f-670-constrained-delivery
Closed

feat(aztec-nr): wire constrained tagging into message delivery#23867
vezenovm wants to merge 9 commits into
mv/f-669-constrained-delivery-helpersfrom
mv/f-670-constrained-delivery

Conversation

@vezenovm

@vezenovm vezenovm commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Fixes F-670

  • The constrained branch of do_private_message_delivery resolves the handshake secret, emits the per-send chain nullifier, and derives the constrained log tag.
  • Adds compute_constrained_log_tag and emit_nullifier_and_compute_constrained_tag.
  • TXE tests cover note, maybe-note, and event delivery advancing the index chain, plus the missing-nullifier failure case. Adds e2e_constrained_delivery.test.ts.

Stacked on #23865 (F-697) and #23866 (F-669).

@vezenovm vezenovm requested a review from nventuro as a code owner June 4, 2026 13:58
@vezenovm vezenovm force-pushed the mv/f-669-constrained-delivery-helpers branch from 69abd69 to e2a43cd Compare June 5, 2026 01:34
@vezenovm vezenovm force-pushed the mv/f-670-constrained-delivery branch from 0afb5db to 11e7eff Compare June 5, 2026 01:34
@vezenovm vezenovm requested a review from a team as a code owner June 5, 2026 18:13
vezenovm added a commit that referenced this pull request Jun 10, 2026
)

Fixes
[F-697](https://linear.app/aztec-labs/issue/F-697/aztec-nr-extend-the-onchaindelivery-builder-for-secret-origin)
Fixes
[F-649](https://linear.app/aztec-labs/issue/F-649/fixaztec-nr-skip-note-log-linkage-for-onchain-constrained-delivery-to)

## Summary

- Extends `MessageDelivery` with separate typed builders for
unconstrained and constrained on-chain delivery.
- Adds internal tag-secret derivation config:
  - offchain: none
- onchain unconstrained: address-pair by default, with optional
non-interactive handshake selection
  - onchain constrained: non-interactive handshake
- Introduces `OnchainDeliveryMode` as the typed on-chain mode used by
tagging-index helpers and the HandshakeRegistry ABI instead of raw `u8`
values.
- Keeps invalid delivery/tag-derivation combinations rejected at compile
time where possible.
- Stops linking constrained-tagged note logs to note-hash squashing, so
removing a squashed note does not break the recipient tag index chain.
- Re-pins the HandshakeRegistry standard contract and updates the
generated standard-contract metadata.

Constrained tagging is still not fully wired up: the delivery config is
validated, but tag emission remains mocked through the existing
wallet-derived unconstrained path behind TODO(#14565).

Stack: #23875, then this PR, then #23866, then #23867.

---------

Co-authored-by: AztecBot <tech@aztec-labs.com>
Co-authored-by: Nicolas Chamo <nicolas@chamo.com.ar>
@vezenovm vezenovm force-pushed the mv/f-669-constrained-delivery-helpers branch from 6337393 to c552943 Compare June 10, 2026 17:55
@vezenovm vezenovm force-pushed the mv/f-670-constrained-delivery branch from cf306d5 to 03a026c Compare June 10, 2026 18:17
vezenovm added 7 commits June 10, 2026 18:00
…nstrained-delivery

Propagates the rename of calculate_secret_and_index to
resolve_secret_and_index (and the test contract's calculate_and_return to
resolve_and_return) into the emit helper, TXE tests, and e2e test.
The registry source changes from #23938 shift the standard registry's
artifact hash, class id, and address. Regenerates the standard-contract
data and address pins and repacks the registry entry in
pinned-standard-contracts.tar.gz from the merged build.
@vezenovm

Copy link
Copy Markdown
Contributor Author

Closing in favor of #23866

@vezenovm vezenovm closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant