@aztec/pxe 0.0.1-commit.cd76b27 → 0.0.1-commit.d117d021b

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 (112) hide show
  1. package/dest/config/index.d.ts +2 -2
  2. package/dest/config/index.d.ts.map +1 -1
  3. package/dest/config/index.js +1 -1
  4. package/dest/contract_function_simulator/contract_function_simulator.d.ts +1 -1
  5. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  6. package/dest/contract_function_simulator/contract_function_simulator.js +9 -9
  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 +3 -3
  10. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -3
  11. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  12. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -4
  13. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +1 -1
  14. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  15. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -3
  16. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +2 -4
  17. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  18. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +3 -5
  19. package/dest/contract_function_simulator/oracle/interfaces.d.ts +48 -45
  20. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  21. package/dest/contract_function_simulator/oracle/oracle.d.ts +43 -44
  22. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/oracle/oracle.js +129 -91
  24. package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
  25. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +20 -34
  26. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +37 -64
  28. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +36 -34
  29. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +48 -50
  31. package/dest/contract_logging.d.ts +22 -0
  32. package/dest/contract_logging.d.ts.map +1 -0
  33. package/dest/contract_logging.js +23 -0
  34. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  35. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  36. package/dest/entrypoints/client/bundle/index.js +1 -0
  37. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  38. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  39. package/dest/entrypoints/client/lazy/index.js +1 -0
  40. package/dest/logs/log_service.d.ts +1 -1
  41. package/dest/logs/log_service.d.ts.map +1 -1
  42. package/dest/logs/log_service.js +4 -4
  43. package/dest/oracle_version.d.ts +2 -2
  44. package/dest/oracle_version.js +3 -3
  45. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  46. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  47. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +125 -64
  48. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  49. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  50. package/dest/private_kernel/hints/test_utils.js +203 -0
  51. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  52. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  53. package/dest/private_kernel/private_kernel_execution_prover.js +13 -5
  54. package/dest/private_kernel/private_kernel_oracle.d.ts +6 -2
  55. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  56. package/dest/private_kernel/private_kernel_oracle.js +7 -3
  57. package/dest/pxe.d.ts +3 -2
  58. package/dest/pxe.d.ts.map +1 -1
  59. package/dest/pxe.js +24 -16
  60. package/dest/storage/contract_store/contract_store.d.ts +42 -15
  61. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  62. package/dest/storage/contract_store/contract_store.js +140 -64
  63. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  64. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  65. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  66. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  67. package/dest/storage/tagging_store/sender_tagging_store.js +4 -4
  68. package/dest/tagging/index.d.ts +2 -2
  69. package/dest/tagging/index.d.ts.map +1 -1
  70. package/dest/tagging/index.js +1 -1
  71. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +4 -5
  72. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  73. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +3 -3
  74. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +6 -7
  75. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  76. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +12 -11
  77. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -8
  78. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  79. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +3 -6
  80. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -7
  81. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  82. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +14 -15
  83. package/package.json +16 -16
  84. package/src/config/index.ts +1 -1
  85. package/src/contract_function_simulator/contract_function_simulator.ts +15 -16
  86. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -5
  87. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +8 -5
  88. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -4
  89. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +3 -6
  90. package/src/contract_function_simulator/oracle/interfaces.ts +48 -54
  91. package/src/contract_function_simulator/oracle/oracle.ts +136 -136
  92. package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
  93. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +42 -80
  94. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +55 -59
  95. package/src/contract_logging.ts +39 -0
  96. package/src/entrypoints/client/bundle/index.ts +1 -0
  97. package/src/entrypoints/client/lazy/index.ts +1 -0
  98. package/src/logs/log_service.ts +10 -5
  99. package/src/oracle_version.ts +3 -3
  100. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +157 -110
  101. package/src/private_kernel/hints/test_utils.ts +325 -0
  102. package/src/private_kernel/private_kernel_execution_prover.ts +13 -6
  103. package/src/private_kernel/private_kernel_oracle.ts +7 -7
  104. package/src/pxe.ts +23 -16
  105. package/src/storage/contract_store/contract_store.ts +170 -71
  106. package/src/storage/tagging_store/recipient_tagging_store.ts +9 -5
  107. package/src/storage/tagging_store/sender_tagging_store.ts +8 -8
  108. package/src/tagging/index.ts +1 -1
  109. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +3 -6
  110. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +10 -15
  111. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +4 -9
  112. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +11 -20
@@ -14,7 +14,7 @@ import {
14
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
15
15
  import { siloNullifier } from '@aztec/stdlib/hash';
16
16
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
17
- import { type ContractClassLog, DirectionalAppTaggingSecret, type PreTag } from '@aztec/stdlib/logs';
17
+ import { type ContractClassLog, ExtendedDirectionalAppTaggingSecret, type PreTag } from '@aztec/stdlib/logs';
18
18
  import { Tag } from '@aztec/stdlib/logs';
19
19
  import { Note, type NoteStatus } from '@aztec/stdlib/note';
20
20
  import {
@@ -189,7 +189,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
189
189
  * The value persists through nested calls, meaning all calls down the stack will use the same
190
190
  * 'senderForTags' value (unless it is replaced).
191
191
  */
192
- public privateGetSenderForTags(): Promise<AztecAddress | undefined> {
192
+ public getSenderForTags(): Promise<AztecAddress | undefined> {
193
193
  return Promise.resolve(this.senderForTags);
194
194
  }
195
195
 
@@ -204,7 +204,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
204
204
  * through nested calls, meaning all calls down the stack will use the same 'senderForTags'
205
205
  * value (unless it is replaced by another call to this setter).
206
206
  */
207
- public privateSetSenderForTags(senderForTags: AztecAddress): Promise<void> {
207
+ public setSenderForTags(senderForTags: AztecAddress): Promise<void> {
208
208
  this.senderForTags = senderForTags;
209
209
  return Promise.resolve();
210
210
  }
@@ -215,26 +215,30 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
215
215
  * @param recipient - The address receiving the log
216
216
  * @returns An app tag to be used in a log.
217
217
  */
218
- public async privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag> {
219
- const secret = await this.#calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
218
+ public async getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag> {
219
+ const extendedSecret = await this.#calculateExtendedDirectionalAppTaggingSecret(
220
+ this.contractAddress,
221
+ sender,
222
+ recipient,
223
+ );
220
224
 
221
- const index = await this.#getIndexToUseForSecret(secret);
222
- this.log.debug(
225
+ const index = await this.#getIndexToUseForSecret(extendedSecret);
226
+ this.logger.debug(
223
227
  `Incrementing tagging index for sender: ${sender}, recipient: ${recipient}, contract: ${this.contractAddress} to ${index}`,
224
228
  );
225
- this.taggingIndexCache.setLastUsedIndex(secret, index);
229
+ this.taggingIndexCache.setLastUsedIndex(extendedSecret, index);
226
230
 
227
- return Tag.compute({ secret, index });
231
+ return Tag.compute({ extendedSecret, index });
228
232
  }
229
233
 
230
- async #calculateDirectionalAppTaggingSecret(
234
+ async #calculateExtendedDirectionalAppTaggingSecret(
231
235
  contractAddress: AztecAddress,
232
236
  sender: AztecAddress,
233
237
  recipient: AztecAddress,
234
238
  ) {
235
239
  const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
236
240
  const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
237
- return DirectionalAppTaggingSecret.compute(
241
+ return ExtendedDirectionalAppTaggingSecret.compute(
238
242
  senderCompleteAddress,
239
243
  senderIvsk,
240
244
  recipient,
@@ -243,7 +247,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
243
247
  );
244
248
  }
245
249
 
246
- async #getIndexToUseForSecret(secret: DirectionalAppTaggingSecret): Promise<number> {
250
+ async #getIndexToUseForSecret(secret: ExtendedDirectionalAppTaggingSecret): Promise<number> {
247
251
  // If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
248
252
  const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
249
253
 
@@ -255,7 +259,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
255
259
  // that'd be wasteful as most tagging secrets are not used in each tx.
256
260
  await syncSenderTaggingIndexes(
257
261
  secret,
258
- this.contractAddress,
259
262
  this.aztecNode,
260
263
  this.senderTaggingStore,
261
264
  await this.anchorBlockHeader.hash(),
@@ -274,7 +277,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
274
277
  * @param values - Values to store.
275
278
  * @returns The hash of the values.
276
279
  */
277
- public privateStoreInExecutionCache(values: Fr[], hash: Fr) {
280
+ public storeInExecutionCache(values: Fr[], hash: Fr) {
278
281
  return this.executionCache.store(values, hash);
279
282
  }
280
283
 
@@ -283,7 +286,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
283
286
  * @param hash - Hash of the values.
284
287
  * @returns The values.
285
288
  */
286
- public privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]> {
289
+ public loadFromExecutionCache(hash: Fr): Promise<Fr[]> {
287
290
  const preimage = this.executionCache.getPreimage(hash);
288
291
  if (!preimage) {
289
292
  throw new Error(`Preimage for hash ${hash.toString()} not found in cache`);
@@ -291,12 +294,12 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
291
294
  return Promise.resolve(preimage);
292
295
  }
293
296
 
294
- override async utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean> {
297
+ override async checkNullifierExists(innerNullifier: Fr): Promise<boolean> {
295
298
  // This oracle must be overridden because while utility execution can only meaningfully check if a nullifier exists
296
299
  // in the synched block, during private execution there's also the possibility of it being pending, i.e. created
297
300
  // in the current transaction.
298
301
 
299
- this.log.debug(`Checking existence of inner nullifier ${innerNullifier}`, {
302
+ this.logger.debug(`Checking existence of inner nullifier ${innerNullifier}`, {
300
303
  contractAddress: this.contractAddress,
301
304
  });
302
305
 
@@ -304,7 +307,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
304
307
 
305
308
  return (
306
309
  this.noteCache.getNullifiers(this.contractAddress).has(nullifier) ||
307
- (await super.utilityCheckNullifierExists(innerNullifier))
310
+ (await super.checkNullifierExists(innerNullifier))
308
311
  );
309
312
  }
310
313
 
@@ -329,7 +332,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
329
332
  * @param status - The status of notes to fetch.
330
333
  * @returns Array of note data.
331
334
  */
332
- public override async utilityGetNotes(
335
+ public override async getNotes(
333
336
  owner: AztecAddress | undefined,
334
337
  storageSlot: Fr,
335
338
  numSelects: number,
@@ -375,7 +378,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
375
378
  offset,
376
379
  });
377
380
 
378
- this.log.debug(
381
+ this.logger.debug(
379
382
  `Returning ${notes.length} notes for ${this.callContext.contractAddress} at ${storageSlot}: ${notes
380
383
  .map(n => `${n.noteNonce.toString()}:[${n.note.items.map(i => i.toString()).join(',')}]`)
381
384
  .join(', ')}`,
@@ -395,7 +398,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
395
398
  * @param noteHash - A hash of the new note.
396
399
  * @returns
397
400
  */
398
- public privateNotifyCreatedNote(
401
+ public notifyCreatedNote(
399
402
  owner: AztecAddress,
400
403
  storageSlot: Fr,
401
404
  randomness: Fr,
@@ -404,7 +407,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
404
407
  noteHash: Fr,
405
408
  counter: number,
406
409
  ) {
407
- this.log.debug(`Notified of new note with inner hash ${noteHash}`, {
410
+ this.logger.debug(`Notified of new note with inner hash ${noteHash}`, {
408
411
  contractAddress: this.callContext.contractAddress,
409
412
  storageSlot,
410
413
  randomness,
@@ -436,7 +439,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
436
439
  * @param innerNullifier - The pending nullifier to add in the list (not yet siloed by contract address).
437
440
  * @param noteHash - A hash of the new note.
438
441
  */
439
- public async privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number) {
442
+ public async notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number) {
440
443
  const nullifiedNoteHashCounter = await this.noteCache.nullifyNote(
441
444
  this.callContext.contractAddress,
442
445
  innerNullifier,
@@ -453,19 +456,19 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
453
456
  * @param innerNullifier - The pending nullifier to add in the list (not yet siloed by contract address).
454
457
  * @param noteHash - A hash of the new note.
455
458
  */
456
- public privateNotifyCreatedNullifier(innerNullifier: Fr) {
457
- this.log.debug(`Notified of new inner nullifier ${innerNullifier}`, { contractAddress: this.contractAddress });
459
+ public notifyCreatedNullifier(innerNullifier: Fr) {
460
+ this.logger.debug(`Notified of new inner nullifier ${innerNullifier}`, { contractAddress: this.contractAddress });
458
461
  return this.noteCache.nullifierCreated(this.callContext.contractAddress, innerNullifier);
459
462
  }
460
463
 
461
464
  /**
462
- * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
465
+ * Check if a nullifier has been emitted in the same transaction, i.e. if notifyCreatedNullifier has been
463
466
  * called for this inner nullifier from the contract with the specified address.
464
467
  * @param innerNullifier - The inner nullifier to check.
465
468
  * @param contractAddress - Address of the contract that emitted the nullifier.
466
469
  * @returns A boolean indicating whether the nullifier is pending or not.
467
470
  */
468
- public async privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean> {
471
+ public async isNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean> {
469
472
  const siloedNullifier = await siloNullifier(contractAddress, innerNullifier);
470
473
  const isNullifierPending = this.noteCache.getNullifiers(contractAddress).has(siloedNullifier.toBigInt());
471
474
  return Promise.resolve(isNullifierPending);
@@ -478,10 +481,10 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
478
481
  * @param log - The contract class log to be emitted.
479
482
  * @param counter - The contract class log's counter.
480
483
  */
481
- public privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number) {
484
+ public notifyCreatedContractClassLog(log: ContractClassLog, counter: number) {
482
485
  this.contractClassLogs.push(new CountedContractClassLog(log, counter));
483
486
  const text = log.toBuffer().toString('hex');
484
- this.log.verbose(
487
+ this.logger.verbose(
485
488
  `Emitted log from ContractClassRegistry: "${text.length > 100 ? text.slice(0, 100) + '...' : text}"`,
486
489
  );
487
490
  }
@@ -507,7 +510,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
507
510
  * @param isStaticCall - Whether the call is a static call.
508
511
  * @returns The execution result.
509
512
  */
510
- async privateCallPrivateFunction(
513
+ async callPrivateFunction(
511
514
  targetContractAddress: AztecAddress,
512
515
  functionSelector: FunctionSelector,
513
516
  argsHash: Fr,
@@ -521,28 +524,19 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
521
524
  }
522
525
 
523
526
  const simulatorSetupTimer = new Timer();
524
- this.log.debug(
527
+ this.logger.debug(
525
528
  `Calling private function ${targetContractAddress}:${functionSelector} from ${this.callContext.contractAddress}`,
526
529
  );
527
530
 
528
531
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
529
532
 
530
- // When scopes are set and the target contract is a registered account (has keys in the keyStore),
531
- // expand scopes to include it so nested private calls can sync and read the contract's own notes.
532
- // We only expand for registered accounts because the log service needs the recipient's keys to derive
533
- // tagging secrets, which are only available for registered accounts.
534
- const expandedScopes =
535
- this.scopes !== 'ALL_SCOPES' && (await this.keyStore.hasAccount(targetContractAddress))
536
- ? [...this.scopes, targetContractAddress]
537
- : this.scopes;
538
-
539
533
  await this.contractSyncService.ensureContractSynced(
540
534
  targetContractAddress,
541
535
  functionSelector,
542
536
  this.utilityExecutor,
543
537
  this.anchorBlockHeader,
544
538
  this.jobId,
545
- expandedScopes,
539
+ this.scopes,
546
540
  );
547
541
 
548
542
  const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(
@@ -579,8 +573,8 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
579
573
  jobId: this.jobId,
580
574
  totalPublicCalldataCount: this.totalPublicCalldataCount,
581
575
  sideEffectCounter,
582
- log: this.log,
583
- scopes: expandedScopes,
576
+ log: this.logger,
577
+ scopes: this.scopes,
584
578
  senderForTags: this.senderForTags,
585
579
  simulator: this.simulator!,
586
580
  });
@@ -614,7 +608,8 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
614
608
  };
615
609
  }
616
610
 
617
- #onNewPublicFunctionCall(calldataHash: Fr) {
611
+ /** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
612
+ public validatePublicCalldata(calldataHash: Fr) {
618
613
  const calldata = this.executionCache.getPreimage(calldataHash);
619
614
  if (!calldata) {
620
615
  throw new Error('Calldata for public call not found in cache');
@@ -624,47 +619,14 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
624
619
  if (this.totalPublicCalldataCount > MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS) {
625
620
  throw new Error(`Too many total args to all enqueued public calls! (> ${MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS})`);
626
621
  }
627
- }
628
-
629
- /**
630
- * Verify relevant information when a public function is enqueued.
631
- * @param targetContractAddress - The address of the contract to call.
632
- * @param calldataHash - The hash of the function selector and arguments.
633
- * @param sideEffectCounter - The side effect counter at the start of the call.
634
- * @param isStaticCall - Whether the call is a static call.
635
- */
636
- public privateNotifyEnqueuedPublicFunctionCall(
637
- _targetContractAddress: AztecAddress,
638
- calldataHash: Fr,
639
- _sideEffectCounter: number,
640
- _isStaticCall: boolean,
641
- ) {
642
- this.#onNewPublicFunctionCall(calldataHash);
643
- return Promise.resolve();
644
- }
645
-
646
- /**
647
- * Verify relevant information when a public teardown function is set.
648
- * @param targetContractAddress - The address of the contract to call.
649
- * @param argsHash - The arguments hash to pass to the function.
650
- * @param sideEffectCounter - The side effect counter at the start of the call.
651
- * @param isStaticCall - Whether the call is a static call.
652
- */
653
- public privateNotifySetPublicTeardownFunctionCall(
654
- _targetContractAddress: AztecAddress,
655
- calldataHash: Fr,
656
- _sideEffectCounter: number,
657
- _isStaticCall: boolean,
658
- ) {
659
- this.#onNewPublicFunctionCall(calldataHash);
660
622
  return Promise.resolve();
661
623
  }
662
624
 
663
- public privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void> {
625
+ public notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void> {
664
626
  return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
665
627
  }
666
628
 
667
- public privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean> {
629
+ public inRevertiblePhase(sideEffectCounter: number): Promise<boolean> {
668
630
  return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
669
631
  }
670
632
 
@@ -692,7 +654,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
692
654
  return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
693
655
  }
694
656
 
695
- public utilityEmitOffchainEffect(data: Fr[]): Promise<void> {
657
+ public emitOffchainEffect(data: Fr[]): Promise<void> {
696
658
  this.offchainEffects.push({ data });
697
659
  return Promise.resolve();
698
660
  }