@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0

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 (635) hide show
  1. package/dest/bin/check_oracle_version.js +48 -29
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +34 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +46 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +53 -0
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  13. package/dest/block_synchronizer/block_synchronizer.js +209 -0
  14. package/dest/block_synchronizer/index.d.ts +2 -0
  15. package/dest/block_synchronizer/index.d.ts.map +1 -0
  16. package/dest/block_synchronizer/index.js +1 -0
  17. package/dest/config/index.d.ts +14 -5
  18. package/dest/config/index.d.ts.map +1 -1
  19. package/dest/config/index.js +18 -2
  20. package/dest/config/package_info.js +1 -1
  21. package/dest/contract/contract_class_service.d.ts +31 -0
  22. package/dest/contract/contract_class_service.d.ts.map +1 -0
  23. package/dest/contract/contract_class_service.js +68 -0
  24. package/dest/contract/contract_sync_service.d.ts +48 -0
  25. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  26. package/dest/contract/contract_sync_service.js +116 -0
  27. package/dest/contract/helpers.d.ts +7 -0
  28. package/dest/contract/helpers.d.ts.map +1 -0
  29. package/dest/contract/helpers.js +20 -0
  30. package/dest/contract/skip_sync_contracts.d.ts +11 -0
  31. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  32. package/dest/contract/skip_sync_contracts.js +18 -0
  33. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  34. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  36. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  37. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  38. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  39. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  40. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  41. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  42. package/dest/contract_function_simulator/contract_function_simulator.d.ts +91 -27
  43. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/contract_function_simulator.js +302 -91
  45. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  46. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  47. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  48. package/dest/contract_function_simulator/execution_note_cache.d.ts +19 -16
  49. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  50. package/dest/contract_function_simulator/execution_note_cache.js +34 -37
  51. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  52. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
  54. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  55. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/index.d.ts +27 -6
  57. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  58. package/dest/contract_function_simulator/index.js +12 -4
  59. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  60. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  61. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  62. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  63. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  64. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  65. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  66. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  67. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  68. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  69. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  70. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  71. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +6 -6
  72. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  73. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +13 -11
  74. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  75. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  76. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  77. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  78. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  79. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  80. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +21 -11
  81. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  82. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -23
  83. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  84. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  85. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
  86. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  87. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  88. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  89. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -7
  90. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  91. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +9 -13
  92. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  93. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  94. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  95. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  96. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  97. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  98. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  99. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  100. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  101. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  102. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  103. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  104. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  105. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  106. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  107. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  108. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  109. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  110. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  111. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  112. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  113. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +7 -18
  114. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  115. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -31
  116. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  117. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  118. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  119. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  120. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  121. package/dest/contract_function_simulator/oracle/index.js +1 -1
  122. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -94
  123. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  124. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  125. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  126. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  127. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  128. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +5 -14
  129. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  130. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  131. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +12 -8
  132. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  133. package/dest/contract_function_simulator/oracle/note_packing_utils.js +15 -11
  134. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
  135. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  136. package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
  137. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
  138. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  139. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  140. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -28
  141. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  142. package/dest/contract_function_simulator/oracle/private_execution.js +8 -43
  143. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +90 -97
  144. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  145. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +275 -138
  146. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +236 -65
  147. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  148. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +661 -132
  149. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  150. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  151. package/dest/contract_function_simulator/pick_notes.js +21 -4
  152. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  153. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  154. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  155. package/dest/contract_logging.d.ts +27 -0
  156. package/dest/contract_logging.d.ts.map +1 -0
  157. package/dest/contract_logging.js +38 -0
  158. package/dest/debug/pxe_debug_utils.d.ts +40 -0
  159. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  160. package/dest/debug/pxe_debug_utils.js +42 -0
  161. package/dest/entrypoints/client/bundle/index.d.ts +4 -2
  162. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  163. package/dest/entrypoints/client/bundle/index.js +3 -1
  164. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  165. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  166. package/dest/entrypoints/client/bundle/utils.js +54 -12
  167. package/dest/entrypoints/client/lazy/index.d.ts +4 -2
  168. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  169. package/dest/entrypoints/client/lazy/index.js +3 -1
  170. package/dest/entrypoints/client/lazy/utils.d.ts +3 -3
  171. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  172. package/dest/entrypoints/client/lazy/utils.js +55 -13
  173. package/dest/entrypoints/client/store.d.ts +14 -0
  174. package/dest/entrypoints/client/store.d.ts.map +1 -0
  175. package/dest/entrypoints/client/store.js +42 -0
  176. package/dest/entrypoints/pxe_creation_options.d.ts +22 -4
  177. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  178. package/dest/entrypoints/pxe_creation_options.js +3 -1
  179. package/dest/entrypoints/server/index.d.ts +10 -3
  180. package/dest/entrypoints/server/index.d.ts.map +1 -1
  181. package/dest/entrypoints/server/index.js +8 -2
  182. package/dest/entrypoints/server/store.d.ts +18 -0
  183. package/dest/entrypoints/server/store.d.ts.map +1 -0
  184. package/dest/entrypoints/server/store.js +28 -0
  185. package/dest/entrypoints/server/utils.d.ts +4 -3
  186. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  187. package/dest/entrypoints/server/utils.js +62 -19
  188. package/dest/error_enriching.d.ts +6 -4
  189. package/dest/error_enriching.d.ts.map +1 -1
  190. package/dest/error_enriching.js +13 -11
  191. package/dest/events/event_service.d.ts +24 -0
  192. package/dest/events/event_service.d.ts.map +1 -0
  193. package/dest/events/event_service.js +77 -0
  194. package/dest/events/index.d.ts +2 -0
  195. package/dest/events/index.d.ts.map +1 -0
  196. package/dest/events/index.js +1 -0
  197. package/dest/events/private_event_filter_validator.d.ts +10 -0
  198. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  199. package/dest/events/private_event_filter_validator.js +53 -0
  200. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  201. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  202. package/dest/hooks/authorize_utility_call.js +4 -0
  203. package/dest/hooks/execution_hooks.d.ts +62 -0
  204. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  205. package/dest/hooks/execution_hooks.js +9 -0
  206. package/dest/hooks/index.d.ts +5 -0
  207. package/dest/hooks/index.d.ts.map +1 -0
  208. package/dest/hooks/index.js +2 -0
  209. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  210. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  211. package/dest/hooks/resolve_custom_request.js +3 -0
  212. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  213. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  214. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  215. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  216. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  217. package/dest/job_coordinator/job_coordinator.js +94 -0
  218. package/dest/logs/log_service.d.ts +31 -0
  219. package/dest/logs/log_service.d.ts.map +1 -0
  220. package/dest/logs/log_service.js +232 -0
  221. package/dest/messages/tx_resolver_service.d.ts +17 -0
  222. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  223. package/dest/messages/tx_resolver_service.js +60 -0
  224. package/dest/notes/index.d.ts +2 -0
  225. package/dest/notes/index.d.ts.map +1 -0
  226. package/dest/notes/index.js +1 -0
  227. package/dest/notes/note_service.d.ts +70 -0
  228. package/dest/notes/note_service.d.ts.map +1 -0
  229. package/dest/notes/note_service.js +172 -0
  230. package/dest/notes_filter.d.ts +24 -0
  231. package/dest/notes_filter.d.ts.map +1 -0
  232. package/dest/notes_filter.js +4 -0
  233. package/dest/oracle_version.d.ts +4 -3
  234. package/dest/oracle_version.d.ts.map +1 -1
  235. package/dest/oracle_version.js +20 -9
  236. package/dest/private_kernel/batch_planner.d.ts +47 -0
  237. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  238. package/dest/private_kernel/batch_planner.js +104 -0
  239. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  240. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  241. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  242. package/dest/private_kernel/hints/index.d.ts +3 -3
  243. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  244. package/dest/private_kernel/hints/index.js +2 -2
  245. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
  246. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  247. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +147 -76
  248. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  249. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  250. package/dest/private_kernel/hints/test_utils.js +202 -0
  251. package/dest/private_kernel/private_kernel_execution_prover.d.ts +7 -2
  252. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  253. package/dest/private_kernel/private_kernel_execution_prover.js +214 -93
  254. package/dest/private_kernel/private_kernel_oracle.d.ts +32 -29
  255. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  256. package/dest/private_kernel/private_kernel_oracle.js +108 -2
  257. package/dest/pxe.d.ts +260 -134
  258. package/dest/pxe.d.ts.map +1 -1
  259. package/dest/pxe.js +496 -342
  260. package/dest/storage/address_store/address_store.d.ts +11 -0
  261. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  262. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +13 -12
  263. package/dest/storage/address_store/index.d.ts +2 -0
  264. package/dest/storage/address_store/index.d.ts.map +1 -0
  265. package/dest/storage/address_store/index.js +1 -0
  266. package/dest/storage/allowed_scopes.d.ts +6 -0
  267. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  268. package/dest/storage/allowed_scopes.js +7 -0
  269. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +20 -0
  270. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  271. package/dest/storage/anchor_block_store/anchor_block_store.js +28 -0
  272. package/dest/storage/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
  273. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  274. package/dest/storage/anchor_block_store/index.js +1 -0
  275. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  276. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  277. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  278. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  279. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  280. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  281. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  282. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  283. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  284. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  285. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  286. package/dest/storage/capsule_store/capsule_service.js +47 -0
  287. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  288. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  289. package/dest/storage/capsule_store/capsule_store.js +261 -0
  290. package/dest/storage/capsule_store/index.d.ts +3 -0
  291. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  292. package/dest/storage/capsule_store/index.js +2 -0
  293. package/dest/storage/contract_store/contract_store.d.ts +96 -0
  294. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  295. package/dest/storage/contract_store/contract_store.js +281 -0
  296. package/dest/storage/contract_store/index.d.ts +2 -0
  297. package/dest/storage/contract_store/index.d.ts.map +1 -0
  298. package/dest/storage/contract_store/index.js +1 -0
  299. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  300. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  301. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  302. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  303. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  304. package/dest/storage/fact_store/fact_service.js +45 -0
  305. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  306. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  307. package/dest/storage/fact_store/fact_store.js +408 -0
  308. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  309. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  310. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  311. package/dest/storage/fact_store/index.d.ts +6 -0
  312. package/dest/storage/fact_store/index.d.ts.map +1 -0
  313. package/dest/storage/fact_store/index.js +4 -0
  314. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  315. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  316. package/dest/storage/fact_store/origin_state.js +60 -0
  317. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  318. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  319. package/dest/storage/fact_store/stored_fact.js +64 -0
  320. package/dest/storage/index.d.ts +9 -8
  321. package/dest/storage/index.d.ts.map +1 -1
  322. package/dest/storage/index.js +8 -7
  323. package/dest/storage/metadata.d.ts +2 -2
  324. package/dest/storage/metadata.d.ts.map +1 -1
  325. package/dest/storage/metadata.js +1 -1
  326. package/dest/storage/note_store/index.d.ts +3 -0
  327. package/dest/storage/note_store/index.d.ts.map +1 -0
  328. package/dest/storage/note_store/index.js +2 -0
  329. package/dest/storage/note_store/note_store.d.ts +92 -0
  330. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  331. package/dest/storage/note_store/note_store.js +372 -0
  332. package/dest/storage/note_store/stored_note.d.ts +11 -0
  333. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  334. package/dest/storage/note_store/stored_note.js +27 -0
  335. package/dest/storage/open_pxe_stores.d.ts +35 -0
  336. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  337. package/dest/storage/open_pxe_stores.js +29 -0
  338. package/dest/storage/private_event_store/private_event_store.d.ts +88 -0
  339. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  340. package/dest/storage/private_event_store/private_event_store.js +273 -0
  341. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  342. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  343. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  344. package/dest/storage/store_identity.d.ts +35 -0
  345. package/dest/storage/store_identity.d.ts.map +1 -0
  346. package/dest/storage/store_identity.js +44 -0
  347. package/dest/storage/tagging_store/index.d.ts +4 -0
  348. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  349. package/dest/storage/tagging_store/index.js +3 -0
  350. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  351. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  352. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  353. package/dest/storage/tagging_store/sender_tagging_store.d.ts +94 -0
  354. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  355. package/dest/storage/tagging_store/sender_tagging_store.js +411 -0
  356. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  357. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  358. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  359. package/dest/tagging/constants.d.ts +3 -2
  360. package/dest/tagging/constants.d.ts.map +1 -1
  361. package/dest/tagging/constants.js +28 -2
  362. package/dest/tagging/get_all_logs_by_tags.d.ts +48 -0
  363. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  364. package/dest/tagging/get_all_logs_by_tags.js +59 -0
  365. package/dest/tagging/index.d.ts +18 -7
  366. package/dest/tagging/index.d.ts.map +1 -1
  367. package/dest/tagging/index.js +16 -5
  368. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  369. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  370. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  371. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
  372. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  373. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +238 -0
  374. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  375. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  376. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  377. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  378. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  379. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  380. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +16 -0
  381. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  382. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +92 -0
  383. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +17 -0
  384. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  385. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +60 -0
  386. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +19 -0
  387. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  388. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +76 -0
  389. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  390. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  391. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  392. package/package.json +31 -19
  393. package/src/bin/check_oracle_version.ts +56 -34
  394. package/src/bin/index.ts +1 -0
  395. package/src/bin/oracle_version_helpers.ts +54 -0
  396. package/src/block_synchronizer/block_stream_source.ts +42 -0
  397. package/src/block_synchronizer/block_synchronizer.ts +241 -0
  398. package/src/block_synchronizer/index.ts +1 -0
  399. package/src/config/index.ts +25 -4
  400. package/src/config/package_info.ts +1 -1
  401. package/src/contract/contract_class_service.ts +83 -0
  402. package/src/contract/contract_sync_service.ts +176 -0
  403. package/src/contract/helpers.ts +35 -0
  404. package/src/contract/skip_sync_contracts.ts +23 -0
  405. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  406. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  407. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  408. package/src/contract_function_simulator/contract_function_simulator.ts +513 -124
  409. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  410. package/src/contract_function_simulator/execution_note_cache.ts +39 -38
  411. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  412. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  413. package/src/contract_function_simulator/index.ts +90 -5
  414. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  415. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  416. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  417. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  418. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +16 -11
  419. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  420. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  421. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +28 -20
  422. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  423. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  424. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +8 -13
  425. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  426. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  427. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  428. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  429. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  430. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  431. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  432. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -37
  433. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  434. package/src/contract_function_simulator/oracle/index.ts +1 -15
  435. package/src/contract_function_simulator/oracle/interfaces.ts +11 -166
  436. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  437. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  438. package/src/contract_function_simulator/oracle/note_packing_utils.ts +28 -14
  439. package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
  440. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
  441. package/src/contract_function_simulator/oracle/private_execution.ts +8 -76
  442. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +355 -189
  443. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1027 -166
  444. package/src/contract_function_simulator/pick_notes.ts +23 -4
  445. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  446. package/src/contract_logging.ts +52 -0
  447. package/src/debug/pxe_debug_utils.ts +85 -0
  448. package/src/entrypoints/client/bundle/index.ts +3 -1
  449. package/src/entrypoints/client/bundle/utils.ts +52 -21
  450. package/src/entrypoints/client/lazy/index.ts +3 -1
  451. package/src/entrypoints/client/lazy/utils.ts +54 -23
  452. package/src/entrypoints/client/store.ts +54 -0
  453. package/src/entrypoints/pxe_creation_options.ts +27 -3
  454. package/src/entrypoints/server/index.ts +10 -2
  455. package/src/entrypoints/server/store.ts +47 -0
  456. package/src/entrypoints/server/utils.ts +68 -45
  457. package/src/error_enriching.ts +20 -12
  458. package/src/events/event_service.ts +119 -0
  459. package/src/events/index.ts +1 -0
  460. package/src/events/private_event_filter_validator.ts +66 -0
  461. package/src/hooks/authorize_utility_call.ts +44 -0
  462. package/src/hooks/execution_hooks.ts +68 -0
  463. package/src/hooks/index.ts +13 -0
  464. package/src/hooks/resolve_custom_request.ts +24 -0
  465. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  466. package/src/job_coordinator/job_coordinator.ts +150 -0
  467. package/src/logs/log_service.ts +300 -0
  468. package/src/messages/tx_resolver_service.ts +69 -0
  469. package/src/notes/index.ts +1 -0
  470. package/src/notes/note_service.ts +230 -0
  471. package/src/notes_filter.ts +24 -0
  472. package/src/oracle_version.ts +20 -9
  473. package/src/private_kernel/batch_planner.ts +168 -0
  474. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  475. package/src/private_kernel/hints/index.ts +2 -2
  476. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +209 -141
  477. package/src/private_kernel/hints/test_utils.ts +318 -0
  478. package/src/private_kernel/private_kernel_execution_prover.ts +352 -130
  479. package/src/private_kernel/private_kernel_oracle.ts +149 -39
  480. package/src/pxe.ts +846 -457
  481. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +16 -16
  482. package/src/storage/address_store/index.ts +1 -0
  483. package/src/storage/allowed_scopes.ts +14 -0
  484. package/src/storage/anchor_block_store/anchor_block_store.ts +35 -0
  485. package/src/storage/anchor_block_store/index.ts +1 -0
  486. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  487. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  488. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  489. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  490. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  491. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  492. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  493. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  494. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  495. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  496. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  497. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  498. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  499. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  500. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  501. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  502. package/src/storage/capsule_store/capsule_service.ts +85 -0
  503. package/src/storage/capsule_store/capsule_store.ts +333 -0
  504. package/src/storage/capsule_store/index.ts +2 -0
  505. package/src/storage/contract_store/contract_store.ts +401 -0
  506. package/src/storage/contract_store/index.ts +1 -0
  507. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  508. package/src/storage/fact_store/fact_service.ts +69 -0
  509. package/src/storage/fact_store/fact_store.ts +487 -0
  510. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  511. package/src/storage/fact_store/index.ts +15 -0
  512. package/src/storage/fact_store/origin_state.ts +84 -0
  513. package/src/storage/fact_store/stored_fact.ts +80 -0
  514. package/src/storage/index.ts +8 -7
  515. package/src/storage/metadata.ts +1 -1
  516. package/src/storage/note_store/index.ts +2 -0
  517. package/src/storage/note_store/note_store.ts +454 -0
  518. package/src/storage/note_store/stored_note.ts +26 -0
  519. package/src/storage/open_pxe_stores.ts +52 -0
  520. package/src/storage/private_event_store/private_event_store.ts +382 -0
  521. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  522. package/src/storage/store_identity.ts +72 -0
  523. package/src/storage/tagging_store/index.ts +3 -0
  524. package/src/storage/tagging_store/recipient_tagging_store.ts +139 -0
  525. package/src/storage/tagging_store/sender_tagging_store.ts +523 -0
  526. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  527. package/src/tagging/constants.ts +30 -2
  528. package/src/tagging/get_all_logs_by_tags.ts +120 -0
  529. package/src/tagging/index.ts +20 -6
  530. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  531. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +358 -0
  532. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  533. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  534. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +134 -0
  535. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +66 -0
  536. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +88 -0
  537. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  538. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -267
  539. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  540. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  541. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -58
  542. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  543. package/dest/contract_function_simulator/oracle/oracle.js +0 -334
  544. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  545. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  546. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -62
  547. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  548. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  549. package/dest/contract_function_simulator/proxied_node.js +0 -27
  550. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -123
  551. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  552. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -696
  553. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  554. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  555. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  556. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  557. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  558. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  559. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  560. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  561. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  562. package/dest/storage/address_data_provider/index.d.ts +0 -2
  563. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  564. package/dest/storage/address_data_provider/index.js +0 -1
  565. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  566. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  567. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
  568. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  569. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  570. package/dest/storage/capsule_data_provider/index.js +0 -1
  571. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -64
  572. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  573. package/dest/storage/contract_data_provider/contract_data_provider.js +0 -193
  574. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  575. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  576. package/dest/storage/contract_data_provider/index.js +0 -1
  577. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  578. package/dest/storage/note_data_provider/index.d.ts +0 -3
  579. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  580. package/dest/storage/note_data_provider/index.js +0 -2
  581. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -83
  582. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  583. package/dest/storage/note_data_provider/note_data_provider.js +0 -314
  584. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  585. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  586. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -105
  587. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  588. package/dest/storage/sync_data_provider/index.js +0 -1
  589. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -11
  590. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  591. package/dest/storage/sync_data_provider/sync_data_provider.js +0 -26
  592. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  593. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  594. package/dest/storage/tagging_data_provider/index.js +0 -1
  595. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  596. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  597. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  598. package/dest/synchronizer/index.d.ts +0 -2
  599. package/dest/synchronizer/index.d.ts.map +0 -1
  600. package/dest/synchronizer/index.js +0 -1
  601. package/dest/synchronizer/synchronizer.d.ts +0 -36
  602. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  603. package/dest/synchronizer/synchronizer.js +0 -102
  604. package/dest/tagging/siloed_tag.d.ts +0 -14
  605. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  606. package/dest/tagging/siloed_tag.js +0 -20
  607. package/dest/tagging/tag.d.ts +0 -12
  608. package/dest/tagging/tag.d.ts.map +0 -1
  609. package/dest/tagging/tag.js +0 -17
  610. package/dest/tagging/utils.d.ts +0 -18
  611. package/dest/tagging/utils.d.ts.map +0 -1
  612. package/dest/tagging/utils.js +0 -24
  613. package/src/contract_function_simulator/execution_data_provider.ts +0 -342
  614. package/src/contract_function_simulator/oracle/oracle.ts +0 -591
  615. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -66
  616. package/src/contract_function_simulator/proxied_node.ts +0 -33
  617. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1023
  618. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  619. package/src/storage/address_data_provider/index.ts +0 -1
  620. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
  621. package/src/storage/capsule_data_provider/index.ts +0 -1
  622. package/src/storage/contract_data_provider/contract_data_provider.ts +0 -277
  623. package/src/storage/contract_data_provider/index.ts +0 -1
  624. package/src/storage/note_data_provider/index.ts +0 -2
  625. package/src/storage/note_data_provider/note_data_provider.ts +0 -403
  626. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -143
  627. package/src/storage/sync_data_provider/index.ts +0 -1
  628. package/src/storage/sync_data_provider/sync_data_provider.ts +0 -35
  629. package/src/storage/tagging_data_provider/index.ts +0 -1
  630. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  631. package/src/synchronizer/index.ts +0 -1
  632. package/src/synchronizer/synchronizer.ts +0 -121
  633. package/src/tagging/siloed_tag.ts +0 -22
  634. package/src/tagging/tag.ts +0 -16
  635. package/src/tagging/utils.ts +0 -31
@@ -0,0 +1,11 @@
1
+ import { NoteDao } from '@aztec/stdlib/note';
2
+ /** A note as stored by the PXE: the note DAO plus the scopes that observed it. Append-only — never mutated. */
3
+ export declare class StoredNote {
4
+ readonly noteDao: NoteDao;
5
+ readonly scopes: Set<string>;
6
+ constructor(noteDao: NoteDao, scopes: Set<string>);
7
+ static fromBuffer(buffer: Buffer): StoredNote;
8
+ toBuffer(): Buffer;
9
+ addScope(scope: string): void;
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkX25vdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL25vdGVfc3RvcmUvc3RvcmVkX25vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLGlIQUErRztBQUMvRyxxQkFBYSxVQUFVO0lBRW5CLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTztJQUN6QixRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFGOUIsWUFDVyxPQUFPLEVBQUUsT0FBTyxFQUNoQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUMxQjtJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLENBSzVDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FHakI7SUFFRCxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBRTVCO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stored_note.d.ts","sourceRoot":"","sources":["../../../src/storage/note_store/stored_note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,iHAA+G;AAC/G,qBAAa,UAAU;IAEnB,QAAQ,CAAC,OAAO,EAAE,OAAO;IACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IAF9B,YACW,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAK5C;IAED,QAAQ,IAAI,MAAM,CAGjB;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5B;CACF"}
@@ -0,0 +1,27 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { NoteDao } from '@aztec/stdlib/note';
3
+ /** A note as stored by the PXE: the note DAO plus the scopes that observed it. Append-only — never mutated. */ export class StoredNote {
4
+ noteDao;
5
+ scopes;
6
+ constructor(noteDao, scopes){
7
+ this.noteDao = noteDao;
8
+ this.scopes = scopes;
9
+ }
10
+ static fromBuffer(buffer) {
11
+ const reader = BufferReader.asReader(buffer);
12
+ const noteDao = NoteDao.fromBuffer(reader);
13
+ const scopes = reader.readVector({
14
+ fromBuffer: (r)=>r.readString()
15
+ });
16
+ return new StoredNote(noteDao, new Set(scopes));
17
+ }
18
+ toBuffer() {
19
+ const scopesArray = [
20
+ ...this.scopes
21
+ ];
22
+ return serializeToBuffer(this.noteDao, scopesArray.length, ...scopesArray);
23
+ }
24
+ addScope(scope) {
25
+ this.scopes.add(scope);
26
+ }
27
+ }
@@ -0,0 +1,35 @@
1
+ import { KeyStore } from '@aztec/key-store';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ import { L2TipsKVStore } from '@aztec/kv-store/stores';
4
+ import type { BlockHash } from '@aztec/stdlib/block';
5
+ import { AddressStore } from './address_store/address_store.js';
6
+ import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
7
+ import { CapsuleStore } from './capsule_store/capsule_store.js';
8
+ import { ContractStore } from './contract_store/contract_store.js';
9
+ import { FactStore } from './fact_store/fact_store.js';
10
+ import { NoteStore } from './note_store/note_store.js';
11
+ import { PrivateEventStore } from './private_event_store/private_event_store.js';
12
+ import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from './tagging_store/index.js';
13
+ /**
14
+ * The set of sub-stores opened against a single `AztecAsyncKVStore` to back PXE state.
15
+ */
16
+ export type PxeStores = {
17
+ addressStore: AddressStore;
18
+ privateEventStore: PrivateEventStore;
19
+ contractStore: ContractStore;
20
+ noteStore: NoteStore;
21
+ anchorBlockStore: AnchorBlockStore;
22
+ senderTaggingStore: SenderTaggingStore;
23
+ taggingSecretSourcesStore: TaggingSecretSourcesStore;
24
+ recipientTaggingStore: RecipientTaggingStore;
25
+ capsuleStore: CapsuleStore;
26
+ keyStore: KeyStore;
27
+ l2TipsStore: L2TipsKVStore;
28
+ factStore: FactStore;
29
+ };
30
+ /**
31
+ * Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
32
+ * `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
33
+ */
34
+ export declare function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockHash): PxeStores;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbl9weGVfc3RvcmVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmFnZS9vcGVuX3B4ZV9zdG9yZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEg7O0dBRUc7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDM0IsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7SUFDckMsYUFBYSxFQUFFLGFBQWEsQ0FBQztJQUM3QixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO0lBQ3ZDLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO0lBQ3JELHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO0lBQzdDLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDM0IsUUFBUSxFQUFFLFFBQVEsQ0FBQztJQUNuQixXQUFXLEVBQUUsYUFBYSxDQUFDO0lBQzNCLFNBQVMsRUFBRSxTQUFTLENBQUM7Q0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsR0FBRyxTQUFTLENBZTlGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open_pxe_stores.d.ts","sourceRoot":"","sources":["../../src/storage/open_pxe_stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEhH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,GAAG,SAAS,CAe9F"}
@@ -0,0 +1,29 @@
1
+ import { KeyStore } from '@aztec/key-store';
2
+ import { L2TipsKVStore } from '@aztec/kv-store/stores';
3
+ import { AddressStore } from './address_store/address_store.js';
4
+ import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
5
+ import { CapsuleStore } from './capsule_store/capsule_store.js';
6
+ import { ContractStore } from './contract_store/contract_store.js';
7
+ import { FactStore } from './fact_store/fact_store.js';
8
+ import { NoteStore } from './note_store/note_store.js';
9
+ import { PrivateEventStore } from './private_event_store/private_event_store.js';
10
+ import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from './tagging_store/index.js';
11
+ /**
12
+ * Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
13
+ * `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
14
+ */ export function openPxeStores(store, initialBlockHash) {
15
+ return {
16
+ addressStore: new AddressStore(store),
17
+ privateEventStore: new PrivateEventStore(store),
18
+ contractStore: new ContractStore(store),
19
+ noteStore: new NoteStore(store),
20
+ anchorBlockStore: new AnchorBlockStore(store),
21
+ senderTaggingStore: new SenderTaggingStore(store),
22
+ taggingSecretSourcesStore: new TaggingSecretSourcesStore(store),
23
+ recipientTaggingStore: new RecipientTaggingStore(store),
24
+ capsuleStore: new CapsuleStore(store),
25
+ keyStore: new KeyStore(store),
26
+ l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash),
27
+ factStore: new FactStore(store)
28
+ };
29
+ }
@@ -0,0 +1,88 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ import type { EventSelector } from '@aztec/stdlib/abi';
4
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import type { InTx, TxHash } from '@aztec/stdlib/tx';
6
+ import type { StagedStore } from '../../job_coordinator/job_coordinator.js';
7
+ import type { PackedPrivateEvent } from '../../pxe.js';
8
+ export type PrivateEventStoreFilter = {
9
+ contractAddress: AztecAddress;
10
+ fromBlock: number;
11
+ toBlock: number;
12
+ scopes: AztecAddress[];
13
+ txHash?: TxHash;
14
+ };
15
+ type PrivateEventMetadata = InTx & {
16
+ contractAddress: AztecAddress;
17
+ scope: AztecAddress;
18
+ /** The index of the tx within the block */
19
+ txIndexInBlock: number;
20
+ /** The index of the event within the tx (based on nullifier position) */
21
+ eventIndexInTx: number;
22
+ };
23
+ /**
24
+ * Stores decrypted private event logs.
25
+ *
26
+ * Append-only: events are never deleted during normal operation. Reorgs are handled by delete-on-prune, which removes
27
+ * every event originating on a reorg'd block.
28
+ */
29
+ export declare class PrivateEventStore implements StagedStore {
30
+ #private;
31
+ readonly storeName: string;
32
+ logger: import("@aztec/foundation/log").Logger;
33
+ constructor(store: AztecAsyncKVStore);
34
+ /**
35
+ * Store a private event log.
36
+ * @param eventSelector - The event selector of the event.
37
+ * @param randomness - The randomness used for the event commitment.
38
+ * @param msgContent - The content of the event.
39
+ * @param siloedEventCommitment - The siloed event commitment (used as unique identifier).
40
+ * @param metadata
41
+ * contractAddress - The address of the contract that emitted the event.
42
+ * scope - The address to which the event is scoped.
43
+ * txHash - The transaction hash of the event log.
44
+ * blockNumber - The block number in which the event was emitted.
45
+ */
46
+ storePrivateEventLog(eventSelector: EventSelector, randomness: Fr, msgContent: Fr[], siloedEventCommitment: Fr, metadata: PrivateEventMetadata, jobId: string): Promise<void>;
47
+ /**
48
+ * Returns the private events given search parameters.
49
+ * @param eventSelector - The event selector to filter by.
50
+ * @param filter - Filtering criteria:
51
+ * contractAddress: The address of the contract to get events from.
52
+ * fromBlock: The block number to search from (inclusive).
53
+ * toBlock: The block number to search upto (exclusive).
54
+ * scope: - The addresses that decrypted the logs.
55
+ * @returns - The event log contents, augmented with metadata about the transaction and block in which the event was
56
+ * included.
57
+ */
58
+ getPrivateEvents(eventSelector: EventSelector, filter: PrivateEventStoreFilter): Promise<PackedPrivateEvent[]>;
59
+ /** Returns the ids (siloed event commitments) of all events emitted at the given block number. Used by delete-on-prune. */
60
+ eventIdsAtBlock(blockNumber: number): Promise<string[]>;
61
+ /**
62
+ * Rolls the store back to `toBlock`: deletes every event anchored to a block strictly above it, as if nothing past
63
+ * that block height ever happened. Used by the reorg (`chain-pruned`) path to truncate the orphaned tail. Scanning
64
+ * from `toBlock + 1` upward covers everything above the rollback target without needing to know the chain tip.
65
+ *
66
+ * Must be called inside a transaction owned by the caller (it issues no `transactionAsync` of its own, the reorg
67
+ * path wraps it together with the anchor update, and IndexedDB has no nested transactions). Throws if any job has
68
+ * uncommitted staged writes, since rolling back mid-job could later re-introduce events anchored to deleted blocks.
69
+ */
70
+ rollback(toBlock: number): Promise<void>;
71
+ /**
72
+ * Commits in memory job data to persistent storage.
73
+ *
74
+ * Called by JobCoordinator when a job completes successfully.
75
+ *
76
+ * Note: JobCoordinator wraps all commits in a single transaction, so we don't need our own transactionAsync here
77
+ * (and using one would throw on IndexedDB as it does not support nested txs).
78
+ *
79
+ * @param jobId - The jobId identifying which staged data to commit
80
+ */
81
+ commit(jobId: string): Promise<void>;
82
+ /**
83
+ * Discards in memory job data without persisting it.
84
+ */
85
+ discardStaged(jobId: string): Promise<void>;
86
+ }
87
+ export {};
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9ldmVudF9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvcHJpdmF0ZV9ldmVudF9zdG9yZS9wcml2YXRlX2V2ZW50X3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBcUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHdkQsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lBQ3BDLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN2QixNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakIsQ0FBQztBQUVGLEtBQUssb0JBQW9CLEdBQUcsSUFBSSxHQUFHO0lBQ2pDLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQiwyQ0FBMkM7SUFDM0MsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2Qix5RUFBeUU7SUFDekUsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBU0Y7Ozs7O0dBS0c7QUFDSCxxQkFBYSxpQkFBa0IsWUFBVyxXQUFXOztJQUNuRCxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBbUI7SUFnQjdDLE1BQU0seUNBQXVDO0lBRTdDLFlBQVksS0FBSyxFQUFFLGlCQUFpQixFQVFuQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsb0JBQW9CLENBQ2xCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFVBQVUsRUFBRSxFQUFFLEVBQ2QsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUNoQixxQkFBcUIsRUFBRSxFQUFFLEVBQ3pCLFFBQVEsRUFBRSxvQkFBb0IsRUFDOUIsS0FBSyxFQUFFLE1BQU0saUJBeUNkO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLGdCQUFnQixDQUNyQixhQUFhLEVBQUUsYUFBYSxFQUM1QixNQUFNLEVBQUUsdUJBQXVCLEdBQzlCLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBK0UvQjtJQUVELDJIQUEySDtJQUM5RyxlQUFlLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FNbkU7SUFFRDs7Ozs7Ozs7T0FRRztJQUNVLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0F5QnBEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0csTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWdCekM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHMUM7Q0EwRUYifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private_event_store.d.ts","sourceRoot":"","sources":["../../../src/storage/private_event_store/private_event_store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,oBAAoB,GAAG,IAAI,GAAG;IACjC,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AASF;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,WAAW;;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAmB;IAgB7C,MAAM,yCAAuC;IAE7C,YAAY,KAAK,EAAE,iBAAiB,EAQnC;IAED;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EAAE,EAChB,qBAAqB,EAAE,EAAE,EACzB,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,MAAM,iBAyCd;IAED;;;;;;;;;;OAUG;IACI,gBAAgB,CACrB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA+E/B;IAED,2HAA2H;IAC9G,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnE;IAED;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpD;IAED;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzC;IAED;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1C;CA0EF"}
@@ -0,0 +1,273 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { createLogger } from '@aztec/foundation/log';
3
+ import { Semaphore } from '@aztec/foundation/queue';
4
+ import { StoredPrivateEvent } from './stored_private_event.js';
5
+ /**
6
+ * Stores decrypted private event logs.
7
+ *
8
+ * Append-only: events are never deleted during normal operation. Reorgs are handled by delete-on-prune, which removes
9
+ * every event originating on a reorg'd block.
10
+ */ export class PrivateEventStore {
11
+ storeName = 'private_event';
12
+ #store;
13
+ /** Actual private event log entries, keyed by siloedEventCommitment */ #events;
14
+ /** Multi-map from contractAddress_eventSelector to siloedEventCommitment for efficient lookup */ #eventsByContractAndEventSelector;
15
+ /** Multi-map from block number to siloedEventCommitment, for delete-on-prune. */ #eventsByBlockNumber;
16
+ /** jobId => eventId (event siloed nullifier) => StoredPrivateEvent */ #eventsForJob;
17
+ /** Per-job locks to prevent concurrent writes from affecting each other. */ #jobLocks;
18
+ logger = createLogger('private_event_store');
19
+ constructor(store){
20
+ this.#store = store;
21
+ this.#events = this.#store.openMap('private_event_logs');
22
+ this.#eventsByContractAndEventSelector = this.#store.openMultiMap('events_by_contract_selector');
23
+ this.#eventsByBlockNumber = this.#store.openMultiMap('events_by_block_number');
24
+ this.#eventsForJob = new Map();
25
+ this.#jobLocks = new Map();
26
+ }
27
+ /**
28
+ * Store a private event log.
29
+ * @param eventSelector - The event selector of the event.
30
+ * @param randomness - The randomness used for the event commitment.
31
+ * @param msgContent - The content of the event.
32
+ * @param siloedEventCommitment - The siloed event commitment (used as unique identifier).
33
+ * @param metadata
34
+ * contractAddress - The address of the contract that emitted the event.
35
+ * scope - The address to which the event is scoped.
36
+ * txHash - The transaction hash of the event log.
37
+ * blockNumber - The block number in which the event was emitted.
38
+ */ storePrivateEventLog(eventSelector, randomness, msgContent, siloedEventCommitment, metadata, jobId) {
39
+ return this.#withJobLock(jobId, ()=>this.#store.transactionAsync(async ()=>{
40
+ const { contractAddress, scope, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, eventIndexInTx } = metadata;
41
+ const eventId = siloedEventCommitment.toString();
42
+ this.logger.verbose('storing private event log (job stage)', {
43
+ eventId,
44
+ contractAddress,
45
+ scope,
46
+ msgContent,
47
+ l2BlockNumber
48
+ });
49
+ const existing = await this.#readEvent(eventId, jobId);
50
+ if (existing) {
51
+ // If we already stored this event, we still want to make sure to track it for the given scope
52
+ existing.addScope(scope.toString());
53
+ this.#writeEvent(eventId, existing, jobId);
54
+ } else {
55
+ this.#writeEvent(eventId, new StoredPrivateEvent(randomness, msgContent, l2BlockNumber, l2BlockHash, txHash, txIndexInBlock, eventIndexInTx, contractAddress, eventSelector, new Set([
56
+ scope.toString()
57
+ ])), jobId);
58
+ }
59
+ }));
60
+ }
61
+ /**
62
+ * Returns the private events given search parameters.
63
+ * @param eventSelector - The event selector to filter by.
64
+ * @param filter - Filtering criteria:
65
+ * contractAddress: The address of the contract to get events from.
66
+ * fromBlock: The block number to search from (inclusive).
67
+ * toBlock: The block number to search upto (exclusive).
68
+ * scope: - The addresses that decrypted the logs.
69
+ * @returns - The event log contents, augmented with metadata about the transaction and block in which the event was
70
+ * included.
71
+ */ getPrivateEvents(eventSelector, filter) {
72
+ return this.#store.transactionAsync(async ()=>{
73
+ const key = this.#keyFor(filter.contractAddress, eventSelector);
74
+ const targetScopes = new Set(filter.scopes.map((s)=>s.toString()));
75
+ // Map from eventId to the promise that reads the event buffer.
76
+ // We start reads during iteration to keep DB requests pending and avoid IndexedDB auto-commit.
77
+ const eventReadPromises = new Map();
78
+ for await (const eventId of this.#eventsByContractAndEventSelector.getValuesAsync(key)){
79
+ eventReadPromises.set(eventId, this.#events.getAsync(eventId));
80
+ }
81
+ const eventIds = [
82
+ ...eventReadPromises.keys()
83
+ ];
84
+ const eventBuffers = await Promise.all(eventReadPromises.values());
85
+ const events = [];
86
+ for(let i = 0; i < eventIds.length; i++){
87
+ const eventId = eventIds[i];
88
+ const eventBuffer = eventBuffers[i];
89
+ // Defensive, if it happens, there's a problem with how we're handling #eventsByContractAndEventSelector
90
+ if (!eventBuffer) {
91
+ this.logger.verbose(`EventId ${eventId} does not exist in main index but it is referenced from contract event selector index`);
92
+ continue;
93
+ }
94
+ const storedPrivateEvent = StoredPrivateEvent.fromBuffer(eventBuffer);
95
+ // Filter by block range
96
+ if (storedPrivateEvent.l2BlockNumber < filter.fromBlock || storedPrivateEvent.l2BlockNumber >= filter.toBlock) {
97
+ continue;
98
+ }
99
+ // Filter by scopes
100
+ if (storedPrivateEvent.scopes.intersection(targetScopes).size === 0) {
101
+ continue;
102
+ }
103
+ // Filter by txHash
104
+ if (filter.txHash && !storedPrivateEvent.txHash.equals(filter.txHash)) {
105
+ continue;
106
+ }
107
+ events.push({
108
+ l2BlockNumber: storedPrivateEvent.l2BlockNumber,
109
+ txIndexInBlock: storedPrivateEvent.txIndexInBlock,
110
+ eventIndexInTx: storedPrivateEvent.eventIndexInTx,
111
+ event: {
112
+ packedEvent: storedPrivateEvent.msgContent,
113
+ l2BlockNumber: BlockNumber(storedPrivateEvent.l2BlockNumber),
114
+ txHash: storedPrivateEvent.txHash,
115
+ l2BlockHash: storedPrivateEvent.l2BlockHash,
116
+ eventSelector
117
+ }
118
+ });
119
+ }
120
+ // Sort by block number, then by tx index within block, then by event index within tx
121
+ events.sort((a, b)=>{
122
+ if (a.l2BlockNumber !== b.l2BlockNumber) {
123
+ return a.l2BlockNumber - b.l2BlockNumber;
124
+ }
125
+ if (a.txIndexInBlock !== b.txIndexInBlock) {
126
+ return a.txIndexInBlock - b.txIndexInBlock;
127
+ }
128
+ return a.eventIndexInTx - b.eventIndexInTx;
129
+ });
130
+ return events.map((ev)=>ev.event);
131
+ });
132
+ }
133
+ /** Returns the ids (siloed event commitments) of all events emitted at the given block number. Used by delete-on-prune. */ async eventIdsAtBlock(blockNumber) {
134
+ const eventIds = [];
135
+ for await (const eventId of this.#eventsByBlockNumber.getValuesAsync(blockNumber)){
136
+ eventIds.push(eventId);
137
+ }
138
+ return eventIds;
139
+ }
140
+ /**
141
+ * Rolls the store back to `toBlock`: deletes every event anchored to a block strictly above it, as if nothing past
142
+ * that block height ever happened. Used by the reorg (`chain-pruned`) path to truncate the orphaned tail. Scanning
143
+ * from `toBlock + 1` upward covers everything above the rollback target without needing to know the chain tip.
144
+ *
145
+ * Must be called inside a transaction owned by the caller (it issues no `transactionAsync` of its own, the reorg
146
+ * path wraps it together with the anchor update, and IndexedDB has no nested transactions). Throws if any job has
147
+ * uncommitted staged writes, since rolling back mid-job could later re-introduce events anchored to deleted blocks.
148
+ */ async rollback(toBlock) {
149
+ if (this.#eventsForJob.size > 0) {
150
+ throw new Error('PXE private event store rollback is not allowed while jobs are running');
151
+ }
152
+ // Snapshot before mutating so we never delete from the multimap we are iterating.
153
+ const orphaned = [];
154
+ for await (const [block, eventId] of this.#eventsByBlockNumber.entriesAsync({
155
+ start: toBlock + 1
156
+ })){
157
+ orphaned.push({
158
+ block,
159
+ eventId
160
+ });
161
+ }
162
+ let removedCount = 0;
163
+ for (const { block, eventId } of orphaned){
164
+ const buf = await this.#events.getAsync(eventId);
165
+ if (!buf) {
166
+ throw new Error(`Event not found for eventId ${eventId}`);
167
+ }
168
+ const stored = StoredPrivateEvent.fromBuffer(buf);
169
+ await this.#events.delete(eventId);
170
+ await this.#eventsByContractAndEventSelector.deleteValue(this.#keyFor(stored.contractAddress, stored.eventSelector), eventId);
171
+ await this.#eventsByBlockNumber.deleteValue(block, eventId);
172
+ removedCount++;
173
+ }
174
+ this.logger.verbose('rolled back private events', {
175
+ removedCount,
176
+ toBlock
177
+ });
178
+ }
179
+ /**
180
+ * Commits in memory job data to persistent storage.
181
+ *
182
+ * Called by JobCoordinator when a job completes successfully.
183
+ *
184
+ * Note: JobCoordinator wraps all commits in a single transaction, so we don't need our own transactionAsync here
185
+ * (and using one would throw on IndexedDB as it does not support nested txs).
186
+ *
187
+ * @param jobId - The jobId identifying which staged data to commit
188
+ */ async commit(jobId) {
189
+ // Note: Don't use #withJobLock here - commit runs within JobCoordinator's transactionAsync,
190
+ // and awaiting the lock would create a microtask boundary with no pending DB request,
191
+ // causing IndexedDB to auto-commit the transaction.
192
+ for (const [eventId, entry] of this.#getEventsForJob(jobId).entries()){
193
+ const lookupKey = this.#keyFor(entry.contractAddress, entry.eventSelector);
194
+ this.logger.verbose('storing private event log', {
195
+ eventId,
196
+ lookupKey
197
+ });
198
+ await Promise.all([
199
+ this.#events.set(eventId, entry.toBuffer()),
200
+ this.#eventsByContractAndEventSelector.set(lookupKey, eventId),
201
+ this.#eventsByBlockNumber.set(entry.l2BlockNumber, eventId)
202
+ ]);
203
+ }
204
+ this.#clearJobData(jobId);
205
+ }
206
+ /**
207
+ * Discards in memory job data without persisting it.
208
+ */ discardStaged(jobId) {
209
+ this.#clearJobData(jobId);
210
+ return Promise.resolve();
211
+ }
212
+ /**
213
+ * Reads an event from in-memory job data first, falling back to persistent storage if not found.
214
+ *
215
+ * Returns undefined if the event does not exist in the store overall.
216
+ */ async #readEvent(eventId, jobId) {
217
+ // Always issue DB read to keep IndexedDB transaction alive (they auto-commit when a new micro-task starts and there
218
+ // are no pending read requests). The staged value still takes precedence if it exists.
219
+ const buffer = await this.#events.getAsync(eventId);
220
+ const eventForJob = this.#getEventsForJob(jobId).get(eventId);
221
+ return eventForJob ?? (buffer ? StoredPrivateEvent.fromBuffer(buffer) : undefined);
222
+ }
223
+ /**
224
+ * Writes an event to in-memory job data.
225
+ *
226
+ * Writes are only allowed in a job context. Events modified during a job will only be persisted when `commit` is
227
+ * called.
228
+ */ #writeEvent(eventId, entry, jobId) {
229
+ this.#getEventsForJob(jobId).set(eventId, entry);
230
+ }
231
+ /**
232
+ * Get in-memory data only visible to @param jobId
233
+ */ #getEventsForJob(jobId) {
234
+ let eventsForJob = this.#eventsForJob.get(jobId);
235
+ if (eventsForJob === undefined) {
236
+ eventsForJob = new Map();
237
+ this.#eventsForJob.set(jobId, eventsForJob);
238
+ }
239
+ return eventsForJob;
240
+ }
241
+ /**
242
+ * Clear data structures supporting a specific job.
243
+ */ #clearJobData(jobId) {
244
+ this.#eventsForJob.delete(jobId);
245
+ this.#jobLocks.delete(jobId);
246
+ }
247
+ /**
248
+ * Ensures a function can only run once it acquires a unique per-job lock, and handles proper lock release after it
249
+ * runs.
250
+ *
251
+ * This primitive allows concurrent writes on this store without risking data corruption due to unsound write
252
+ * interleaving.
253
+ */ async #withJobLock(jobId, fn) {
254
+ let lock = this.#jobLocks.get(jobId);
255
+ if (!lock) {
256
+ lock = new Semaphore(1);
257
+ this.#jobLocks.set(jobId, lock);
258
+ }
259
+ await lock.acquire();
260
+ try {
261
+ return await fn();
262
+ } finally{
263
+ lock.release();
264
+ }
265
+ }
266
+ /**
267
+ * Returns a string key based on @param contractAddress and @param eventSelector.
268
+ *
269
+ * The returned key is meant to be used when interacting with index #eventsByContractAndEventSelector.
270
+ */ #keyFor(contractAddress, eventSelector) {
271
+ return `${contractAddress.toString()}_${eventSelector.toString()}`;
272
+ }
273
+ }
@@ -0,0 +1,23 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { EventSelector } from '@aztec/stdlib/abi';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { BlockHash } from '@aztec/stdlib/block';
5
+ import { TxHash } from '@aztec/stdlib/tx';
6
+ /** Serializable private event entry with scope tracking. */
7
+ export declare class StoredPrivateEvent {
8
+ readonly randomness: Fr;
9
+ readonly msgContent: Fr[];
10
+ readonly l2BlockNumber: number;
11
+ readonly l2BlockHash: BlockHash;
12
+ readonly txHash: TxHash;
13
+ readonly txIndexInBlock: number;
14
+ readonly eventIndexInTx: number;
15
+ readonly contractAddress: AztecAddress;
16
+ readonly eventSelector: EventSelector;
17
+ readonly scopes: Set<string>;
18
+ constructor(randomness: Fr, msgContent: Fr[], l2BlockNumber: number, l2BlockHash: BlockHash, txHash: TxHash, txIndexInBlock: number, eventIndexInTx: number, contractAddress: AztecAddress, eventSelector: EventSelector, scopes: Set<string>);
19
+ addScope(scope: string): void;
20
+ toBuffer(): Buffer;
21
+ static fromBuffer(buffer: Buffer): StoredPrivateEvent;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkX3ByaXZhdGVfZXZlbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL3ByaXZhdGVfZXZlbnRfc3RvcmUvc3RvcmVkX3ByaXZhdGVfZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyw0REFBNEQ7QUFDNUQscUJBQWEsa0JBQWtCO0lBRTNCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUN2QixRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUN6QixRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU07SUFDOUIsUUFBUSxDQUFDLFdBQVcsRUFBRSxTQUFTO0lBQy9CLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTTtJQUN2QixRQUFRLENBQUMsY0FBYyxFQUFFLE1BQU07SUFDL0IsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNO0lBQy9CLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBWTtJQUN0QyxRQUFRLENBQUMsYUFBYSxFQUFFLGFBQWE7SUFDckMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDO0lBVjlCLFlBQ1csVUFBVSxFQUFFLEVBQUUsRUFDZCxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQ2hCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLFdBQVcsRUFBRSxTQUFTLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsY0FBYyxFQUFFLE1BQU0sRUFDdEIsY0FBYyxFQUFFLE1BQU0sRUFDdEIsZUFBZSxFQUFFLFlBQVksRUFDN0IsYUFBYSxFQUFFLGFBQWEsRUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDMUI7SUFFSixRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFckI7SUFFRCxRQUFRLElBQUksTUFBTSxDQWdCakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsa0JBQWtCLENBMkJwRDtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stored_private_event.d.ts","sourceRoot":"","sources":["../../../src/storage/private_event_store/stored_private_event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,4DAA4D;AAC5D,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,UAAU,EAAE,EAAE;IACvB,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,eAAe,EAAE,YAAY;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IAV9B,YACW,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,EAAE,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,YAAY,EAC7B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B;IAEJ,QAAQ,CAAC,KAAK,EAAE,MAAM,QAErB;IAED,QAAQ,IAAI,MAAM,CAgBjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CA2BpD;CACF"}
@@ -0,0 +1,56 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { EventSelector } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { BlockHash } from '@aztec/stdlib/block';
6
+ import { TxHash } from '@aztec/stdlib/tx';
7
+ /** Serializable private event entry with scope tracking. */ export class StoredPrivateEvent {
8
+ randomness;
9
+ msgContent;
10
+ l2BlockNumber;
11
+ l2BlockHash;
12
+ txHash;
13
+ txIndexInBlock;
14
+ eventIndexInTx;
15
+ contractAddress;
16
+ eventSelector;
17
+ scopes;
18
+ constructor(randomness, msgContent, l2BlockNumber, l2BlockHash, txHash, txIndexInBlock, eventIndexInTx, contractAddress, eventSelector, scopes){
19
+ this.randomness = randomness;
20
+ this.msgContent = msgContent;
21
+ this.l2BlockNumber = l2BlockNumber;
22
+ this.l2BlockHash = l2BlockHash;
23
+ this.txHash = txHash;
24
+ this.txIndexInBlock = txIndexInBlock;
25
+ this.eventIndexInTx = eventIndexInTx;
26
+ this.contractAddress = contractAddress;
27
+ this.eventSelector = eventSelector;
28
+ this.scopes = scopes;
29
+ }
30
+ addScope(scope) {
31
+ this.scopes.add(scope);
32
+ }
33
+ toBuffer() {
34
+ const scopesArray = [
35
+ ...this.scopes
36
+ ];
37
+ return serializeToBuffer(this.randomness, this.msgContent.length, ...this.msgContent, this.l2BlockNumber, this.l2BlockHash, this.txHash, this.txIndexInBlock, this.eventIndexInTx, this.contractAddress, this.eventSelector.toBuffer(), scopesArray.length, ...scopesArray);
38
+ }
39
+ static fromBuffer(buffer) {
40
+ const reader = BufferReader.asReader(buffer);
41
+ const randomness = Fr.fromBuffer(reader);
42
+ const msgContentLength = reader.readNumber();
43
+ const msgContent = reader.readArray(msgContentLength, Fr);
44
+ const l2BlockNumber = reader.readNumber();
45
+ const l2BlockHash = BlockHash.fromBuffer(reader);
46
+ const txHash = TxHash.fromBuffer(reader);
47
+ const txIndexInBlock = reader.readNumber();
48
+ const eventIndexInTx = reader.readNumber();
49
+ const contractAddress = AztecAddress.fromBuffer(reader);
50
+ const eventSelector = EventSelector.fromBuffer(reader);
51
+ const scopes = reader.readVector({
52
+ fromBuffer: (r)=>r.readString()
53
+ });
54
+ return new StoredPrivateEvent(randomness, msgContent, l2BlockNumber, l2BlockHash, txHash, txIndexInBlock, eventIndexInTx, contractAddress, eventSelector, new Set(scopes));
55
+ }
56
+ }
@@ -0,0 +1,35 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ /** The triple that determine which physical store a logical store name maps to. */
4
+ export type StoreIdentity = {
5
+ /** Chain ID of the L1 the rollup is deployed to. */
6
+ l1ChainId: number;
7
+ /** Address of the rollup contract the store's data pertains to. */
8
+ rollupAddress: EthAddress;
9
+ /** Schema version of the data held in the store. */
10
+ schemaVersion: number;
11
+ };
12
+ /**
13
+ * Composes the store-name discriminator for a store identity. Two identities map to the same physical store iff
14
+ * their slugs are equal, so the format must stay stable: `<l1ChainId>-<rollupAddress>-v<schemaVersion>` — changing
15
+ * it orphans every existing store.
16
+ */
17
+ export declare function storeIdentitySlug({ l1ChainId, rollupAddress, schemaVersion }: StoreIdentity): string;
18
+ /** Composes the physical store name for a logical store name and identity. */
19
+ export declare function effectiveStoreName(name: string, identity: StoreIdentity): string;
20
+ /**
21
+ * Invariant check for stores whose physical name carries their identity: the recorded version can
22
+ * only disagree with the expected one if there is a store-naming bug.
23
+ */
24
+ export declare function assertStoreIdentity(store: AztecAsyncKVStore, storeName: string, identity: StoreIdentity): Promise<void>;
25
+ /**
26
+ * Thrown when a store's recorded identity does not match the identity it was opened under. Since the identity is
27
+ * part of the physical store name, this can only indicate a store-naming bug; the store is left untouched.
28
+ */
29
+ export declare class StoreIdentityMismatchError extends Error {
30
+ readonly storeName: string;
31
+ readonly expected: string;
32
+ readonly actual: string;
33
+ constructor(storeName: string, expected: string, actual: string);
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVfaWRlbnRpdHkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yYWdlL3N0b3JlX2lkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekQsbUZBQW1GO0FBQ25GLE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsb0RBQW9EO0lBQ3BELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsbUVBQW1FO0lBQ25FLGFBQWEsRUFBRSxVQUFVLENBQUM7SUFDMUIsb0RBQW9EO0lBQ3BELGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDdkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxFQUFFLGFBQWEsR0FBRyxNQUFNLENBRXBHO0FBRUQsOEVBQThFO0FBQzlFLHdCQUFnQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEdBQUcsTUFBTSxDQUVoRjtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLEVBQUUsYUFBYSxHQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLENBaUJmO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsMEJBQTJCLFNBQVEsS0FBSzthQUVqQyxTQUFTLEVBQUUsTUFBTTthQUNqQixRQUFRLEVBQUUsTUFBTTthQUNoQixNQUFNLEVBQUUsTUFBTTtJQUhoQyxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLEVBQUUsTUFBTSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQU8vQjtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store_identity.d.ts","sourceRoot":"","sources":["../../src/storage/store_identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG;IAC1B,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,aAAa,EAAE,UAAU,CAAC;IAC1B,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,aAAa,GAAG,MAAM,CAEpG;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAEhF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;aAEjC,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM;IAHhC,YACkB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAO/B;CACF"}