Skip to content

feat!: split compute note hash and nullifier to reduce hashing#21639

Merged
nventuro merged 11 commits intomerge-train/fairiesfrom
nico/f-460-split-compute_note_hash_and_nullifier-to-reduce-hashing
Mar 18, 2026
Merged

feat!: split compute note hash and nullifier to reduce hashing#21639
nventuro merged 11 commits intomerge-train/fairiesfrom
nico/f-460-split-compute_note_hash_and_nullifier-to-reduce-hashing

Conversation

@nventuro
Copy link
Contributor

@nventuro nventuro commented Mar 16, 2026

This should fix the performance regression from #21438. Marked as a breaking change since some contracts might call attempt_note_discovery manually.

Fixes F-344.
Fixes #11157

@nventuro nventuro requested review from Thunkar and nchamo March 16, 2026 22:29
@nventuro nventuro added the claudebox Owned by claudebox. it can push to this PR. label Mar 16, 2026
@AztecBot AztecBot force-pushed the nico/f-460-split-compute_note_hash_and_nullifier-to-reduce-hashing branch from 418373c to 7e96a9d Compare March 16, 2026 23:32
@nventuro
Copy link
Contributor Author

We need support for #[allow(deprecated)].

Copy link
Contributor

@nchamo nchamo left a comment

Choose a reason for hiding this comment

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

Great improvement!

@nventuro nventuro requested a review from nchamo March 17, 2026 21:10
@nventuro nventuro enabled auto-merge (squash) March 17, 2026 21:10
…packages into nico/f-460-split-compute_note_hash_and_nullifier-to-reduce-hashing
@nventuro nventuro merged commit 59565ba into merge-train/fairies Mar 18, 2026
11 checks passed
@nventuro nventuro deleted the nico/f-460-split-compute_note_hash_and_nullifier-to-reduce-hashing branch March 18, 2026 06:04
@AztecBot
Copy link
Collaborator

❌ Failed to cherry-pick to v4-next due to conflicts. (🤖) View backport run.

AztecBot pushed a commit that referenced this pull request Mar 18, 2026
…ashing (#21639)

Cherry-pick of 59565ba with conflicts for backport to v4-next.
github-merge-queue bot pushed a commit that referenced this pull request Mar 18, 2026
BEGIN_COMMIT_OVERRIDE
feat!: split compute note hash and nullifier to reduce hashing (#21639)
feat: gas estimations on send (#21646)
END_COMMIT_OVERRIDE
AztecBot added a commit that referenced this pull request Mar 18, 2026
nventuro added a commit that referenced this pull request Mar 19, 2026
…1134, #21072, #21186, #21189, #21229, #21228, #21234, #21639) (#21745)

## Summary

Combined backport of 12 PRs to v4-next, cherry-picked in chronological
merge order:

1. #20512 — docs: add delayedpublicmutable apiref, fix misc docs
2. #20379 — feat: custom message handlers in Aztec.nr
3. #20831 — feat!: make unused msg disco fns private
4. #21024 — feat: add compile-time size check for events and error code
links
5. #21134 — chore: add warning on invalid recipients
6. #21072 — feat: add aztecaddress::is_valid
7. #21186 — chore: use returns `true` for boolean fns
8. #21189 — feat: add note hash and nullifier helper functions with
domain separation
9. #21229 — docs: small delayedpubmut update
10. #21228 — test: restore pubmut tests
11. #21234 — fix: claim contract & improve nullif docs
12. #21639 — feat!: split compute note hash and nullifier to reduce
hashing

Each PR is a separate commit (raw cherry-pick with conflicts left in),
followed by a single final commit that resolves all conflicts — making
it easy to review the conflict resolution independently.

## Conflict resolution (last commit)

- `delayed_public_mutable.nr` / `public_immutable.nr` — merged doc
comments from both sides
- `aztec.nr` macros — integrated custom message handler + split compute
functions
- `discovery/mod.nr` / `process_message.nr` — merged offchain inbox sync
+ custom handler dispatch + split compute
- `constants.nr` / `constants_tests.nr` — added new domain separators
- `Nargo.toml` — added custom_message_contract
- `netlify.toml` — merged error code redirects
- `auth_contract` — kept v4-next delay value
- `note_metadata.nr` — doc comment reformat
- `migration_notes.md` — merged migration notes from both sides
- Deleted `traits.nr` (v4-next uses `traits/` directory)


ClaudeBox log: https://claudebox.work/s/3145d1bd30977c20?run=1

---------

Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-to-v4-next claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants