refactor: unify contract compilation pipeline via bb aztec_process (backport #22590)#22634
Merged
benesjan merged 4 commits intobackport-to-v4-next-stagingfrom Apr 17, 2026
Merged
Conversation
This commit records the raw output of git cherry-pick 9c8bb7b for PR #22590 (refactor: unify contract compilation pipeline via bb aztec_process). Conflicts left intact in this commit: - noir-projects/noir-contracts/bootstrap.sh — content conflict - noir-projects/protocol-fuzzer/SANDBOX_INSTRUCTIONS.md — modify/delete (deleted in HEAD) - noir-projects/protocol-fuzzer/setup-nightly-sandbox.sh — modify/delete (deleted in HEAD) Subsequent commits resolve the conflicts and fix the build.
- noir-contracts/bootstrap.sh: accept incoming removal of the legacy process_function VK-generation block. 'bb aztec_process' now handles VK generation directly, so the tmp_dir / jq / parallel plumbing that was still present on v4-next is no longer needed. - protocol-fuzzer/SANDBOX_INSTRUCTIONS.md and protocol-fuzzer/setup-nightly-sandbox.sh: drop. These files were introduced in a commit that landed on next after v4-next diverged, so they never existed on v4-next. PR #22590 only touched them to stay consistent with that later work; since v4-next doesn't have them, keep them absent.
benesjan
approved these changes
Apr 17, 2026
PR #22590 removed 'mkdir -p $tmp_dir' from bootstrap.sh's build function. On next that's fine because next's bootstrap.sh has no pinned-contracts logic. v4-next however still extracts pinned-protocol-contracts.tar.gz right after 'rm -rf target', so without the implicit target/ creation the tar step fails with: tar: target: Cannot open: No such file or directory Add an explicit 'mkdir -p target' after the rm -rf to restore the v4-next build.
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.
Backport of #22590 to v4-next.
Original PR summary
Moves
__aztec_nr_internals__prefix stripping intobb aztec_process(C++), so contract compilation collapses from four steps (nargo compile→transpile→strip prefixes→write_vk) to two (nargo compile→bb aztec_process). This removes the duplicated pipeline betweennoir-projects/noir-contracts/bootstrap.shandaztec compile(CLI), deletesstrip_aztec_nr_prefix.sh, and removes the TypeScriptstripInternalPrefixes()helper.Backport structure (3 commits)
chore: cherry-pick PR #22590 (conflicts unresolved)— rawgit cherry-pickoutput with conflict markers, preserved for review.fix: resolve cherry-pick conflicts for PR #22590— resolves only the conflict markers.aztec_process.cppall check out.Conflicts resolved
noir-projects/noir-contracts/bootstrap.sh— content conflict. v4-next still had the legacyprocess_functionblock plustmp_dir/jq/parallelplumbing for VK generation. Accepted the incoming PR's removal sincebb aztec_processnow handles VK generation directly.noir-projects/protocol-fuzzer/SANDBOX_INSTRUCTIONS.mdandnoir-projects/protocol-fuzzer/setup-nightly-sandbox.sh— modify/delete. These files were introduced onnextafter v4-next diverged (commit5b0c0e166e, "feat(fuzz): protocol fuzzer with bridge server and parallel batching") and never existed on v4-next. PR refactor: unify contract compilation pipeline via bb aztec_process #22590 only touched them to stay consistent with that later work, so they're dropped here.Diff vs. original PR
The size delta is entirely from the two protocol-fuzzer files that don't exist on v4-next.
Verification
bash -non all modified shell scripts: OKstrip_aztec_nr_prefix,STRIP_AZTEC_NR_PREFIX,stripInternalPrefixes, or the removed protocol-fuzzer files anywhere in the tree__aztec_nr_internals__prefix-stripping logic is present inbarretenberg/cpp/src/barretenberg/api/aztec_process.cpp(applied cleanly from the PR)ClaudeBox log: https://claudebox.work/s/0347afb057f4542d?run=1