@aztec/pxe 0.0.1-commit.a072138 → 0.0.1-commit.a4600f49

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 (488) hide show
  1. package/dest/bin/check_oracle_version.js +45 -111
  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 +51 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +254 -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 +23 -13
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +90 -28
  14. package/dest/config/index.d.ts +9 -2
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +14 -15
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +31 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +68 -0
  21. package/dest/contract/contract_sync_service.d.ts +48 -0
  22. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  23. package/dest/contract/contract_sync_service.js +116 -0
  24. package/dest/contract/helpers.d.ts +7 -0
  25. package/dest/contract/helpers.d.ts.map +1 -0
  26. package/dest/contract/helpers.js +20 -0
  27. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  28. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  30. package/dest/contract_function_simulator/contract_function_simulator.d.ts +72 -34
  31. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/contract_function_simulator.js +264 -92
  33. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  34. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  36. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  37. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  39. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  40. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
  42. package/dest/contract_function_simulator/index.d.ts +26 -5
  43. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/index.js +12 -3
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  47. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  55. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  57. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -4
  58. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +9 -10
  60. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  61. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  62. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  63. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  64. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  66. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  67. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
  72. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  73. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  74. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  75. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -5
  76. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  77. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -12
  78. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  79. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  80. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  81. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  82. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  84. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  87. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  88. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  90. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  91. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +43 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  97. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  99. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  100. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  101. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  102. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  103. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  104. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  105. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  106. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/index.js +1 -1
  108. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -98
  109. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  111. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  112. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  113. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +74 -0
  114. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  115. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  117. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  118. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  120. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +136 -0
  121. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/oracle/oracle_registry.js +989 -0
  123. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +222 -0
  124. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  126. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  127. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  128. package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
  129. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -96
  130. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +258 -114
  132. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +192 -81
  133. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +574 -182
  135. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  136. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/pick_notes.js +20 -3
  138. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  139. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  140. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  141. package/dest/contract_logging.d.ts +27 -0
  142. package/dest/contract_logging.d.ts.map +1 -0
  143. package/dest/contract_logging.js +38 -0
  144. package/dest/debug/pxe_debug_utils.d.ts +14 -15
  145. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  146. package/dest/debug/pxe_debug_utils.js +16 -21
  147. package/dest/entrypoints/client/bundle/index.d.ts +3 -1
  148. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/index.js +2 -0
  150. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  151. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/utils.js +28 -7
  153. package/dest/entrypoints/client/lazy/index.d.ts +3 -1
  154. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/index.js +2 -0
  156. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  157. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/utils.js +28 -7
  159. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  160. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  161. package/dest/entrypoints/pxe_creation_options.js +3 -1
  162. package/dest/entrypoints/server/index.d.ts +7 -3
  163. package/dest/entrypoints/server/index.d.ts.map +1 -1
  164. package/dest/entrypoints/server/index.js +5 -2
  165. package/dest/entrypoints/server/utils.d.ts +4 -3
  166. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  167. package/dest/entrypoints/server/utils.js +28 -6
  168. package/dest/error_enriching.d.ts +5 -3
  169. package/dest/error_enriching.d.ts.map +1 -1
  170. package/dest/error_enriching.js +13 -11
  171. package/dest/events/event_service.d.ts +15 -6
  172. package/dest/events/event_service.d.ts.map +1 -1
  173. package/dest/events/event_service.js +44 -11
  174. package/dest/events/private_event_filter_validator.d.ts +3 -2
  175. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  176. package/dest/events/private_event_filter_validator.js +15 -0
  177. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  178. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  179. package/dest/hooks/authorize_utility_call.js +4 -0
  180. package/dest/hooks/execution_hooks.d.ts +62 -0
  181. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  182. package/dest/hooks/execution_hooks.js +9 -0
  183. package/dest/hooks/index.d.ts +5 -0
  184. package/dest/hooks/index.d.ts.map +1 -0
  185. package/dest/hooks/index.js +1 -0
  186. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  187. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  188. package/dest/hooks/resolve_custom_request.js +3 -0
  189. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +48 -0
  190. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  191. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  192. package/dest/logs/log_service.d.ts +13 -11
  193. package/dest/logs/log_service.d.ts.map +1 -1
  194. package/dest/logs/log_service.js +189 -91
  195. package/dest/messages/tx_resolver_service.d.ts +17 -0
  196. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  197. package/dest/messages/tx_resolver_service.js +55 -0
  198. package/dest/notes/note_service.d.ts +27 -5
  199. package/dest/notes/note_service.d.ts.map +1 -1
  200. package/dest/notes/note_service.js +83 -58
  201. package/dest/notes_filter.d.ts +24 -0
  202. package/dest/notes_filter.d.ts.map +1 -0
  203. package/dest/notes_filter.js +4 -0
  204. package/dest/oracle_version.d.ts +4 -3
  205. package/dest/oracle_version.d.ts.map +1 -1
  206. package/dest/oracle_version.js +20 -10
  207. package/dest/private_kernel/batch_planner.d.ts +47 -0
  208. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  209. package/dest/private_kernel/batch_planner.js +104 -0
  210. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  211. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  212. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  213. package/dest/private_kernel/hints/index.d.ts +1 -1
  214. package/dest/private_kernel/hints/index.js +1 -1
  215. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  216. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  217. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +135 -70
  218. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  219. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  220. package/dest/private_kernel/hints/test_utils.js +202 -0
  221. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  222. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  223. package/dest/private_kernel/private_kernel_execution_prover.js +208 -86
  224. package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
  225. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  226. package/dest/private_kernel/private_kernel_oracle.js +47 -29
  227. package/dest/pxe.d.ts +228 -66
  228. package/dest/pxe.d.ts.map +1 -1
  229. package/dest/pxe.js +407 -227
  230. package/dest/storage/allowed_scopes.d.ts +6 -0
  231. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  232. package/dest/storage/allowed_scopes.js +7 -0
  233. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  234. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  235. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  236. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  237. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  238. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  239. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  240. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  241. package/dest/storage/backwards_compatibility_tests/schema_tests.js +647 -0
  242. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  243. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  244. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  245. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  246. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  247. package/dest/storage/capsule_store/capsule_service.js +47 -0
  248. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  249. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  250. package/dest/storage/capsule_store/capsule_store.js +36 -28
  251. package/dest/storage/capsule_store/index.d.ts +2 -1
  252. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  253. package/dest/storage/capsule_store/index.js +1 -0
  254. package/dest/storage/contract_store/contract_store.d.ts +63 -33
  255. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  256. package/dest/storage/contract_store/contract_store.js +182 -134
  257. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  258. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  259. package/dest/storage/fact_store/fact_service.js +45 -0
  260. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  261. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  262. package/dest/storage/fact_store/fact_store.js +408 -0
  263. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  264. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  265. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  266. package/dest/storage/fact_store/index.d.ts +6 -0
  267. package/dest/storage/fact_store/index.d.ts.map +1 -0
  268. package/dest/storage/fact_store/index.js +4 -0
  269. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  270. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  271. package/dest/storage/fact_store/origin_state.js +53 -0
  272. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  273. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  274. package/dest/storage/fact_store/stored_fact.js +64 -0
  275. package/dest/storage/index.d.ts +3 -2
  276. package/dest/storage/index.d.ts.map +1 -1
  277. package/dest/storage/index.js +2 -1
  278. package/dest/storage/metadata.d.ts +2 -2
  279. package/dest/storage/metadata.d.ts.map +1 -1
  280. package/dest/storage/metadata.js +1 -1
  281. package/dest/storage/note_store/note_store.d.ts +44 -35
  282. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  283. package/dest/storage/note_store/note_store.js +202 -171
  284. package/dest/storage/note_store/stored_note.d.ts +3 -8
  285. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  286. package/dest/storage/note_store/stored_note.js +4 -20
  287. package/dest/storage/open_pxe_stores.d.ts +35 -0
  288. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  289. package/dest/storage/open_pxe_stores.js +29 -0
  290. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  291. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  292. package/dest/storage/private_event_store/private_event_store.js +43 -43
  293. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  294. package/dest/storage/tagging_store/index.d.ts +2 -2
  295. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  296. package/dest/storage/tagging_store/index.js +1 -1
  297. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  298. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  299. package/dest/storage/tagging_store/sender_tagging_store.d.ts +29 -28
  300. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  301. package/dest/storage/tagging_store/sender_tagging_store.js +141 -115
  302. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  303. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  304. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  305. package/dest/tagging/constants.d.ts +2 -2
  306. package/dest/tagging/constants.d.ts.map +1 -1
  307. package/dest/tagging/constants.js +5 -8
  308. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  309. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  310. package/dest/tagging/get_all_logs_by_tags.js +45 -32
  311. package/dest/tagging/index.d.ts +6 -5
  312. package/dest/tagging/index.d.ts.map +1 -1
  313. package/dest/tagging/index.js +4 -3
  314. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  315. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  316. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  317. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  318. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  319. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  320. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  321. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  322. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  323. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  324. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  325. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  326. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -9
  327. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  328. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +32 -14
  329. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +13 -7
  330. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  331. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +41 -10
  332. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +5 -7
  333. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  334. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +37 -25
  335. package/package.json +29 -17
  336. package/src/bin/check_oracle_version.ts +51 -133
  337. package/src/bin/index.ts +5 -0
  338. package/src/bin/oracle_version_helpers.ts +311 -0
  339. package/src/block_synchronizer/block_stream_source.ts +42 -0
  340. package/src/block_synchronizer/block_synchronizer.ts +106 -37
  341. package/src/config/index.ts +16 -9
  342. package/src/config/package_info.ts +1 -1
  343. package/src/contract/contract_class_service.ts +83 -0
  344. package/src/contract/contract_sync_service.ts +176 -0
  345. package/src/contract/helpers.ts +35 -0
  346. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  347. package/src/contract_function_simulator/contract_function_simulator.ts +465 -156
  348. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  349. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  350. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  351. package/src/contract_function_simulator/index.ts +69 -4
  352. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  353. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  354. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  355. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  356. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
  357. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  358. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  359. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  360. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  361. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  362. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
  363. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  364. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  365. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  366. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  367. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +58 -0
  368. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  369. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  370. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  371. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  372. package/src/contract_function_simulator/oracle/index.ts +1 -15
  373. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  374. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +120 -0
  375. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  376. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  377. package/src/contract_function_simulator/oracle/oracle_registry.ts +689 -0
  378. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +964 -0
  379. package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
  380. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +314 -214
  381. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +882 -258
  382. package/src/contract_function_simulator/pick_notes.ts +22 -3
  383. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  384. package/src/contract_logging.ts +52 -0
  385. package/src/debug/pxe_debug_utils.ts +47 -25
  386. package/src/entrypoints/client/bundle/index.ts +2 -0
  387. package/src/entrypoints/client/bundle/utils.ts +28 -8
  388. package/src/entrypoints/client/lazy/index.ts +2 -0
  389. package/src/entrypoints/client/lazy/utils.ts +28 -8
  390. package/src/entrypoints/pxe_creation_options.ts +21 -1
  391. package/src/entrypoints/server/index.ts +7 -2
  392. package/src/entrypoints/server/utils.ts +31 -14
  393. package/src/error_enriching.ts +27 -11
  394. package/src/events/event_service.ts +69 -21
  395. package/src/events/private_event_filter_validator.ts +21 -1
  396. package/src/hooks/authorize_utility_call.ts +44 -0
  397. package/src/hooks/execution_hooks.ts +68 -0
  398. package/src/hooks/index.ts +12 -0
  399. package/src/hooks/resolve_custom_request.ts +24 -0
  400. package/src/hooks/resolve_tagging_secret_strategy.ts +57 -0
  401. package/src/logs/log_service.ts +227 -156
  402. package/src/messages/tx_resolver_service.ts +69 -0
  403. package/src/notes/note_service.ts +120 -85
  404. package/src/notes_filter.ts +24 -0
  405. package/src/oracle_version.ts +20 -10
  406. package/src/private_kernel/batch_planner.ts +168 -0
  407. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  408. package/src/private_kernel/hints/index.ts +1 -1
  409. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +176 -119
  410. package/src/private_kernel/hints/test_utils.ts +318 -0
  411. package/src/private_kernel/private_kernel_execution_prover.ts +341 -120
  412. package/src/private_kernel/private_kernel_oracle.ts +65 -36
  413. package/src/pxe.ts +699 -298
  414. package/src/storage/allowed_scopes.ts +14 -0
  415. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  416. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  417. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  418. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  419. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  420. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  421. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  422. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  423. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  424. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  425. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  426. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  427. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  428. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  429. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  430. package/src/storage/backwards_compatibility_tests/schema_tests.ts +774 -0
  431. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  432. package/src/storage/capsule_store/capsule_service.ts +85 -0
  433. package/src/storage/capsule_store/capsule_store.ts +44 -26
  434. package/src/storage/capsule_store/index.ts +1 -0
  435. package/src/storage/contract_store/contract_store.ts +240 -169
  436. package/src/storage/fact_store/fact_service.ts +69 -0
  437. package/src/storage/fact_store/fact_store.ts +487 -0
  438. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  439. package/src/storage/fact_store/index.ts +14 -0
  440. package/src/storage/fact_store/origin_state.ts +75 -0
  441. package/src/storage/fact_store/stored_fact.ts +80 -0
  442. package/src/storage/index.ts +2 -1
  443. package/src/storage/metadata.ts +1 -1
  444. package/src/storage/note_store/note_store.ts +234 -191
  445. package/src/storage/note_store/stored_note.ts +5 -27
  446. package/src/storage/open_pxe_stores.ts +52 -0
  447. package/src/storage/private_event_store/private_event_store.ts +52 -54
  448. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  449. package/src/storage/tagging_store/index.ts +1 -1
  450. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
  451. package/src/storage/tagging_store/sender_tagging_store.ts +185 -138
  452. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  453. package/src/tagging/constants.ts +6 -8
  454. package/src/tagging/get_all_logs_by_tags.ts +87 -35
  455. package/src/tagging/index.ts +5 -4
  456. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  457. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  458. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
  459. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  460. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +52 -17
  461. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -14
  462. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +27 -27
  463. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
  464. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  465. package/dest/contract_function_simulator/oracle/oracle.js +0 -356
  466. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  467. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  468. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  469. package/dest/contract_sync/index.d.ts +0 -23
  470. package/dest/contract_sync/index.d.ts.map +0 -1
  471. package/dest/contract_sync/index.js +0 -54
  472. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  473. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  474. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  475. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  476. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  477. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
  478. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  479. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  480. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
  481. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  482. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
  483. package/src/contract_function_simulator/oracle/oracle.ts +0 -630
  484. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  485. package/src/contract_sync/index.ts +0 -98
  486. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  487. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
  488. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
@@ -1,48 +1,26 @@
1
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
1
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
2
  import { NoteDao } from '@aztec/stdlib/note';
4
3
 
4
+ /** A note as stored by the PXE: the note DAO plus the scopes that observed it. Append-only — never mutated. */
5
5
  export class StoredNote {
6
6
  constructor(
7
7
  readonly noteDao: NoteDao,
8
8
  readonly scopes: Set<string>,
9
- private _nullifiedAt: BlockNumber | undefined = undefined,
10
9
  ) {}
11
10
 
12
- static fromBuffer(buffer: Buffer) {
11
+ static fromBuffer(buffer: Buffer): StoredNote {
13
12
  const reader = BufferReader.asReader(buffer);
14
-
15
13
  const noteDao = NoteDao.fromBuffer(reader);
16
14
  const scopes = reader.readVector({ fromBuffer: (r: BufferReader) => r.readString() });
17
-
18
- const nullifiedAtRaw = reader.readNumber();
19
- const nullifiedAt = nullifiedAtRaw === 0 ? undefined : (nullifiedAtRaw as BlockNumber);
20
-
21
- return new StoredNote(noteDao, new Set(scopes), nullifiedAt);
15
+ return new StoredNote(noteDao, new Set(scopes));
22
16
  }
23
17
 
24
18
  toBuffer(): Buffer {
25
19
  const scopesArray = [...this.scopes];
26
- return serializeToBuffer(this.noteDao, scopesArray.length, ...scopesArray, this._nullifiedAt ?? 0);
20
+ return serializeToBuffer(this.noteDao, scopesArray.length, ...scopesArray);
27
21
  }
28
22
 
29
- addScope(scope: string) {
23
+ addScope(scope: string): void {
30
24
  this.scopes.add(scope);
31
25
  }
32
-
33
- markAsNullified(blockNumber: BlockNumber) {
34
- this._nullifiedAt = blockNumber;
35
- }
36
-
37
- markAsActive() {
38
- this._nullifiedAt = undefined;
39
- }
40
-
41
- isNullified() {
42
- return this._nullifiedAt !== undefined;
43
- }
44
-
45
- get nullifiedAt() {
46
- return this._nullifiedAt;
47
- }
48
26
  }
@@ -0,0 +1,52 @@
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
+
6
+ import { AddressStore } from './address_store/address_store.js';
7
+ import { AnchorBlockStore } from './anchor_block_store/anchor_block_store.js';
8
+ import { CapsuleStore } from './capsule_store/capsule_store.js';
9
+ import { ContractStore } from './contract_store/contract_store.js';
10
+ import { FactStore } from './fact_store/fact_store.js';
11
+ import { NoteStore } from './note_store/note_store.js';
12
+ import { PrivateEventStore } from './private_event_store/private_event_store.js';
13
+ import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from './tagging_store/index.js';
14
+
15
+ /**
16
+ * The set of sub-stores opened against a single `AztecAsyncKVStore` to back PXE state.
17
+ */
18
+ export type PxeStores = {
19
+ addressStore: AddressStore;
20
+ privateEventStore: PrivateEventStore;
21
+ contractStore: ContractStore;
22
+ noteStore: NoteStore;
23
+ anchorBlockStore: AnchorBlockStore;
24
+ senderTaggingStore: SenderTaggingStore;
25
+ taggingSecretSourcesStore: TaggingSecretSourcesStore;
26
+ recipientTaggingStore: RecipientTaggingStore;
27
+ capsuleStore: CapsuleStore;
28
+ keyStore: KeyStore;
29
+ l2TipsStore: L2TipsKVStore;
30
+ factStore: FactStore;
31
+ };
32
+
33
+ /**
34
+ * Opens every PXE sub-store against the given backing store. The `initialBlockHash` seeds the
35
+ * `L2TipsKVStore` so it agrees with the node's archiver on the dynamic genesis header hash.
36
+ */
37
+ export function openPxeStores(store: AztecAsyncKVStore, initialBlockHash: BlockHash): PxeStores {
38
+ return {
39
+ addressStore: new AddressStore(store),
40
+ privateEventStore: new PrivateEventStore(store),
41
+ contractStore: new ContractStore(store),
42
+ noteStore: new NoteStore(store),
43
+ anchorBlockStore: new AnchorBlockStore(store),
44
+ senderTaggingStore: new SenderTaggingStore(store),
45
+ taggingSecretSourcesStore: new TaggingSecretSourcesStore(store),
46
+ recipientTaggingStore: new RecipientTaggingStore(store),
47
+ capsuleStore: new CapsuleStore(store),
48
+ keyStore: new KeyStore(store),
49
+ l2TipsStore: new L2TipsKVStore(store, 'pxe', initialBlockHash),
50
+ factStore: new FactStore(store),
51
+ };
52
+ }
@@ -28,25 +28,35 @@ type PrivateEventMetadata = InTx & {
28
28
  eventIndexInTx: number;
29
29
  };
30
30
 
31
+ /// Alias types for kv map readability
32
+ type EventId = string; // the siloedEventCommitment, stringified
33
+ type JobId = string;
34
+ type ContractAndSelectorKey = string;
35
+ type BlockNum = number;
36
+ type StoredEventBuffer = Buffer;
37
+
31
38
  /**
32
39
  * Stores decrypted private event logs.
40
+ *
41
+ * Append-only: events are never deleted during normal operation. Reorgs are handled by delete-on-prune, which removes
42
+ * every event originating on a reorg'd block.
33
43
  */
34
44
  export class PrivateEventStore implements StagedStore {
35
45
  readonly storeName: string = 'private_event';
36
46
 
37
47
  #store: AztecAsyncKVStore;
38
48
  /** Actual private event log entries, keyed by siloedEventCommitment */
39
- #events: AztecAsyncMap<string, Buffer>;
49
+ #events: AztecAsyncMap<EventId, StoredEventBuffer>;
40
50
  /** Multi-map from contractAddress_eventSelector to siloedEventCommitment for efficient lookup */
41
- #eventsByContractAndEventSelector: AztecAsyncMultiMap<string, string>;
42
- /** Multi-map from block number to siloedEventCommitment for rollback support */
43
- #eventsByBlockNumber: AztecAsyncMultiMap<number, string>;
51
+ #eventsByContractAndEventSelector: AztecAsyncMultiMap<ContractAndSelectorKey, EventId>;
52
+ /** Multi-map from block number to siloedEventCommitment, for delete-on-prune. */
53
+ #eventsByBlockNumber: AztecAsyncMultiMap<BlockNum, EventId>;
44
54
 
45
55
  /** jobId => eventId (event siloed nullifier) => StoredPrivateEvent */
46
- #eventsForJob: Map<string, Map<string, StoredPrivateEvent>>;
56
+ #eventsForJob: Map<JobId, Map<EventId, StoredPrivateEvent>>;
47
57
 
48
58
  /** Per-job locks to prevent concurrent writes from affecting each other. */
49
- #jobLocks: Map<string, Semaphore>;
59
+ #jobLocks: Map<JobId, Semaphore>;
50
60
 
51
61
  logger = createLogger('private_event_store');
52
62
 
@@ -216,61 +226,49 @@ export class PrivateEventStore implements StagedStore {
216
226
  });
217
227
  }
218
228
 
229
+ /** Returns the ids (siloed event commitments) of all events emitted at the given block number. Used by delete-on-prune. */
230
+ public async eventIdsAtBlock(blockNumber: number): Promise<string[]> {
231
+ const eventIds: string[] = [];
232
+ for await (const eventId of this.#eventsByBlockNumber.getValuesAsync(blockNumber)) {
233
+ eventIds.push(eventId);
234
+ }
235
+ return eventIds;
236
+ }
237
+
219
238
  /**
220
- * Rolls back private events that were stored after a given `blockNumber` and up to `synchedBlockNumber` (the block
221
- * number up to which PXE managed to sync before the reorg happened).
222
- *
223
- * We don't need staged writes for a rollback since it's handled in the context of a blockchain rewind.
239
+ * Rolls the store back to `toBlock`: deletes every event anchored to a block strictly above it, as if nothing past
240
+ * that block height ever happened. Used by the reorg (`chain-pruned`) path to truncate the orphaned tail. Scanning
241
+ * from `toBlock + 1` upward covers everything above the rollback target without needing to know the chain tip.
224
242
  *
225
- * Rollbacks are handled by the BlockSynchronizer, which runs a DB transaction across stores when it detects a
226
- * re-org, including setting the new anchor block after rolling back.
227
- *
228
- * So if anything fails in the process of rolling back any store, all DB changes occurring during rollbacks will be
229
- * lost and the anchor block will not be updated; which means this code will eventually need to run again
230
- * (i.e.: PXE will detect it's basing it work on an invalid block hash, then which re-triggers rewind).
231
- *
232
- * For further details, refer to `BlockSynchronizer#handleBlockStreamEvent`.
233
- *
234
- * IMPORTANT: This method must be called within a transaction to ensure atomicity.
243
+ * Must be called inside a transaction owned by the caller (it issues no `transactionAsync` of its own, the reorg
244
+ * path wraps it together with the anchor update, and IndexedDB has no nested transactions). Throws if any job has
245
+ * uncommitted staged writes, since rolling back mid-job could later re-introduce events anchored to deleted blocks.
235
246
  */
236
- public async rollback(blockNumber: number, synchedBlockNumber: number): Promise<void> {
237
- // First pass: collect all event IDs for all blocks, starting reads during iteration to keep tx alive.
238
- const eventsByBlock: Map<number, { eventId: string; eventReadPromise: Promise<Buffer | undefined> }[]> = new Map();
239
-
240
- for (let block = blockNumber + 1; block <= synchedBlockNumber; block++) {
241
- const blockEvents: { eventId: string; eventReadPromise: Promise<Buffer | undefined> }[] = [];
242
- for await (const eventId of this.#eventsByBlockNumber.getValuesAsync(block)) {
243
- // Start read immediately during iteration to keep IndexedDB transaction alive
244
- blockEvents.push({ eventId, eventReadPromise: this.#events.getAsync(eventId) });
245
- }
246
- if (blockEvents.length > 0) {
247
- eventsByBlock.set(block, blockEvents);
248
- }
247
+ public async rollback(toBlock: number): Promise<void> {
248
+ if (this.#eventsForJob.size > 0) {
249
+ throw new Error('PXE private event store rollback is not allowed while jobs are running');
250
+ }
251
+ // Snapshot before mutating so we never delete from the multimap we are iterating.
252
+ const orphaned: { block: number; eventId: string }[] = [];
253
+ for await (const [block, eventId] of this.#eventsByBlockNumber.entriesAsync({ start: toBlock + 1 })) {
254
+ orphaned.push({ block, eventId });
249
255
  }
250
-
251
- // Second pass: await reads and perform deletes
252
256
  let removedCount = 0;
253
- for (const [block, events] of eventsByBlock) {
254
- await this.#eventsByBlockNumber.delete(block);
255
-
256
- for (const { eventId, eventReadPromise } of events) {
257
- const buffer = await eventReadPromise;
258
- if (!buffer) {
259
- throw new Error(`Event not found for eventId ${eventId}`);
260
- }
261
-
262
- const entry = StoredPrivateEvent.fromBuffer(buffer);
263
- await this.#events.delete(eventId);
264
- await this.#eventsByContractAndEventSelector.deleteValue(
265
- this.#keyFor(entry.contractAddress, entry.eventSelector),
266
- eventId,
267
- );
268
-
269
- removedCount++;
257
+ for (const { block, eventId } of orphaned) {
258
+ const buf = await this.#events.getAsync(eventId);
259
+ if (!buf) {
260
+ throw new Error(`Event not found for eventId ${eventId}`);
270
261
  }
262
+ const stored = StoredPrivateEvent.fromBuffer(buf);
263
+ await this.#events.delete(eventId);
264
+ await this.#eventsByContractAndEventSelector.deleteValue(
265
+ this.#keyFor(stored.contractAddress, stored.eventSelector),
266
+ eventId,
267
+ );
268
+ await this.#eventsByBlockNumber.deleteValue(block, eventId);
269
+ removedCount++;
271
270
  }
272
-
273
- this.logger.verbose(`Rolled back ${removedCount} private events after block ${blockNumber}`);
271
+ this.logger.verbose('rolled back private events', { removedCount, toBlock });
274
272
  }
275
273
 
276
274
  /**
@@ -49,7 +49,7 @@ export class StoredPrivateEvent {
49
49
  const msgContentLength = reader.readNumber();
50
50
  const msgContent = reader.readArray(msgContentLength, Fr);
51
51
  const l2BlockNumber = reader.readNumber();
52
- const l2BlockHash = new BlockHash(Fr.fromBuffer(reader));
52
+ const l2BlockHash = BlockHash.fromBuffer(reader);
53
53
  const txHash = TxHash.fromBuffer(reader);
54
54
  const txIndexInBlock = reader.readNumber();
55
55
  const eventIndexInTx = reader.readNumber();
@@ -1,3 +1,3 @@
1
1
  export { SenderTaggingStore } from './sender_tagging_store.js';
2
- export { SenderAddressBookStore } from './sender_address_book_store.js';
2
+ export { TaggingSecretSourcesStore } from './tagging_secret_sources_store.js';
3
3
  export { RecipientTaggingStore } from './recipient_tagging_store.js';
@@ -1,5 +1,5 @@
1
1
  import type { AztecAsyncKVStore, AztecAsyncMap } from '@aztec/kv-store';
2
- import type { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
2
+ import type { AppTaggingSecret } from '@aztec/stdlib/logs';
3
3
 
4
4
  import type { StagedStore } from '../../job_coordinator/job_coordinator.js';
5
5
 
@@ -106,11 +106,11 @@ export class RecipientTaggingStore implements StagedStore {
106
106
  return Promise.resolve();
107
107
  }
108
108
 
109
- getHighestAgedIndex(secret: DirectionalAppTaggingSecret, jobId: string): Promise<number | undefined> {
109
+ getHighestAgedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined> {
110
110
  return this.#store.transactionAsync(() => this.#readHighestAgedIndex(jobId, secret.toString()));
111
111
  }
112
112
 
113
- updateHighestAgedIndex(secret: DirectionalAppTaggingSecret, index: number, jobId: string): Promise<void> {
113
+ updateHighestAgedIndex(secret: AppTaggingSecret, index: number, jobId: string): Promise<void> {
114
114
  return this.#store.transactionAsync(async () => {
115
115
  const currentIndex = await this.#readHighestAgedIndex(jobId, secret.toString());
116
116
  if (currentIndex !== undefined && index <= currentIndex) {
@@ -121,11 +121,11 @@ export class RecipientTaggingStore implements StagedStore {
121
121
  });
122
122
  }
123
123
 
124
- getHighestFinalizedIndex(secret: DirectionalAppTaggingSecret, jobId: string): Promise<number | undefined> {
124
+ getHighestFinalizedIndex(secret: AppTaggingSecret, jobId: string): Promise<number | undefined> {
125
125
  return this.#store.transactionAsync(() => this.#readHighestFinalizedIndex(jobId, secret.toString()));
126
126
  }
127
127
 
128
- updateHighestFinalizedIndex(secret: DirectionalAppTaggingSecret, index: number, jobId: string): Promise<void> {
128
+ updateHighestFinalizedIndex(secret: AppTaggingSecret, index: number, jobId: string): Promise<void> {
129
129
  return this.#store.transactionAsync(async () => {
130
130
  const currentIndex = await this.#readHighestFinalizedIndex(jobId, secret.toString());
131
131
  if (currentIndex !== undefined && index < currentIndex) {