fix: complete legacy oracle mappings for all pinned contracts#21404
fix: complete legacy oracle mappings for all pinned contracts#21404nventuro merged 7 commits intomerge-train/fairiesfrom
Conversation
9f6ae8f to
c2e7e68
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
c2e7e68 to
3d4d2c1
Compare
yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts
Outdated
Show resolved
Hide resolved
8e2b928 to
4e2937a
Compare
yarn-project/pxe/src/contract_function_simulator/oracle/interfaces.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/interfaces.ts
Outdated
Show resolved
Hide resolved
c9605a5 to
a83fdaf
Compare
…rams PR #21176 added maxNotePackedLen and maxEventSerializedLen parameters to this oracle. Pinned protocol contracts call with the old 3-param signature, so the legacy mapping needs an adapter that supplies the frozen default values (8 and 10 respectively). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
a83fdaf to
d1f691a
Compare
d1f691a to
3a72716
Compare
yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts
Outdated
Show resolved
Hide resolved
yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts
Outdated
Show resolved
Hide resolved
| } | ||
|
|
||
| assertCompatibleOracleVersion(version: number): void { | ||
| assertCompatibleOracleVersion(version: number): Promise<void> { |
There was a problem hiding this comment.
Do we not need to adjust here as well? Is this because oracle wraps this?
There was a problem hiding this comment.
The Oracle wrapping this should not affect this as the wrapping is one abstraction level up: from utilityAssertCompatibleOracleVersion to aztec_utl_assertCompatibleOracleVersion and aztec_utl_assertCompatibleOracleVersion then either calls this function here or the one in UtilityExecutionOracle.
I just thought that we would never use the stale pinned contracts in txe. Do you know if I am wrong here? If not sure I will dig into it.
There was a problem hiding this comment.
Turns out we would actually used the committed artifacts:
but when I tried to port the change here I realized it's impossible because this is TXEOracleTopLevelContext and there, by definition, is not a contract address associated with the oracle execution.
So the special-cased version automatically gets used by contracts executed via txe as well.
5767537 to
a40cc0f
Compare
a40cc0f to
2d6f4ec
Compare
|
❌ Failed to cherry-pick to |
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

Summary
privateNotifyEnqueuedPublicFunctionCallandprivateNotifySetPublicTeardownFunctionCall4-param →validatePublicCalldata1-param)privateNotifySetMinRevertibleSideEffectCounter→notifyRevertiblePhaseStart,privateIsSideEffectCounterRevertible→inRevertiblePhase)isActualProtocolContract(only checked 3 contracts) withisProtocolContract(checks all) for oracle version check skipTest plan
🤖 Generated with Claude Code