@aztec/pxe 0.0.1-commit.f504929 → 0.0.1-commit.f650c0a5c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dest/bin/check_oracle_version.js +4 -4
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +1 -1
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  4. package/dest/block_synchronizer/block_synchronizer.js +6 -0
  5. package/dest/config/index.d.ts +2 -2
  6. package/dest/config/index.d.ts.map +1 -1
  7. package/dest/config/index.js +1 -1
  8. package/dest/contract_function_simulator/contract_function_simulator.d.ts +10 -5
  9. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/contract_function_simulator.js +29 -6
  11. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  12. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  13. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  14. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -5
  15. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  16. package/dest/contract_function_simulator/execution_tagging_index_cache.js +17 -9
  17. package/dest/contract_function_simulator/index.d.ts +2 -1
  18. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/index.js +1 -0
  20. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -6
  21. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +8 -10
  23. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +1 -1
  24. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +1 -1
  25. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
  26. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -4
  28. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +4 -7
  29. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -11
  31. package/dest/contract_function_simulator/oracle/interfaces.d.ts +38 -22
  32. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +9 -0
  34. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +47 -0
  36. package/dest/contract_function_simulator/oracle/oracle.d.ts +51 -20
  37. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/oracle/oracle.js +188 -46
  39. package/dest/contract_function_simulator/oracle/private_execution.js +5 -3
  40. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +12 -38
  41. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +21 -44
  43. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +76 -41
  44. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +258 -87
  46. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  47. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  48. package/dest/contract_function_simulator/pick_notes.js +9 -2
  49. package/dest/contract_logging.d.ts +9 -4
  50. package/dest/contract_logging.d.ts.map +1 -1
  51. package/dest/contract_logging.js +21 -6
  52. package/dest/contract_sync/contract_sync_service.d.ts +6 -5
  53. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
  54. package/dest/contract_sync/contract_sync_service.js +44 -37
  55. package/dest/contract_sync/helpers.d.ts +2 -3
  56. package/dest/contract_sync/helpers.d.ts.map +1 -1
  57. package/dest/contract_sync/helpers.js +7 -2
  58. package/dest/debug/pxe_debug_utils.d.ts +3 -3
  59. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  60. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  61. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  62. package/dest/entrypoints/client/bundle/index.js +0 -1
  63. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  64. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  65. package/dest/entrypoints/client/bundle/utils.js +2 -2
  66. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  67. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  68. package/dest/entrypoints/client/lazy/index.js +0 -1
  69. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  70. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  71. package/dest/entrypoints/client/lazy/utils.js +2 -2
  72. package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
  73. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  74. package/dest/entrypoints/pxe_creation_options.js +3 -1
  75. package/dest/entrypoints/server/index.d.ts +2 -3
  76. package/dest/entrypoints/server/index.d.ts.map +1 -1
  77. package/dest/entrypoints/server/index.js +1 -2
  78. package/dest/entrypoints/server/utils.d.ts +2 -2
  79. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  80. package/dest/entrypoints/server/utils.js +2 -2
  81. package/dest/events/event_service.d.ts +3 -2
  82. package/dest/events/event_service.d.ts.map +1 -1
  83. package/dest/events/event_service.js +16 -4
  84. package/dest/logs/log_service.d.ts +5 -8
  85. package/dest/logs/log_service.d.ts.map +1 -1
  86. package/dest/logs/log_service.js +24 -37
  87. package/dest/messages/message_context_service.d.ts +17 -0
  88. package/dest/messages/message_context_service.d.ts.map +1 -0
  89. package/dest/messages/message_context_service.js +36 -0
  90. package/dest/notes/note_service.d.ts +4 -5
  91. package/dest/notes/note_service.d.ts.map +1 -1
  92. package/dest/notes/note_service.js +14 -5
  93. package/dest/notes_filter.d.ts +2 -3
  94. package/dest/notes_filter.d.ts.map +1 -1
  95. package/dest/oracle_version.d.ts +4 -3
  96. package/dest/oracle_version.d.ts.map +1 -1
  97. package/dest/oracle_version.js +20 -10
  98. package/dest/pxe.d.ts +9 -7
  99. package/dest/pxe.d.ts.map +1 -1
  100. package/dest/pxe.js +39 -23
  101. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  102. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  103. package/dest/storage/capsule_store/capsule_service.js +50 -0
  104. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  105. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  106. package/dest/storage/capsule_store/capsule_store.js +33 -28
  107. package/dest/storage/capsule_store/index.d.ts +2 -1
  108. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  109. package/dest/storage/capsule_store/index.js +1 -0
  110. package/dest/storage/metadata.d.ts +1 -1
  111. package/dest/storage/metadata.js +1 -1
  112. package/dest/storage/note_store/note_store.d.ts +1 -1
  113. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  114. package/dest/storage/note_store/note_store.js +2 -2
  115. package/dest/storage/tagging_store/sender_tagging_store.d.ts +26 -25
  116. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  117. package/dest/storage/tagging_store/sender_tagging_store.js +141 -115
  118. package/dest/tagging/index.d.ts +2 -2
  119. package/dest/tagging/index.d.ts.map +1 -1
  120. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +1 -1
  121. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  122. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +10 -1
  123. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +4 -3
  124. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  125. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +20 -10
  126. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +2 -1
  127. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  128. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +24 -11
  129. package/package.json +16 -16
  130. package/src/bin/check_oracle_version.ts +4 -4
  131. package/src/block_synchronizer/block_synchronizer.ts +6 -0
  132. package/src/config/index.ts +1 -1
  133. package/src/contract_function_simulator/contract_function_simulator.ts +42 -10
  134. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  135. package/src/contract_function_simulator/execution_tagging_index_cache.ts +16 -11
  136. package/src/contract_function_simulator/index.ts +1 -0
  137. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +9 -9
  138. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +1 -1
  139. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -5
  140. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -10
  141. package/src/contract_function_simulator/oracle/interfaces.ts +58 -30
  142. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +104 -0
  143. package/src/contract_function_simulator/oracle/oracle.ts +262 -66
  144. package/src/contract_function_simulator/oracle/private_execution.ts +4 -4
  145. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +26 -65
  146. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +431 -117
  147. package/src/contract_function_simulator/pick_notes.ts +9 -2
  148. package/src/contract_logging.ts +18 -5
  149. package/src/contract_sync/contract_sync_service.ts +77 -59
  150. package/src/contract_sync/helpers.ts +4 -4
  151. package/src/debug/pxe_debug_utils.ts +3 -3
  152. package/src/entrypoints/client/bundle/index.ts +0 -1
  153. package/src/entrypoints/client/bundle/utils.ts +2 -3
  154. package/src/entrypoints/client/lazy/index.ts +0 -1
  155. package/src/entrypoints/client/lazy/utils.ts +2 -3
  156. package/src/entrypoints/pxe_creation_options.ts +7 -0
  157. package/src/entrypoints/server/index.ts +1 -2
  158. package/src/entrypoints/server/utils.ts +2 -3
  159. package/src/events/event_service.ts +17 -4
  160. package/src/logs/log_service.ts +52 -78
  161. package/src/messages/message_context_service.ts +44 -0
  162. package/src/notes/note_service.ts +18 -8
  163. package/src/notes_filter.ts +1 -3
  164. package/src/oracle_version.ts +20 -10
  165. package/src/pxe.ts +62 -28
  166. package/src/storage/capsule_store/capsule_service.ts +90 -0
  167. package/src/storage/capsule_store/capsule_store.ts +34 -26
  168. package/src/storage/capsule_store/index.ts +1 -0
  169. package/src/storage/metadata.ts +1 -1
  170. package/src/storage/note_store/note_store.ts +2 -5
  171. package/src/storage/tagging_store/sender_tagging_store.ts +182 -135
  172. package/src/tagging/index.ts +1 -1
  173. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +19 -1
  174. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +26 -11
  175. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +19 -9
  176. package/dest/access_scopes.d.ts +0 -9
  177. package/dest/access_scopes.d.ts.map +0 -1
  178. package/dest/access_scopes.js +0 -6
  179. package/src/access_scopes.ts +0 -9
@@ -6,8 +6,9 @@ import { MembershipWitness } from '@aztec/foundation/trees';
6
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
7
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
8
8
  import { BlockHash } from '@aztec/stdlib/block';
9
- import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
9
+ import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
10
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
+ import type { PublicKeys } from '@aztec/stdlib/keys';
11
12
  import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
12
13
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
13
14
  import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
@@ -53,7 +54,7 @@ export interface IMiscOracle {
53
54
  isMisc: true;
54
55
 
55
56
  getRandomField(): Fr;
56
- assertCompatibleOracleVersion(version: number): void;
57
+ assertCompatibleOracleVersion(major: number, minor: number): void;
57
58
  log(level: number, message: string, fields: Fr[]): Promise<void>;
58
59
  }
59
60
 
@@ -85,7 +86,9 @@ export interface IUtilityExecutionOracle {
85
86
  nullifier: Fr,
86
87
  ): Promise<NullifierMembershipWitness | undefined>;
87
88
  getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
88
- tryGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress | undefined>;
89
+ getPublicKeysAndPartialAddress(
90
+ account: AztecAddress,
91
+ ): Promise<{ publicKeys: PublicKeys; partialAddress: PartialAddress } | undefined>;
89
92
  getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
90
93
  getNotes(
91
94
  owner: AztecAddress | undefined,
@@ -104,35 +107,72 @@ export interface IUtilityExecutionOracle {
104
107
  offset: number,
105
108
  status: NoteStatus,
106
109
  ): Promise<NoteData[]>;
107
- checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
110
+ doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
108
111
  getL1ToL2MembershipWitness(
109
112
  contractAddress: AztecAddress,
110
113
  messageHash: Fr,
111
114
  secret: Fr,
112
115
  ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
113
- storageRead(
116
+ getFromPublicStorage(
114
117
  anchorBlockHash: BlockHash,
115
118
  contractAddress: AztecAddress,
116
119
  startStorageSlot: Fr,
117
120
  numberOfElements: number,
118
121
  ): Promise<Fr[]>;
119
- fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
122
+ getPendingTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr, scope: AztecAddress): Promise<void>;
123
+ getPendingTaggedLogsV2(scope: AztecAddress): Promise<Fr>;
120
124
  validateAndStoreEnqueuedNotesAndEvents(
121
125
  contractAddress: AztecAddress,
122
126
  noteValidationRequestsArrayBaseSlot: Fr,
123
127
  eventValidationRequestsArrayBaseSlot: Fr,
128
+ maxNotePackedLen: number,
129
+ maxEventSerializedLen: number,
130
+ scope: AztecAddress,
124
131
  ): Promise<void>;
125
- bulkRetrieveLogs(
132
+ getLogsByTag(
126
133
  contractAddress: AztecAddress,
127
134
  logRetrievalRequestsArrayBaseSlot: Fr,
128
135
  logRetrievalResponsesArrayBaseSlot: Fr,
136
+ scope: AztecAddress,
129
137
  ): Promise<void>;
130
- storeCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
131
- loadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
132
- deleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
133
- copyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
134
- aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
135
- getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
138
+ validateAndStoreEnqueuedNotesAndEventsV2(
139
+ noteValidationRequestsArrayBaseSlot: Fr,
140
+ eventValidationRequestsArrayBaseSlot: Fr,
141
+ maxNotePackedLen: number,
142
+ maxEventSerializedLen: number,
143
+ scope: AztecAddress,
144
+ ): Promise<void>;
145
+ getLogsByTagV2(requestArrayBaseSlot: Fr): Promise<Fr>;
146
+ getMessageContextsByTxHashV2(requestArrayBaseSlot: Fr): Promise<Fr>;
147
+ getMessageContextsByTxHash(
148
+ contractAddress: AztecAddress,
149
+ messageContextRequestsArrayBaseSlot: Fr,
150
+ messageContextResponsesArrayBaseSlot: Fr,
151
+ scope: AztecAddress,
152
+ ): Promise<void>;
153
+ setCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[], scope: AztecAddress): void;
154
+ getCapsule(contractAddress: AztecAddress, key: Fr, scope: AztecAddress): Promise<Fr[] | null>;
155
+ deleteCapsule(contractAddress: AztecAddress, key: Fr, scope: AztecAddress): void;
156
+ copyCapsule(
157
+ contractAddress: AztecAddress,
158
+ srcKey: Fr,
159
+ dstKey: Fr,
160
+ numEntries: number,
161
+ scope: AztecAddress,
162
+ ): Promise<void>;
163
+ decryptAes128(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
164
+ getSharedSecret(address: AztecAddress, ephPk: Point, contractAddress: AztecAddress): Promise<Fr>;
165
+ setContractSyncCacheInvalid(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
166
+ emitOffchainEffect(data: Fr[]): Promise<void>;
167
+
168
+ // Ephemeral array methods
169
+ pushEphemeral(slot: Fr, elements: Fr[]): number;
170
+ popEphemeral(slot: Fr): Fr[];
171
+ getEphemeral(slot: Fr, index: number): Fr[];
172
+ setEphemeral(slot: Fr, index: number, elements: Fr[]): void;
173
+ getEphemeralLen(slot: Fr): number;
174
+ removeEphemeral(slot: Fr, index: number): void;
175
+ clearEphemeral(slot: Fr): void;
136
176
  }
137
177
 
138
178
  /**
@@ -142,8 +182,8 @@ export interface IUtilityExecutionOracle {
142
182
  export interface IPrivateExecutionOracle {
143
183
  isPrivate: true;
144
184
 
145
- storeInExecutionCache(values: Fr[], hash: Fr): void;
146
- loadFromExecutionCache(hash: Fr): Promise<Fr[]>;
185
+ setHashPreimage(values: Fr[], hash: Fr): void;
186
+ getHashPreimage(hash: Fr): Promise<Fr[]>;
147
187
  notifyCreatedNote(
148
188
  owner: AztecAddress,
149
189
  storageSlot: Fr,
@@ -164,22 +204,10 @@ export interface IPrivateExecutionOracle {
164
204
  sideEffectCounter: number,
165
205
  isStaticCall: boolean,
166
206
  ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
167
- notifyEnqueuedPublicFunctionCall(
168
- targetContractAddress: AztecAddress,
169
- calldataHash: Fr,
170
- sideEffectCounter: number,
171
- isStaticCall: boolean,
172
- ): Promise<void>;
173
- notifySetPublicTeardownFunctionCall(
174
- targetContractAddress: AztecAddress,
175
- calldataHash: Fr,
176
- sideEffectCounter: number,
177
- isStaticCall: boolean,
178
- ): Promise<void>;
179
- notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
180
- isSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
207
+ assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
208
+ notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
209
+ isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
181
210
  getSenderForTags(): Promise<AztecAddress | undefined>;
182
211
  setSenderForTags(senderForTags: AztecAddress): Promise<void>;
183
212
  getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
184
- emitOffchainEffect(data: Fr[]): Promise<void>;
185
213
  }
@@ -0,0 +1,104 @@
1
+ import { toACVMField } from '@aztec/simulator/client';
2
+ import type { ACIRCallback, ACVMField } from '@aztec/simulator/client';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+
5
+ import type { Oracle } from './oracle.js';
6
+
7
+ /**
8
+ * Builds legacy oracle name callbacks for pinned protocol contracts whose artifacts are committed and cannot be
9
+ * changed.
10
+ * TODO(F-416): Remove these aliases on v5 when protocol contracts are redeployed.
11
+ */
12
+ export function buildLegacyOracleCallbacks(oracle: Oracle): ACIRCallback {
13
+ // If you are about to add a new mapping ensure that the old oracle name is different from the new one - this can
14
+ // commonly occur when only the args are getting modified.
15
+ return {
16
+ // Simple prefix renames (privateXxx/utilityXxx → aztec_prv_/aztec_utl_)
17
+ utilityLog: (
18
+ level: ACVMField[],
19
+ message: ACVMField[],
20
+ _ignoredFieldsSize: ACVMField[],
21
+ fields: ACVMField[],
22
+ ): Promise<ACVMField[]> => oracle.aztec_utl_log(level, message, _ignoredFieldsSize, fields),
23
+ utilityAssertCompatibleOracleVersion: (version: ACVMField[]): Promise<ACVMField[]> =>
24
+ oracle.aztec_utl_assertCompatibleOracleVersionV2(version, [toACVMField(0)]),
25
+ // Old 1-arg oracle before minor/major split. Maps to V2 with minor=0.
26
+ // eslint-disable-next-line camelcase
27
+ aztec_utl_assertCompatibleOracleVersion: (version: ACVMField[]): Promise<ACVMField[]> =>
28
+ oracle.aztec_utl_assertCompatibleOracleVersionV2(version, [toACVMField(0)]),
29
+ utilityLoadCapsule: (
30
+ contractAddress: ACVMField[],
31
+ slot: ACVMField[],
32
+ tSize: ACVMField[],
33
+ ): Promise<(ACVMField | ACVMField[])[]> =>
34
+ oracle.aztec_utl_getCapsule(contractAddress, slot, tSize, [toACVMField(AztecAddress.ZERO)]),
35
+ privateStoreInExecutionCache: (values: ACVMField[], hash: ACVMField[]): Promise<ACVMField[]> =>
36
+ oracle.aztec_prv_setHashPreimage(values, hash),
37
+ privateLoadFromExecutionCache: (returnsHash: ACVMField[]): Promise<ACVMField[][]> =>
38
+ oracle.aztec_prv_getHashPreimage(returnsHash),
39
+ privateCallPrivateFunction: (
40
+ contractAddress: ACVMField[],
41
+ functionSelector: ACVMField[],
42
+ argsHash: ACVMField[],
43
+ sideEffectCounter: ACVMField[],
44
+ isStaticCall: ACVMField[],
45
+ ): Promise<ACVMField[][]> =>
46
+ oracle.aztec_prv_callPrivateFunction(
47
+ contractAddress,
48
+ functionSelector,
49
+ argsHash,
50
+ sideEffectCounter,
51
+ isStaticCall,
52
+ ),
53
+ privateIsNullifierPending: (innerNullifier: ACVMField[], contractAddress: ACVMField[]): Promise<ACVMField[]> =>
54
+ oracle.aztec_prv_isNullifierPending(innerNullifier, contractAddress),
55
+ privateNotifyCreatedNullifier: (innerNullifier: ACVMField[]): Promise<ACVMField[]> =>
56
+ oracle.aztec_prv_notifyCreatedNullifier(innerNullifier),
57
+ privateNotifyCreatedContractClassLog: (
58
+ contractAddress: ACVMField[],
59
+ message: ACVMField[],
60
+ length: ACVMField[],
61
+ counter: ACVMField[],
62
+ ): Promise<ACVMField[]> =>
63
+ oracle.aztec_prv_notifyCreatedContractClassLog(contractAddress, message, length, counter),
64
+ utilityGetUtilityContext: (): Promise<(ACVMField | ACVMField[])[]> => oracle.aztec_utl_getUtilityContext(),
65
+ utilityStorageRead: (
66
+ blockHash: ACVMField[],
67
+ contractAddress: ACVMField[],
68
+ startStorageSlot: ACVMField[],
69
+ numberOfElements: ACVMField[],
70
+ ): Promise<ACVMField[][]> =>
71
+ oracle.aztec_utl_getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements),
72
+ utilityStoreCapsule: (
73
+ contractAddress: ACVMField[],
74
+ slot: ACVMField[],
75
+ capsule: ACVMField[],
76
+ ): Promise<ACVMField[]> =>
77
+ oracle.aztec_utl_setCapsule(contractAddress, slot, capsule, [toACVMField(AztecAddress.ZERO)]),
78
+ utilityCopyCapsule: (
79
+ contractAddress: ACVMField[],
80
+ srcSlot: ACVMField[],
81
+ dstSlot: ACVMField[],
82
+ numEntries: ACVMField[],
83
+ ): Promise<ACVMField[]> =>
84
+ oracle.aztec_utl_copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, [toACVMField(AztecAddress.ZERO)]),
85
+ utilityDeleteCapsule: (contractAddress: ACVMField[], slot: ACVMField[]): Promise<ACVMField[]> =>
86
+ oracle.aztec_utl_deleteCapsule(contractAddress, slot, [toACVMField(AztecAddress.ZERO)]),
87
+ utilityGetL1ToL2MembershipWitness: (
88
+ contractAddress: ACVMField[],
89
+ messageHash: ACVMField[],
90
+ secret: ACVMField[],
91
+ ): Promise<(ACVMField | ACVMField[])[]> =>
92
+ oracle.aztec_utl_getL1ToL2MembershipWitness(contractAddress, messageHash, secret),
93
+ // Renames (same signature, different oracle name)
94
+ privateNotifySetMinRevertibleSideEffectCounter: (counter: ACVMField[]): Promise<ACVMField[]> =>
95
+ oracle.aztec_prv_notifyRevertiblePhaseStart(counter),
96
+ // Signature changes: old 4-param oracles → new 1-param validatePublicCalldata
97
+ privateNotifyEnqueuedPublicFunctionCall: (
98
+ _contractAddress: ACVMField[],
99
+ calldataHash: ACVMField[],
100
+ _sideEffectCounter: ACVMField[],
101
+ _isStaticCall: ACVMField[],
102
+ ): Promise<ACVMField[]> => oracle.aztec_prv_assertValidPublicCalldata(calldataHash),
103
+ };
104
+ }