@aztec/pxe 0.0.1-commit.d431d1c → 0.0.1-commit.e3c1de76

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 (175) hide show
  1. package/dest/bin/check_oracle_version.js +1 -1
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +7 -5
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  4. package/dest/block_synchronizer/block_synchronizer.js +56 -16
  5. package/dest/config/index.d.ts +3 -1
  6. package/dest/config/index.d.ts.map +1 -1
  7. package/dest/config/index.js +17 -0
  8. package/dest/contract_function_simulator/contract_function_simulator.d.ts +2 -4
  9. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/contract_function_simulator.js +8 -13
  11. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +1 -1
  12. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +1 -1
  13. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +1 -1
  14. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +1 -1
  15. package/dest/contract_function_simulator/oracle/interfaces.d.ts +13 -10
  16. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/oracle/oracle.d.ts +5 -3
  18. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/oracle/oracle.js +27 -17
  20. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -22
  21. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/oracle/private_execution.js +0 -37
  23. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +10 -3
  24. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +19 -8
  26. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +21 -15
  27. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +39 -43
  29. package/dest/contract_sync/index.d.ts +23 -0
  30. package/dest/contract_sync/index.d.ts.map +1 -0
  31. package/dest/contract_sync/index.js +54 -0
  32. package/dest/debug/pxe_debug_utils.d.ts +16 -6
  33. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  34. package/dest/debug/pxe_debug_utils.js +20 -10
  35. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  36. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  37. package/dest/entrypoints/client/bundle/utils.js +12 -6
  38. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  39. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  40. package/dest/entrypoints/client/lazy/utils.js +13 -7
  41. package/dest/entrypoints/pxe_creation_options.d.ts +3 -2
  42. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  43. package/dest/entrypoints/server/index.d.ts +2 -1
  44. package/dest/entrypoints/server/index.d.ts.map +1 -1
  45. package/dest/entrypoints/server/index.js +1 -0
  46. package/dest/entrypoints/server/utils.d.ts +1 -1
  47. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  48. package/dest/entrypoints/server/utils.js +19 -8
  49. package/dest/events/event_service.d.ts +5 -6
  50. package/dest/events/event_service.d.ts.map +1 -1
  51. package/dest/events/event_service.js +6 -7
  52. package/dest/job_coordinator/job_coordinator.d.ts +3 -2
  53. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -1
  54. package/dest/job_coordinator/job_coordinator.js +3 -2
  55. package/dest/logs/log_service.d.ts +5 -4
  56. package/dest/logs/log_service.d.ts.map +1 -1
  57. package/dest/logs/log_service.js +18 -15
  58. package/dest/notes/note_service.d.ts +6 -6
  59. package/dest/notes/note_service.d.ts.map +1 -1
  60. package/dest/notes/note_service.js +14 -14
  61. package/dest/oracle_version.d.ts +3 -3
  62. package/dest/oracle_version.d.ts.map +1 -1
  63. package/dest/oracle_version.js +4 -3
  64. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  65. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  66. package/dest/private_kernel/private_kernel_execution_prover.js +2 -2
  67. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -3
  68. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  69. package/dest/pxe.d.ts +1 -1
  70. package/dest/pxe.d.ts.map +1 -1
  71. package/dest/pxe.js +19 -15
  72. package/dest/storage/address_store/address_store.d.ts +1 -1
  73. package/dest/storage/address_store/address_store.d.ts.map +1 -1
  74. package/dest/storage/address_store/address_store.js +12 -11
  75. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -1
  76. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  77. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -1
  78. package/dest/storage/capsule_store/capsule_store.js +6 -8
  79. package/dest/storage/contract_store/contract_store.d.ts +1 -2
  80. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  81. package/dest/storage/contract_store/contract_store.js +22 -25
  82. package/dest/storage/metadata.d.ts +1 -1
  83. package/dest/storage/metadata.js +1 -1
  84. package/dest/storage/note_store/note_store.d.ts +48 -50
  85. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  86. package/dest/storage/note_store/note_store.js +276 -252
  87. package/dest/storage/note_store/stored_note.d.ts +16 -0
  88. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  89. package/dest/storage/note_store/stored_note.js +43 -0
  90. package/dest/storage/private_event_store/private_event_store.d.ts +17 -4
  91. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  92. package/dest/storage/private_event_store/private_event_store.js +198 -147
  93. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  94. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  95. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  96. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +1 -1
  97. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  98. package/dest/storage/tagging_store/recipient_tagging_store.js +31 -19
  99. package/dest/storage/tagging_store/sender_address_book_store.d.ts +1 -1
  100. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -1
  101. package/dest/storage/tagging_store/sender_address_book_store.js +20 -14
  102. package/dest/storage/tagging_store/sender_tagging_store.d.ts +1 -1
  103. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  104. package/dest/storage/tagging_store/sender_tagging_store.js +183 -113
  105. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  106. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  107. package/dest/tagging/get_all_logs_by_tags.js +46 -0
  108. package/dest/tagging/index.d.ts +2 -1
  109. package/dest/tagging/index.d.ts.map +1 -1
  110. package/dest/tagging/index.js +1 -0
  111. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -2
  112. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  113. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +2 -2
  114. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -2
  115. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  116. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +5 -2
  117. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +3 -2
  118. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  119. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +2 -2
  120. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +1 -1
  121. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  122. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +5 -8
  123. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +3 -2
  124. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  125. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +7 -4
  126. package/package.json +16 -16
  127. package/src/bin/check_oracle_version.ts +1 -0
  128. package/src/block_synchronizer/block_synchronizer.ts +70 -33
  129. package/src/config/index.ts +14 -0
  130. package/src/contract_function_simulator/contract_function_simulator.ts +7 -15
  131. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  132. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +1 -1
  133. package/src/contract_function_simulator/oracle/interfaces.ts +18 -9
  134. package/src/contract_function_simulator/oracle/oracle.ts +34 -21
  135. package/src/contract_function_simulator/oracle/private_execution.ts +1 -60
  136. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +32 -10
  137. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +59 -51
  138. package/src/contract_sync/index.ts +98 -0
  139. package/src/debug/pxe_debug_utils.ts +26 -11
  140. package/src/entrypoints/client/bundle/utils.ts +7 -14
  141. package/src/entrypoints/client/lazy/utils.ts +8 -14
  142. package/src/entrypoints/pxe_creation_options.ts +2 -1
  143. package/src/entrypoints/server/index.ts +1 -0
  144. package/src/entrypoints/server/utils.ts +15 -19
  145. package/src/events/event_service.ts +5 -7
  146. package/src/job_coordinator/job_coordinator.ts +4 -3
  147. package/src/logs/log_service.ts +29 -13
  148. package/src/notes/note_service.ts +21 -20
  149. package/src/oracle_version.ts +4 -3
  150. package/src/private_kernel/private_kernel_execution_prover.ts +6 -3
  151. package/src/private_kernel/private_kernel_oracle.ts +2 -2
  152. package/src/pxe.ts +48 -17
  153. package/src/storage/address_store/address_store.ts +15 -15
  154. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -0
  155. package/src/storage/capsule_store/capsule_store.ts +8 -8
  156. package/src/storage/contract_store/contract_store.ts +22 -31
  157. package/src/storage/metadata.ts +1 -1
  158. package/src/storage/note_store/note_store.ts +314 -318
  159. package/src/storage/note_store/stored_note.ts +48 -0
  160. package/src/storage/private_event_store/private_event_store.ts +250 -190
  161. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  162. package/src/storage/tagging_store/recipient_tagging_store.ts +31 -21
  163. package/src/storage/tagging_store/sender_address_book_store.ts +20 -14
  164. package/src/storage/tagging_store/sender_tagging_store.ts +210 -126
  165. package/src/tagging/get_all_logs_by_tags.ts +68 -0
  166. package/src/tagging/index.ts +1 -0
  167. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +11 -1
  168. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +7 -1
  169. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +3 -1
  170. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +5 -17
  171. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +12 -3
  172. package/dest/tree_membership/tree_membership_service.d.ts +0 -50
  173. package/dest/tree_membership/tree_membership_service.d.ts.map +0 -1
  174. package/dest/tree_membership/tree_membership_service.js +0 -75
  175. package/src/tree_membership/tree_membership_service.ts +0 -97
@@ -1,4 +1,4 @@
1
- import { keccak256String } from '@aztec/foundation/crypto/keccak';
1
+ /* eslint-disable import-x/no-named-as-default-member */ import { keccak256String } from '@aztec/foundation/crypto/keccak';
2
2
  import { readFileSync } from 'fs';
3
3
  import { dirname, join } from 'path';
4
4
  import ts from 'typescript';
@@ -1,9 +1,9 @@
1
- import { type Logger } from '@aztec/foundation/log';
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
3
  import type { L2TipsKVStore } from '@aztec/kv-store/stores';
4
4
  import { L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
5
5
  import type { AztecNode } from '@aztec/stdlib/interfaces/client';
6
- import type { PXEConfig } from '../config/index.js';
6
+ import type { BlockSynchronizerConfig } from '../config/index.js';
7
7
  import type { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
8
8
  import type { NoteStore } from '../storage/note_store/note_store.js';
9
9
  import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
@@ -19,13 +19,15 @@ export declare class BlockSynchronizer implements L2BlockStreamEventHandler {
19
19
  private noteStore;
20
20
  private privateEventStore;
21
21
  private l2TipsStore;
22
+ private config;
22
23
  private log;
23
24
  private isSyncing;
24
25
  protected readonly blockStream: L2BlockStream;
25
- constructor(node: AztecNode, store: AztecAsyncKVStore, anchorBlockStore: AnchorBlockStore, noteStore: NoteStore, privateEventStore: PrivateEventStore, l2TipsStore: L2TipsKVStore, config?: Partial<Pick<PXEConfig, 'l2BlockBatchSize'>>, loggerOrSuffix?: string | Logger);
26
- protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2BlockBatchSize'>>): L2BlockStream;
26
+ constructor(node: AztecNode, store: AztecAsyncKVStore, anchorBlockStore: AnchorBlockStore, noteStore: NoteStore, privateEventStore: PrivateEventStore, l2TipsStore: L2TipsKVStore, config?: Partial<BlockSynchronizerConfig>, bindings?: LoggerBindings);
27
+ protected createBlockStream(config: Partial<BlockSynchronizerConfig>): L2BlockStream;
27
28
  /** Handle events emitted by the block stream. */
28
29
  handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
30
+ private updateAnchorBlockHeader;
29
31
  /**
30
32
  * Syncs PXE and the node by downloading the metadata of the latest blocks, allowing simulations to use
31
33
  * recent data (e.g. notes), and handling any reorgs that might have occurred.
@@ -38,4 +40,4 @@ export declare class BlockSynchronizer implements L2BlockStreamEventHandler {
38
40
  sync(): Promise<void>;
39
41
  private doSync;
40
42
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tfc3luY2hyb25pemVyL2Jsb2NrX3N5bmNocm9uaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBRUwsYUFBYSxFQUNiLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUsseUJBQXlCLEVBQy9CLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9GOzs7O0dBSUc7QUFDSCxxQkFBYSxpQkFBa0IsWUFBVyx5QkFBeUI7SUFNL0QsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsS0FBSztJQUNiLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLGlCQUFpQjtJQUN6QixPQUFPLENBQUMsV0FBVztJQVZyQixPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQTRCO0lBQzdDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQztJQUU5QyxZQUNVLElBQUksRUFBRSxTQUFTLEVBQ2YsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFdBQVcsRUFBRSxhQUFhLEVBQ2xDLE1BQU0sR0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFNLEVBQ3pELGNBQWMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBT2pDO0lBRUQsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLGlCQU8vRTtJQUVELGlEQUFpRDtJQUNwQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXNDNUU7SUFFRDs7Ozs7Ozs7T0FRRztJQUNVLElBQUksa0JBZWhCO1lBRWEsTUFBTTtDQWNyQiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tfc3luY2hyb25pemVyL2Jsb2NrX3N5bmNocm9uaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQWEsYUFBYSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2pFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9GOzs7O0dBSUc7QUFDSCxxQkFBYSxpQkFBa0IsWUFBVyx5QkFBeUI7SUFNL0QsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsS0FBSztJQUNiLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLGlCQUFpQjtJQUN6QixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsTUFBTTtJQVhoQixPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQTRCO0lBQzdDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQztJQUU5QyxZQUNVLElBQUksRUFBRSxTQUFTLEVBQ2YsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFdBQVcsRUFBRSxhQUFhLEVBQzFCLE1BQU0sR0FBRSxPQUFPLENBQUMsdUJBQXVCLENBQU0sRUFDckQsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVELFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsYUFBYSxDQWFuRjtJQUVELGlEQUFpRDtJQUNwQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXNFNUU7WUFHYSx1QkFBdUI7SUFLckM7Ozs7Ozs7O09BUUc7SUFDVSxJQUFJLGtCQWVoQjtZQUVhLE1BQU07Q0FjckIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"block_synchronizer.d.ts","sourceRoot":"","sources":["../../src/block_synchronizer/block_synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAEL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,yBAAyB;IAM/D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAVrB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAE9C,YACU,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,aAAa,EAClC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAM,EACzD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAOjC;IAED,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,iBAO/E;IAED,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC5E;IAED;;;;;;;;OAQG;IACU,IAAI,kBAehB;YAEa,MAAM;CAcrB"}
1
+ {"version":3,"file":"block_synchronizer.d.ts","sourceRoot":"","sources":["../../src/block_synchronizer/block_synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAa,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACxH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,yBAAyB;IAM/D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAXhB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAE9C,YACU,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,aAAa,EAC1B,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM,EACrD,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAED,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAanF;IAED,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE5E;YAGa,uBAAuB;IAKrC;;;;;;;;OAQG;IACU,IAAI,kBAehB;YAEa,MAAM;CAcrB"}
@@ -1,6 +1,6 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
- import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
3
+ import { BlockHash, L2BlockStream } from '@aztec/stdlib/block';
4
4
  /**
5
5
  * The BlockSynchronizer class orchestrates synchronization between PXE and Aztec node, maintaining an up-to-date
6
6
  * view of the L2 chain state. It handles block header retrieval, chain reorganizations, and provides an interface
@@ -12,21 +12,23 @@ import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
12
12
  noteStore;
13
13
  privateEventStore;
14
14
  l2TipsStore;
15
+ config;
15
16
  log;
16
17
  isSyncing;
17
18
  blockStream;
18
- constructor(node, store, anchorBlockStore, noteStore, privateEventStore, l2TipsStore, config = {}, loggerOrSuffix){
19
+ constructor(node, store, anchorBlockStore, noteStore, privateEventStore, l2TipsStore, config = {}, bindings){
19
20
  this.node = node;
20
21
  this.store = store;
21
22
  this.anchorBlockStore = anchorBlockStore;
22
23
  this.noteStore = noteStore;
23
24
  this.privateEventStore = privateEventStore;
24
25
  this.l2TipsStore = l2TipsStore;
25
- this.log = !loggerOrSuffix || typeof loggerOrSuffix === 'string' ? createLogger(loggerOrSuffix ? `pxe:block_synchronizer:${loggerOrSuffix}` : `pxe:block_synchronizer`) : loggerOrSuffix;
26
+ this.config = config;
27
+ this.log = createLogger('pxe:block_synchronizer', bindings);
26
28
  this.blockStream = this.createBlockStream(config);
27
29
  }
28
30
  createBlockStream(config) {
29
- return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream'), {
31
+ return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream', this.log.getBindings()), {
30
32
  batchSize: config.l2BlockBatchSize,
31
33
  // Skipping finalized blocks makes us sync much faster - we only need to download blocks other than the latest one
32
34
  // in order to detect reorgs, and there can be no reorgs on finalized block, making this safe.
@@ -38,36 +40,74 @@ import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
38
40
  switch(event.type){
39
41
  case 'blocks-added':
40
42
  {
41
- const lastBlock = event.blocks.at(-1);
42
- this.log.verbose(`Updated pxe last block to ${lastBlock.number}`, {
43
- blockHash: lastBlock.hash(),
44
- archive: lastBlock.archive.root.toString(),
45
- header: lastBlock.header.toInspect()
46
- });
47
- await this.anchorBlockStore.setHeader(lastBlock.header);
43
+ if (this.config.syncChainTip === undefined || this.config.syncChainTip === 'proposed') {
44
+ const lastBlock = event.blocks.at(-1);
45
+ await this.updateAnchorBlockHeader(lastBlock.header);
46
+ }
47
+ break;
48
+ }
49
+ case 'chain-checkpointed':
50
+ {
51
+ if (this.config.syncChainTip === 'checkpointed') {
52
+ // Get the last block header from the checkpoint
53
+ const lastBlock = event.checkpoint.checkpoint.blocks.at(-1);
54
+ await this.updateAnchorBlockHeader(lastBlock.header);
55
+ }
56
+ break;
57
+ }
58
+ case 'chain-proven':
59
+ {
60
+ if (this.config.syncChainTip === 'proven') {
61
+ const blockHeader = await this.node.getBlockHeader(BlockNumber(event.block.number));
62
+ if (blockHeader) {
63
+ await this.updateAnchorBlockHeader(blockHeader);
64
+ }
65
+ }
66
+ break;
67
+ }
68
+ case 'chain-finalized':
69
+ {
70
+ if (this.config.syncChainTip === 'finalized') {
71
+ const blockHeader = await this.node.getBlockHeader(BlockNumber(event.block.number));
72
+ if (blockHeader) {
73
+ await this.updateAnchorBlockHeader(blockHeader);
74
+ }
75
+ }
48
76
  break;
49
77
  }
50
78
  case 'chain-pruned':
51
79
  {
80
+ const currentAnchorBlockHeader = await this.anchorBlockStore.getBlockHeader();
81
+ const currentAnchorBlockNumber = currentAnchorBlockHeader.getBlockNumber();
82
+ if (currentAnchorBlockNumber <= event.block.number) {
83
+ this.log.verbose(`Ignoring prune event to block ${event.block.number} greater than current anchor block ${currentAnchorBlockNumber}`, {
84
+ pruneEvent: event,
85
+ currentAnchorBlockHeader: currentAnchorBlockHeader.toInspect()
86
+ });
87
+ return;
88
+ }
52
89
  this.log.warn(`Pruning data after block ${event.block.number} due to reorg`);
53
- const oldAnchorBlockNumber = (await this.anchorBlockStore.getBlockHeader()).getBlockNumber();
54
90
  // Note that the following is not necessarily the anchor block that will be used in the transaction - if
55
91
  // the chain has already moved past the reorg, we'll also see blocks-added events that will push the anchor
56
92
  // forward.
57
- const newAnchorBlockHeader = await this.node.getBlockHeader(L2BlockHash.fromString(event.block.hash));
93
+ const newAnchorBlockHeader = await this.node.getBlockHeader(BlockHash.fromString(event.block.hash));
58
94
  if (!newAnchorBlockHeader) {
59
95
  throw new Error(`Block header for block number ${event.block.number} and hash ${event.block.hash} not found during chain prune. This likely indicates a bug in the node, as we receive block stream events and fetch block headers from the same node.`);
60
96
  }
61
97
  // Operations are wrapped in a single transaction to ensure atomicity.
62
98
  await this.store.transactionAsync(async ()=>{
63
- await this.noteStore.rollback(event.block.number, oldAnchorBlockNumber);
64
- await this.privateEventStore.rollback(event.block.number, oldAnchorBlockNumber);
65
- await this.anchorBlockStore.setHeader(newAnchorBlockHeader);
99
+ await this.noteStore.rollback(event.block.number, currentAnchorBlockNumber);
100
+ await this.privateEventStore.rollback(event.block.number, currentAnchorBlockNumber);
101
+ await this.updateAnchorBlockHeader(newAnchorBlockHeader);
66
102
  });
67
103
  break;
68
104
  }
69
105
  }
70
106
  }
107
+ /** Updates the anchor block header to the target block */ async updateAnchorBlockHeader(blockHeader) {
108
+ this.log.verbose(`Updated pxe last block to ${blockHeader.getBlockNumber()}`, blockHeader.toInspect());
109
+ await this.anchorBlockStore.setHeader(blockHeader);
110
+ }
71
111
  /**
72
112
  * Syncs PXE and the node by downloading the metadata of the latest blocks, allowing simulations to use
73
113
  * recent data (e.g. notes), and handling any reorgs that might have occurred.
@@ -15,6 +15,8 @@ export interface KernelProverConfig {
15
15
  export interface BlockSynchronizerConfig {
16
16
  /** Maximum amount of blocks to pull from the stream in one request when synchronizing */
17
17
  l2BlockBatchSize: number;
18
+ /** Which chain tip to sync to (proposed, checkpointed, proven, finalized) */
19
+ syncChainTip?: 'proposed' | 'checkpointed' | 'proven' | 'finalized';
18
20
  }
19
21
  export type PXEConfig = KernelProverConfig & DataStoreConfig & ChainConfig & BlockSynchronizerConfig;
20
22
  export type CliPXEOptions = {
@@ -32,4 +34,4 @@ export declare const allPxeConfigMappings: ConfigMappingsType<CliPXEOptions & PX
32
34
  * Creates an instance of CliPxeOptions out of environment variables
33
35
  */
34
36
  export declare function getCliPXEOptions(): CliPXEOptions & PXEConfig;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBS3hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLDhDQUE4QztJQUM5QyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDekI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyx1QkFBdUI7SUFDdEMseUZBQXlGO0lBQ3pGLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztDQUMxQjtBQUVELE1BQU0sTUFBTSxTQUFTLEdBQUcsa0JBQWtCLEdBQUcsZUFBZSxHQUFHLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUVyRyxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLDJDQUEyQztJQUMzQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbEIsQ0FBQztBQUVGLGVBQU8sTUFBTSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBb0IzRCxDQUFDO0FBRUY7O0dBRUc7QUFDSCx3QkFBZ0IsWUFBWSxJQUFJLFNBQVMsQ0FFeEM7QUFFRCxlQUFPLE1BQU0sb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsYUFBYSxDQUtsRSxDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxTQUFTLENBVzlFLENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFnQixnQkFBZ0IsSUFBSSxhQUFhLEdBQUcsU0FBUyxDQVE1RCJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBS3hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLDhDQUE4QztJQUM5QyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDekI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyx1QkFBdUI7SUFDdEMseUZBQXlGO0lBQ3pGLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6Qiw2RUFBNkU7SUFDN0UsWUFBWSxDQUFDLEVBQUUsVUFBVSxHQUFHLGNBQWMsR0FBRyxRQUFRLEdBQUcsV0FBVyxDQUFDO0NBQ3JFO0FBRUQsTUFBTSxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsR0FBRyxlQUFlLEdBQUcsV0FBVyxHQUFHLHVCQUF1QixDQUFDO0FBRXJHLE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNsQixDQUFDO0FBRUYsZUFBTyxNQUFNLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FnQzNELENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFnQixZQUFZLElBQUksU0FBUyxDQUV4QztBQUVELGVBQU8sTUFBTSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhLENBS2xFLENBQUM7QUFFRixlQUFPLE1BQU0sb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FXOUUsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLGFBQWEsR0FBRyxTQUFTLENBUTVEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,WAAW,GAAG,uBAAuB,CAAC;AAErG,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAoB3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,CAKlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,GAAG,SAAS,CAW9E,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAQ5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,gBAAgB,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,WAAW,CAAC;CACrE;AAED,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,GAAG,WAAW,GAAG,uBAAuB,CAAC;AAErG,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAgC3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,CAKlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,GAAG,SAAS,CAW9E,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAQ5D"}
@@ -21,6 +21,23 @@ export const pxeConfigMappings = {
21
21
  env: 'PXE_PROVER_ENABLED',
22
22
  description: 'Enable real proofs',
23
23
  ...booleanConfigHelper(true)
24
+ },
25
+ syncChainTip: {
26
+ env: 'PXE_SYNC_CHAIN_TIP',
27
+ description: 'Which chain tip to sync to (proposed, checkpointed, proven, finalized)',
28
+ defaultValue: 'proposed',
29
+ parseEnv: (val)=>{
30
+ const allowedValues = [
31
+ 'proposed',
32
+ 'checkpointed',
33
+ 'proven',
34
+ 'finalized'
35
+ ];
36
+ if (allowedValues.includes(val)) {
37
+ return val;
38
+ }
39
+ throw new Error(`Invalid value for PXE_SYNC_CHAIN_TIP: ${val}. Allowed values are: ${allowedValues.join(', ')}`);
40
+ }
24
41
  }
25
42
  };
26
43
  /**
@@ -9,7 +9,6 @@ import type { AztecNode } from '@aztec/stdlib/interfaces/server';
9
9
  import { type PrivateKernelExecutionProofOutput, PrivateKernelTailCircuitPublicInputs } from '@aztec/stdlib/kernel';
10
10
  import { BlockHeader, PrivateExecutionResult, TxExecutionRequest } from '@aztec/stdlib/tx';
11
11
  import type { AddressStore } from '../storage/address_store/address_store.js';
12
- import type { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
13
12
  import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js';
14
13
  import type { ContractStore } from '../storage/contract_store/contract_store.js';
15
14
  import type { NoteStore } from '../storage/note_store/note_store.js';
@@ -26,7 +25,6 @@ export declare class ContractFunctionSimulator {
26
25
  private keyStore;
27
26
  private addressStore;
28
27
  private aztecNode;
29
- private anchorBlockStore;
30
28
  private senderTaggingStore;
31
29
  private recipientTaggingStore;
32
30
  private senderAddressBookStore;
@@ -34,7 +32,7 @@ export declare class ContractFunctionSimulator {
34
32
  private privateEventStore;
35
33
  private simulator;
36
34
  private log;
37
- constructor(contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, anchorBlockStore: AnchorBlockStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, simulator: CircuitSimulator);
35
+ constructor(contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, simulator: CircuitSimulator);
38
36
  /**
39
37
  * Runs a private function.
40
38
  * @param request - The transaction request.
@@ -81,4 +79,4 @@ export declare class ContractFunctionSimulator {
81
79
  * @returns The simulated proving result.
82
80
  */
83
81
  export declare function generateSimulatedProvingResult(privateExecutionResult: PrivateExecutionResult, contractStore: ContractStore, minRevertibleSideEffectCounterOverride?: number): Promise<PrivateKernelExecutionProofOutput<PrivateKernelTailCircuitPublicInputs>>;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFTM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUlMLEtBQUssaUNBQWlDLEVBQ3RDLG9DQUFvQyxFQUtyQyxNQUFNLHNCQUFzQixDQUFDO0FBSTlCLE9BQU8sRUFDTCxXQUFXLEVBR1gsc0JBQXNCLEVBRXRCLGtCQUFrQixFQUduQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQVUzRjs7R0FFRztBQUNILHFCQUFhLHlCQUF5QjtJQUlsQyxPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsc0JBQXNCO0lBQzlCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLFNBQVM7SUFkbkIsT0FBTyxDQUFDLEdBQUcsQ0FBUztJQUVwQixZQUNVLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxZQUFZLEVBQUUsWUFBWSxFQUMxQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsU0FBUyxFQUFFLGdCQUFnQixFQUdwQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDVSxHQUFHLENBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUMzQixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLFNBQVMsMEJBQTZDLEVBQ3RELGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsYUFBYSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ3ZDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFTLEVBQ2xDLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBa0hqQztJQUdEOzs7Ozs7OztPQVFHO0lBQ1UsVUFBVSxDQUNyQixJQUFJLEVBQUUsWUFBWSxFQUNsQixRQUFRLEVBQUUsV0FBVyxFQUFFLEVBQ3ZCLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFNBQVMsRUFDbEMsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0F3RGY7SUFHRDs7O09BR0c7SUFDSCxRQUFROztNQVVQO0NBQ0Y7QUFZRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLGFBQWEsRUFBRSxhQUFhLEVBQzVCLHNDQUFzQyxDQUFDLEVBQUUsTUFBTSxHQUM5QyxPQUFPLENBQUMsaUNBQWlDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQXdObEYifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFTM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUlMLEtBQUssaUNBQWlDLEVBQ3RDLG9DQUFvQyxFQUtyQyxNQUFNLHNCQUFzQixDQUFDO0FBSTlCLE9BQU8sRUFDTCxXQUFXLEVBR1gsc0JBQXNCLEVBRXRCLGtCQUFrQixFQUduQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDL0YsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFVM0Y7O0dBRUc7QUFDSCxxQkFBYSx5QkFBeUI7SUFJbEMsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLGtCQUFrQjtJQUMxQixPQUFPLENBQUMscUJBQXFCO0lBQzdCLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLGlCQUFpQjtJQUN6QixPQUFPLENBQUMsU0FBUztJQWJuQixPQUFPLENBQUMsR0FBRyxDQUFTO0lBRXBCLFlBQ1UsYUFBYSxFQUFFLGFBQWEsRUFDNUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQ3RDLHFCQUFxQixFQUFFLHFCQUFxQixFQUM1QyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsWUFBWSxFQUFFLFlBQVksRUFDMUIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFNBQVMsRUFBRSxnQkFBZ0IsRUFHcEM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ1UsR0FBRyxDQUNkLE9BQU8sRUFBRSxrQkFBa0IsRUFDM0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixTQUFTLDBCQUE2QyxFQUN0RCxpQkFBaUIsRUFBRSxXQUFXLEVBQzlCLGFBQWEsRUFBRSxZQUFZLEdBQUcsU0FBUyxFQUN2QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsU0FBUyxFQUNsQyxLQUFLLEVBQUUsTUFBTSxHQUNaLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQTJHakM7SUFHRDs7Ozs7Ozs7T0FRRztJQUNVLFVBQVUsQ0FDckIsSUFBSSxFQUFFLFlBQVksRUFDbEIsUUFBUSxFQUFFLFdBQVcsRUFBRSxFQUN2QixpQkFBaUIsRUFBRSxXQUFXLEVBQzlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFTLEVBQ2xDLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBcURmO0lBR0Q7OztPQUdHO0lBQ0gsUUFBUTs7TUFVUDtDQUNGO0FBWUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCx3QkFBc0IsOEJBQThCLENBQ2xELHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxhQUFhLEVBQUUsYUFBYSxFQUM1QixzQ0FBc0MsQ0FBQyxFQUFFLE1BQU0sR0FDOUMsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0EyTmxGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, FIXED_DA_GAS, FIXED_L2_GAS, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX } from '@aztec/constants';
1
+ import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX } from '@aztec/constants';
2
2
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
3
- import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import { Timer } from '@aztec/foundation/timer';
@@ -20,7 +20,7 @@ import { ExecutionNoteCache } from './execution_note_cache.js';
20
20
  import { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
21
21
  import { HashedValuesCache } from './hashed_values_cache.js';
22
22
  import { Oracle } from './oracle/oracle.js';
23
- import { executePrivateFunction, verifyCurrentClassId } from './oracle/private_execution.js';
23
+ import { executePrivateFunction } from './oracle/private_execution.js';
24
24
  import { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
25
25
  import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
26
26
  /**
@@ -31,7 +31,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
31
31
  keyStore;
32
32
  addressStore;
33
33
  aztecNode;
34
- anchorBlockStore;
35
34
  senderTaggingStore;
36
35
  recipientTaggingStore;
37
36
  senderAddressBookStore;
@@ -39,13 +38,12 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
39
38
  privateEventStore;
40
39
  simulator;
41
40
  log;
42
- constructor(contractStore, noteStore, keyStore, addressStore, aztecNode, anchorBlockStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, simulator){
41
+ constructor(contractStore, noteStore, keyStore, addressStore, aztecNode, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, simulator){
43
42
  this.contractStore = contractStore;
44
43
  this.noteStore = noteStore;
45
44
  this.keyStore = keyStore;
46
45
  this.addressStore = addressStore;
47
46
  this.aztecNode = aztecNode;
48
- this.anchorBlockStore = anchorBlockStore;
49
47
  this.senderTaggingStore = senderTaggingStore;
50
48
  this.recipientTaggingStore = recipientTaggingStore;
51
49
  this.senderAddressBookStore = senderAddressBookStore;
@@ -69,8 +67,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
69
67
  * @returns The result of the execution.
70
68
  */ async run(request, contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId) {
71
69
  const simulatorSetupTimer = new Timer();
72
- await this.contractStore.syncPrivateState(contractAddress, selector, (privateSyncCall)=>this.runUtility(privateSyncCall, [], anchorBlockHeader, scopes, jobId));
73
- await verifyCurrentClassId(contractAddress, this.aztecNode, this.contractStore, anchorBlockHeader);
74
70
  const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
75
71
  if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
76
72
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
@@ -86,7 +82,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
86
82
  const taggingIndexCache = new ExecutionTaggingIndexCache();
87
83
  const privateExecutionOracle = new PrivateExecutionOracle(request.firstCallArgsHash, request.txContext, callContext, anchorBlockHeader, async (call)=>{
88
84
  await this.runUtility(call, [], anchorBlockHeader, scopes, jobId);
89
- }, request.authWitnesses, request.capsules, HashedValuesCache.create(request.argsOfCalls), noteCache, taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.anchorBlockStore, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, 0, startSideEffectCounter, undefined, scopes, senderForTags, this.simulator);
85
+ }, request.authWitnesses, request.capsules, HashedValuesCache.create(request.argsOfCalls), noteCache, taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, 0, startSideEffectCounter, undefined, scopes, senderForTags, this.simulator);
90
86
  const setupTime = simulatorSetupTimer.ms();
91
87
  try {
92
88
  // Note: any nested private function calls are made recursively within this
@@ -129,12 +125,11 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
129
125
  * accounts if not specified.
130
126
  * @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
131
127
  */ async runUtility(call, authwits, anchorBlockHeader, scopes, jobId) {
132
- await verifyCurrentClassId(call.to, this.aztecNode, this.contractStore, anchorBlockHeader);
133
128
  const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
134
129
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
135
130
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
136
131
  }
137
- const oracle = new UtilityExecutionOracle(call.to, authwits, [], anchorBlockHeader, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.anchorBlockStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, undefined, scopes);
132
+ const oracle = new UtilityExecutionOracle(call.to, authwits, [], anchorBlockHeader, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, undefined, scopes);
138
133
  try {
139
134
  this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
140
135
  contract: call.to,
@@ -213,10 +208,10 @@ class OrderedSideEffect {
213
208
  const noteHashesFromExecution = await Promise.all(execution.publicInputs.noteHashes.getActiveItems().filter((noteHash)=>!noteHash.isEmpty()).map(async (noteHash)=>new OrderedSideEffect(await siloNoteHash(contractAddress, noteHash.value), noteHash.counter)));
214
209
  const nullifiersFromExecution = await Promise.all(execution.publicInputs.nullifiers.getActiveItems().map(async (nullifier)=>new OrderedSideEffect(await siloNullifier(contractAddress, nullifier.value), nullifier.counter)));
215
210
  const privateLogsFromExecution = await Promise.all(execution.publicInputs.privateLogs.getActiveItems().map(async (metadata)=>{
216
- metadata.log.fields[0] = await poseidon2Hash([
211
+ metadata.log.fields[0] = await poseidon2HashWithSeparator([
217
212
  contractAddress,
218
213
  metadata.log.fields[0]
219
- ]);
214
+ ], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
220
215
  return new OrderedSideEffect(metadata.log, metadata.counter);
221
216
  }));
222
217
  siloedNoteHashes.push(...noteHashesFromExecution);
@@ -4,7 +4,7 @@ import { EventSelector } from '@aztec/stdlib/abi';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
5
  import { TxHash } from '@aztec/stdlib/tx';
6
6
  /**
7
- * Intermediate struct used to perform batch event validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
7
+ * Intermediate struct used to perform batch event validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
8
8
  * expects for values of this type to be stored in a `CapsuleArray`.
9
9
  */
10
10
  export declare class EventValidationRequest {
@@ -5,7 +5,7 @@ import { TxHash } from '@aztec/stdlib/tx';
5
5
  // TODO(#14617): should we compute this from constants? This value is aztec-nr specific.
6
6
  const MAX_EVENT_SERIALIZED_LEN = 12;
7
7
  /**
8
- * Intermediate struct used to perform batch event validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
8
+ * Intermediate struct used to perform batch event validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
9
9
  * expects for values of this type to be stored in a `CapsuleArray`.
10
10
  */ export class EventValidationRequest {
11
11
  contractAddress;
@@ -4,7 +4,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { TxHash } from '@aztec/stdlib/tx';
5
5
  export declare const MAX_NOTE_PACKED_LEN = 10;
6
6
  /**
7
- * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
7
+ * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
8
8
  * expects for values of this type to be stored in a `CapsuleArray`.
9
9
  */
10
10
  export declare class NoteValidationRequest {
@@ -4,7 +4,7 @@ import { TxHash } from '@aztec/stdlib/tx';
4
4
  // TODO(#14617): should we compute this from constants? This value is aztec-nr specific.
5
5
  export const MAX_NOTE_PACKED_LEN = 10;
6
6
  /**
7
- * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
7
+ * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
8
8
  * expects for values of this type to be stored in a `CapsuleArray`.
9
9
  */ export class NoteValidationRequest {
10
10
  contractAddress;
@@ -1,15 +1,16 @@
1
- import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
1
+ import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
2
  import type { BlockNumber } from '@aztec/foundation/branded-types';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Point } from '@aztec/foundation/curves/grumpkin';
5
+ import { MembershipWitness } from '@aztec/foundation/trees';
5
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { L2BlockHash } from '@aztec/stdlib/block';
8
+ import { BlockHash } from '@aztec/stdlib/block';
8
9
  import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
9
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
10
11
  import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
11
12
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
12
- import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
13
+ import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
13
14
  import type { BlockHeader } from '@aztec/stdlib/tx';
14
15
  import type { UtilityContext } from '../noir-structs/utility_context.js';
15
16
  import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
@@ -55,19 +56,20 @@ export interface IUtilityExecutionOracle {
55
56
  utilityGetUtilityContext(): UtilityContext;
56
57
  utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
57
58
  utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
58
- utilityGetMembershipWitness(blockHash: L2BlockHash, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
59
- utilityGetNullifierMembershipWitness(blockHash: L2BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
60
- utilityGetPublicDataWitness(blockHash: L2BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
61
- utilityGetLowNullifierMembershipWitness(blockHash: L2BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
59
+ utilityGetNoteHashMembershipWitness(blockHash: BlockHash, leafValue: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
60
+ utilityGetArchiveMembershipWitness(blockHash: BlockHash, leafValue: Fr): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
61
+ utilityGetNullifierMembershipWitness(blockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
62
+ utilityGetPublicDataWitness(blockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
63
+ utilityGetLowNullifierMembershipWitness(blockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
62
64
  utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
63
65
  utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
64
66
  utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
65
67
  utilityGetNotes(owner: AztecAddress | undefined, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
66
68
  utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
67
69
  utilityGetL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
68
- utilityStorageRead(blockHash: L2BlockHash, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
70
+ utilityStorageRead(blockHash: BlockHash, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
69
71
  utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
70
- utilityValidateEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
72
+ utilityValidateAndStoreEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
71
73
  utilityBulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
72
74
  utilityStoreCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
73
75
  utilityLoadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
@@ -87,6 +89,7 @@ export interface IPrivateExecutionOracle {
87
89
  privateNotifyCreatedNote(owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteTypeId: NoteSelector, note: Fr[], noteHash: Fr, counter: number): void;
88
90
  privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
89
91
  privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
92
+ privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
90
93
  privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
91
94
  privateCallPrivateFunction(targetContractAddress: AztecAddress, functionSelector: FunctionSelector, argsHash: Fr, sideEffectCounter: number, isStaticCall: boolean): Promise<{
92
95
  endSideEffectCounter: Fr;
@@ -101,4 +104,4 @@ export interface IPrivateExecutionOracle {
101
104
  privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
102
105
  utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
103
106
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLDBCQUEwQixFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUcsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxL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
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSywwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9B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
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/interfaces.ts"],"names":[],"mappings":"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"}