Skip to content

chore(ci): Static oracle version check#23805

Merged
vezenovm merged 4 commits into
merge-train/fairiesfrom
mv/oracle-version-sync-guard
Jun 2, 2026
Merged

chore(ci): Static oracle version check#23805
vezenovm merged 4 commits into
merge-train/fairiesfrom
mv/oracle-version-sync-guard

Conversation

@vezenovm

@vezenovm vezenovm commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

No issue, fixes confusing CI errors I ran into on #23796 when the aztec_sublib oracle version was not updated http://ci.aztec-labs.com/83a883aee887f12c:

Details

17:46:29 
17:46:29   ● e2e_blacklist_token_contract transfer public › failure cases › transfer from a blacklisted account
17:46:29 
17:46:29     TypeError: Cannot read properties of undefined (reading 'check')
17:46:29 
17:46:29       22 |
17:46:29       23 |   afterEach(async () => {
17:46:29     > 24 |     await t.tokenSim.check();
17:46:29          |                      ^
17:46:29       25 |   });
17:46:29       26 |
17:46:29       27 |   it('transfer less than balance', async () => {
17:46:29 
17:46:29       at Object.check (e2e_blacklist_token_contract/transfer_public.test.ts:24:22)
17:46:29 
17:46:29   ● e2e_blacklist_token_contract transfer public › failure cases › transfer to a blacklisted account
17:46:29 
17:46:29     Simulation error: Incompatible private environment version: The contract was compiled with an older version of Aztec.nr than your private environment supports. Recompile the contract with a compatible version of Aztec.nr. See https://docs.aztec.network/errors/8 (expected oracle major version 28, got 27)
17:46:29 
17:46:29       at ContractClassRegistry.publish
17:46:29       at MultiCallEntrypoint.entrypoint
17:46:29 
17:46:29     Cause:
17:46:29     Incompatible private environment version: The contract was compiled with an older version of Aztec.nr than your private environment supports. Recompile the contract with a compatible version of Aztec.nr. See https://docs.aztec.network/errors/8 (expected oracle major version 28, got 27)
17:46:29 
17:46:29       85 |         if (major !== ORACLE_VERSION_MAJOR) {
17:46:29       86 |             const hint = major > ORACLE_VERSION_MAJOR ? 'The contract was compiled with a newer version of Aztec.nr than your private environment supports. Upgrade your private environment to a compatible version.' : 'The contract was compiled with an older version of Aztec.nr than your private environment supports. Recompile the contract with a compatible version of Aztec.nr.';
17:46:29     > 87 |             throw new Error(`Incompatible private environment version: ${hint} See https://docs.aztec.network/errors/8 (expected oracle major version ${ORACLE_VERSION_MAJOR}, got ${major})`);
17:46:29          |                   ^
17:46:29       88 |         }
17:46:29       89 |         this.contractOracleVersion = {
17:46:29       90 |             major,
17:46:29 
17:46:29       at PrivateExecutionOracle.assertCompatibleOracleVersion (../../pxe/dest/contract_function_simulator/oracle/utility_execution_oracle.js:87:19)

We are told there is an oracle mismatch, but there is nothing to indicate it is in the aztec-nr sublib as I had already updated the actual aztec-nr version constant. The error also only comes about at runtime in an e2e test. We should be able to error out in the pre-existing check_oracle_version scripts for pxe/txe.

@vezenovm vezenovm requested review from Thunkar, mverzilli and nchamo June 2, 2026 19:07

@mverzilli mverzilli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@vezenovm vezenovm enabled auto-merge (squash) June 2, 2026 19:25
@vezenovm vezenovm merged commit 39058b0 into merge-train/fairies Jun 2, 2026
12 checks passed
@vezenovm vezenovm deleted the mv/oracle-version-sync-guard branch June 2, 2026 19:57
danielntmd pushed a commit to danielntmd/aztec-packages that referenced this pull request Jun 4, 2026
BEGIN_COMMIT_OVERRIDE
feat(aztec-nr): Add a delivery mode to handshake notes (AztecProtocol#23783)
fix(pxe): enforce full field consumption at oracle boundaries (AztecProtocol#23802)
chore(ci): Static oracle version check (AztecProtocol#23805)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants