feat: merge-train/fairies-v5#23992
Merged
Merged
Conversation
Adds focused test helpers and clearer missing bb-avm error. I ran into a missing `bb-avm` in my local build and there nothing to tell me that it was missing until deeper down the stack. Whenever I added new tests I also found myself running TXE and calling out to nargo manually rather than ever using the bootstrap scripts. I added two test commands which will start a single TXE and run a single contract package or a single test through the bootstrap script.
) 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>
## Problem The nargo fmt check for noir-projects lives only in the aggregate `noir-projects/bootstrap.sh` `prep` function. CI stopped invoking that script when the build moved to the root Makefile (90b7a95, "feat: build with makefile"): the Makefile calls each subproject bootstrap directly. Since then no nargo fmt check has run in CI, which is how unformatted `.nr` files have been landing and showing up as unrelated fmt diffs in later PRs. ## Fix Extract the check into a `format_check` function in `noir-projects/bootstrap.sh` and wire it as a `noir-projects-format-check` Makefile target, mirroring `bb-cpp-format-check`. It is a prerequisite of all four noir-projects subproject builds, preserving the old `prep` ordering: the check doubles as the nargo git dependency download, which must finish before the subproject builds run nargo in parallel. Also add `protocol-fuzzer/contracts` to the check and to the precommit hook. It is a Nargo workspace that no check covered, and it had already accumulated fmt drift. The nargo path in both loops is now anchored (repo root in the bootstrap, absolute in the precommit) since the previous relative form only resolved for workspaces one level under noir-projects. ## Red green The branch tip deliberately leaves 5 unformatted files untouched (3 from the recent delivery module PRs, 2 in protocol-fuzzer/contracts), so CI on this PR should fail in `noir-projects-format-check`. A follow up commit will run `nargo fmt` to turn it green.
Collaborator
Author
Flakey Tests🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry. |
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
chore: improve noir contract test tooling (#23946)
feat(aztec-nr): extend OnchainDelivery builder for secret origin (#23865)
feat(aztec-nr): wire handshake secret discovery into contract sync (#23938)
fix(ci): run noir-projects nargo fmt check in CI (#24003)
END_COMMIT_OVERRIDE