@aztec/pxe 0.0.1-commit.b9865e97 → 0.0.1-commit.be03c316

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 (397) hide show
  1. package/dest/bin/check_oracle_version.js +8 -23
  2. package/dest/bin/index.d.ts +2 -2
  3. package/dest/bin/index.d.ts.map +1 -1
  4. package/dest/bin/index.js +1 -1
  5. package/dest/bin/oracle_version_helpers.d.ts +16 -8
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
  7. package/dest/bin/oracle_version_helpers.js +22 -69
  8. package/dest/block_synchronizer/block_stream_source.d.ts +5 -5
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -1
  10. package/dest/block_synchronizer/block_stream_source.js +4 -29
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +18 -14
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +54 -18
  14. package/dest/config/index.d.ts +2 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +1 -0
  17. package/dest/contract/contract_class_service.d.ts +31 -0
  18. package/dest/contract/contract_class_service.d.ts.map +1 -0
  19. package/dest/contract/contract_class_service.js +68 -0
  20. package/dest/contract/contract_sync_service.d.ts +48 -0
  21. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  22. package/dest/{contract_sync → contract}/contract_sync_service.js +26 -45
  23. package/dest/contract/helpers.d.ts +7 -0
  24. package/dest/contract/helpers.d.ts.map +1 -0
  25. package/dest/contract/helpers.js +20 -0
  26. package/dest/contract/skip_sync_contracts.d.ts +11 -0
  27. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  28. package/dest/contract/skip_sync_contracts.js +18 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  30. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  31. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  32. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  33. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  34. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  35. package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -18
  36. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/contract_function_simulator.js +63 -32
  38. package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -9
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  41. package/dest/contract_function_simulator/index.d.ts +19 -10
  42. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/index.js +6 -9
  44. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +8 -27
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +8 -23
  47. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  50. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  53. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +1 -1
  54. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  55. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  57. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  58. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  59. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  60. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +11 -12
  61. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +6 -49
  63. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
  64. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  65. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -60
  66. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +2 -2
  67. package/dest/contract_function_simulator/noir-structs/option.d.ts +9 -11
  68. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/noir-structs/option.js +18 -13
  70. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  71. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  73. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  74. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  75. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  76. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +6 -9
  77. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -1
  78. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -24
  79. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  80. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  81. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  82. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  83. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  84. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  85. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  86. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  87. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  88. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  89. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  90. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  91. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  92. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  93. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  94. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  95. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  96. package/dest/contract_function_simulator/oracle/index.js +1 -1
  97. package/dest/contract_function_simulator/oracle/interfaces.d.ts +2 -3
  98. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  99. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  100. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  101. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  102. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  103. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  104. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  105. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +43 -31
  106. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/oracle_registry.js +259 -29
  108. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +180 -45
  109. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1024 -341
  111. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  112. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  113. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  114. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +21 -8
  115. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +132 -22
  117. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +77 -34
  118. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +247 -106
  120. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  121. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  123. package/dest/debug/pxe_debug_utils.d.ts +2 -2
  124. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  125. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  126. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  127. package/dest/entrypoints/client/bundle/index.js +1 -0
  128. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  129. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  130. package/dest/entrypoints/client/bundle/utils.js +17 -6
  131. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  132. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  133. package/dest/entrypoints/client/lazy/index.js +1 -0
  134. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  135. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  136. package/dest/entrypoints/client/lazy/utils.js +17 -6
  137. package/dest/entrypoints/client/store.d.ts +14 -0
  138. package/dest/entrypoints/client/store.d.ts.map +1 -0
  139. package/dest/entrypoints/client/store.js +42 -0
  140. package/dest/entrypoints/pxe_creation_options.d.ts +9 -3
  141. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  142. package/dest/entrypoints/server/index.d.ts +6 -3
  143. package/dest/entrypoints/server/index.d.ts.map +1 -1
  144. package/dest/entrypoints/server/index.js +4 -2
  145. package/dest/entrypoints/server/store.d.ts +18 -0
  146. package/dest/entrypoints/server/store.d.ts.map +1 -0
  147. package/dest/entrypoints/server/store.js +28 -0
  148. package/dest/entrypoints/server/utils.d.ts +1 -1
  149. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  150. package/dest/entrypoints/server/utils.js +16 -4
  151. package/dest/error_enriching.d.ts +5 -3
  152. package/dest/error_enriching.d.ts.map +1 -1
  153. package/dest/error_enriching.js +13 -11
  154. package/dest/hooks/execution_hooks.d.ts +31 -11
  155. package/dest/hooks/execution_hooks.d.ts.map +1 -1
  156. package/dest/hooks/execution_hooks.js +3 -3
  157. package/dest/hooks/index.d.ts +4 -3
  158. package/dest/hooks/index.d.ts.map +1 -1
  159. package/dest/hooks/index.js +1 -0
  160. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  161. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  162. package/dest/hooks/resolve_custom_request.js +3 -0
  163. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  164. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  165. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  166. package/dest/logs/log_service.d.ts +8 -6
  167. package/dest/logs/log_service.d.ts.map +1 -1
  168. package/dest/logs/log_service.js +88 -28
  169. package/dest/messages/tx_resolver_service.d.ts +17 -0
  170. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  171. package/dest/messages/{message_context_service.js → tx_resolver_service.js} +13 -8
  172. package/dest/notes/note_service.d.ts +1 -1
  173. package/dest/notes/note_service.js +1 -1
  174. package/dest/oracle_version.d.ts +3 -3
  175. package/dest/oracle_version.js +5 -5
  176. package/dest/private_kernel/batch_planner.d.ts +1 -1
  177. package/dest/private_kernel/batch_planner.d.ts.map +1 -1
  178. package/dest/private_kernel/batch_planner.js +1 -1
  179. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  180. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  181. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +6 -2
  182. package/dest/private_kernel/hints/test_utils.js +1 -1
  183. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  184. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  185. package/dest/private_kernel/private_kernel_execution_prover.js +61 -40
  186. package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
  187. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  188. package/dest/private_kernel/private_kernel_oracle.js +17 -5
  189. package/dest/pxe.d.ts +114 -48
  190. package/dest/pxe.d.ts.map +1 -1
  191. package/dest/pxe.js +225 -139
  192. package/dest/storage/allowed_scopes.d.ts +6 -0
  193. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  194. package/dest/storage/allowed_scopes.js +7 -0
  195. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  196. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  197. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -6
  198. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
  199. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
  200. package/dest/storage/backwards_compatibility_tests/schema_tests.js +129 -49
  201. package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
  202. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  203. package/dest/storage/capsule_store/capsule_service.js +6 -9
  204. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  205. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  206. package/dest/storage/contract_store/contract_store.js +64 -75
  207. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  208. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  209. package/dest/storage/fact_store/fact_service.js +45 -0
  210. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  211. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  212. package/dest/storage/fact_store/fact_store.js +408 -0
  213. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  214. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  215. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  216. package/dest/storage/fact_store/index.d.ts +6 -0
  217. package/dest/storage/fact_store/index.d.ts.map +1 -0
  218. package/dest/storage/fact_store/index.js +4 -0
  219. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  220. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  221. package/dest/storage/fact_store/origin_state.js +60 -0
  222. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  223. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  224. package/dest/storage/fact_store/stored_fact.js +64 -0
  225. package/dest/storage/index.d.ts +3 -2
  226. package/dest/storage/index.d.ts.map +1 -1
  227. package/dest/storage/index.js +2 -1
  228. package/dest/storage/metadata.d.ts +2 -2
  229. package/dest/storage/metadata.d.ts.map +1 -1
  230. package/dest/storage/metadata.js +1 -1
  231. package/dest/storage/note_store/note_store.d.ts +42 -33
  232. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  233. package/dest/storage/note_store/note_store.js +197 -168
  234. package/dest/storage/note_store/stored_note.d.ts +3 -8
  235. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  236. package/dest/storage/note_store/stored_note.js +4 -20
  237. package/dest/storage/open_pxe_stores.d.ts +5 -3
  238. package/dest/storage/open_pxe_stores.d.ts.map +1 -1
  239. package/dest/storage/open_pxe_stores.js +5 -3
  240. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  241. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  242. package/dest/storage/private_event_store/private_event_store.js +40 -43
  243. package/dest/storage/store_identity.d.ts +35 -0
  244. package/dest/storage/store_identity.d.ts.map +1 -0
  245. package/dest/storage/store_identity.js +44 -0
  246. package/dest/storage/tagging_store/index.d.ts +2 -2
  247. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  248. package/dest/storage/tagging_store/index.js +1 -1
  249. package/dest/storage/tagging_store/sender_tagging_store.d.ts +19 -3
  250. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  251. package/dest/storage/tagging_store/sender_tagging_store.js +48 -11
  252. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  253. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  254. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  255. package/dest/tagging/constants.d.ts +3 -2
  256. package/dest/tagging/constants.d.ts.map +1 -1
  257. package/dest/tagging/constants.js +28 -10
  258. package/dest/tagging/index.d.ts +2 -2
  259. package/dest/tagging/index.d.ts.map +1 -1
  260. package/dest/tagging/index.js +1 -1
  261. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +26 -8
  262. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
  263. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +95 -20
  264. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +1 -1
  265. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +1 -1
  266. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  267. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +6 -2
  268. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  269. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  270. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  271. package/package.json +17 -17
  272. package/src/bin/check_oracle_version.ts +8 -24
  273. package/src/bin/index.ts +1 -1
  274. package/src/bin/oracle_version_helpers.ts +23 -90
  275. package/src/block_synchronizer/block_stream_source.ts +6 -45
  276. package/src/block_synchronizer/block_synchronizer.ts +70 -29
  277. package/src/config/index.ts +1 -0
  278. package/src/contract/contract_class_service.ts +83 -0
  279. package/src/{contract_sync → contract}/contract_sync_service.ts +37 -50
  280. package/src/contract/helpers.ts +35 -0
  281. package/src/contract/skip_sync_contracts.ts +23 -0
  282. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  283. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  284. package/src/contract_function_simulator/contract_function_simulator.ts +96 -42
  285. package/src/contract_function_simulator/execution_note_cache.ts +7 -28
  286. package/src/contract_function_simulator/index.ts +48 -13
  287. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +12 -24
  288. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  289. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  290. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  291. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  292. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  293. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +20 -46
  294. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
  295. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
  296. package/src/contract_function_simulator/noir-structs/option.ts +17 -11
  297. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  298. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  299. package/src/contract_function_simulator/noir-structs/provided_secret.ts +4 -26
  300. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  301. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  302. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  303. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  304. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  305. package/src/contract_function_simulator/oracle/index.ts +1 -15
  306. package/src/contract_function_simulator/oracle/interfaces.ts +1 -2
  307. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  308. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  309. package/src/contract_function_simulator/oracle/oracle_registry.ts +172 -47
  310. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +814 -315
  311. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  312. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +167 -30
  313. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +399 -135
  314. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  315. package/src/debug/pxe_debug_utils.ts +1 -1
  316. package/src/entrypoints/client/bundle/index.ts +1 -0
  317. package/src/entrypoints/client/bundle/utils.ts +24 -5
  318. package/src/entrypoints/client/lazy/index.ts +1 -0
  319. package/src/entrypoints/client/lazy/utils.ts +24 -5
  320. package/src/entrypoints/client/store.ts +54 -0
  321. package/src/entrypoints/pxe_creation_options.ts +8 -2
  322. package/src/entrypoints/server/index.ts +6 -2
  323. package/src/entrypoints/server/store.ts +47 -0
  324. package/src/entrypoints/server/utils.ts +31 -9
  325. package/src/error_enriching.ts +27 -11
  326. package/src/hooks/execution_hooks.ts +32 -12
  327. package/src/hooks/index.ts +8 -2
  328. package/src/hooks/resolve_custom_request.ts +24 -0
  329. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  330. package/src/logs/log_service.ts +100 -37
  331. package/src/messages/{message_context_service.ts → tx_resolver_service.ts} +16 -9
  332. package/src/notes/note_service.ts +1 -1
  333. package/src/oracle_version.ts +5 -5
  334. package/src/private_kernel/batch_planner.ts +0 -1
  335. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
  336. package/src/private_kernel/hints/test_utils.ts +1 -1
  337. package/src/private_kernel/private_kernel_execution_prover.ts +112 -56
  338. package/src/private_kernel/private_kernel_oracle.ts +23 -4
  339. package/src/pxe.ts +328 -159
  340. package/src/storage/allowed_scopes.ts +14 -0
  341. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
  342. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
  343. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
  344. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  345. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
  346. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +9 -15
  347. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +24 -4
  348. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
  349. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
  350. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  351. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +29 -9
  352. package/src/storage/backwards_compatibility_tests/schema_tests.ts +141 -50
  353. package/src/storage/capsule_store/capsule_service.ts +8 -13
  354. package/src/storage/contract_store/contract_store.ts +86 -93
  355. package/src/storage/fact_store/fact_service.ts +69 -0
  356. package/src/storage/fact_store/fact_store.ts +487 -0
  357. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  358. package/src/storage/fact_store/index.ts +15 -0
  359. package/src/storage/fact_store/origin_state.ts +84 -0
  360. package/src/storage/fact_store/stored_fact.ts +80 -0
  361. package/src/storage/index.ts +2 -1
  362. package/src/storage/metadata.ts +1 -1
  363. package/src/storage/note_store/note_store.ts +226 -187
  364. package/src/storage/note_store/stored_note.ts +5 -27
  365. package/src/storage/open_pxe_stores.ts +6 -3
  366. package/src/storage/private_event_store/private_event_store.ts +49 -55
  367. package/src/storage/store_identity.ts +72 -0
  368. package/src/storage/tagging_store/index.ts +1 -1
  369. package/src/storage/tagging_store/sender_tagging_store.ts +62 -15
  370. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  371. package/src/tagging/constants.ts +30 -10
  372. package/src/tagging/index.ts +1 -1
  373. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +148 -30
  374. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +1 -1
  375. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +6 -2
  376. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  377. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -89
  378. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  379. package/dest/contract_function_simulator/oracle/oracle.js +0 -552
  380. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  381. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  382. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -51
  383. package/dest/contract_sync/contract_sync_service.d.ts +0 -42
  384. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  385. package/dest/contract_sync/helpers.d.ts +0 -27
  386. package/dest/contract_sync/helpers.d.ts.map +0 -1
  387. package/dest/contract_sync/helpers.js +0 -53
  388. package/dest/messages/message_context_service.d.ts +0 -17
  389. package/dest/messages/message_context_service.d.ts.map +0 -1
  390. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  391. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  392. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  393. package/src/contract_function_simulator/oracle/oracle.ts +0 -711
  394. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
  395. package/src/contract_sync/helpers.ts +0 -86
  396. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +0 -16
  397. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
@@ -6,7 +6,6 @@ import type { MembershipWitness } from '@aztec/foundation/trees';
6
6
  import type { AztecAsyncKVStore, AztecAsyncMap } from '@aztec/kv-store';
7
7
  import {
8
8
  type ContractArtifact,
9
- type FunctionAbi,
10
9
  type FunctionArtifactWithContractName,
11
10
  FunctionCall,
12
11
  type FunctionDebugMetadata,
@@ -23,8 +22,8 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
23
22
  import {
24
23
  type ContractClassIdPreimage,
25
24
  type ContractClassWithId,
26
- type ContractInstanceWithAddress,
27
- SerializableContractInstance,
25
+ type ContractInstancePreimageWithAddress,
26
+ SerializableContractInstancePreimage,
28
27
  getContractClassFromArtifact,
29
28
  } from '@aztec/stdlib/contract';
30
29
 
@@ -112,9 +111,6 @@ export class ContractStore {
112
111
  // TODO: Update it to be LRU cache so that it doesn't keep all the data all the time.
113
112
  #contractArtifactCache: Map<string, ContractArtifact> = new Map();
114
113
 
115
- /** Map from contract address to contract class id (avoids KV round-trip on hot path). */
116
- #contractClassIdMap: Map<string, Fr> = new Map();
117
-
118
114
  #store: AztecAsyncKVStore;
119
115
  #contractArtifacts: AztecAsyncMap<string, Buffer>;
120
116
  #contractClassData: AztecAsyncMap<string, Buffer>;
@@ -131,9 +127,10 @@ export class ContractStore {
131
127
 
132
128
  /**
133
129
  * Registers a new contract artifact and its corresponding class data.
134
- * IMPORTANT: This method does not verify that the provided artifact matches the class data or that the class id matches the artifact.
135
- * It is the caller's responsibility to ensure the consistency and correctness of the provided data.
136
- * This is done to avoid redundant, expensive contract class computations
130
+ *
131
+ * IMPORTANT: This method does not verify that the provided artifact matches the class data or that the class id
132
+ * matches the artifact. It is the caller's responsibility to ensure the consistency and correctness of the provided
133
+ * data. This is done to avoid redundant, expensive contract class computations.
137
134
  */
138
135
  public async addContractArtifact(
139
136
  contract: ContractArtifact,
@@ -168,31 +165,17 @@ export class ContractStore {
168
165
  return contractClass.id;
169
166
  }
170
167
 
171
- async addContractInstance(contract: ContractInstanceWithAddress): Promise<void> {
168
+ async addContractInstance(contract: ContractInstancePreimageWithAddress): Promise<void> {
172
169
  await this.#store.transactionAsync(async () => {
173
170
  await this.#contractInstances.set(
174
171
  contract.address.toString(),
175
- new SerializableContractInstance(contract).toBuffer(),
172
+ new SerializableContractInstancePreimage(contract).toBuffer(),
176
173
  );
177
174
  });
178
-
179
- this.#contractClassIdMap.set(contract.address.toString(), contract.currentContractClassId);
180
175
  }
181
176
 
182
177
  // Private getters
183
178
 
184
- async #getContractClassId(contractAddress: AztecAddress): Promise<Fr | undefined> {
185
- const key = contractAddress.toString();
186
- if (!this.#contractClassIdMap.has(key)) {
187
- const instance = await this.getContractInstance(contractAddress);
188
- if (!instance) {
189
- return;
190
- }
191
- this.#contractClassIdMap.set(key, instance.currentContractClassId);
192
- }
193
- return this.#contractClassIdMap.get(key);
194
- }
195
-
196
179
  async #getPrivateFunctionTreeForClassId(classId: Fr): Promise<PrivateFunctionsTree | undefined> {
197
180
  if (!this.#privateFunctionTrees.has(classId.toString())) {
198
181
  const artifact = await this.getContractArtifact(classId);
@@ -205,25 +188,20 @@ export class ContractStore {
205
188
  return this.#privateFunctionTrees.get(classId.toString())!;
206
189
  }
207
190
 
208
- async #getArtifactByAddress(contractAddress: AztecAddress): Promise<ContractArtifact | undefined> {
209
- const classId = await this.#getContractClassId(contractAddress);
210
- return classId && this.getContractArtifact(classId);
211
- }
212
-
213
191
  // Public getters
214
192
 
215
193
  getContractsAddresses(): Promise<AztecAddress[]> {
216
194
  return this.#store.transactionAsync(async () => {
217
195
  const keys = await toArray(this.#contractInstances.keysAsync());
218
- return keys.map(AztecAddress.fromString);
196
+ return keys.map(AztecAddress.fromStringUnsafe);
219
197
  });
220
198
  }
221
199
 
222
- /** Returns a contract instance for a given address. */
223
- public getContractInstance(contractAddress: AztecAddress): Promise<ContractInstanceWithAddress | undefined> {
200
+ /** Returns the address preimage of a given address. */
201
+ public getContractInstance(contractAddress: AztecAddress): Promise<ContractInstancePreimageWithAddress | undefined> {
224
202
  return this.#store.transactionAsync(async () => {
225
203
  const contract = await this.#contractInstances.getAsync(contractAddress.toString());
226
- return contract && SerializableContractInstance.fromBuffer(contract).withAddress(contractAddress);
204
+ return contract && SerializableContractInstancePreimage.fromBuffer(contract).withAddress(contractAddress);
227
205
  });
228
206
  }
229
207
 
@@ -262,82 +240,69 @@ export class ContractStore {
262
240
  return { ...classData, packedBytecode };
263
241
  }
264
242
 
265
- public async getContract(
266
- address: AztecAddress,
267
- ): Promise<(ContractInstanceWithAddress & ContractArtifact) | undefined> {
268
- const instance = await this.getContractInstance(address);
269
- if (!instance) {
270
- return;
271
- }
272
- const artifact = await this.getContractArtifact(instance.currentContractClassId);
273
- if (!artifact) {
274
- return;
275
- }
276
- return { ...instance, ...artifact };
277
- }
278
-
279
243
  /**
280
- * Retrieves the artifact of a specified function within a given contract.
244
+ * Retrieves the artifact of a specified function within a given contract class.
281
245
  *
282
- * @param contractAddress - The AztecAddress representing the contract containing the function.
246
+ * @param contractClassId - The id of the contract class containing the function.
283
247
  * @param selector - The function selector.
284
- * @returns The corresponding function's artifact as an object.
248
+ * @returns The corresponding function's artifact as an object, or `undefined` if the class is not registered.
285
249
  */
286
250
  public async getFunctionArtifact(
287
- contractAddress: AztecAddress,
251
+ contractClassId: Fr,
288
252
  selector: FunctionSelector,
289
253
  ): Promise<FunctionArtifactWithContractName | undefined> {
290
- const artifact = await this.#getArtifactByAddress(contractAddress);
254
+ const artifact = await this.getContractArtifact(contractClassId);
291
255
  if (!artifact) {
292
256
  return undefined;
293
257
  }
294
- const fn = await findFunctionArtifactBySelector(artifact, selector);
295
- return fn && { ...fn, contractName: artifact.name };
258
+ const fn = assertSelectorInArtifact(artifact, await findFunctionArtifactBySelector(artifact, selector), {
259
+ contractClassId,
260
+ selector,
261
+ });
262
+ return { ...fn, contractName: artifact.name };
296
263
  }
297
264
 
265
+ /**
266
+ * Same as {@link getFunctionArtifact} but with debug metadata attached. Returns `undefined` when the class artifact
267
+ * is not registered.
268
+ */
298
269
  public async getFunctionArtifactWithDebugMetadata(
299
- contractAddress: AztecAddress,
270
+ contractClassId: Fr,
300
271
  selector: FunctionSelector,
301
- ): Promise<FunctionArtifactWithContractName> {
302
- const artifact = await this.getFunctionArtifact(contractAddress, selector);
272
+ ): Promise<FunctionArtifactWithContractName | undefined> {
273
+ const artifact = await this.getContractArtifact(contractClassId);
303
274
  if (!artifact) {
304
- throw new Error(`Function artifact not found for contract ${contractAddress} and selector ${selector}.`);
275
+ return undefined;
305
276
  }
306
- const debug = await this.getFunctionDebugMetadata(contractAddress, selector);
277
+ const fn = assertSelectorInArtifact(artifact, await findFunctionArtifactBySelector(artifact, selector), {
278
+ contractClassId,
279
+ selector,
280
+ });
307
281
  return {
308
- ...artifact,
309
- debug,
282
+ ...fn,
283
+ contractName: artifact.name,
284
+ debug: getFunctionDebugMetadata(artifact, fn),
310
285
  };
311
286
  }
312
287
 
313
- public async getPublicFunctionArtifact(
314
- contractAddress: AztecAddress,
315
- ): Promise<FunctionArtifactWithContractName | undefined> {
316
- const artifact = await this.#getArtifactByAddress(contractAddress);
288
+ public async getPublicFunctionArtifact(contractClassId: Fr): Promise<FunctionArtifactWithContractName | undefined> {
289
+ const artifact = await this.getContractArtifact(contractClassId);
317
290
  const fn = artifact && artifact.functions.find(f => f.functionType === FunctionType.PUBLIC);
318
291
  return fn && { ...fn, contractName: artifact.name };
319
292
  }
320
293
 
321
- public async getFunctionAbi(
322
- contractAddress: AztecAddress,
323
- selector: FunctionSelector,
324
- ): Promise<FunctionAbi | undefined> {
325
- const artifact = await this.#getArtifactByAddress(contractAddress);
326
- return artifact && (await findFunctionAbiBySelector(artifact, selector));
327
- }
328
-
329
294
  /**
330
- * Retrieves the debug metadata of a specified function within a given contract.
295
+ * Retrieves the debug metadata of a specified function within a given contract class.
331
296
  *
332
- * @param contractAddress - The AztecAddress representing the contract containing the function.
297
+ * @param contractClassId - The id of the contract class containing the function.
333
298
  * @param selector - The function selector.
334
299
  * @returns The corresponding function's debug metadata, or undefined.
335
300
  */
336
301
  public async getFunctionDebugMetadata(
337
- contractAddress: AztecAddress,
302
+ contractClassId: Fr,
338
303
  selector: FunctionSelector,
339
304
  ): Promise<FunctionDebugMetadata | undefined> {
340
- const artifact = await this.#getArtifactByAddress(contractAddress);
305
+ const artifact = await this.getContractArtifact(contractClassId);
341
306
  if (!artifact) {
342
307
  return undefined;
343
308
  }
@@ -345,10 +310,8 @@ export class ContractStore {
345
310
  return fn && getFunctionDebugMetadata(artifact, fn);
346
311
  }
347
312
 
348
- public async getPublicFunctionDebugMetadata(
349
- contractAddress: AztecAddress,
350
- ): Promise<FunctionDebugMetadata | undefined> {
351
- const artifact = await this.#getArtifactByAddress(contractAddress);
313
+ public async getPublicFunctionDebugMetadata(contractClassId: Fr): Promise<FunctionDebugMetadata | undefined> {
314
+ const artifact = await this.getContractArtifact(contractClassId);
352
315
  const fn = artifact && artifact.functions.find(f => f.functionType === FunctionType.PUBLIC);
353
316
  return fn && getFunctionDebugMetadata(artifact, fn);
354
317
  }
@@ -368,28 +331,34 @@ export class ContractStore {
368
331
  return tree?.getFunctionMembershipWitness(selector);
369
332
  }
370
333
 
371
- public async getDebugContractName(contractAddress: AztecAddress) {
372
- const artifact = await this.#getArtifactByAddress(contractAddress);
334
+ public async getDebugContractName(contractClassId: Fr) {
335
+ const artifact = await this.getContractArtifact(contractClassId);
373
336
  return artifact?.name;
374
337
  }
375
338
 
376
- public async getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector) {
377
- const artifact = await this.#getArtifactByAddress(contractAddress);
339
+ public async getDebugFunctionName(contractClassId: Fr, selector: FunctionSelector) {
340
+ const artifact = await this.getContractArtifact(contractClassId);
378
341
  const fn = artifact && (await findFunctionAbiBySelector(artifact, selector));
379
- return `${artifact?.name ?? contractAddress}:${fn?.name ?? selector}`;
342
+ return `${artifact?.name ?? contractClassId}:${fn?.name ?? selector}`;
380
343
  }
381
344
 
382
- public async getFunctionCall(functionName: string, args: any[], to: AztecAddress): Promise<FunctionCall> {
383
- const contract = await this.getContract(to);
384
- if (!contract) {
345
+ public async getFunctionCall(
346
+ functionName: string,
347
+ args: any[],
348
+ to: AztecAddress,
349
+ contractClassId: Fr,
350
+ ): Promise<FunctionCall> {
351
+ const artifact = await this.getContractArtifact(contractClassId);
352
+ if (!artifact) {
385
353
  throw new Error(
386
- `Unknown contract ${to}: add it to PXE by calling server.addContracts(...).\nSee docs for context: https://docs.aztec.network/developers/resources/debugging/aztecnr-errors#unknown-contract-0x0-add-it-to-pxe-by-calling-serveraddcontracts`,
354
+ `No artifact registered for contract class ${contractClassId} (contract ${to}): register it by calling ` +
355
+ `wallet.registerContract(...).\nSee docs for context: https://docs.aztec.network/errors/14`,
387
356
  );
388
357
  }
389
358
 
390
- const functionDao = contract.functions.find(f => f.name === functionName);
359
+ const functionDao = artifact.functions.find(f => f.name === functionName);
391
360
  if (!functionDao) {
392
- throw new Error(`Unknown function ${functionName} in contract ${contract.name}.`);
361
+ throw new Error(`Unknown function ${functionName} in contract ${artifact.name}.`);
393
362
  }
394
363
 
395
364
  const selector = await FunctionSelector.fromNameAndParameters(functionDao.name, functionDao.parameters);
@@ -406,3 +375,27 @@ export class ContractStore {
406
375
  });
407
376
  }
408
377
  }
378
+
379
+ /**
380
+ * Narrows the result of a selector lookup against a registered artifact. A missing class artifact is reported as
381
+ * `undefined` by the callers (an absence they can handle), but a selector that is absent from an artifact we *do* have
382
+ * is exceptional and throws rather than returning undefined. We cannot tell from here why the selector is missing: it
383
+ * may be that no such function exists in the contract (a wrong selector), or that the registered artifact does not
384
+ * correspond to the resolved class id (registration performs no validation, so a mismatched artifact is possible). The
385
+ * error names both possibilities.
386
+ */
387
+ function assertSelectorInArtifact<T>(
388
+ artifact: ContractArtifact,
389
+ fn: T | undefined,
390
+ context: { contractClassId: Fr; selector: FunctionSelector },
391
+ ): T {
392
+ if (!fn) {
393
+ throw new Error(
394
+ `Function with selector ${context.selector} not found in the registered artifact for contract class ` +
395
+ `${context.contractClassId} (${artifact.name}). Either no function with this selector exists in the ` +
396
+ `contract, or the registered artifact does not match the class id (re-register it via ` +
397
+ `wallet.registerContract(...)).`,
398
+ );
399
+ }
400
+ return fn;
401
+ }
@@ -0,0 +1,69 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+
4
+ import { assertAllowedScope } from '../allowed_scopes.js';
5
+ import type { FactStore } from './fact_store.js';
6
+ import type { FactCollectionKey, FactCollectionTypeKey, OriginBlock } from './fact_store_keys.js';
7
+ import {
8
+ type FactCollectionWithOriginState,
9
+ type FactWithOriginState,
10
+ type TipBlockNumbers,
11
+ toFactWithOriginState,
12
+ } from './origin_state.js';
13
+ import type { Fact } from './stored_fact.js';
14
+
15
+ /**
16
+ * Wraps a {@link FactStore} with scope-based access control.
17
+ *
18
+ * Each method asserts scope validity before delegating to FactStore, gating which accounts a contract may record facts
19
+ * under or read facts from.
20
+ */
21
+ export class FactService {
22
+ constructor(
23
+ private readonly factStore: FactStore,
24
+ private readonly allowedScopes: AztecAddress[],
25
+ ) {}
26
+
27
+ recordFact(
28
+ factCollectionKey: FactCollectionKey,
29
+ factTypeId: Fr,
30
+ payload: Fr[],
31
+ originBlock: OriginBlock | undefined,
32
+ jobId: string,
33
+ ): Promise<void> {
34
+ assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
35
+ return this.factStore.recordFact(factCollectionKey, factTypeId, payload, originBlock, jobId);
36
+ }
37
+
38
+ deleteFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise<void> {
39
+ assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
40
+ return this.factStore.deleteFactCollection(factCollectionKey, jobId);
41
+ }
42
+
43
+ async getFactCollection(
44
+ factCollectionKey: FactCollectionKey,
45
+ tips: TipBlockNumbers,
46
+ jobId: string,
47
+ ): Promise<FactCollectionWithOriginState | undefined> {
48
+ assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
49
+ const collection = await this.factStore.getFactCollection(factCollectionKey, jobId);
50
+ if (!collection) {
51
+ return undefined;
52
+ }
53
+ return { key: collection.key, facts: this.#annotate(collection.facts, tips) };
54
+ }
55
+
56
+ async getFactCollectionsByType(
57
+ factCollectionTypeKey: FactCollectionTypeKey,
58
+ tips: TipBlockNumbers,
59
+ jobId: string,
60
+ ): Promise<FactCollectionWithOriginState[]> {
61
+ assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes);
62
+ const collections = await this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId);
63
+ return collections.map(collection => ({ key: collection.key, facts: this.#annotate(collection.facts, tips) }));
64
+ }
65
+
66
+ #annotate(facts: Fact[], tips: TipBlockNumbers): FactWithOriginState[] {
67
+ return facts.map(fact => toFactWithOriginState(fact, tips));
68
+ }
69
+ }