From 15cabadfed30e242a5d1040830b56c5f56ac453d Mon Sep 17 00:00:00 2001 From: mverzilli Date: Wed, 25 Mar 2026 19:00:42 +0000 Subject: [PATCH 1/2] more consistent oracle names --- .../aztec/src/context/private_context.nr | 10 +++---- .../aztec/src/context/returns_hash.nr | 2 +- .../aztec-nr/aztec/src/keys/getters/mod.nr | 2 +- .../aztec/src/messages/encryption/aes128.nr | 4 +-- .../aztec/src/messages/processing/mod.nr | 6 ++-- .../aztec/src/messages/processing/offchain.nr | 8 +++--- .../aztec/src/oracle/aes128_decrypt.nr | 7 +++-- .../aztec-nr/aztec/src/oracle/capsules.nr | 14 ++++++---- .../aztec/src/oracle/contract_sync.nr | 8 +++--- .../aztec/src/oracle/execution_cache.nr | 18 ++++++------ .../aztec-nr/aztec/src/oracle/keys.nr | 8 ++++-- .../aztec/src/oracle/message_processing.nr | 23 +++++++-------- .../aztec-nr/aztec/src/oracle/nullifiers.nr | 7 +++-- .../aztec-nr/aztec/src/oracle/public_call.nr | 12 ++++---- .../aztec-nr/aztec/src/oracle/storage.nr | 8 ++++-- .../aztec-nr/aztec/src/oracle/tx_phase.nr | 8 +++--- .../aztec-nr/aztec/src/utils/with_hash.nr | 2 +- .../aztec_sublib/src/oracle/capsules.nr | 6 ++-- .../src/oracle/execution_cache.nr | 6 ++-- .../aztec_sublib/src/oracle/nullifiers.nr | 3 +- .../aztec_sublib/src/oracle/public_call.nr | 3 +- .../aztec_sublib/src/oracle/storage.nr | 3 +- .../aztec_sublib/src/oracle/tx_phase.nr | 3 +- .../oracle/legacy_oracle_mappings.ts | 16 +++++------ .../oracle/oracle.ts | 28 +++++++++---------- yarn-project/txe/src/rpc_translator.ts | 28 +++++++++---------- 26 files changed, 131 insertions(+), 112 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/context/private_context.nr b/noir-projects/aztec-nr/aztec/src/context/private_context.nr index fd7192f86ca2..1f9e1f79e7a0 100644 --- a/noir-projects/aztec-nr/aztec/src/context/private_context.nr +++ b/noir-projects/aztec-nr/aztec/src/context/private_context.nr @@ -11,8 +11,8 @@ use crate::{ logs::notify_created_contract_class_log, notes::notify_nullified_note, nullifiers::notify_created_nullifier, - public_call::validate_public_calldata, - tx_phase::{in_revertible_phase, notify_revertible_phase_start}, + public_call::assert_valid_public_call_data, + tx_phase::{is_execution_in_revertible_phase, notify_revertible_phase_start}, }, }; use crate::logging::aztecnr_trace_log_format; @@ -519,7 +519,7 @@ impl PrivateContext { let current_counter = self.side_effect_counter; // Safety: Kernel will validate that the claim is correct by validating the expected counters. - let is_revertible = unsafe { in_revertible_phase(current_counter) }; + let is_revertible = unsafe { is_execution_in_revertible_phase(current_counter) }; if is_revertible { if (self.expected_revertible_side_effect_counter == 0) @@ -1260,7 +1260,7 @@ impl PrivateContext { let is_static_call = is_static_call | self.inputs.call_context.is_static_call; - validate_public_calldata(calldata_hash); + assert_valid_public_call_data(calldata_hash); let msg_sender = if hide_msg_sender { NULL_MSG_SENDER_CONTRACT_ADDRESS @@ -1331,7 +1331,7 @@ impl PrivateContext { ) { let is_static_call = is_static_call | self.inputs.call_context.is_static_call; - validate_public_calldata(calldata_hash); + assert_valid_public_call_data(calldata_hash); let msg_sender = if hide_msg_sender { NULL_MSG_SENDER_CONTRACT_ADDRESS diff --git a/noir-projects/aztec-nr/aztec/src/context/returns_hash.nr b/noir-projects/aztec-nr/aztec/src/context/returns_hash.nr index 7226e9c4b092..0e073c69e0f4 100644 --- a/noir-projects/aztec-nr/aztec/src/context/returns_hash.nr +++ b/noir-projects/aztec-nr/aztec/src/context/returns_hash.nr @@ -82,7 +82,7 @@ mod test { let hash = hash_args(serialized); - let _ = OracleMock::mock("aztec_prv_loadFromExecutionCache").returns(bad_serialized); + let _ = OracleMock::mock("aztec_prv_getHashPreimage").returns(bad_serialized); assert_eq(ReturnsHash::new(hash).get_preimage(), value); } } diff --git a/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr b/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr index 6aa7f5bb52dc..d52b43d389e4 100644 --- a/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr @@ -71,7 +71,7 @@ mod test { // partial address random_keys_and_partial_address[12] = 0x236703e2cb00a182e024e98e9f759231b556d25ff19f98896cebb69e9e678cc9; - let _ = OracleMock::mock("aztec_utl_tryGetPublicKeysAndPartialAddress").returns(Option::some( + let _ = OracleMock::mock("aztec_utl_getPublicKeysAndPartialAddress").returns(Option::some( random_keys_and_partial_address, )); let _ = get_public_keys(account); diff --git a/noir-projects/aztec-nr/aztec/src/messages/encryption/aes128.nr b/noir-projects/aztec-nr/aztec/src/messages/encryption/aes128.nr index ba886e82d938..ee417690bac1 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/encryption/aes128.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/encryption/aes128.nr @@ -685,7 +685,7 @@ mod test { let ciphertext = BoundedVec::from_array(AES128::encrypt(plaintext, recipient)); let empty_header = BoundedVec::::new(); - let _ = OracleMock::mock("aztec_utl_tryAes128Decrypt").returns(Option::some(empty_header)).times(1); + let _ = OracleMock::mock("aztec_utl_decryptAes128").returns(Option::some(empty_header)).times(1); assert(AES128::decrypt(ciphertext, recipient).is_none()); }); @@ -705,7 +705,7 @@ mod test { let bad_header = BoundedVec::::from_array(encode_header( MESSAGE_PLAINTEXT_SIZE_IN_BYTES + 1, )); - let _ = OracleMock::mock("aztec_utl_tryAes128Decrypt").returns(Option::some(bad_header)).times(1); + let _ = OracleMock::mock("aztec_utl_decryptAes128").returns(Option::some(bad_header)).times(1); assert(AES128::decrypt(ciphertext, recipient).is_none()); }); diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr index 9ab82066ffd9..7582906f2646 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/mod.nr @@ -184,13 +184,13 @@ pub unconstrained fn validate_and_store_enqueued_notes_and_events(contract_addre /// The `message_context_requests_array_base_slot` must point to a CapsuleArray containing tx hashes. /// PXE will store `Option` values into the responses array at /// `message_context_responses_array_base_slot`. -pub unconstrained fn resolve_message_contexts( +pub unconstrained fn get_message_contexts_by_tx_hash( contract_address: AztecAddress, message_context_requests_array_base_slot: Field, message_context_responses_array_base_slot: Field, scope: AztecAddress, ) { - oracle::message_processing::resolve_message_contexts( + oracle::message_processing::get_message_contexts_by_tx_hash( contract_address, message_context_requests_array_base_slot, message_context_responses_array_base_slot, @@ -230,7 +230,7 @@ pub(crate) unconstrained fn get_pending_partial_notes_completion_logs( i += 1; } - oracle::message_processing::bulk_retrieve_logs( + oracle::message_processing::get_logs_by_tag( contract_address, LOG_RETRIEVAL_REQUESTS_ARRAY_BASE_SLOT, LOG_RETRIEVAL_RESPONSES_ARRAY_BASE_SLOT, diff --git a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr index 987bf9590080..8e62cbfc2b27 100644 --- a/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr +++ b/noir-projects/aztec-nr/aztec/src/messages/processing/offchain.nr @@ -3,9 +3,9 @@ use crate::{ context::UtilityContext, messages::{ encoding::MESSAGE_CIPHERTEXT_LEN, - processing::{MessageContext, OffchainMessageWithContext, resolve_message_contexts}, + processing::{get_message_contexts_by_tx_hash, MessageContext, OffchainMessageWithContext}, }, - oracle::contract_sync::invalidate_contract_sync_cache, + oracle::contract_sync::set_contract_sync_cache_invalid, protocol::{ address::AztecAddress, constants::MAX_TX_LIFETIME, @@ -133,7 +133,7 @@ pub unconstrained fn receive( i += 1; } - invalidate_contract_sync_cache(contract_address, scopes); + set_contract_sync_cache_invalid(contract_address, scopes); } /// Returns offchain-delivered messages to process during sync. @@ -169,7 +169,7 @@ pub unconstrained fn sync_inbox( } // Ask PXE to resolve contexts for all requested tx hashes. - resolve_message_contexts( + get_message_contexts_by_tx_hash( contract_address, OFFCHAIN_CONTEXT_REQUESTS_SLOT, OFFCHAIN_CONTEXT_RESPONSES_SLOT, diff --git a/noir-projects/aztec-nr/aztec/src/oracle/aes128_decrypt.nr b/noir-projects/aztec-nr/aztec/src/oracle/aes128_decrypt.nr index 29044c297770..d48bc660564a 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/aes128_decrypt.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/aes128_decrypt.nr @@ -1,5 +1,5 @@ -#[oracle(aztec_utl_tryAes128Decrypt)] -unconstrained fn try_aes128_decrypt_oracle( +#[oracle(aztec_utl_decryptAes128)] +unconstrained fn aes128_decrypt_oracle( ciphertext: BoundedVec, iv: [u8; 16], sym_key: [u8; 16], @@ -14,12 +14,13 @@ unconstrained fn try_aes128_decrypt_oracle( /// Note that we accept ciphertext as a BoundedVec, not as an array. This is because this function is typically used /// when processing logs and at that point we don't have comptime information about the length of the ciphertext as /// the log is not specific to any individual note. +// TODO(F-498): review naming consistency pub unconstrained fn try_aes128_decrypt( ciphertext: BoundedVec, iv: [u8; 16], sym_key: [u8; 16], ) -> Option> { - try_aes128_decrypt_oracle(ciphertext, iv, sym_key) + aes128_decrypt_oracle(ciphertext, iv, sym_key) } mod test { diff --git a/noir-projects/aztec-nr/aztec/src/oracle/capsules.nr b/noir-projects/aztec-nr/aztec/src/oracle/capsules.nr index 2d5f2c84148a..d813f2ab8392 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/capsules.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/capsules.nr @@ -2,21 +2,23 @@ use crate::protocol::{address::AztecAddress, traits::{Deserialize, Serialize}}; /// Stores arbitrary information in a per-contract non-volatile database, which can later be retrieved with `load`. If /// data was already stored at this slot, it is overwritten. +// TODO(F-498): review naming consistency pub unconstrained fn store(contract_address: AztecAddress, slot: Field, value: T, scope: AztecAddress) where T: Serialize, { let serialized = value.serialize(); - store_oracle(contract_address, slot, serialized, scope); + set_capsule_oracle(contract_address, slot, serialized, scope); } /// Returns data previously stored via `storeCapsule` in the per-contract non-volatile database. Returns /// Option::none() if nothing was stored at the given slot. +// TODO(F-498): review naming consistency pub unconstrained fn load(contract_address: AztecAddress, slot: Field, scope: AztecAddress) -> Option where T: Deserialize, { - let serialized_option = load_oracle(contract_address, slot, ::N, scope); + let serialized_option = get_capsule_oracle(contract_address, slot, ::N, scope); serialized_option.map(|arr| Deserialize::deserialize(arr)) } @@ -39,8 +41,8 @@ pub unconstrained fn copy( copy_oracle(contract_address, src_slot, dst_slot, num_entries, scope); } -#[oracle(aztec_utl_storeCapsule)] -unconstrained fn store_oracle( +#[oracle(aztec_utl_setCapsule)] +unconstrained fn set_capsule_oracle( contract_address: AztecAddress, slot: Field, values: [Field; N], @@ -54,8 +56,8 @@ unconstrained fn store_oracle( /// require for the oracle resolver to know the shape of T (e.g. if T were a struct of 3 u32 values then the expected /// response shape would be 3 single items, whereas it were a struct containing `u32, [Field;10], u32` then the /// expected shape would be single, array, single.). Instead, we return the serialization and deserialize in Noir. -#[oracle(aztec_utl_loadCapsule)] -unconstrained fn load_oracle( +#[oracle(aztec_utl_getCapsule)] +unconstrained fn get_capsule_oracle( contract_address: AztecAddress, slot: Field, array_len: u32, diff --git a/noir-projects/aztec-nr/aztec/src/oracle/contract_sync.nr b/noir-projects/aztec-nr/aztec/src/oracle/contract_sync.nr index 98017107ab0e..8c9198bf4b11 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/contract_sync.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/contract_sync.nr @@ -1,7 +1,7 @@ use crate::protocol::address::AztecAddress; -#[oracle(aztec_utl_invalidateContractSyncCache)] -unconstrained fn invalidate_contract_sync_cache_oracle( +#[oracle(aztec_utl_setContractSyncCacheInvalid)] +unconstrained fn set_contract_sync_cache_invalid_oracle( contract_address: AztecAddress, scopes: BoundedVec, ) {} @@ -10,9 +10,9 @@ unconstrained fn invalidate_contract_sync_cache_oracle( /// /// Call this after writing data (e.g. offchain messages) that the contract's `sync_state` function needs to discover. /// Without invalidation, the sync cache would skip re-running `sync_state` until the next block. -pub unconstrained fn invalidate_contract_sync_cache( +pub unconstrained fn set_contract_sync_cache_invalid( contract_address: AztecAddress, scopes: BoundedVec, ) { - invalidate_contract_sync_cache_oracle(contract_address, scopes); + set_contract_sync_cache_invalid_oracle(contract_address, scopes); } diff --git a/noir-projects/aztec-nr/aztec/src/oracle/execution_cache.nr b/noir-projects/aztec-nr/aztec/src/oracle/execution_cache.nr index 1a56f7724fa5..aab0d16d555c 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/execution_cache.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/execution_cache.nr @@ -1,20 +1,22 @@ /// Stores values represented as slice in execution cache to be later obtained by its hash. +// TODO(F-498): review naming consistency pub fn store(values: [Field; N], hash: Field) { // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe to // call. When loading the values, however, the caller must check that the values are indeed the preimage. - unsafe { store_in_execution_cache_oracle_wrapper(values, hash) }; + unsafe { set_hash_preimage_oracle_wrapper(values, hash) }; } -unconstrained fn store_in_execution_cache_oracle_wrapper(values: [Field; N], hash: Field) { - store_in_execution_cache_oracle(values, hash); +unconstrained fn set_hash_preimage_oracle_wrapper(values: [Field; N], hash: Field) { + set_hash_preimage_oracle(values, hash); } +// TODO(F-498): review naming consistency pub unconstrained fn load(hash: Field) -> [Field; N] { - load_from_execution_cache_oracle(hash) + get_hash_preimage_oracle(hash) } -#[oracle(aztec_prv_storeInExecutionCache)] -unconstrained fn store_in_execution_cache_oracle(_values: [Field; N], _hash: Field) {} +#[oracle(aztec_prv_setHashPreimage)] +unconstrained fn set_hash_preimage_oracle(_values: [Field; N], _hash: Field) {} -#[oracle(aztec_prv_loadFromExecutionCache)] -unconstrained fn load_from_execution_cache_oracle(_hash: Field) -> [Field; N] {} +#[oracle(aztec_prv_getHashPreimage)] +unconstrained fn get_hash_preimage_oracle(_hash: Field) -> [Field; N] {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/keys.nr b/noir-projects/aztec-nr/aztec/src/oracle/keys.nr index 3c234ca34524..6834a04975ac 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/keys.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/keys.nr @@ -4,17 +4,19 @@ use crate::protocol::{ public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM}, }; +// TODO(F-498): review naming consistency pub unconstrained fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) { try_get_public_keys_and_partial_address(address).expect(f"Public keys not registered for account {address}") } -#[oracle(aztec_utl_tryGetPublicKeysAndPartialAddress)] -unconstrained fn try_get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> Option<[Field; 13]> {} +#[oracle(aztec_utl_getPublicKeysAndPartialAddress)] +unconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> Option<[Field; 13]> {} +// TODO(F-498): review naming consistency pub unconstrained fn try_get_public_keys_and_partial_address( address: AztecAddress, ) -> Option<(PublicKeys, PartialAddress)> { - try_get_public_keys_and_partial_address_oracle(address).map(|result: [Field; 13]| { + get_public_keys_and_partial_address_oracle(address).map(|result: [Field; 13]| { let keys = PublicKeys { npk_m: NpkM { inner: Point { x: result[0], y: result[1], is_infinite: result[2] != 0 } }, ivpk_m: IvpkM { inner: Point { x: result[3], y: result[4], is_infinite: result[5] != 0 } }, diff --git a/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr b/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr index 5876c2b71248..ac66b939dcaf 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/message_processing.nr @@ -2,12 +2,13 @@ use crate::protocol::address::AztecAddress; /// Finds new private logs that may have been sent to all registered accounts in PXE in the current contract and makes /// them available for later processing in Noir by storing them in a capsule array. +// TODO(F-498): review naming consistency pub unconstrained fn fetch_tagged_logs(pending_tagged_log_array_base_slot: Field, scope: AztecAddress) { - fetch_tagged_logs_oracle(pending_tagged_log_array_base_slot, scope); + get_pending_tagged_logs_oracle(pending_tagged_log_array_base_slot, scope); } -#[oracle(aztec_utl_fetchTaggedLogs)] -unconstrained fn fetch_tagged_logs_oracle(pending_tagged_log_array_base_slot: Field, scope: AztecAddress) {} +#[oracle(aztec_utl_getPendingTaggedLogs)] +unconstrained fn get_pending_tagged_logs_oracle(pending_tagged_log_array_base_slot: Field, scope: AztecAddress) {} // This must be a single oracle and not one for notes and one for events because the entire point is to validate all // notes and events in one go, minimizing node round-trips. @@ -39,13 +40,13 @@ unconstrained fn validate_and_store_enqueued_notes_and_events_oracle( scope: AztecAddress, ) {} -pub(crate) unconstrained fn bulk_retrieve_logs( +pub(crate) unconstrained fn get_logs_by_tag( contract_address: AztecAddress, log_retrieval_requests_array_base_slot: Field, log_retrieval_responses_array_base_slot: Field, scope: AztecAddress, ) { - bulk_retrieve_logs_oracle( + get_logs_by_tag_oracle( contract_address, log_retrieval_requests_array_base_slot, log_retrieval_responses_array_base_slot, @@ -53,21 +54,21 @@ pub(crate) unconstrained fn bulk_retrieve_logs( ); } -#[oracle(aztec_utl_bulkRetrieveLogs)] -unconstrained fn bulk_retrieve_logs_oracle( +#[oracle(aztec_utl_getLogsByTag)] +unconstrained fn get_logs_by_tag_oracle( contract_address: AztecAddress, log_retrieval_requests_array_base_slot: Field, log_retrieval_responses_array_base_slot: Field, scope: AztecAddress, ) {} -pub(crate) unconstrained fn resolve_message_contexts( +pub(crate) unconstrained fn get_message_contexts_by_tx_hash( contract_address: AztecAddress, message_context_requests_array_base_slot: Field, message_context_responses_array_base_slot: Field, scope: AztecAddress, ) { - resolve_message_contexts_oracle( + get_message_contexts_by_tx_hash_oracle( contract_address, message_context_requests_array_base_slot, message_context_responses_array_base_slot, @@ -75,8 +76,8 @@ pub(crate) unconstrained fn resolve_message_contexts( ); } -#[oracle(aztec_utl_utilityResolveMessageContexts)] -unconstrained fn resolve_message_contexts_oracle( +#[oracle(aztec_utl_getMessageContextsByTxHash)] +unconstrained fn get_message_contexts_by_tx_hash_oracle( contract_address: AztecAddress, message_context_requests_array_base_slot: Field, message_context_responses_array_base_slot: Field, diff --git a/noir-projects/aztec-nr/aztec/src/oracle/nullifiers.nr b/noir-projects/aztec-nr/aztec/src/oracle/nullifiers.nr index 7c8e64a85574..a083cf372ed1 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/nullifiers.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/nullifiers.nr @@ -33,9 +33,10 @@ unconstrained fn is_nullifier_pending_oracle(_inner_nullifier: Field, _contract_ /// nullifier, but a `false` value should not be relied upon since other transactions may emit this nullifier before /// the current transaction is included in a block. While this might seem of little use at first, certain design /// patterns benefit from this abstraction (see e.g. `PrivateMutable`). +// TODO(F-498): review naming consistency pub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool { - check_nullifier_exists_oracle(inner_nullifier) + does_nullifier_exist_oracle(inner_nullifier) } -#[oracle(aztec_utl_checkNullifierExists)] -unconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> bool {} +#[oracle(aztec_utl_doesNullifierExist)] +unconstrained fn does_nullifier_exist_oracle(_inner_nullifier: Field) -> bool {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr b/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr index 055aa3048d69..396451d0559e 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/public_call.nr @@ -2,17 +2,17 @@ /// /// The check is unconstrained and the only purpose of it is to fail early in case of calldata overflow or a bug in /// calldata hashing. -pub(crate) fn validate_public_calldata(calldata_hash: Field) { +pub(crate) fn assert_valid_public_call_data(calldata_hash: Field) { // Safety: This oracle call returns nothing: we only call it for its side effects (validating the calldata). // It is therefore always safe to call. unsafe { - validate_public_calldata_wrapper(calldata_hash) + assert_valid_public_call_data_oracle_wrapper(calldata_hash) } } -unconstrained fn validate_public_calldata_wrapper(calldata_hash: Field) { - validate_public_calldata_oracle(calldata_hash) +unconstrained fn assert_valid_public_call_data_oracle_wrapper(calldata_hash: Field) { + assert_valid_public_call_data_oracle(calldata_hash) } -#[oracle(aztec_prv_validatePublicCalldata)] -unconstrained fn validate_public_calldata_oracle(_calldata_hash: Field) {} +#[oracle(aztec_prv_assertValidPublicCalldata)] +unconstrained fn assert_valid_public_call_data_oracle(_calldata_hash: Field) {} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/storage.nr b/noir-projects/aztec-nr/aztec/src/oracle/storage.nr index fef8abe759c8..80b8297420c4 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/storage.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/storage.nr @@ -1,21 +1,23 @@ use crate::protocol::{abis::block_header::BlockHeader, address::AztecAddress, traits::{Hash, Packable, ToField}}; -#[oracle(aztec_utl_storageRead)] -unconstrained fn storage_read_oracle( +#[oracle(aztec_utl_getFromPublicStorage)] +unconstrained fn get_from_public_storage_oracle( block_hash: Field, address: Field, storage_slot: Field, length: u32, ) -> [Field; N] {} +// TODO(F-498): review naming consistency pub unconstrained fn raw_storage_read( block_hash_to_read_from: Field, address: AztecAddress, storage_slot: Field, ) -> [Field; N] { - storage_read_oracle(block_hash_to_read_from, address.to_field(), storage_slot, N) + get_from_public_storage_oracle(block_hash_to_read_from, address.to_field(), storage_slot, N) } +// TODO(F-498): review naming consistency pub unconstrained fn storage_read(header_to_read_from: BlockHeader, address: AztecAddress, storage_slot: Field) -> T where T: Packable, diff --git a/noir-projects/aztec-nr/aztec/src/oracle/tx_phase.nr b/noir-projects/aztec-nr/aztec/src/oracle/tx_phase.nr index 207e2fb26030..baa45f2b21f0 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/tx_phase.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/tx_phase.nr @@ -9,8 +9,8 @@ pub(crate) fn notify_revertible_phase_start(counter: u32) { } /// Returns whether a side effect counter falls in the revertible phase of the transaction. -pub(crate) unconstrained fn in_revertible_phase(current_counter: u32) -> bool { - in_revertible_phase_oracle(current_counter) +pub(crate) unconstrained fn is_execution_in_revertible_phase(current_counter: u32) -> bool { + is_execution_in_revertible_phase_oracle(current_counter) } unconstrained fn notify_revertible_phase_start_oracle_wrapper(counter: u32) { @@ -20,5 +20,5 @@ unconstrained fn notify_revertible_phase_start_oracle_wrapper(counter: u32) { #[oracle(aztec_prv_notifyRevertiblePhaseStart)] unconstrained fn notify_revertible_phase_start_oracle(_counter: u32) {} -#[oracle(aztec_prv_inRevertiblePhase)] -unconstrained fn in_revertible_phase_oracle(current_counter: u32) -> bool {} +#[oracle(aztec_prv_isExecutionInRevertiblePhase)] +unconstrained fn is_execution_in_revertible_phase_oracle(current_counter: u32) -> bool {} diff --git a/noir-projects/aztec-nr/aztec/src/utils/with_hash.nr b/noir-projects/aztec-nr/aztec/src/utils/with_hash.nr index 14cc838857f1..e1651f527d76 100644 --- a/noir-projects/aztec-nr/aztec/src/utils/with_hash.nr +++ b/noir-projects/aztec-nr/aztec/src/utils/with_hash.nr @@ -173,7 +173,7 @@ mod test { // Mock the oracle to return a non-zero hint/packed value let value_packed = MockStruct { a: 1, b: 1 }.pack(); - let _ = OracleMock::mock("aztec_utl_storageRead") + let _ = OracleMock::mock("aztec_utl_getFromPublicStorage") .with_params((block_header.hash(), address.to_field(), STORAGE_SLOT, value_packed.len())) .returns(value_packed) .times(1); diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/capsules.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/capsules.nr index ac57deab6903..bd63e645f549 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/capsules.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/capsules.nr @@ -52,7 +52,8 @@ pub unconstrained fn copy( copy_oracle(contract_address, src_slot, dst_slot, num_entries, scope); } -#[oracle(aztec_utl_storeCapsule)] +#[oracle(aztec_utl_setCapsule)] +// TODO(F-498): review naming consistency unconstrained fn store_oracle( contract_address: AztecAddress, slot: Field, @@ -67,7 +68,8 @@ unconstrained fn store_oracle( /// require for the oracle resolver to know the shape of T (e.g. if T were a struct of 3 u32 values then the expected /// response shape would be 3 single items, whereas it were a struct containing `u32, [Field;10], u32` then the /// expected shape would be single, array, single.). Instead, we return the serialization and deserialize in Noir. -#[oracle(aztec_utl_loadCapsule)] +// TODO(F-498): review naming consistency +#[oracle(aztec_utl_getCapsule)] unconstrained fn load_oracle( contract_address: AztecAddress, slot: Field, diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/execution_cache.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/execution_cache.nr index 5ba553baa659..ccca9fdc1d31 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/execution_cache.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/execution_cache.nr @@ -16,8 +16,10 @@ pub unconstrained fn load(hash: Field) -> [Field; N] { load_from_execution_cache_oracle(hash) } -#[oracle(aztec_prv_storeInExecutionCache)] +// TODO(F-498): review naming consistency +#[oracle(aztec_prv_setHashPreimage)] unconstrained fn store_in_execution_cache_oracle(_values: [Field; N], _hash: Field) {} -#[oracle(aztec_prv_loadFromExecutionCache)] +// TODO(F-498): review naming consistency +#[oracle(aztec_prv_getHashPreimage)] unconstrained fn load_from_execution_cache_oracle(_hash: Field) -> [Field; N] {} diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/nullifiers.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/nullifiers.nr index 1f9f5de98a02..c950f029dcaa 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/nullifiers.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/nullifiers.nr @@ -42,5 +42,6 @@ pub unconstrained fn check_nullifier_exists(inner_nullifier: Field) -> bool { check_nullifier_exists_oracle(inner_nullifier) } -#[oracle(aztec_utl_checkNullifierExists)] +// TODO(F-498): review naming consistency +#[oracle(aztec_utl_doesNullifierExist)] unconstrained fn check_nullifier_exists_oracle(_inner_nullifier: Field) -> bool {} diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/public_call.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/public_call.nr index 055aa3048d69..8c1faf9a9379 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/public_call.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/public_call.nr @@ -14,5 +14,6 @@ unconstrained fn validate_public_calldata_wrapper(calldata_hash: Field) { validate_public_calldata_oracle(calldata_hash) } -#[oracle(aztec_prv_validatePublicCalldata)] +// TODO(F-498): review naming consistency +#[oracle(aztec_prv_assertValidPublicCalldata)] unconstrained fn validate_public_calldata_oracle(_calldata_hash: Field) {} diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/storage.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/storage.nr index b91bf4c6866a..145be1482f42 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/storage.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/storage.nr @@ -4,7 +4,8 @@ use crate::protocol::{ traits::{Hash, Packable, ToField}, }; -#[oracle(aztec_utl_storageRead)] +// TODO(F-498): review naming consistency +#[oracle(aztec_utl_getFromPublicStorage)] unconstrained fn storage_read_oracle( block_hash: Field, address: Field, diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/tx_phase.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/tx_phase.nr index 207e2fb26030..33a35efdef9a 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/tx_phase.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/oracle/tx_phase.nr @@ -20,5 +20,6 @@ unconstrained fn notify_revertible_phase_start_oracle_wrapper(counter: u32) { #[oracle(aztec_prv_notifyRevertiblePhaseStart)] unconstrained fn notify_revertible_phase_start_oracle(_counter: u32) {} -#[oracle(aztec_prv_inRevertiblePhase)] +// TODO(F-498): review naming consistency +#[oracle(aztec_prv_isExecutionInRevertiblePhase)] unconstrained fn in_revertible_phase_oracle(current_counter: u32) -> bool {} diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts index a58597c66321..463c1bc807a6 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts @@ -25,11 +25,11 @@ export function buildLegacyOracleCallbacks(oracle: Oracle): ACIRCallback { slot: ACVMField[], tSize: ACVMField[], ): Promise<(ACVMField | ACVMField[])[]> => - oracle.aztec_utl_loadCapsule(contractAddress, slot, tSize, [toACVMField(AztecAddress.ZERO)]), + oracle.aztec_utl_getCapsule(contractAddress, slot, tSize, [toACVMField(AztecAddress.ZERO)]), privateStoreInExecutionCache: (values: ACVMField[], hash: ACVMField[]): Promise => - oracle.aztec_prv_storeInExecutionCache(values, hash), + oracle.aztec_prv_setHashPreimage(values, hash), privateLoadFromExecutionCache: (returnsHash: ACVMField[]): Promise => - oracle.aztec_prv_loadFromExecutionCache(returnsHash), + oracle.aztec_prv_getHashPreimage(returnsHash), privateCallPrivateFunction: ( contractAddress: ACVMField[], functionSelector: ACVMField[], @@ -62,13 +62,13 @@ export function buildLegacyOracleCallbacks(oracle: Oracle): ACIRCallback { startStorageSlot: ACVMField[], numberOfElements: ACVMField[], ): Promise => - oracle.aztec_utl_storageRead(blockHash, contractAddress, startStorageSlot, numberOfElements), + oracle.aztec_utl_getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements), utilityStoreCapsule: ( contractAddress: ACVMField[], slot: ACVMField[], capsule: ACVMField[], ): Promise => - oracle.aztec_utl_storeCapsule(contractAddress, slot, capsule, [toACVMField(AztecAddress.ZERO)]), + oracle.aztec_utl_setCapsule(contractAddress, slot, capsule, [toACVMField(AztecAddress.ZERO)]), utilityCopyCapsule: ( contractAddress: ACVMField[], srcSlot: ACVMField[], @@ -95,19 +95,19 @@ export function buildLegacyOracleCallbacks(oracle: Oracle): ACIRCallback { privateNotifySetMinRevertibleSideEffectCounter: (counter: ACVMField[]): Promise => oracle.aztec_prv_notifyRevertiblePhaseStart(counter), privateIsSideEffectCounterRevertible: (sideEffectCounter: ACVMField[]): Promise => - oracle.aztec_prv_inRevertiblePhase(sideEffectCounter), + oracle.aztec_prv_isExecutionInRevertiblePhase(sideEffectCounter), // Signature changes: old 4-param oracles → new 1-param validatePublicCalldata privateNotifyEnqueuedPublicFunctionCall: ( _contractAddress: ACVMField[], calldataHash: ACVMField[], _sideEffectCounter: ACVMField[], _isStaticCall: ACVMField[], - ): Promise => oracle.aztec_prv_validatePublicCalldata(calldataHash), + ): Promise => oracle.aztec_prv_assertValidPublicCalldata(calldataHash), privateNotifySetPublicTeardownFunctionCall: ( _contractAddress: ACVMField[], calldataHash: ACVMField[], _sideEffectCounter: ACVMField[], _isStaticCall: ACVMField[], - ): Promise => oracle.aztec_prv_validatePublicCalldata(calldataHash), + ): Promise => oracle.aztec_prv_assertValidPublicCalldata(calldataHash), }; } diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts index fc11c06bbb25..506d87eb907e 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts @@ -108,13 +108,13 @@ export class Oracle { } // eslint-disable-next-line camelcase - aztec_prv_storeInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise { + aztec_prv_setHashPreimage(values: ACVMField[], [hash]: ACVMField[]): Promise { this.handlerAsPrivate().storeInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash)); return Promise.resolve([]); } // eslint-disable-next-line camelcase - async aztec_prv_loadFromExecutionCache([returnsHash]: ACVMField[]): Promise { + async aztec_prv_getHashPreimage([returnsHash]: ACVMField[]): Promise { const values = await this.handlerAsPrivate().loadFromExecutionCache(Fr.fromString(returnsHash)); return [values.map(toACVMField)]; } @@ -252,7 +252,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_tryGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]> { + async aztec_utl_getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]> { const parsedAddress = AztecAddress.fromField(Fr.fromString(address)); const result = await this.handlerAsUtility().tryGetPublicKeysAndPartialAddress(parsedAddress); @@ -380,7 +380,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_checkNullifierExists([innerNullifier]: ACVMField[]): Promise { + async aztec_utl_doesNullifierExist([innerNullifier]: ACVMField[]): Promise { const exists = await this.handlerAsUtility().checkNullifierExists(Fr.fromString(innerNullifier)); return [toACVMField(exists)]; } @@ -400,7 +400,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_storageRead( + async aztec_utl_getFromPublicStorage( [blockHash]: ACVMField[], [contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], @@ -464,7 +464,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_prv_validatePublicCalldata([calldataHash]: ACVMField[]): Promise { + async aztec_prv_assertValidPublicCalldata([calldataHash]: ACVMField[]): Promise { await this.handlerAsPrivate().validatePublicCalldata(Fr.fromString(calldataHash)); return []; } @@ -476,7 +476,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_prv_inRevertiblePhase([sideEffectCounter]: ACVMField[]): Promise { + async aztec_prv_isExecutionInRevertiblePhase([sideEffectCounter]: ACVMField[]): Promise { const isRevertible = await this.handlerAsPrivate().inRevertiblePhase(Fr.fromString(sideEffectCounter).toNumber()); return Promise.resolve([toACVMField(isRevertible)]); } @@ -491,7 +491,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_fetchTaggedLogs( + async aztec_utl_getPendingTaggedLogs( [pendingTaggedLogArrayBaseSlot]: ACVMField[], [scope]: ACVMField[], ): Promise { @@ -524,7 +524,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_bulkRetrieveLogs( + async aztec_utl_getLogsByTag( [contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[], @@ -540,7 +540,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_utilityResolveMessageContexts( + async aztec_utl_getMessageContextsByTxHash( [contractAddress]: ACVMField[], [messageContextRequestsArrayBaseSlot]: ACVMField[], [messageContextResponsesArrayBaseSlot]: ACVMField[], @@ -556,7 +556,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - aztec_utl_storeCapsule( + aztec_utl_setCapsule( [contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[], @@ -572,7 +572,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_loadCapsule( + async aztec_utl_getCapsule( [contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[], @@ -628,7 +628,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - async aztec_utl_tryAes128Decrypt( + async aztec_utl_decryptAes128( ciphertextBVecStorage: ACVMField[], [ciphertextLength]: ACVMField[], iv: ACVMField[], @@ -664,7 +664,7 @@ export class Oracle { } // eslint-disable-next-line camelcase - aztec_utl_invalidateContractSyncCache( + aztec_utl_setContractSyncCacheInvalid( [contractAddress]: ACVMField[], scopes: ACVMField[], [scopeCount]: ACVMField[], diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index a8563ebdb14d..f4b68dadfc91 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -339,7 +339,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - aztec_prv_storeInExecutionCache(foreignValues: ForeignCallArray, foreignHash: ForeignCallSingle) { + aztec_prv_setHashPreimage(foreignValues: ForeignCallArray, foreignHash: ForeignCallSingle) { const values = fromArray(foreignValues); const hash = fromSingle(foreignHash); @@ -349,7 +349,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_prv_loadFromExecutionCache(foreignHash: ForeignCallSingle) { + async aztec_prv_getHashPreimage(foreignHash: ForeignCallSingle) { const hash = fromSingle(foreignHash); const returns = await this.handlerAsPrivate().loadFromExecutionCache(hash); @@ -378,7 +378,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_utl_storageRead( + async aztec_utl_getFromPublicStorage( foreignBlockHash: ForeignCallSingle, foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, @@ -556,7 +556,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_utl_checkNullifierExists(foreignInnerNullifier: ForeignCallSingle) { + async aztec_utl_doesNullifierExist(foreignInnerNullifier: ForeignCallSingle) { const innerNullifier = fromSingle(foreignInnerNullifier); const exists = await this.handlerAsUtility().checkNullifierExists(innerNullifier); @@ -582,7 +582,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_utl_tryGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle) { + async aztec_utl_getPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle) { const address = addressFromSingle(foreignAddress); const result = await this.handlerAsUtility().tryGetPublicKeysAndPartialAddress(address); @@ -652,7 +652,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - public aztec_prv_validatePublicCalldata(_foreignCalldataHash: ForeignCallSingle) { + public aztec_prv_assertValidPublicCalldata(_foreignCalldataHash: ForeignCallSingle) { throw new Error('Enqueueing public calls is not supported in TestEnvironment::private_context'); } @@ -662,7 +662,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - public async aztec_prv_inRevertiblePhase(foreignSideEffectCounter: ForeignCallSingle) { + public async aztec_prv_isExecutionInRevertiblePhase(foreignSideEffectCounter: ForeignCallSingle) { const sideEffectCounter = fromSingle(foreignSideEffectCounter).toNumber(); const isRevertible = await this.handlerAsPrivate().inRevertiblePhase(sideEffectCounter); return toForeignCallResult([toSingle(new Fr(isRevertible))]); @@ -738,7 +738,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_utl_fetchTaggedLogs( + async aztec_utl_getPendingTaggedLogs( foreignPendingTaggedLogArrayBaseSlot: ForeignCallSingle, foreignScope: ForeignCallSingle, ) { @@ -779,7 +779,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - public async aztec_utl_bulkRetrieveLogs( + public async aztec_utl_getLogsByTag( foreignContractAddress: ForeignCallSingle, foreignLogRetrievalRequestsArrayBaseSlot: ForeignCallSingle, foreignLogRetrievalResponsesArrayBaseSlot: ForeignCallSingle, @@ -801,7 +801,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - public async aztec_utl_utilityResolveMessageContexts( + public async aztec_utl_getMessageContextsByTxHash( foreignContractAddress: ForeignCallSingle, foreignMessageContextRequestsArrayBaseSlot: ForeignCallSingle, foreignMessageContextResponsesArrayBaseSlot: ForeignCallSingle, @@ -823,7 +823,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - aztec_utl_storeCapsule( + aztec_utl_setCapsule( foreignContractAddress: ForeignCallSingle, foreignSlot: ForeignCallSingle, foreignCapsule: ForeignCallArray, @@ -840,7 +840,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - async aztec_utl_loadCapsule( + async aztec_utl_getCapsule( foreignContractAddress: ForeignCallSingle, foreignSlot: ForeignCallSingle, foreignTSize: ForeignCallSingle, @@ -903,7 +903,7 @@ export class RPCTranslator { // to implement this function here. Isn't there a way to programmatically identify that this is missing, given the // existence of a txe_oracle method? // eslint-disable-next-line camelcase - async aztec_utl_tryAes128Decrypt( + async aztec_utl_decryptAes128( foreignCiphertextBVecStorage: ForeignCallArray, foreignCiphertextLength: ForeignCallSingle, foreignIv: ForeignCallArray, @@ -947,7 +947,7 @@ export class RPCTranslator { } // eslint-disable-next-line camelcase - aztec_utl_invalidateContractSyncCache( + aztec_utl_setContractSyncCacheInvalid( foreignContractAddress: ForeignCallSingle, foreignScopes: ForeignCallArray, foreignScopeCount: ForeignCallSingle, From 6a6865ab0cd3de8cca1453d97be6896960d3be49 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Wed, 25 Mar 2026 19:13:24 +0000 Subject: [PATCH 2/2] chore: bump ORACLE_VERSION to 20 and update interface hash --- noir-projects/aztec-nr/aztec/src/oracle/version.nr | 2 +- yarn-project/pxe/src/oracle_version.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/version.nr b/noir-projects/aztec-nr/aztec/src/oracle/version.nr index b6b1a4e50469..bf312d89747c 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/version.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/version.nr @@ -4,7 +4,7 @@ /// /// @dev Whenever a contract function or Noir test is run, the `aztec_utl_assertCompatibleOracleVersion` oracle is /// called and if the oracle version is incompatible an error is thrown. -pub global ORACLE_VERSION: Field = 19; +pub global ORACLE_VERSION: Field = 20; /// Asserts that the version of the oracle is compatible with the version expected by the contract. pub fn assert_compatible_oracle_version() { diff --git a/yarn-project/pxe/src/oracle_version.ts b/yarn-project/pxe/src/oracle_version.ts index d4e76c410dc6..3b04d73e2158 100644 --- a/yarn-project/pxe/src/oracle_version.ts +++ b/yarn-project/pxe/src/oracle_version.ts @@ -4,9 +4,9 @@ /// /// @dev Whenever a contract function or Noir test is run, the `aztec_utl_assertCompatibleOracleVersion` oracle is called /// and if the oracle version is incompatible an error is thrown. -export const ORACLE_VERSION = 19; +export const ORACLE_VERSION = 20; /// This hash is computed as by hashing the Oracle interface and it is used to detect when the Oracle interface changes, /// which in turn implies that you need to update the ORACLE_VERSION constant in this file and in /// `noir-projects/aztec-nr/aztec/src/oracle/version.nr`. -export const ORACLE_INTERFACE_HASH = 'bf97c9fb1e24c5d87d380a20d829692371bd418306fb5ec56466d5fafc400dc8'; +export const ORACLE_INTERFACE_HASH = '93b5352522338a33462efb253b67808c59a805c1c90ee0e394285b49f34d9691';