fix: skip oracle version check for pinned protocol contracts#21349
Merged
benesjan merged 2 commits intomerge-train/fairiesfrom Mar 11, 2026
Merged
fix: skip oracle version check for pinned protocol contracts#21349benesjan merged 2 commits intomerge-train/fairiesfrom
benesjan merged 2 commits intomerge-train/fairiesfrom
Conversation
… pinned protocol contracts Protocol contracts (ContractInstanceRegistry, ContractClassRegistry, FeeJuice) shipped with committed bytecode compiled against an older oracle version. Since their bytecode cannot be changed, we skip the oracle version check for these contracts and register legacy oracle name aliases (utilityLog, utilityAssertCompatibleOracleVersion, etc.) so the old oracle names still resolve correctly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
benesjan
added a commit
that referenced
this pull request
Mar 11, 2026
benesjan
added a commit
that referenced
this pull request
Mar 12, 2026
ludamad
pushed a commit
that referenced
this pull request
Mar 12, 2026
nventuro
added a commit
that referenced
this pull request
Mar 13, 2026
## Summary - Backports 5 PRs from `merge-train/fairies` related to oracle changes: - #21101 - feat: improve oracle name prefixes - #21349 - fix: skip oracle version check for pinned protocol contracts - #21244 - refactor: deduplicate MembershipWitness struct - #21176 - feat(pxe)!: pass BoundedVec sizes as oracle params - #21209 - refactor!: cleaning up public call and tx phase related oracles ## Test plan - CI passes on backport branch 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Nicolas Chamo <nicolas@chamo.com.ar> Co-authored-by: benesjan <benesjan@users.noreply.github.com>
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 13, 2026
BEGIN_COMMIT_OVERRIDE fix: skip oracle version check for pinned protocol contracts (#21349) fix: not reusing tags of partially reverted txs (#20817) feat: move storage_slot from partial commitment to completion hash (#21351) feat: offchain reception (#20893) fix: handle workspace members in needsRecompile crate collection (#21284) fix(aztec-nr): return Option from decode functions and fix event commitment capacity (#21264) fix: handle bad note lengths on compute_note_hash_and_nullifier (#21271) fix: address review feedback from PRs #21284 and #21237 (#21369) fix: claim contract & improve nullif docs (#21234) feat!: auto-enqueue public init nullifier for contracts with public functions (#20775) fix: search for all note nonces instead of just the one for the note index (#21438) fix: set anvilSlotsInAnEpoch in e2e_offchain_payment to prevent finalization race (#21452) fix: complete legacy oracle mappings for all pinned contracts (#21404) fix: correct inverted constrained encryption check in message delivery (#21399) feat!: improve L2ToL1MessageWitness API (#21231) 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.
We messed up backports of PRs modifying oracles because we forgot that we already have pinned protocol contracts artifacts on the
v4branch that effectively result in us having dependency on the old oracles. We agreed with Nico that to get around this we have to:Note that this will need to be backported with #21101 at the same time #21101 is not backportable on its own.
AI Summary
utilityLog,utilityAssertCompatibleOracleVersion,utilityLoadCapsule,privateStoreInExecutionCache,privateLoadFromExecutionCache) so the old oracle names used by these contracts still resolveisProtocolContractto only the 3 actual protocol dependencies (was previously checking all 6 canonical addresses)TODO(F-416)preservation comments to all affected oracle methods