@aztec/pxe 0.0.1-commit.03f7ef2 → 0.0.1-commit.1142ef1

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 (241) hide show
  1. package/dest/block_synchronizer/block_synchronizer.d.ts +8 -8
  2. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  3. package/dest/block_synchronizer/block_synchronizer.js +15 -20
  4. package/dest/config/package_info.js +1 -1
  5. package/dest/contract_function_simulator/contract_function_simulator.d.ts +25 -22
  6. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  7. package/dest/contract_function_simulator/contract_function_simulator.js +34 -28
  8. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -2
  9. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -2
  11. package/dest/contract_function_simulator/oracle/private_execution.d.ts +4 -4
  12. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  13. package/dest/contract_function_simulator/oracle/private_execution.js +4 -5
  14. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +17 -26
  15. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  16. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +14 -39
  17. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +20 -19
  18. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +47 -45
  20. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  21. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/proxied_contract_data_source.js +5 -5
  23. package/dest/debug/pxe_debug_utils.d.ts +6 -6
  24. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  25. package/dest/debug/pxe_debug_utils.js +7 -7
  26. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  27. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  28. package/dest/entrypoints/client/bundle/utils.js +10 -1
  29. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  30. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  31. package/dest/entrypoints/client/lazy/utils.js +10 -1
  32. package/dest/entrypoints/pxe_creation_options.d.ts +3 -2
  33. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  34. package/dest/entrypoints/server/utils.d.ts +1 -1
  35. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  36. package/dest/entrypoints/server/utils.js +11 -7
  37. package/dest/error_enriching.d.ts +4 -4
  38. package/dest/error_enriching.d.ts.map +1 -1
  39. package/dest/error_enriching.js +6 -6
  40. package/dest/events/event_service.d.ts +7 -7
  41. package/dest/events/event_service.d.ts.map +1 -1
  42. package/dest/events/event_service.js +8 -8
  43. package/dest/events/private_event_filter_validator.d.ts +6 -6
  44. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  45. package/dest/events/private_event_filter_validator.js +4 -4
  46. package/dest/job_coordinator/job_coordinator.d.ts +74 -0
  47. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  48. package/dest/job_coordinator/job_coordinator.js +93 -0
  49. package/dest/logs/log_service.d.ts +14 -31
  50. package/dest/logs/log_service.d.ts.map +1 -1
  51. package/dest/logs/log_service.js +61 -180
  52. package/dest/notes/note_service.d.ts +7 -7
  53. package/dest/notes/note_service.d.ts.map +1 -1
  54. package/dest/notes/note_service.js +14 -14
  55. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +2 -2
  56. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
  57. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +2 -2
  58. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  59. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  60. package/dest/private_kernel/private_kernel_execution_prover.js +3 -4
  61. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
  62. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  63. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +5 -5
  64. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
  65. package/dest/private_kernel/private_kernel_oracle_impl.js +9 -10
  66. package/dest/public_storage/public_storage_service.d.ts +4 -4
  67. package/dest/public_storage/public_storage_service.d.ts.map +1 -1
  68. package/dest/public_storage/public_storage_service.js +4 -4
  69. package/dest/pxe.d.ts +11 -9
  70. package/dest/pxe.d.ts.map +1 -1
  71. package/dest/pxe.js +113 -87
  72. package/dest/storage/address_store/address_store.d.ts +11 -0
  73. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  74. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
  75. package/dest/storage/address_store/index.d.ts +2 -0
  76. package/dest/storage/address_store/index.d.ts.map +1 -0
  77. package/dest/storage/address_store/index.js +1 -0
  78. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
  79. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  80. package/dest/storage/{anchor_block_data_provider/anchor_block_data_provider.js → anchor_block_store/anchor_block_store.js} +1 -1
  81. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  82. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  83. package/dest/storage/anchor_block_store/index.js +1 -0
  84. package/dest/storage/{capsule_data_provider/capsule_data_provider.d.ts → capsule_store/capsule_store.d.ts} +2 -2
  85. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  86. package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +1 -1
  87. package/dest/storage/capsule_store/index.d.ts +2 -0
  88. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  89. package/dest/storage/capsule_store/index.js +1 -0
  90. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +4 -3
  91. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  92. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +14 -2
  93. package/dest/storage/contract_store/index.d.ts +2 -0
  94. package/dest/storage/contract_store/index.d.ts.map +1 -0
  95. package/dest/storage/contract_store/index.js +1 -0
  96. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  97. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  98. package/dest/storage/index.d.ts +8 -8
  99. package/dest/storage/index.d.ts.map +1 -1
  100. package/dest/storage/index.js +7 -7
  101. package/dest/storage/note_store/index.d.ts +3 -0
  102. package/dest/storage/note_store/index.d.ts.map +1 -0
  103. package/dest/storage/note_store/index.js +2 -0
  104. package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +7 -7
  105. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  106. package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +6 -6
  107. package/dest/storage/private_event_store/private_event_store.d.ts +56 -0
  108. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  109. package/dest/storage/{private_event_data_provider/private_event_data_provider.js → private_event_store/private_event_store.js} +59 -16
  110. package/dest/storage/tagging_store/index.d.ts +4 -0
  111. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  112. package/dest/storage/tagging_store/index.js +3 -0
  113. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
  114. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  115. package/dest/{tagging/recipient_sync/new_recipient_tagging_data_provider.js → storage/tagging_store/recipient_tagging_store.js} +3 -3
  116. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  117. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  118. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  119. package/dest/storage/{tagging_data_provider/sender_tagging_data_provider.d.ts → tagging_store/sender_tagging_store.d.ts} +3 -3
  120. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  121. package/dest/storage/{tagging_data_provider/sender_tagging_data_provider.js → tagging_store/sender_tagging_store.js} +3 -3
  122. package/dest/tagging/constants.d.ts +2 -2
  123. package/dest/tagging/constants.d.ts.map +1 -1
  124. package/dest/tagging/constants.js +10 -3
  125. package/dest/tagging/index.d.ts +14 -3
  126. package/dest/tagging/index.d.ts.map +1 -1
  127. package/dest/tagging/index.js +13 -2
  128. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -3
  129. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  130. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +7 -7
  131. package/dest/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.d.ts +3 -4
  132. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  133. package/dest/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.js +8 -23
  134. package/dest/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.d.ts +1 -1
  135. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  136. package/dest/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.js +2 -2
  137. package/dest/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  138. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  139. package/dest/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.js +3 -3
  140. package/dest/tree_membership/tree_membership_service.d.ts +4 -4
  141. package/dest/tree_membership/tree_membership_service.d.ts.map +1 -1
  142. package/dest/tree_membership/tree_membership_service.js +5 -5
  143. package/package.json +16 -16
  144. package/src/block_synchronizer/block_synchronizer.ts +14 -19
  145. package/src/config/package_info.ts +1 -1
  146. package/src/contract_function_simulator/contract_function_simulator.ts +57 -48
  147. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +4 -0
  148. package/src/contract_function_simulator/oracle/private_execution.ts +4 -6
  149. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +52 -80
  150. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +53 -49
  151. package/src/contract_function_simulator/proxied_contract_data_source.ts +7 -7
  152. package/src/debug/pxe_debug_utils.ts +6 -6
  153. package/src/entrypoints/client/bundle/utils.ts +7 -1
  154. package/src/entrypoints/client/lazy/utils.ts +7 -2
  155. package/src/entrypoints/pxe_creation_options.ts +2 -1
  156. package/src/entrypoints/server/utils.ts +11 -15
  157. package/src/error_enriching.ts +7 -15
  158. package/src/events/event_service.ts +8 -6
  159. package/src/events/private_event_filter_validator.ts +5 -5
  160. package/src/job_coordinator/job_coordinator.ts +149 -0
  161. package/src/logs/log_service.ts +92 -254
  162. package/src/notes/note_service.ts +13 -13
  163. package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +1 -2
  164. package/src/private_kernel/private_kernel_execution_prover.ts +2 -4
  165. package/src/private_kernel/private_kernel_oracle.ts +2 -1
  166. package/src/private_kernel/private_kernel_oracle_impl.ts +8 -14
  167. package/src/public_storage/public_storage_service.ts +3 -3
  168. package/src/pxe.ts +154 -106
  169. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
  170. package/src/storage/address_store/index.ts +1 -0
  171. package/src/storage/{anchor_block_data_provider/anchor_block_data_provider.ts → anchor_block_store/anchor_block_store.ts} +1 -1
  172. package/src/storage/anchor_block_store/index.ts +1 -0
  173. package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +1 -1
  174. package/src/storage/capsule_store/index.ts +1 -0
  175. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +22 -2
  176. package/src/storage/contract_store/index.ts +1 -0
  177. package/src/storage/index.ts +7 -7
  178. package/src/storage/note_store/index.ts +2 -0
  179. package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +7 -7
  180. package/src/storage/{private_event_data_provider/private_event_data_provider.ts → private_event_store/private_event_store.ts} +72 -18
  181. package/src/storage/tagging_store/index.ts +3 -0
  182. package/src/{tagging/recipient_sync/new_recipient_tagging_data_provider.ts → storage/tagging_store/recipient_tagging_store.ts} +3 -3
  183. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  184. package/src/storage/{tagging_data_provider/sender_tagging_data_provider.ts → tagging_store/sender_tagging_store.ts} +3 -3
  185. package/src/tagging/constants.ts +10 -3
  186. package/src/tagging/index.ts +16 -2
  187. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +11 -8
  188. package/src/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.ts +9 -25
  189. package/src/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.ts +6 -2
  190. package/src/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.ts +4 -4
  191. package/src/tree_membership/tree_membership_service.ts +4 -4
  192. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  193. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  194. package/dest/storage/address_data_provider/index.d.ts +0 -2
  195. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  196. package/dest/storage/address_data_provider/index.js +0 -1
  197. package/dest/storage/anchor_block_data_provider/anchor_block_data_provider.d.ts +0 -9
  198. package/dest/storage/anchor_block_data_provider/anchor_block_data_provider.d.ts.map +0 -1
  199. package/dest/storage/anchor_block_data_provider/index.d.ts +0 -2
  200. package/dest/storage/anchor_block_data_provider/index.d.ts.map +0 -1
  201. package/dest/storage/anchor_block_data_provider/index.js +0 -1
  202. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  203. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  204. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  205. package/dest/storage/capsule_data_provider/index.js +0 -1
  206. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  207. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  208. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  209. package/dest/storage/contract_data_provider/index.js +0 -1
  210. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  211. package/dest/storage/note_data_provider/index.d.ts +0 -3
  212. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  213. package/dest/storage/note_data_provider/index.js +0 -2
  214. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  215. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -51
  216. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  217. package/dest/storage/tagging_data_provider/index.d.ts +0 -3
  218. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  219. package/dest/storage/tagging_data_provider/index.js +0 -2
  220. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.d.ts +0 -31
  221. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.d.ts.map +0 -1
  222. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.js +0 -65
  223. package/dest/storage/tagging_data_provider/sender_tagging_data_provider.d.ts.map +0 -1
  224. package/dest/tagging/recipient_sync/new_recipient_tagging_data_provider.d.ts +0 -21
  225. package/dest/tagging/recipient_sync/new_recipient_tagging_data_provider.d.ts.map +0 -1
  226. package/dest/tagging/sync/sync_sender_tagging_indexes.d.ts.map +0 -1
  227. package/dest/tagging/sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  228. package/dest/tagging/sync/utils/load_and_store_new_tagging_indexes.d.ts.map +0 -1
  229. package/dest/tagging/utils.d.ts +0 -18
  230. package/dest/tagging/utils.d.ts.map +0 -1
  231. package/dest/tagging/utils.js +0 -25
  232. package/src/storage/address_data_provider/index.ts +0 -1
  233. package/src/storage/anchor_block_data_provider/index.ts +0 -1
  234. package/src/storage/capsule_data_provider/index.ts +0 -1
  235. package/src/storage/contract_data_provider/index.ts +0 -1
  236. package/src/storage/note_data_provider/index.ts +0 -2
  237. package/src/storage/tagging_data_provider/index.ts +0 -2
  238. package/src/storage/tagging_data_provider/recipient_tagging_data_provider.ts +0 -86
  239. package/src/tagging/utils.ts +0 -32
  240. /package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +0 -0
  241. /package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +0 -0
@@ -21,14 +21,14 @@ import { LogService } from '../../logs/log_service.js';
21
21
  import { NoteService } from '../../notes/note_service.js';
22
22
  import { ORACLE_VERSION } from '../../oracle_version.js';
23
23
  import { PublicStorageService } from '../../public_storage/public_storage_service.js';
24
- import type { AddressDataProvider } from '../../storage/address_data_provider/address_data_provider.js';
25
- import type { AnchorBlockDataProvider } from '../../storage/anchor_block_data_provider/anchor_block_data_provider.js';
26
- import type { CapsuleDataProvider } from '../../storage/capsule_data_provider/capsule_data_provider.js';
27
- import type { ContractDataProvider } from '../../storage/contract_data_provider/contract_data_provider.js';
28
- import type { NoteDataProvider } from '../../storage/note_data_provider/note_data_provider.js';
29
- import type { PrivateEventDataProvider } from '../../storage/private_event_data_provider/private_event_data_provider.js';
30
- import type { RecipientTaggingDataProvider } from '../../storage/tagging_data_provider/recipient_tagging_data_provider.js';
31
- import type { SenderTaggingDataProvider } from '../../storage/tagging_data_provider/sender_tagging_data_provider.js';
24
+ import type { AddressStore } from '../../storage/address_store/address_store.js';
25
+ import type { AnchorBlockStore } from '../../storage/anchor_block_store/anchor_block_store.js';
26
+ import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
27
+ import type { ContractStore } from '../../storage/contract_store/contract_store.js';
28
+ import type { NoteStore } from '../../storage/note_store/note_store.js';
29
+ import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js';
30
+ import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js';
31
+ import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js';
32
32
  import { TreeMembershipService } from '../../tree_membership/tree_membership_service.js';
33
33
  import { EventValidationRequest } from '../noir-structs/event_validation_request.js';
34
34
  import { LogRetrievalRequest } from '../noir-structs/log_retrieval_request.js';
@@ -54,16 +54,17 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
54
54
  protected readonly authWitnesses: AuthWitness[],
55
55
  protected readonly capsules: Capsule[], // TODO(#12425): Rename to transientCapsules
56
56
  protected readonly anchorBlockHeader: BlockHeader,
57
- protected readonly contractDataProvider: ContractDataProvider,
58
- protected readonly noteDataProvider: NoteDataProvider,
57
+ protected readonly contractStore: ContractStore,
58
+ protected readonly noteStore: NoteStore,
59
59
  protected readonly keyStore: KeyStore,
60
- protected readonly addressDataProvider: AddressDataProvider,
60
+ protected readonly addressStore: AddressStore,
61
61
  protected readonly aztecNode: AztecNode,
62
- protected readonly anchorBlockDataProvider: AnchorBlockDataProvider,
63
- protected readonly senderTaggingDataProvider: SenderTaggingDataProvider,
64
- protected readonly recipientTaggingDataProvider: RecipientTaggingDataProvider,
65
- protected readonly capsuleDataProvider: CapsuleDataProvider,
66
- protected readonly privateEventDataProvider: PrivateEventDataProvider,
62
+ protected readonly anchorBlockStore: AnchorBlockStore,
63
+ protected readonly recipientTaggingStore: RecipientTaggingStore,
64
+ protected readonly senderAddressBookStore: SenderAddressBookStore,
65
+ protected readonly capsuleStore: CapsuleStore,
66
+ protected readonly privateEventStore: PrivateEventStore,
67
+ protected readonly jobId: string,
67
68
  protected log = createLogger('simulator:client_view_context'),
68
69
  protected readonly scopes?: AztecAddress[],
69
70
  ) {}
@@ -106,7 +107,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
106
107
  * @returns The index and sibling path concatenated [index, sibling_path]
107
108
  */
108
109
  public utilityGetMembershipWitness(blockNumber: BlockNumber, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[]> {
109
- const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockDataProvider);
110
+ const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockStore);
110
111
  return treeMembershipService.getMembershipWitness(blockNumber, treeId, leafValue);
111
112
  }
112
113
 
@@ -136,7 +137,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
136
137
  blockNumber: BlockNumber,
137
138
  nullifier: Fr,
138
139
  ): Promise<NullifierMembershipWitness | undefined> {
139
- const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockDataProvider);
140
+ const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockStore);
140
141
  return await treeMembershipService.getLowNullifierMembershipWitness(blockNumber, nullifier);
141
142
  }
142
143
 
@@ -150,7 +151,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
150
151
  blockNumber: BlockNumber,
151
152
  leafSlot: Fr,
152
153
  ): Promise<PublicDataWitness | undefined> {
153
- const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockDataProvider);
154
+ const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockStore);
154
155
  return await treeMembershipService.getPublicDataWitness(blockNumber, leafSlot);
155
156
  }
156
157
 
@@ -160,7 +161,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
160
161
  * @returns Block extracted from a block with block number `blockNumber`.
161
162
  */
162
163
  public async utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined> {
163
- const anchorBlockNumber = (await this.anchorBlockDataProvider.getBlockHeader()).getBlockNumber();
164
+ const anchorBlockNumber = (await this.anchorBlockStore.getBlockHeader()).getBlockNumber();
164
165
  if (blockNumber > anchorBlockNumber) {
165
166
  throw new Error(`Block number ${blockNumber} is higher than current block ${anchorBlockNumber}`);
166
167
  }
@@ -180,7 +181,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
180
181
  }
181
182
 
182
183
  protected async getCompleteAddress(account: AztecAddress): Promise<CompleteAddress> {
183
- const completeAddress = await this.addressDataProvider.getCompleteAddress(account);
184
+ const completeAddress = await this.addressStore.getCompleteAddress(account);
184
185
  if (!completeAddress) {
185
186
  throw new Error(
186
187
  `No public key registered for address ${account}.
@@ -200,7 +201,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
200
201
  }
201
202
 
202
203
  protected async getContractInstance(address: AztecAddress): Promise<ContractInstance> {
203
- const instance = await this.contractDataProvider.getContractInstance(address);
204
+ const instance = await this.contractStore.getContractInstance(address);
204
205
  if (!instance) {
205
206
  throw new Error(`No contract instance found for address ${address.toString()}`);
206
207
  }
@@ -256,7 +257,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
256
257
  offset: number,
257
258
  status: NoteStatus,
258
259
  ): Promise<NoteData[]> {
259
- const noteService = new NoteService(this.noteDataProvider, this.aztecNode, this.anchorBlockDataProvider);
260
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
260
261
 
261
262
  const dbNotes = await noteService.getNotes(this.contractAddress, owner, storageSlot, status, this.scopes);
262
263
  return pickNotes<NoteData>(dbNotes, {
@@ -281,13 +282,13 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
281
282
  */
282
283
  public async utilityCheckNullifierExists(innerNullifier: Fr) {
283
284
  const nullifier = await siloNullifier(this.contractAddress, innerNullifier!);
284
- const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockDataProvider);
285
+ const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockStore);
285
286
  const index = await treeMembershipService.getNullifierIndex(nullifier);
286
287
  return index !== undefined;
287
288
  }
288
289
 
289
290
  /**
290
- * Fetches a message from the executionDataProvider, given its key.
291
+ * Fetches a message from the executionStore, given its key.
291
292
  * @param contractAddress - Address of a contract by which the message was emitted.
292
293
  * @param messageHash - Hash of the message.
293
294
  * @param secret - Secret used to compute a nullifier.
@@ -295,7 +296,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
295
296
  * @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
296
297
  */
297
298
  public async utilityGetL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr) {
298
- const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockDataProvider);
299
+ const treeMembershipService = new TreeMembershipService(this.aztecNode, this.anchorBlockStore);
299
300
  const [messageIndex, siblingPath] = await treeMembershipService.getL1ToL2MembershipWitness(
300
301
  contractAddress,
301
302
  messageHash,
@@ -320,7 +321,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
320
321
  numberOfElements: number,
321
322
  ) {
322
323
  const values = [];
323
- const publicStorageService = new PublicStorageService(this.anchorBlockDataProvider, this.aztecNode);
324
+ const publicStorageService = new PublicStorageService(this.anchorBlockStore, this.aztecNode);
324
325
 
325
326
  // TODO: why do we serialize these requests? This should probably a single call
326
327
  // Privacy considerations?
@@ -347,16 +348,17 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
347
348
  public async utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr) {
348
349
  const logService = new LogService(
349
350
  this.aztecNode,
350
- this.anchorBlockDataProvider,
351
+ this.anchorBlockStore,
351
352
  this.keyStore,
352
- this.capsuleDataProvider,
353
- this.recipientTaggingDataProvider,
354
- this.addressDataProvider,
353
+ this.capsuleStore,
354
+ this.recipientTaggingStore,
355
+ this.senderAddressBookStore,
356
+ this.addressStore,
355
357
  );
356
358
 
357
359
  await logService.syncTaggedLogs(this.contractAddress, pendingTaggedLogArrayBaseSlot, this.scopes);
358
360
 
359
- const noteService = new NoteService(this.noteDataProvider, this.aztecNode, this.anchorBlockDataProvider);
361
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
360
362
  await noteService.syncNoteNullifiers(this.contractAddress);
361
363
  }
362
364
 
@@ -383,14 +385,14 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
383
385
  // We read all note and event validation requests and process them all concurrently. This makes the process much
384
386
  // faster as we don't need to wait for the network round-trip.
385
387
  const noteValidationRequests = (
386
- await this.capsuleDataProvider.readCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot)
388
+ await this.capsuleStore.readCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot)
387
389
  ).map(NoteValidationRequest.fromFields);
388
390
 
389
391
  const eventValidationRequests = (
390
- await this.capsuleDataProvider.readCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot)
392
+ await this.capsuleStore.readCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot)
391
393
  ).map(EventValidationRequest.fromFields);
392
394
 
393
- const noteService = new NoteService(this.noteDataProvider, this.aztecNode, this.anchorBlockDataProvider);
395
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
394
396
  const noteDeliveries = noteValidationRequests.map(request =>
395
397
  noteService.deliverNote(
396
398
  request.contractAddress,
@@ -406,11 +408,12 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
406
408
  ),
407
409
  );
408
410
 
409
- const eventService = new EventService(this.anchorBlockDataProvider, this.aztecNode, this.privateEventDataProvider);
411
+ const eventService = new EventService(this.anchorBlockStore, this.aztecNode, this.privateEventStore);
410
412
  const eventDeliveries = eventValidationRequests.map(request =>
411
413
  eventService.deliverEvent(
412
414
  request.contractAddress,
413
415
  request.eventTypeId,
416
+ request.randomness,
414
417
  request.serializedEvent,
415
418
  request.eventCommitment,
416
419
  request.txHash,
@@ -421,8 +424,8 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
421
424
  await Promise.all([...noteDeliveries, ...eventDeliveries]);
422
425
 
423
426
  // Requests are cleared once we're done.
424
- await this.capsuleDataProvider.setCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot, []);
425
- await this.capsuleDataProvider.setCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot, []);
427
+ await this.capsuleStore.setCapsuleArray(contractAddress, noteValidationRequestsArrayBaseSlot, []);
428
+ await this.capsuleStore.setCapsuleArray(contractAddress, eventValidationRequestsArrayBaseSlot, []);
426
429
  }
427
430
 
428
431
  public async utilityBulkRetrieveLogs(
@@ -438,25 +441,26 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
438
441
  // We read all log retrieval requests and process them all concurrently. This makes the process much faster as we
439
442
  // don't need to wait for the network round-trip.
440
443
  const logRetrievalRequests = (
441
- await this.capsuleDataProvider.readCapsuleArray(contractAddress, logRetrievalRequestsArrayBaseSlot)
444
+ await this.capsuleStore.readCapsuleArray(contractAddress, logRetrievalRequestsArrayBaseSlot)
442
445
  ).map(LogRetrievalRequest.fromFields);
443
446
 
444
447
  const logService = new LogService(
445
448
  this.aztecNode,
446
- this.anchorBlockDataProvider,
449
+ this.anchorBlockStore,
447
450
  this.keyStore,
448
- this.capsuleDataProvider,
449
- this.recipientTaggingDataProvider,
450
- this.addressDataProvider,
451
+ this.capsuleStore,
452
+ this.recipientTaggingStore,
453
+ this.senderAddressBookStore,
454
+ this.addressStore,
451
455
  );
452
456
 
453
457
  const maybeLogRetrievalResponses = await logService.bulkRetrieveLogs(logRetrievalRequests);
454
458
 
455
459
  // Requests are cleared once we're done.
456
- await this.capsuleDataProvider.setCapsuleArray(contractAddress, logRetrievalRequestsArrayBaseSlot, []);
460
+ await this.capsuleStore.setCapsuleArray(contractAddress, logRetrievalRequestsArrayBaseSlot, []);
457
461
 
458
462
  // The responses are stored as Option<LogRetrievalResponse> in a second CapsuleArray.
459
- await this.capsuleDataProvider.setCapsuleArray(
463
+ await this.capsuleStore.setCapsuleArray(
460
464
  contractAddress,
461
465
  logRetrievalResponsesArrayBaseSlot,
462
466
  maybeLogRetrievalResponses.map(LogRetrievalResponse.toSerializedOption),
@@ -468,7 +472,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
468
472
  // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB
469
473
  throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`);
470
474
  }
471
- return this.capsuleDataProvider.storeCapsule(this.contractAddress, slot, capsule);
475
+ return this.capsuleStore.storeCapsule(this.contractAddress, slot, capsule);
472
476
  }
473
477
 
474
478
  public async utilityLoadCapsule(contractAddress: AztecAddress, slot: Fr): Promise<Fr[] | null> {
@@ -479,7 +483,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
479
483
  return (
480
484
  // TODO(#12425): On the following line, the pertinent capsule gets overshadowed by the transient one. Tackle this.
481
485
  this.capsules.find(c => c.contractAddress.equals(contractAddress) && c.storageSlot.equals(slot))?.data ??
482
- (await this.capsuleDataProvider.loadCapsule(this.contractAddress, slot))
486
+ (await this.capsuleStore.loadCapsule(this.contractAddress, slot))
483
487
  );
484
488
  }
485
489
 
@@ -488,7 +492,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
488
492
  // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB
489
493
  throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`);
490
494
  }
491
- return this.capsuleDataProvider.deleteCapsule(this.contractAddress, slot);
495
+ return this.capsuleStore.deleteCapsule(this.contractAddress, slot);
492
496
  }
493
497
 
494
498
  public utilityCopyCapsule(
@@ -501,7 +505,7 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra
501
505
  // TODO(#10727): instead of this check that this.contractAddress is allowed to access the external DB
502
506
  throw new Error(`Contract ${contractAddress} is not allowed to access ${this.contractAddress}'s PXE DB`);
503
507
  }
504
- return this.capsuleDataProvider.copyCapsule(this.contractAddress, srcSlot, dstSlot, numEntries);
508
+ return this.capsuleStore.copyCapsule(this.contractAddress, srcSlot, dstSlot, numEntries);
505
509
  }
506
510
 
507
511
  // TODO(#11849): consider replacing this oracle with a pure Noir implementation of aes decryption.
@@ -2,21 +2,21 @@ import { FunctionSelector } from '@aztec/stdlib/abi';
2
2
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { ContractOverrides } from '@aztec/stdlib/tx';
4
4
 
5
- import type { ContractDataProvider } from '../storage/contract_data_provider/contract_data_provider.js';
5
+ import type { ContractStore } from '../storage/contract_store/contract_store.js';
6
6
 
7
7
  /*
8
- * Proxy generator for a ContractDataProvider that allows overriding contract instances and artifacts, so
8
+ * Proxy generator for a ContractStore that allows overriding contract instances and artifacts, so
9
9
  * the contract function simulator can execute different bytecode on certain addresses. An example use case
10
10
  * would be overriding your own account contract so that valid signatures don't have to be provided while simulating.
11
11
  */
12
- export class ProxiedContractDataProviderFactory {
13
- static create(contractDataProvider: ContractDataProvider, overrides?: ContractOverrides) {
12
+ export class ProxiedContractStoreFactory {
13
+ static create(contractStore: ContractStore, overrides?: ContractOverrides) {
14
14
  if (!overrides) {
15
- return contractDataProvider;
15
+ return contractStore;
16
16
  }
17
17
 
18
- return new Proxy(contractDataProvider, {
19
- get(target, prop: keyof ContractDataProvider) {
18
+ return new Proxy(contractStore, {
19
+ get(target, prop: keyof ContractStore) {
20
20
  switch (prop) {
21
21
  case 'getContractInstance': {
22
22
  return async (address: AztecAddress) => {
@@ -1,8 +1,8 @@
1
1
  import type { NoteDao, NotesFilter } from '@aztec/stdlib/note';
2
2
 
3
3
  import type { PXE } from '../pxe.js';
4
- import type { ContractDataProvider } from '../storage/contract_data_provider/contract_data_provider.js';
5
- import type { NoteDataProvider } from '../storage/note_data_provider/note_data_provider.js';
4
+ import type { ContractStore } from '../storage/contract_store/contract_store.js';
5
+ import type { NoteStore } from '../storage/note_store/note_store.js';
6
6
 
7
7
  /**
8
8
  * Methods provided by this class might help debugging but must not be used in production.
@@ -12,8 +12,8 @@ export class PXEDebugUtils {
12
12
  #pxe: PXE | undefined = undefined;
13
13
 
14
14
  constructor(
15
- private contractDataProvider: ContractDataProvider,
16
- private noteDataProvider: NoteDataProvider,
15
+ private contractStore: ContractStore,
16
+ private noteStore: NoteStore,
17
17
  ) {}
18
18
 
19
19
  /**
@@ -40,9 +40,9 @@ export class PXEDebugUtils {
40
40
  }
41
41
 
42
42
  // We need to manually trigger private state sync to have a guarantee that all the notes are available.
43
- const call = await this.contractDataProvider.getFunctionCall('sync_private_state', [], filter.contractAddress);
43
+ const call = await this.contractStore.getFunctionCall('sync_private_state', [], filter.contractAddress);
44
44
  await this.#pxe.simulateUtility(call);
45
45
 
46
- return this.noteDataProvider.getNotes(filter);
46
+ return this.noteStore.getNotes(filter);
47
47
  }
48
48
  }
@@ -1,3 +1,4 @@
1
+ import { BBPrivateKernelProver } from '@aztec/bb-prover/client';
1
2
  import { BBBundlePrivateKernelProver } from '@aztec/bb-prover/client/bundle';
2
3
  import { randomBytes } from '@aztec/foundation/crypto/random';
3
4
  import { createLogger } from '@aztec/foundation/log';
@@ -49,7 +50,12 @@ export async function createPXE(
49
50
  ? loggers.prover
50
51
  : createLogger('pxe:bb:wasm:bundle' + (logSuffix ? `:${logSuffix}` : ''));
51
52
 
52
- const prover = options.prover ?? new BBBundlePrivateKernelProver(simulator, proverLogger);
53
+ let prover;
54
+ if (options.proverOrOptions instanceof BBPrivateKernelProver) {
55
+ prover = options.proverOrOptions;
56
+ } else {
57
+ prover = new BBBundlePrivateKernelProver(simulator, { ...options.proverOrOptions, logger: proverLogger });
58
+ }
53
59
  const protocolContractsProvider = new BundledProtocolContractsProvider();
54
60
 
55
61
  const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
@@ -1,3 +1,4 @@
1
+ import { BBPrivateKernelProver } from '@aztec/bb-prover/client';
1
2
  import { BBLazyPrivateKernelProver } from '@aztec/bb-prover/client/lazy';
2
3
  import { randomBytes } from '@aztec/foundation/crypto/random';
3
4
  import { createLogger } from '@aztec/foundation/log';
@@ -48,8 +49,12 @@ export async function createPXE(
48
49
  ? loggers.prover
49
50
  : createLogger('pxe:bb:wasm:bundle' + (logSuffix ? `:${logSuffix}` : ''));
50
51
 
51
- const prover = options.prover ?? new BBLazyPrivateKernelProver(simulator, proverLogger);
52
-
52
+ let prover;
53
+ if (options.proverOrOptions instanceof BBPrivateKernelProver) {
54
+ prover = options.proverOrOptions;
55
+ } else {
56
+ prover = new BBLazyPrivateKernelProver(simulator, { ...options.proverOrOptions, logger: proverLogger });
57
+ }
53
58
  const protocolContractsProvider = new LazyProtocolContractsProvider();
54
59
 
55
60
  const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
@@ -1,3 +1,4 @@
1
+ import type { BBPrivateKernelProverOptions } from '@aztec/bb-prover/client';
1
2
  import type { Logger } from '@aztec/foundation/log';
2
3
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
4
  import type { CircuitSimulator } from '@aztec/simulator/client';
@@ -6,7 +7,7 @@ import type { PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
6
7
  export type PXECreationOptions = {
7
8
  loggers?: { store?: Logger; pxe?: Logger; prover?: Logger };
8
9
  useLogSuffix?: boolean | string;
9
- prover?: PrivateKernelProver;
10
+ proverOrOptions?: PrivateKernelProver | BBPrivateKernelProverOptions;
10
11
  store?: AztecAsyncKVStore;
11
12
  simulator?: CircuitSimulator;
12
13
  };
@@ -1,13 +1,10 @@
1
+ import { BBPrivateKernelProver } from '@aztec/bb-prover/client';
1
2
  import { BBBundlePrivateKernelProver } from '@aztec/bb-prover/client/bundle';
2
3
  import { randomBytes } from '@aztec/foundation/crypto/random';
3
- import { type Logger, createLogger } from '@aztec/foundation/log';
4
+ import { createLogger } from '@aztec/foundation/log';
5
+ import { createStore } from '@aztec/kv-store/lmdb-v2';
4
6
  import { BundledProtocolContractsProvider } from '@aztec/protocol-contracts/providers/bundle';
5
- import {
6
- type CircuitSimulator,
7
- MemoryCircuitRecorder,
8
- SimulatorRecorderWrapper,
9
- WASMSimulator,
10
- } from '@aztec/simulator/client';
7
+ import { MemoryCircuitRecorder, SimulatorRecorderWrapper, WASMSimulator } from '@aztec/simulator/client';
11
8
  import { FileCircuitRecorder } from '@aztec/simulator/testing';
12
9
  import type { AztecNode } from '@aztec/stdlib/interfaces/client';
13
10
 
@@ -46,9 +43,6 @@ export async function createPXE(
46
43
  };
47
44
 
48
45
  if (!options.store) {
49
- // TODO once https://github.com/AztecProtocol/aztec-packages/issues/13656 is fixed, we can remove this and always
50
- // import the lmdb-v2 version
51
- const { createStore } = await import('@aztec/kv-store/lmdb-v2');
52
46
  const storeLogger = loggers.store
53
47
  ? loggers.store
54
48
  : createLogger('pxe:data:lmdb' + (logSuffix ? `:${logSuffix}` : ''));
@@ -58,7 +52,13 @@ export async function createPXE(
58
52
  ? loggers.prover
59
53
  : createLogger('pxe:bb:native' + (logSuffix ? `:${logSuffix}` : ''));
60
54
 
61
- const prover = options.prover ?? createProver(simulator, proverLogger);
55
+ let prover;
56
+ if (options.proverOrOptions instanceof BBPrivateKernelProver) {
57
+ prover = options.proverOrOptions;
58
+ } else {
59
+ prover = new BBBundlePrivateKernelProver(simulator, { ...options.proverOrOptions, logger: proverLogger });
60
+ }
61
+
62
62
  const protocolContractsProvider = new BundledProtocolContractsProvider();
63
63
 
64
64
  const pxeLogger = loggers.pxe ? loggers.pxe : createLogger('pxe:service' + (logSuffix ? `:${logSuffix}` : ''));
@@ -73,7 +73,3 @@ export async function createPXE(
73
73
  );
74
74
  return pxe;
75
75
  }
76
-
77
- function createProver(simulator: CircuitSimulator, logger?: Logger) {
78
- return new BBBundlePrivateKernelProver(simulator, logger);
79
- }
@@ -4,18 +4,14 @@ import { FunctionSelector } from '@aztec/stdlib/abi';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
5
  import { type SimulationError, isNoirCallStackUnresolved } from '@aztec/stdlib/errors';
6
6
 
7
- import type { ContractDataProvider } from './storage/contract_data_provider/contract_data_provider.js';
7
+ import type { ContractStore } from './storage/contract_store/contract_store.js';
8
8
 
9
9
  /**
10
10
  * Adds contract and function names to a simulation error, if they
11
11
  * can be found in the PXE database
12
12
  * @param err - The error to enrich.
13
13
  */
14
- export async function enrichSimulationError(
15
- err: SimulationError,
16
- contractDataProvider: ContractDataProvider,
17
- logger: Logger,
18
- ) {
14
+ export async function enrichSimulationError(err: SimulationError, contractStore: ContractStore, logger: Logger) {
19
15
  // Maps contract addresses to the set of function selectors that were in error.
20
16
  // Map and Set do reference equality for their keys instead of value equality, so we store the string
21
17
  // representation to get e.g. different contract address objects with the same address value to match.
@@ -34,7 +30,7 @@ export async function enrichSimulationError(
34
30
  await Promise.all(
35
31
  [...mentionedFunctions.entries()].map(async ([contractAddress, fnSelectors]) => {
36
32
  const parsedContractAddress = AztecAddress.fromString(contractAddress);
37
- const contract = await contractDataProvider.getContract(parsedContractAddress);
33
+ const contract = await contractStore.getContract(parsedContractAddress);
38
34
  if (contract) {
39
35
  err.enrichWithContractName(parsedContractAddress, contract.name);
40
36
  // Map from function selector to function name. It uses a stringified key for the same reason as mentionedFunctions.
@@ -68,11 +64,7 @@ export async function enrichSimulationError(
68
64
  );
69
65
  }
70
66
 
71
- export async function enrichPublicSimulationError(
72
- err: SimulationError,
73
- contractDataProvider: ContractDataProvider,
74
- logger: Logger,
75
- ) {
67
+ export async function enrichPublicSimulationError(err: SimulationError, contractStore: ContractStore, logger: Logger) {
76
68
  const callStack = err.getCallStack();
77
69
  const originalFailingFunction = callStack[callStack.length - 1];
78
70
 
@@ -80,7 +72,7 @@ export async function enrichPublicSimulationError(
80
72
  throw new Error(`Original failing function not found when enriching public simulation, missing callstack`);
81
73
  }
82
74
 
83
- const artifact = await contractDataProvider.getPublicFunctionArtifact(originalFailingFunction.contractAddress);
75
+ const artifact = await contractStore.getPublicFunctionArtifact(originalFailingFunction.contractAddress);
84
76
  if (!artifact) {
85
77
  throw new Error(
86
78
  `Artifact not found when enriching public simulation error. Contract address: ${originalFailingFunction.contractAddress}.`,
@@ -92,7 +84,7 @@ export async function enrichPublicSimulationError(
92
84
  err.setOriginalMessage(err.getOriginalMessage() + `${assertionMessage}`);
93
85
  }
94
86
 
95
- const debugInfo = await contractDataProvider.getPublicFunctionDebugMetadata(originalFailingFunction.contractAddress);
87
+ const debugInfo = await contractStore.getPublicFunctionDebugMetadata(originalFailingFunction.contractAddress);
96
88
 
97
89
  const noirCallStack = err.getNoirCallStack();
98
90
  if (debugInfo) {
@@ -110,6 +102,6 @@ export async function enrichPublicSimulationError(
110
102
  );
111
103
  }
112
104
  }
113
- await enrichSimulationError(err, contractDataProvider, logger);
105
+ await enrichSimulationError(err, contractStore, logger);
114
106
  }
115
107
  }
@@ -6,19 +6,20 @@ import type { AztecNode } from '@aztec/stdlib/interfaces/server';
6
6
  import { MerkleTreeId } from '@aztec/stdlib/trees';
7
7
  import type { TxHash } from '@aztec/stdlib/tx';
8
8
 
9
- import { AnchorBlockDataProvider } from '../storage/anchor_block_data_provider/anchor_block_data_provider.js';
10
- import { PrivateEventDataProvider } from '../storage/private_event_data_provider/private_event_data_provider.js';
9
+ import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
10
+ import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
11
11
 
12
12
  export class EventService {
13
13
  constructor(
14
- private readonly anchorBlockDataProvider: AnchorBlockDataProvider,
14
+ private readonly anchorBlockStore: AnchorBlockStore,
15
15
  private readonly aztecNode: AztecNode,
16
- private readonly privateEventDataProvider: PrivateEventDataProvider,
16
+ private readonly privateEventStore: PrivateEventStore,
17
17
  ) {}
18
18
 
19
19
  public async deliverEvent(
20
20
  contractAddress: AztecAddress,
21
21
  selector: EventSelector,
22
+ randomness: Fr,
22
23
  content: Fr[],
23
24
  eventCommitment: Fr,
24
25
  txHash: TxHash,
@@ -29,7 +30,7 @@ export class EventService {
29
30
  // maintain consistent behavior in the PXE. Additionally, events should never be ahead of the synced block here
30
31
  // since `fetchTaggedLogs` only processes logs up to the synced block.
31
32
  const [syncedBlockHeader, siloedEventCommitment, txEffect] = await Promise.all([
32
- this.anchorBlockDataProvider.getBlockHeader(),
33
+ this.anchorBlockStore.getBlockHeader(),
33
34
  siloNullifier(contractAddress, eventCommitment),
34
35
  this.aztecNode.getTxEffect(txHash),
35
36
  ]);
@@ -61,8 +62,9 @@ export class EventService {
61
62
  );
62
63
  }
63
64
 
64
- return this.privateEventDataProvider.storePrivateEventLog(
65
+ return this.privateEventStore.storePrivateEventLog(
65
66
  selector,
67
+ randomness,
66
68
  content,
67
69
  Number(nullifierIndex.data), // Index of the event commitment in the nullifier tree
68
70
  {
@@ -2,13 +2,13 @@ import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
2
2
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
3
3
  import { BlockNumber } from '@aztec/foundation/branded-types';
4
4
 
5
- import { AnchorBlockDataProvider } from '../storage/anchor_block_data_provider/anchor_block_data_provider.js';
6
- import type { PrivateEventDataProviderFilter } from '../storage/private_event_data_provider/private_event_data_provider.js';
5
+ import { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
6
+ import type { PrivateEventStoreFilter } from '../storage/private_event_store/private_event_store.js';
7
7
 
8
8
  export class PrivateEventFilterValidator {
9
- constructor(private anchorBlockDataProvider: AnchorBlockDataProvider) {}
9
+ constructor(private anchorBlockStore: AnchorBlockStore) {}
10
10
 
11
- async validate(filter: PrivateEventFilter): Promise<PrivateEventDataProviderFilter> {
11
+ async validate(filter: PrivateEventFilter): Promise<PrivateEventStoreFilter> {
12
12
  let { fromBlock, toBlock } = filter;
13
13
 
14
14
  // Block range filters in Aztec Node are defined as closed-open intervals [fromBlock, toBlock), so
@@ -16,7 +16,7 @@ export class PrivateEventFilterValidator {
16
16
  // We then default to [INITIAL_L2_BLOCK_NUM, latestKnownBlock + 1), ie: by default return events from
17
17
  // the first block to the latest known block.
18
18
  if (!fromBlock || !toBlock) {
19
- const lastKnownBlock = (await this.anchorBlockDataProvider.getBlockHeader()).getBlockNumber();
19
+ const lastKnownBlock = (await this.anchorBlockStore.getBlockHeader()).getBlockNumber();
20
20
  fromBlock = fromBlock ?? BlockNumber(INITIAL_L2_BLOCK_NUM);
21
21
  toBlock = toBlock ?? BlockNumber(lastKnownBlock + 1);
22
22
  }