@aztec/pxe 0.0.1-commit.ef17749e1 → 0.0.1-commit.f1b29a41e

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 (119) hide show
  1. package/dest/block_synchronizer/block_synchronizer.d.ts +1 -1
  2. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  3. package/dest/block_synchronizer/block_synchronizer.js +6 -0
  4. package/dest/contract_function_simulator/contract_function_simulator.d.ts +9 -3
  5. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  6. package/dest/contract_function_simulator/contract_function_simulator.js +29 -6
  7. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -5
  8. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  9. package/dest/contract_function_simulator/execution_tagging_index_cache.js +17 -9
  10. package/dest/contract_function_simulator/index.d.ts +2 -1
  11. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  12. package/dest/contract_function_simulator/index.js +1 -0
  13. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -5
  14. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  15. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +7 -9
  16. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +1 -1
  17. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  18. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -3
  19. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -6
  20. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  21. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +5 -10
  22. package/dest/contract_function_simulator/oracle/interfaces.d.ts +21 -20
  23. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  24. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +9 -0
  25. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -0
  26. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +38 -0
  27. package/dest/contract_function_simulator/oracle/oracle.d.ts +39 -19
  28. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  29. package/dest/contract_function_simulator/oracle/oracle.js +91 -44
  30. package/dest/contract_function_simulator/oracle/private_execution.js +5 -3
  31. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +11 -36
  32. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +12 -44
  34. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +43 -25
  35. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +157 -61
  37. package/dest/contract_logging.d.ts +9 -4
  38. package/dest/contract_logging.d.ts.map +1 -1
  39. package/dest/contract_logging.js +21 -6
  40. package/dest/contract_sync/contract_sync_service.d.ts +7 -4
  41. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
  42. package/dest/contract_sync/contract_sync_service.js +59 -32
  43. package/dest/contract_sync/helpers.d.ts +2 -2
  44. package/dest/contract_sync/helpers.d.ts.map +1 -1
  45. package/dest/contract_sync/helpers.js +7 -2
  46. package/dest/events/event_service.d.ts +3 -2
  47. package/dest/events/event_service.d.ts.map +1 -1
  48. package/dest/events/event_service.js +16 -4
  49. package/dest/logs/log_service.d.ts +6 -7
  50. package/dest/logs/log_service.d.ts.map +1 -1
  51. package/dest/logs/log_service.js +24 -28
  52. package/dest/messages/message_context_service.d.ts +17 -0
  53. package/dest/messages/message_context_service.d.ts.map +1 -0
  54. package/dest/messages/message_context_service.js +36 -0
  55. package/dest/notes/note_service.d.ts +2 -2
  56. package/dest/notes/note_service.d.ts.map +1 -1
  57. package/dest/notes/note_service.js +14 -5
  58. package/dest/oracle_version.d.ts +2 -2
  59. package/dest/oracle_version.js +2 -2
  60. package/dest/pxe.d.ts +6 -3
  61. package/dest/pxe.d.ts.map +1 -1
  62. package/dest/pxe.js +37 -21
  63. package/dest/storage/capsule_store/capsule_service.d.ts +22 -0
  64. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  65. package/dest/storage/capsule_store/capsule_service.js +50 -0
  66. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  67. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  68. package/dest/storage/capsule_store/capsule_store.js +33 -28
  69. package/dest/storage/capsule_store/index.d.ts +2 -1
  70. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  71. package/dest/storage/capsule_store/index.js +1 -0
  72. package/dest/storage/metadata.d.ts +1 -1
  73. package/dest/storage/metadata.js +1 -1
  74. package/dest/storage/tagging_store/sender_tagging_store.d.ts +26 -25
  75. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  76. package/dest/storage/tagging_store/sender_tagging_store.js +141 -115
  77. package/dest/tagging/index.d.ts +2 -2
  78. package/dest/tagging/index.d.ts.map +1 -1
  79. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +1 -1
  80. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  81. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +10 -1
  82. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +4 -3
  83. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  84. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +20 -10
  85. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +2 -1
  86. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  87. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +24 -11
  88. package/package.json +16 -16
  89. package/src/block_synchronizer/block_synchronizer.ts +6 -0
  90. package/src/contract_function_simulator/contract_function_simulator.ts +40 -7
  91. package/src/contract_function_simulator/execution_tagging_index_cache.ts +16 -11
  92. package/src/contract_function_simulator/index.ts +1 -0
  93. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +8 -8
  94. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -4
  95. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +3 -9
  96. package/src/contract_function_simulator/oracle/interfaces.ts +34 -28
  97. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +98 -0
  98. package/src/contract_function_simulator/oracle/oracle.ts +120 -64
  99. package/src/contract_function_simulator/oracle/private_execution.ts +4 -4
  100. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +14 -62
  101. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +279 -72
  102. package/src/contract_logging.ts +18 -5
  103. package/src/contract_sync/contract_sync_service.ts +89 -49
  104. package/src/contract_sync/helpers.ts +3 -2
  105. package/src/events/event_service.ts +17 -4
  106. package/src/logs/log_service.ts +51 -46
  107. package/src/messages/message_context_service.ts +44 -0
  108. package/src/notes/note_service.ts +16 -5
  109. package/src/oracle_version.ts +2 -2
  110. package/src/pxe.ts +55 -19
  111. package/src/storage/capsule_store/capsule_service.ts +91 -0
  112. package/src/storage/capsule_store/capsule_store.ts +34 -26
  113. package/src/storage/capsule_store/index.ts +1 -0
  114. package/src/storage/metadata.ts +1 -1
  115. package/src/storage/tagging_store/sender_tagging_store.ts +182 -135
  116. package/src/tagging/index.ts +1 -1
  117. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +19 -1
  118. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +26 -11
  119. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +19 -9
@@ -6,6 +6,7 @@ import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
7
  import { BlockHash } from '@aztec/stdlib/block';
8
8
  import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
9
+ import { buildLegacyOracleCallbacks } from './legacy_oracle_mappings.js';
9
10
  import { packAsHintedNote } from './note_packing_utils.js';
10
11
  export class UnavailableOracleError extends Error {
11
12
  constructor(oracleName){
@@ -14,6 +15,25 @@ export class UnavailableOracleError extends Error {
14
15
  }
15
16
  /**
16
17
  * A data source that has all the apis required by Aztec.nr.
18
+ *
19
+ * ## Oracle naming conventions
20
+ *
21
+ * We try to keep oracle naming consistent, please see below the conventions we adhere to.
22
+ *
23
+ * Each oracle method name has the form `aztec_{scope}_{verb}{Object}`, where:
24
+ *
25
+ * - **Scope prefix** indicates the execution context required:
26
+ * - `aztec_prv_` — available only during private function execution.
27
+ * - `aztec_utl_` — available during both utility and private execution.
28
+ *
29
+ * - **Verb** signals the operation's semantics (verb-first, then object):
30
+ * - `get` — read / lookup / get data from oracle into contract.
31
+ * - `does`/`is`/`has` — predicate (returns boolean).
32
+ * - `emit`/`notify` — propagate data from contract to oracle.
33
+ * - `set` — contract driven oracle state mutation (capsules, execution cache, tagging, etc).
34
+ * - `call` — trigger nested execution (control flow).
35
+ * - `assert` — validate a condition, throw on failure.
36
+ * - Standalone verbs (`delete`, `copy`, `decrypt`, `log`, etc) are used when no generic verb fits.
17
37
  */ export class Oracle {
18
38
  handler;
19
39
  constructor(handler){
@@ -60,11 +80,15 @@ export class UnavailableOracleError extends Error {
60
80
  }
61
81
  });
62
82
  // Build callback object and return it
63
- return oracleNames.reduce((acc, name)=>{
83
+ const callback = oracleNames.reduce((acc, name)=>{
64
84
  const method = this[name];
65
85
  acc[name] = method.bind(this);
66
86
  return acc;
67
87
  }, {});
88
+ return {
89
+ ...callback,
90
+ ...buildLegacyOracleCallbacks(this)
91
+ };
68
92
  }
69
93
  // eslint-disable-next-line camelcase
70
94
  aztec_utl_assertCompatibleOracleVersion([version]) {
@@ -79,13 +103,13 @@ export class UnavailableOracleError extends Error {
79
103
  ]);
80
104
  }
81
105
  // eslint-disable-next-line camelcase
82
- aztec_prv_storeInExecutionCache(values, [hash]) {
83
- this.handlerAsPrivate().storeInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
106
+ aztec_prv_setHashPreimage(values, [hash]) {
107
+ this.handlerAsPrivate().setHashPreimage(values.map(Fr.fromString), Fr.fromString(hash));
84
108
  return Promise.resolve([]);
85
109
  }
86
110
  // eslint-disable-next-line camelcase
87
- async aztec_prv_loadFromExecutionCache([returnsHash]) {
88
- const values = await this.handlerAsPrivate().loadFromExecutionCache(Fr.fromString(returnsHash));
111
+ async aztec_prv_getHashPreimage([returnsHash]) {
112
+ const values = await this.handlerAsPrivate().getHashPreimage(Fr.fromString(returnsHash));
89
113
  return [
90
114
  values.map(toACVMField)
91
115
  ];
@@ -182,9 +206,9 @@ export class UnavailableOracleError extends Error {
182
206
  ];
183
207
  }
184
208
  // eslint-disable-next-line camelcase
185
- async aztec_utl_tryGetPublicKeysAndPartialAddress([address]) {
209
+ async aztec_utl_getPublicKeysAndPartialAddress([address]) {
186
210
  const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
187
- const result = await this.handlerAsUtility().tryGetPublicKeysAndPartialAddress(parsedAddress);
211
+ const result = await this.handlerAsUtility().getPublicKeysAndPartialAddress(parsedAddress);
188
212
  // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
189
213
  // with two fields: `some` (a boolean) and `value` (a field array in this case).
190
214
  if (result === undefined) {
@@ -246,8 +270,8 @@ export class UnavailableOracleError extends Error {
246
270
  ];
247
271
  }
248
272
  // eslint-disable-next-line camelcase
249
- async aztec_utl_checkNullifierExists([innerNullifier]) {
250
- const exists = await this.handlerAsUtility().checkNullifierExists(Fr.fromString(innerNullifier));
273
+ async aztec_utl_doesNullifierExist([innerNullifier]) {
274
+ const exists = await this.handlerAsUtility().doesNullifierExist(Fr.fromString(innerNullifier));
251
275
  return [
252
276
  toACVMField(exists)
253
277
  ];
@@ -258,8 +282,8 @@ export class UnavailableOracleError extends Error {
258
282
  return message.toNoirRepresentation();
259
283
  }
260
284
  // eslint-disable-next-line camelcase
261
- async aztec_utl_storageRead([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
262
- const values = await this.handlerAsUtility().storageRead(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
285
+ async aztec_utl_getFromPublicStorage([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
286
+ const values = await this.handlerAsUtility().getFromPublicStorage(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
263
287
  return [
264
288
  values.map(toACVMField)
265
289
  ];
@@ -292,23 +316,18 @@ export class UnavailableOracleError extends Error {
292
316
  ];
293
317
  }
294
318
  // eslint-disable-next-line camelcase
295
- async aztec_prv_notifyEnqueuedPublicFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
296
- await this.handlerAsPrivate().notifyEnqueuedPublicFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
319
+ async aztec_prv_assertValidPublicCalldata([calldataHash]) {
320
+ await this.handlerAsPrivate().assertValidPublicCalldata(Fr.fromString(calldataHash));
297
321
  return [];
298
322
  }
299
323
  // eslint-disable-next-line camelcase
300
- async aztec_prv_notifySetPublicTeardownFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
301
- await this.handlerAsPrivate().notifySetPublicTeardownFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
302
- return [];
303
- }
304
- // eslint-disable-next-line camelcase
305
- async aztec_prv_notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]) {
306
- await this.handlerAsPrivate().notifySetMinRevertibleSideEffectCounter(Fr.fromString(minRevertibleSideEffectCounter).toNumber());
324
+ async aztec_prv_notifyRevertiblePhaseStart([minRevertibleSideEffectCounter]) {
325
+ await this.handlerAsPrivate().notifyRevertiblePhaseStart(Fr.fromString(minRevertibleSideEffectCounter).toNumber());
307
326
  return Promise.resolve([]);
308
327
  }
309
328
  // eslint-disable-next-line camelcase
310
- async aztec_prv_isSideEffectCounterRevertible([sideEffectCounter]) {
311
- const isRevertible = await this.handlerAsPrivate().isSideEffectCounterRevertible(Fr.fromString(sideEffectCounter).toNumber());
329
+ async aztec_prv_isExecutionInRevertiblePhase([sideEffectCounter]) {
330
+ const isRevertible = await this.handlerAsPrivate().isExecutionInRevertiblePhase(Fr.fromString(sideEffectCounter).toNumber());
312
331
  return Promise.resolve([
313
332
  toACVMField(isRevertible)
314
333
  ]);
@@ -321,28 +340,33 @@ export class UnavailableOracleError extends Error {
321
340
  ];
322
341
  }
323
342
  // eslint-disable-next-line camelcase
324
- async aztec_utl_fetchTaggedLogs([pendingTaggedLogArrayBaseSlot]) {
325
- await this.handlerAsUtility().fetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
343
+ async aztec_utl_getPendingTaggedLogs([pendingTaggedLogArrayBaseSlot], [scope]) {
344
+ await this.handlerAsUtility().getPendingTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot), AztecAddress.fromString(scope));
326
345
  return [];
327
346
  }
328
347
  // eslint-disable-next-line camelcase
329
- async aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
330
- await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
348
+ async aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot], [maxNotePackedLen], [maxEventSerializedLen], [scope]) {
349
+ await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot), Fr.fromString(maxNotePackedLen).toNumber(), Fr.fromString(maxEventSerializedLen).toNumber(), AztecAddress.fromString(scope));
331
350
  return [];
332
351
  }
333
352
  // eslint-disable-next-line camelcase
334
- async aztec_utl_bulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
335
- await this.handlerAsUtility().bulkRetrieveLogs(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot));
353
+ async aztec_utl_getLogsByTag([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot], [scope]) {
354
+ await this.handlerAsUtility().getLogsByTag(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot), AztecAddress.fromString(scope));
336
355
  return [];
337
356
  }
338
357
  // eslint-disable-next-line camelcase
339
- async aztec_utl_storeCapsule([contractAddress], [slot], capsule) {
340
- await this.handlerAsUtility().storeCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString));
358
+ async aztec_utl_getMessageContextsByTxHash([contractAddress], [messageContextRequestsArrayBaseSlot], [messageContextResponsesArrayBaseSlot], [scope]) {
359
+ await this.handlerAsUtility().getMessageContextsByTxHash(AztecAddress.fromString(contractAddress), Fr.fromString(messageContextRequestsArrayBaseSlot), Fr.fromString(messageContextResponsesArrayBaseSlot), AztecAddress.fromString(scope));
341
360
  return [];
342
361
  }
343
362
  // eslint-disable-next-line camelcase
344
- async aztec_utl_loadCapsule([contractAddress], [slot], [tSize]) {
345
- const values = await this.handlerAsUtility().loadCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
363
+ aztec_utl_setCapsule([contractAddress], [slot], capsule, [scope]) {
364
+ this.handlerAsUtility().setCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString), AztecAddress.fromField(Fr.fromString(scope)));
365
+ return Promise.resolve([]);
366
+ }
367
+ // eslint-disable-next-line camelcase
368
+ async aztec_utl_getCapsule([contractAddress], [slot], [tSize], [scope]) {
369
+ const values = await this.handlerAsUtility().getCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), AztecAddress.fromField(Fr.fromString(scope)));
346
370
  // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
347
371
  // with two fields: `some` (a boolean) and `value` (a field array in this case).
348
372
  if (values === null) {
@@ -360,35 +384,58 @@ export class UnavailableOracleError extends Error {
360
384
  }
361
385
  }
362
386
  // eslint-disable-next-line camelcase
363
- async aztec_utl_deleteCapsule([contractAddress], [slot]) {
364
- await this.handlerAsUtility().deleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
365
- return [];
387
+ aztec_utl_deleteCapsule([contractAddress], [slot], [scope]) {
388
+ this.handlerAsUtility().deleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), AztecAddress.fromField(Fr.fromString(scope)));
389
+ return Promise.resolve([]);
366
390
  }
367
391
  // eslint-disable-next-line camelcase
368
- async aztec_utl_copyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
369
- await this.handlerAsUtility().copyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber());
392
+ async aztec_utl_copyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries], [scope]) {
393
+ await this.handlerAsUtility().copyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber(), AztecAddress.fromField(Fr.fromString(scope)));
370
394
  return [];
371
395
  }
372
396
  // eslint-disable-next-line camelcase
373
- async aztec_utl_aes128Decrypt(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
397
+ async aztec_utl_decryptAes128(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
374
398
  const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
375
399
  const ivBuffer = fromUintArray(iv, 8);
376
400
  const symKeyBuffer = fromUintArray(symKey, 8);
377
- const plaintext = await this.handlerAsUtility().aes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
378
- return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
401
+ // Noir Option<BoundedVec> is encoded as [is_some: Field, storage: Field[], length: Field].
402
+ try {
403
+ const plaintext = await this.handlerAsUtility().decryptAes128(ciphertext, ivBuffer, symKeyBuffer);
404
+ const [storage, length] = bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
405
+ return [
406
+ toACVMField(1),
407
+ storage,
408
+ length
409
+ ];
410
+ } catch {
411
+ const zeroStorage = Array(ciphertextBVecStorage.length).fill(toACVMField(0));
412
+ return [
413
+ toACVMField(0),
414
+ zeroStorage,
415
+ toACVMField(0)
416
+ ];
417
+ }
379
418
  }
380
419
  // eslint-disable-next-line camelcase
381
- async aztec_utl_getSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2]) {
420
+ async aztec_utl_getSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2], [contractAddress]) {
382
421
  const secret = await this.handlerAsUtility().getSharedSecret(AztecAddress.fromField(Fr.fromString(address)), Point.fromFields([
383
422
  ephPKField0,
384
423
  ephPKField1,
385
424
  ephPKField2
386
- ].map(Fr.fromString)));
387
- return secret.toFields().map(toACVMField);
425
+ ].map(Fr.fromString)), AztecAddress.fromField(Fr.fromString(contractAddress)));
426
+ return [
427
+ toACVMField(secret)
428
+ ];
429
+ }
430
+ // eslint-disable-next-line camelcase
431
+ aztec_utl_setContractSyncCacheInvalid([contractAddress], scopes, [scopeCount]) {
432
+ const scopeAddresses = scopes.slice(0, +scopeCount).map((s)=>AztecAddress.fromField(Fr.fromString(s)));
433
+ this.handlerAsUtility().setContractSyncCacheInvalid(AztecAddress.fromField(Fr.fromString(contractAddress)), scopeAddresses);
434
+ return Promise.resolve([]);
388
435
  }
389
436
  // eslint-disable-next-line camelcase
390
437
  async aztec_utl_emitOffchainEffect(data) {
391
- await this.handlerAsPrivate().emitOffchainEffect(data.map(Fr.fromString));
438
+ await this.handlerAsUtility().emitOffchainEffect(data.map(Fr.fromString));
392
439
  return [];
393
440
  }
394
441
  // eslint-disable-next-line camelcase
@@ -45,11 +45,11 @@ import { Oracle } from './oracle.js';
45
45
  appCircuitName: functionName
46
46
  });
47
47
  const contractClassLogs = privateExecutionOracle.getContractClassLogs();
48
- const rawReturnValues = await privateExecutionOracle.loadFromExecutionCache(publicInputs.returnsHash);
48
+ const rawReturnValues = await privateExecutionOracle.getHashPreimage(publicInputs.returnsHash);
49
49
  const newNotes = privateExecutionOracle.getNewNotes();
50
50
  const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
51
51
  const offchainEffects = privateExecutionOracle.getOffchainEffects();
52
- const preTags = privateExecutionOracle.getUsedPreTags();
52
+ const taggingIndexRanges = privateExecutionOracle.getUsedTaggingIndexRanges();
53
53
  const nestedExecutionResults = privateExecutionOracle.getNestedExecutionResults();
54
54
  let timerSubtractionList = nestedExecutionResults;
55
55
  let witgenTime = duration;
@@ -59,7 +59,9 @@ import { Oracle } from './oracle.js';
59
59
  timerSubtractionList = timerSubtractionList.flatMap((nested)=>nested.nestedExecutionResults ?? []);
60
60
  }
61
61
  log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
62
- return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
62
+ return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects.map((e)=>({
63
+ data: e.data
64
+ })), taggingIndexRanges, nestedExecutionResults, contractClassLogs, {
63
65
  timings: {
64
66
  witgen: witgenTime,
65
67
  oracles: acirExecutionResult.oracles
@@ -3,12 +3,11 @@ import { type CircuitSimulator } from '@aztec/simulator/client';
3
3
  import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
5
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
6
- import { type ContractClassLog, type PreTag } from '@aztec/stdlib/logs';
6
+ import { type ContractClassLog, type TaggingIndexRange } from '@aztec/stdlib/logs';
7
7
  import { Tag } from '@aztec/stdlib/logs';
8
8
  import { type NoteStatus } from '@aztec/stdlib/note';
9
9
  import { CallContext, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
10
10
  import type { AccessScopes } from '../../access_scopes.js';
11
- import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js';
12
11
  import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
13
12
  import type { ExecutionNoteCache } from '../execution_note_cache.js';
14
13
  import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
@@ -26,7 +25,6 @@ export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contr
26
25
  noteCache: ExecutionNoteCache;
27
26
  taggingIndexCache: ExecutionTaggingIndexCache;
28
27
  senderTaggingStore: SenderTaggingStore;
29
- contractSyncService: ContractSyncService;
30
28
  totalPublicCalldataCount?: number;
31
29
  sideEffectCounter?: number;
32
30
  senderForTags?: AztecAddress;
@@ -49,7 +47,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
49
47
  private newNotes;
50
48
  private noteHashNullifierCounterMap;
51
49
  private contractClassLogs;
52
- private offchainEffects;
53
50
  private nestedExecutionResults;
54
51
  private readonly argsHash;
55
52
  private readonly txContext;
@@ -59,7 +56,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
59
56
  private readonly noteCache;
60
57
  private readonly taggingIndexCache;
61
58
  private readonly senderTaggingStore;
62
- private readonly contractSyncService;
63
59
  private totalPublicCalldataCount;
64
60
  protected sideEffectCounter: number;
65
61
  private senderForTags?;
@@ -82,15 +78,9 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
82
78
  */
83
79
  getContractClassLogs(): CountedContractClassLog[];
84
80
  /**
85
- * Return the offchain effects emitted during this execution.
81
+ * Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
86
82
  */
87
- getOffchainEffects(): {
88
- data: Fr[];
89
- }[];
90
- /**
91
- * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
92
- */
93
- getUsedPreTags(): PreTag[];
83
+ getUsedTaggingIndexRanges(): TaggingIndexRange[];
94
84
  /**
95
85
  * Return the nested execution results during this execution.
96
86
  */
@@ -130,14 +120,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
130
120
  * @param values - Values to store.
131
121
  * @returns The hash of the values.
132
122
  */
133
- storeInExecutionCache(values: Fr[], hash: Fr): void;
123
+ setHashPreimage(values: Fr[], hash: Fr): void;
134
124
  /**
135
125
  * Gets values from the execution cache.
136
126
  * @param hash - Hash of the values.
137
127
  * @returns The values.
138
128
  */
139
- loadFromExecutionCache(hash: Fr): Promise<Fr[]>;
140
- checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
129
+ getHashPreimage(hash: Fr): Promise<Fr[]>;
130
+ doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
141
131
  /**
142
132
  * Gets some notes for a storage slot.
143
133
  *
@@ -215,26 +205,11 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
215
205
  endSideEffectCounter: Fr;
216
206
  returnsHash: Fr;
217
207
  }>;
218
- /**
219
- * Verify relevant information when a public function is enqueued.
220
- * @param targetContractAddress - The address of the contract to call.
221
- * @param calldataHash - The hash of the function selector and arguments.
222
- * @param sideEffectCounter - The side effect counter at the start of the call.
223
- * @param isStaticCall - Whether the call is a static call.
224
- */
225
- notifyEnqueuedPublicFunctionCall(_targetContractAddress: AztecAddress, calldataHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<void>;
226
- /**
227
- * Verify relevant information when a public teardown function is set.
228
- * @param targetContractAddress - The address of the contract to call.
229
- * @param argsHash - The arguments hash to pass to the function.
230
- * @param sideEffectCounter - The side effect counter at the start of the call.
231
- * @param isStaticCall - Whether the call is a static call.
232
- */
233
- notifySetPublicTeardownFunctionCall(_targetContractAddress: AztecAddress, calldataHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<void>;
234
- notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
235
- isSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
208
+ /** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
209
+ assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
210
+ notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
211
+ isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
236
212
  private deriveCallContext;
237
213
  getDebugFunctionName(): Promise<string>;
238
- emitOffchainEffect(data: Fr[]): Promise<void>;
239
214
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVDLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0csT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBUSxLQUFLLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFDTCxXQUFXLEVBQ1gsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCwwQkFBMEIsRUFDMUIsS0FBSyxTQUFTLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXhGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIs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
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVDLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
29
29
  */ newNotes = [];
30
30
  noteHashNullifierCounterMap = new Map();
31
31
  contractClassLogs = [];
32
- offchainEffects = [];
33
32
  nestedExecutionResults = [];
34
33
  argsHash;
35
34
  txContext;
@@ -39,7 +38,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
39
38
  noteCache;
40
39
  taggingIndexCache;
41
40
  senderTaggingStore;
42
- contractSyncService;
43
41
  totalPublicCalldataCount;
44
42
  sideEffectCounter;
45
43
  senderForTags;
@@ -58,7 +56,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
58
56
  this.noteCache = args.noteCache;
59
57
  this.taggingIndexCache = args.taggingIndexCache;
60
58
  this.senderTaggingStore = args.senderTaggingStore;
61
- this.contractSyncService = args.contractSyncService;
62
59
  this.totalPublicCalldataCount = args.totalPublicCalldataCount ?? 0;
63
60
  this.sideEffectCounter = args.sideEffectCounter ?? 0;
64
61
  this.senderForTags = args.senderForTags;
@@ -103,14 +100,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
103
100
  return this.contractClassLogs;
104
101
  }
105
102
  /**
106
- * Return the offchain effects emitted during this execution.
107
- */ getOffchainEffects() {
108
- return this.offchainEffects;
109
- }
110
- /**
111
- * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
112
- */ getUsedPreTags() {
113
- return this.taggingIndexCache.getUsedPreTags();
103
+ * Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
104
+ */ getUsedTaggingIndexRanges() {
105
+ return this.taggingIndexCache.getUsedTaggingIndexRanges();
114
106
  }
115
107
  /**
116
108
  * Return the nested execution results during this execution.
@@ -183,21 +175,21 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
183
175
  * Store values in the execution cache.
184
176
  * @param values - Values to store.
185
177
  * @returns The hash of the values.
186
- */ storeInExecutionCache(values, hash) {
178
+ */ setHashPreimage(values, hash) {
187
179
  return this.executionCache.store(values, hash);
188
180
  }
189
181
  /**
190
182
  * Gets values from the execution cache.
191
183
  * @param hash - Hash of the values.
192
184
  * @returns The values.
193
- */ loadFromExecutionCache(hash) {
185
+ */ getHashPreimage(hash) {
194
186
  const preimage = this.executionCache.getPreimage(hash);
195
187
  if (!preimage) {
196
188
  throw new Error(`Preimage for hash ${hash.toString()} not found in cache`);
197
189
  }
198
190
  return Promise.resolve(preimage);
199
191
  }
200
- async checkNullifierExists(innerNullifier) {
192
+ async doesNullifierExist(innerNullifier) {
201
193
  // This oracle must be overridden because while utility execution can only meaningfully check if a nullifier exists
202
194
  // in the synched block, during private execution there's also the possibility of it being pending, i.e. created
203
195
  // in the current transaction.
@@ -205,7 +197,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
205
197
  contractAddress: this.contractAddress
206
198
  });
207
199
  const nullifier = (await siloNullifier(this.contractAddress, innerNullifier)).toBigInt();
208
- return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.checkNullifierExists(innerNullifier);
200
+ return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.doesNullifierExist(innerNullifier);
209
201
  }
210
202
  /**
211
203
  * Gets some notes for a storage slot.
@@ -387,8 +379,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
387
379
  senderTaggingStore: this.senderTaggingStore,
388
380
  recipientTaggingStore: this.recipientTaggingStore,
389
381
  senderAddressBookStore: this.senderAddressBookStore,
390
- capsuleStore: this.capsuleStore,
382
+ capsuleService: this.capsuleService,
391
383
  privateEventStore: this.privateEventStore,
384
+ messageContextService: this.messageContextService,
392
385
  contractSyncService: this.contractSyncService,
393
386
  jobId: this.jobId,
394
387
  totalPublicCalldataCount: this.totalPublicCalldataCount,
@@ -414,7 +407,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
414
407
  returnsHash: publicInputs.returnsHash
415
408
  };
416
409
  }
417
- #onNewPublicFunctionCall(calldataHash) {
410
+ /** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */ assertValidPublicCalldata(calldataHash) {
418
411
  const calldata = this.executionCache.getPreimage(calldataHash);
419
412
  if (!calldata) {
420
413
  throw new Error('Calldata for public call not found in cache');
@@ -423,31 +416,12 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
423
416
  if (this.totalPublicCalldataCount > MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS) {
424
417
  throw new Error(`Too many total args to all enqueued public calls! (> ${MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS})`);
425
418
  }
426
- }
427
- /**
428
- * Verify relevant information when a public function is enqueued.
429
- * @param targetContractAddress - The address of the contract to call.
430
- * @param calldataHash - The hash of the function selector and arguments.
431
- * @param sideEffectCounter - The side effect counter at the start of the call.
432
- * @param isStaticCall - Whether the call is a static call.
433
- */ notifyEnqueuedPublicFunctionCall(_targetContractAddress, calldataHash, _sideEffectCounter, _isStaticCall) {
434
- this.#onNewPublicFunctionCall(calldataHash);
435
419
  return Promise.resolve();
436
420
  }
437
- /**
438
- * Verify relevant information when a public teardown function is set.
439
- * @param targetContractAddress - The address of the contract to call.
440
- * @param argsHash - The arguments hash to pass to the function.
441
- * @param sideEffectCounter - The side effect counter at the start of the call.
442
- * @param isStaticCall - Whether the call is a static call.
443
- */ notifySetPublicTeardownFunctionCall(_targetContractAddress, calldataHash, _sideEffectCounter, _isStaticCall) {
444
- this.#onNewPublicFunctionCall(calldataHash);
445
- return Promise.resolve();
446
- }
447
- notifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter) {
421
+ notifyRevertiblePhaseStart(minRevertibleSideEffectCounter) {
448
422
  return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
449
423
  }
450
- isSideEffectCounterRevertible(sideEffectCounter) {
424
+ isExecutionInRevertiblePhase(sideEffectCounter) {
451
425
  return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
452
426
  }
453
427
  /**
@@ -462,10 +436,4 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
462
436
  getDebugFunctionName() {
463
437
  return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
464
438
  }
465
- emitOffchainEffect(data) {
466
- this.offchainEffects.push({
467
- data
468
- });
469
- return Promise.resolve();
470
- }
471
439
  }