Skip to content

chore: backport handshake registry contract (#22854) to v4-next#23063

Merged
vezenovm merged 4 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-22854-v4-next
May 8, 2026
Merged

chore: backport handshake registry contract (#22854) to v4-next#23063
vezenovm merged 4 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-22854-v4-next

Conversation

@AztecBot

@AztecBot AztecBot commented May 7, 2026

Copy link
Copy Markdown
Collaborator

Cherry-picks #22854 (feat(aztec-nr): Initial handshake registry contract with non interactive handshake function) to backport-to-v4-next-staging.

Conflict resolution

The only conflict was in noir-projects/noir-protocol-circuits/crates/types/src/constants_tests.nr. next has accumulated a number of new merkle/partial-note dom seps (DOM_SEP__MERKLE_HASH, DOM_SEP__NULLIFIER_MERKLE, DOM_SEP__PARTIAL_NOTE_COMMITMENT, DOM_SEP__PUBLIC_DATA_MERKLE) that don't exist on v4-next, so the upstream version of this file imports symbols that aren't defined here.

Resolution: drop the imports/assertions for those non-existent constants, but keep the two new ones added by this PR (DOM_SEP__HANDSHAKE_SECRET_HASH, DOM_SEP__NON_INTERACTIVE_HANDSHAKE_LOG_TAG). HashedValueTester sized <58, 51> = v4-next baseline <56, 49> plus the two new dom seps.

Validated:

  • Imports list matches the symbols actually referenced inside hashed_values_match_derived (no orphan imports / no missing imports).
  • Assertion counts inside the test match the tester generics: 48 assert_dom_sep_matches_derived + 3 assert_blob_prefixes_match_derived = 51 u32 values; plus 1 protocol-circuit value + 6 aztec-nr values = 58 total field values.
  • All aztec-nr APIs the new contract uses (derive_ecdh_shared_secret, generate_positive_ephemeral_key_pair, set_sender_for_tags, compute_log_tag, MessageDelivery.ONCHAIN_UNCONSTRAINED, Owned, emit_private_log_vec_unsafe, to_address_point, compute_siloed_private_log_first_field, poseidon2_hash_with_separator) exist on v4-next — the contract uses the aztec::protocol re-export of protocol_types.

Commit structure

Per the backport convention, history is preserved as:

  1. Cherry-pick with conflicts (markers in tree, recorded in history).
  2. Conflict resolution commit (this PR's tip).

No separate build-fixes commit was needed — the conflict was metadata-only.

Build verification

The container does not ship a prebuilt nargo, and Docker is unavailable, so noir-contracts/bootstrap.sh cannot run locally. Relying on CI for end-to-end build validation.

Original PR: #22854

ClaudeBox log: https://claudebox.work/s/096af9ddd4f770c8?run=4

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels May 7, 2026
vezenovm and others added 3 commits May 8, 2026 13:24
…ive handshake function (#22854)

cherry-pick of e67f943 with unresolved conflicts (markers preserved in history)
Drop incoming entries that don't exist on v4-next (DOM_SEP__MERKLE_HASH,
DOM_SEP__NULLIFIER_MERKLE, DOM_SEP__PARTIAL_NOTE_COMMITMENT,
DOM_SEP__PUBLIC_DATA_MERKLE) while keeping the two new ones added by
#22854 (DOM_SEP__HANDSHAKE_SECRET_HASH,
DOM_SEP__NON_INTERACTIVE_HANDSHAKE_LOG_TAG). HashedValueTester sized
<58, 51> = v4-next baseline <56, 49> + 2 new dom seps.
@AztecBot AztecBot force-pushed the claudebox/backport-22854-v4-next branch from 09bee5c to ffa6184 Compare May 8, 2026 13:26
@vezenovm vezenovm marked this pull request as ready for review May 8, 2026 14:54
@vezenovm vezenovm requested a review from LeilaWang as a code owner May 8, 2026 14:54
@vezenovm vezenovm enabled auto-merge May 8, 2026 14:54
@vezenovm vezenovm merged commit 6696135 into backport-to-v4-next-staging May 8, 2026
12 of 17 checks passed
@vezenovm vezenovm deleted the claudebox/backport-22854-v4-next branch May 8, 2026 15:09
AztecBot added a commit that referenced this pull request May 9, 2026
BEGIN_COMMIT_OVERRIDE
fix(aztec-up): Aztec installer does not shadow user installed binaries
on PATH (#22902)
fix: include sqlite binary in its npm package (#23039)
chore: backport #23041 (add sendMessagesAs to wallet api schemas) to
v4-next (#23081)
chore: backport DeployMethod refactor (#22985) to v4-next (#23029)
refactor(pxe): deduplicate tx hash lookups in MessageContextService
(#23075)
refactor(pxe): batch tagged private log queries across all secrets
(#23048)
refactor(pxe): batch log RPC calls in LogService.fetchLogsByTag (#23088)
feat(aztec-nr): Initial handshake registry contract with non interactive
handshake function (#22854)
fix: add Tag.random() helper required by backported #23088 tests
(#23094)
chore: backport: fix(aztec-up): installer does not shadow user binaries
on PATH (#22902) (#23060)
chore: backport handshake registry contract (#22854) to v4-next (#23063)
feat: deploy method refactor 2 (#23033)
refactor(pxe): skip redundant getBlock RPC when querying at anchor block
(#23100)
port(v4-next): feat(docs): autogenerate node JSON-RPC API reference
(#22543) (#23046)
chore: backport feat: deploy method refactor 2 (#23033) to v4-next
(#23103)
port(v4-next): feat(ci): Snapshots for aztec-nr contract compilation
failures and nargo expand (#23061) (#23104)
feat(txe): allow authorizing cross-contract utility calls in nr tests
(#23064)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants