feat(txe): add oracle version check to bootstrap#23324
Open
nchamo wants to merge 1 commit into
Open
Conversation
nchamo
commented
May 15, 2026
| "./simulator": "./dest/contract_function_simulator/index.js", | ||
| "./config": "./dest/config/index.js" | ||
| "./config": "./dest/config/index.js", | ||
| "./bin": "./dest/bin/index.js" |
Contributor
Author
There was a problem hiding this comment.
Honestly, I'm not sure if it's best to generalize and export getOracleInterfaceSignature to re-use from TXE, or copy-paste the logic
What do you think? I went this way, but I can easily go the other way if you think that would be best
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
#23285 introduced versioning constants and an interface hash for the TXE oracle, but there was no mechanism to actually verify the hash, so a dev changing an oracle interface would not be reminded to bump the version. PXE already had a
check_oracle_versionscript that runs in CI for this purpose; TXE did not.Fix
Generalize PXE's
getOracleInterfaceSignatureso it handles both class methods and TS interface method signatures, and export it frompxe/binfor reuse.Add a TXE-side check that hashes
IAvmExecutionOracleandITxeExecutionOracleand compares againstTXE_ORACLE_INTERFACE_HASH. The check only covers TXE-specific oracles — PXE-implemented oracles are already covered by the existing PXE check, so duplicating them in TXE would just be noise.Wire the new script into
yarn-project/bootstrap.shso it runs after the PXE check in CI.Fixes F-667