feat: add pinned-build support for protocol contracts in noir-contracts (v4)#20982
Merged
ludamad merged 1 commit intobackport-to-v4-stagingfrom Feb 28, 2026
Merged
Conversation
Adds a mechanism to pin protocol contract artifacts via pinned-protocol-contracts.tar.gz, mirroring the existing pinned-build support in noir-protocol-circuits. When the tarball is present, the build extracts pre-compiled protocol contract artifacts and skips their compilation. This prevents changes to aztec-nr from altering the protocol contracts hash, which must remain stable for mainnet compatibility. Usage: ./bootstrap.sh pin-protocol-contracts This builds only the protocol contracts and creates the tarball. Commit pinned-protocol-contracts.tar.gz to freeze the artifacts.
ludamad
added a commit
that referenced
this pull request
Mar 3, 2026
BEGIN_COMMIT_OVERRIDE fix(aztec-nr): account for AES PKCS#7 padding in message plaintext length (#20840) feat: remove epk sign from message payload (#20926) chore: increase mainnet local ejection threshold to 190k (#20884) feat: add pinned-build support for protocol contracts in noir-contracts (v4) (#20982) fix!: undo bad fix (#20987) chore: backport #20967 to v4 (metric on how many epochs validator has been on committee) (#20989) chore(sequencer): e2e tests for invalid signature recovery in checkpoint attestations (#20971) feat: allow custom addresses to be prefunded with fee juice in local network (backport #21000) (#21004) chore: increase max fee bots use in tests (#20867) END_COMMIT_OVERRIDE
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.
Problem: The
mainnet_compatibility.test.tstest checks thatprotocolContractsHashmatches a hardcoded mainnet value. We missed protocol contracts while pinning protocol circuits.Solution:
pinned-protocol-contracts.tar.gzexists in thenoir-contracts/directory, the build extracts pre-compiled protocol contract artifacts and skips compiling them./bootstrap.sh pin-protocol-contractscommand to build protocol contracts and create the tarball