@aztec/pxe 0.0.1-commit.a89ec08 → 0.0.1-commit.aa0c64f

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 (486) hide show
  1. package/dest/bin/check_oracle_version.js +39 -110
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +34 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +46 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +23 -15
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +78 -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_sync → contract}/contract_sync_service.js +42 -42
  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/skip_sync_contracts.d.ts +11 -0
  28. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  29. package/dest/contract/skip_sync_contracts.js +18 -0
  30. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  31. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  32. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  33. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  34. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  36. package/dest/contract_function_simulator/contract_function_simulator.d.ts +22 -18
  37. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/contract_function_simulator.js +80 -41
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  40. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  42. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  43. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  45. package/dest/contract_function_simulator/index.d.ts +26 -6
  46. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/index.js +11 -4
  48. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  49. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  51. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  52. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  55. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  57. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  58. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  59. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  60. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -2
  61. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +4 -3
  63. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  64. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  66. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  67. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  68. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +18 -9
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  72. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
  73. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  74. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -60
  75. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  76. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  77. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  78. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -2
  79. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  80. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +5 -4
  81. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  82. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  84. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  87. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  88. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  90. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  91. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  97. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  99. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  100. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  101. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  102. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  103. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  104. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  105. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  106. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  107. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  108. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  109. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/index.js +1 -1
  111. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -114
  112. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  113. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  114. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  115. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  116. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  117. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  118. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  120. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  121. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  122. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  123. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
  124. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
  126. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
  127. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  128. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  129. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  130. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  132. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +47 -36
  133. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +181 -63
  135. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +126 -64
  136. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +430 -195
  138. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  139. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  140. package/dest/contract_function_simulator/pick_notes.js +6 -0
  141. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  142. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  143. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  144. package/dest/debug/pxe_debug_utils.d.ts +2 -7
  145. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  146. package/dest/debug/pxe_debug_utils.js +0 -6
  147. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  148. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/index.js +1 -0
  150. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  151. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/utils.js +25 -6
  153. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  154. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/index.js +1 -0
  156. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  157. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/utils.js +25 -6
  159. package/dest/entrypoints/client/store.d.ts +14 -0
  160. package/dest/entrypoints/client/store.d.ts.map +1 -0
  161. package/dest/entrypoints/client/store.js +42 -0
  162. package/dest/entrypoints/pxe_creation_options.d.ts +14 -2
  163. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  164. package/dest/entrypoints/server/index.d.ts +6 -2
  165. package/dest/entrypoints/server/index.d.ts.map +1 -1
  166. package/dest/entrypoints/server/index.js +4 -1
  167. package/dest/entrypoints/server/store.d.ts +18 -0
  168. package/dest/entrypoints/server/store.d.ts.map +1 -0
  169. package/dest/entrypoints/server/store.js +28 -0
  170. package/dest/entrypoints/server/utils.d.ts +3 -2
  171. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  172. package/dest/entrypoints/server/utils.js +26 -6
  173. package/dest/error_enriching.d.ts +5 -3
  174. package/dest/error_enriching.d.ts.map +1 -1
  175. package/dest/error_enriching.js +13 -11
  176. package/dest/events/event_service.d.ts +13 -5
  177. package/dest/events/event_service.d.ts.map +1 -1
  178. package/dest/events/event_service.js +30 -9
  179. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  180. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  181. package/dest/hooks/authorize_utility_call.js +4 -0
  182. package/dest/hooks/execution_hooks.d.ts +62 -0
  183. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  184. package/dest/hooks/execution_hooks.js +9 -0
  185. package/dest/hooks/index.d.ts +5 -0
  186. package/dest/hooks/index.d.ts.map +1 -0
  187. package/dest/hooks/index.js +2 -0
  188. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  189. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  190. package/dest/hooks/resolve_custom_request.js +3 -0
  191. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  192. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  193. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  194. package/dest/logs/log_service.d.ts +12 -9
  195. package/dest/logs/log_service.d.ts.map +1 -1
  196. package/dest/logs/log_service.js +186 -62
  197. package/dest/messages/tx_resolver_service.d.ts +17 -0
  198. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  199. package/dest/messages/tx_resolver_service.js +60 -0
  200. package/dest/notes/note_service.d.ts +26 -4
  201. package/dest/notes/note_service.d.ts.map +1 -1
  202. package/dest/notes/note_service.js +81 -66
  203. package/dest/oracle_version.d.ts +3 -3
  204. package/dest/oracle_version.js +6 -6
  205. package/dest/private_kernel/batch_planner.d.ts +47 -0
  206. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  207. package/dest/private_kernel/batch_planner.js +104 -0
  208. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  209. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  210. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +7 -3
  211. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  212. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  213. package/dest/private_kernel/hints/test_utils.js +3 -4
  214. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  215. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  216. package/dest/private_kernel/private_kernel_execution_prover.js +200 -83
  217. package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
  218. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  219. package/dest/private_kernel/private_kernel_oracle.js +40 -26
  220. package/dest/pxe.d.ts +165 -52
  221. package/dest/pxe.d.ts.map +1 -1
  222. package/dest/pxe.js +337 -209
  223. package/dest/storage/allowed_scopes.d.ts +6 -0
  224. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  225. package/dest/storage/allowed_scopes.js +7 -0
  226. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  227. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  228. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -6
  229. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  230. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  231. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  232. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  233. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  234. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  235. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  236. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  237. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  238. package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
  239. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  240. package/dest/storage/capsule_store/capsule_service.js +6 -9
  241. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  242. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  243. package/dest/storage/contract_store/contract_store.js +67 -97
  244. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  245. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  246. package/dest/storage/fact_store/fact_service.js +45 -0
  247. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  248. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  249. package/dest/storage/fact_store/fact_store.js +408 -0
  250. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  251. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  252. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  253. package/dest/storage/fact_store/index.d.ts +6 -0
  254. package/dest/storage/fact_store/index.d.ts.map +1 -0
  255. package/dest/storage/fact_store/index.js +4 -0
  256. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  257. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  258. package/dest/storage/fact_store/origin_state.js +60 -0
  259. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  260. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  261. package/dest/storage/fact_store/stored_fact.js +64 -0
  262. package/dest/storage/index.d.ts +3 -2
  263. package/dest/storage/index.d.ts.map +1 -1
  264. package/dest/storage/index.js +2 -1
  265. package/dest/storage/metadata.d.ts +2 -2
  266. package/dest/storage/metadata.d.ts.map +1 -1
  267. package/dest/storage/metadata.js +1 -1
  268. package/dest/storage/note_store/note_store.d.ts +42 -33
  269. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  270. package/dest/storage/note_store/note_store.js +197 -168
  271. package/dest/storage/note_store/stored_note.d.ts +3 -8
  272. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  273. package/dest/storage/note_store/stored_note.js +4 -20
  274. package/dest/storage/open_pxe_stores.d.ts +35 -0
  275. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  276. package/dest/storage/open_pxe_stores.js +29 -0
  277. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  278. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  279. package/dest/storage/private_event_store/private_event_store.js +43 -43
  280. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  281. package/dest/storage/store_identity.d.ts +35 -0
  282. package/dest/storage/store_identity.d.ts.map +1 -0
  283. package/dest/storage/store_identity.js +44 -0
  284. package/dest/storage/tagging_store/index.d.ts +2 -2
  285. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  286. package/dest/storage/tagging_store/index.js +1 -1
  287. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  288. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  289. package/dest/storage/tagging_store/sender_tagging_store.d.ts +23 -7
  290. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  291. package/dest/storage/tagging_store/sender_tagging_store.js +51 -14
  292. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  293. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  294. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  295. package/dest/tagging/constants.d.ts +3 -2
  296. package/dest/tagging/constants.d.ts.map +1 -1
  297. package/dest/tagging/constants.js +28 -10
  298. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  299. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  300. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  301. package/dest/tagging/index.d.ts +6 -5
  302. package/dest/tagging/index.d.ts.map +1 -1
  303. package/dest/tagging/index.js +5 -4
  304. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  305. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  306. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  307. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
  308. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  309. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +238 -0
  310. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  311. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  312. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  313. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  314. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  315. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  316. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  317. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  318. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  319. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  320. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  321. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  322. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  323. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +8 -4
  324. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  325. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  326. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  327. package/package.json +20 -17
  328. package/src/bin/check_oracle_version.ts +44 -133
  329. package/src/bin/index.ts +1 -0
  330. package/src/bin/oracle_version_helpers.ts +54 -0
  331. package/src/block_synchronizer/block_stream_source.ts +42 -0
  332. package/src/block_synchronizer/block_synchronizer.ts +96 -39
  333. package/src/config/index.ts +16 -9
  334. package/src/config/package_info.ts +1 -1
  335. package/src/contract/contract_class_service.ts +83 -0
  336. package/src/{contract_sync → contract}/contract_sync_service.ts +61 -61
  337. package/src/contract/helpers.ts +35 -0
  338. package/src/contract/skip_sync_contracts.ts +23 -0
  339. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  340. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  341. package/src/contract_function_simulator/contract_function_simulator.ts +130 -53
  342. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  343. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  344. package/src/contract_function_simulator/index.ts +89 -5
  345. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  346. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  347. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  348. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  349. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +4 -3
  350. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  351. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  352. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +26 -19
  353. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
  354. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  355. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +5 -4
  356. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  357. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  358. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  359. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  360. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  361. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  362. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  363. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  364. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  365. package/src/contract_function_simulator/oracle/index.ts +1 -15
  366. package/src/contract_function_simulator/oracle/interfaces.ts +11 -204
  367. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  368. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  369. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  370. package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
  371. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
  372. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  373. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +232 -83
  374. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +676 -367
  375. package/src/contract_function_simulator/pick_notes.ts +8 -0
  376. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  377. package/src/debug/pxe_debug_utils.ts +1 -9
  378. package/src/entrypoints/client/bundle/index.ts +1 -0
  379. package/src/entrypoints/client/bundle/utils.ts +30 -5
  380. package/src/entrypoints/client/lazy/index.ts +1 -0
  381. package/src/entrypoints/client/lazy/utils.ts +30 -5
  382. package/src/entrypoints/client/store.ts +54 -0
  383. package/src/entrypoints/pxe_creation_options.ts +14 -1
  384. package/src/entrypoints/server/index.ts +6 -1
  385. package/src/entrypoints/server/store.ts +47 -0
  386. package/src/entrypoints/server/utils.ts +43 -11
  387. package/src/error_enriching.ts +27 -11
  388. package/src/events/event_service.ts +54 -19
  389. package/src/hooks/authorize_utility_call.ts +44 -0
  390. package/src/hooks/execution_hooks.ts +68 -0
  391. package/src/hooks/index.ts +13 -0
  392. package/src/hooks/resolve_custom_request.ts +24 -0
  393. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  394. package/src/logs/log_service.ts +220 -112
  395. package/src/messages/tx_resolver_service.ts +69 -0
  396. package/src/notes/note_service.ts +116 -92
  397. package/src/oracle_version.ts +6 -6
  398. package/src/private_kernel/batch_planner.ts +168 -0
  399. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +12 -2
  400. package/src/private_kernel/hints/test_utils.ts +3 -10
  401. package/src/private_kernel/private_kernel_execution_prover.ts +333 -114
  402. package/src/private_kernel/private_kernel_oracle.ts +58 -29
  403. package/src/pxe.ts +529 -237
  404. package/src/storage/allowed_scopes.ts +14 -0
  405. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
  406. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  407. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  408. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  409. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  410. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  411. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  412. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  413. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  414. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  415. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  416. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  417. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  418. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  419. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  420. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  421. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  422. package/src/storage/capsule_store/capsule_service.ts +8 -13
  423. package/src/storage/contract_store/contract_store.ts +90 -120
  424. package/src/storage/fact_store/fact_service.ts +69 -0
  425. package/src/storage/fact_store/fact_store.ts +487 -0
  426. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  427. package/src/storage/fact_store/index.ts +15 -0
  428. package/src/storage/fact_store/origin_state.ts +84 -0
  429. package/src/storage/fact_store/stored_fact.ts +80 -0
  430. package/src/storage/index.ts +2 -1
  431. package/src/storage/metadata.ts +1 -1
  432. package/src/storage/note_store/note_store.ts +226 -187
  433. package/src/storage/note_store/stored_note.ts +5 -27
  434. package/src/storage/open_pxe_stores.ts +52 -0
  435. package/src/storage/private_event_store/private_event_store.ts +52 -54
  436. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  437. package/src/storage/store_identity.ts +72 -0
  438. package/src/storage/tagging_store/index.ts +1 -1
  439. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  440. package/src/storage/tagging_store/sender_tagging_store.ts +68 -21
  441. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  442. package/src/tagging/constants.ts +30 -10
  443. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  444. package/src/tagging/index.ts +5 -4
  445. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  446. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +358 -0
  447. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  448. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  449. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  450. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  451. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +10 -7
  452. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  453. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  454. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  455. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -47
  456. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -91
  457. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  458. package/dest/contract_function_simulator/oracle/oracle.js +0 -553
  459. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  460. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  461. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -83
  462. package/dest/contract_sync/contract_sync_service.d.ts +0 -44
  463. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  464. package/dest/contract_sync/helpers.d.ts +0 -28
  465. package/dest/contract_sync/helpers.d.ts.map +0 -1
  466. package/dest/contract_sync/helpers.js +0 -60
  467. package/dest/messages/message_context_service.d.ts +0 -17
  468. package/dest/messages/message_context_service.d.ts.map +0 -1
  469. package/dest/messages/message_context_service.js +0 -36
  470. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  471. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  472. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  473. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  474. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  475. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -85
  476. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  477. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  478. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  479. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -104
  480. package/src/contract_function_simulator/oracle/oracle.ts +0 -861
  481. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -90
  482. package/src/contract_sync/helpers.ts +0 -98
  483. package/src/messages/message_context_service.ts +0 -44
  484. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  485. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -128
  486. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -1,3 +1,4 @@
1
+ import { CircuitKind } from '@aztec/bb.js';
1
2
  import {
2
3
  AVM_EMITNOTEHASH_BASE_L2_GAS,
3
4
  AVM_EMITNULLIFIER_BASE_L2_GAS,
@@ -19,6 +20,7 @@ import {
19
20
  MAX_PRIVATE_LOGS_PER_TX,
20
21
  MAX_TX_LIFETIME,
21
22
  PRIVATE_TX_L2_GAS_OVERHEAD,
23
+ PUBLIC_DATA_WRITE_LENGTH,
22
24
  PUBLIC_TX_L2_GAS_OVERHEAD,
23
25
  TX_DA_GAS_OVERHEAD,
24
26
  } from '@aztec/constants';
@@ -76,9 +78,11 @@ import {
76
78
  import { PrivateLog } from '@aztec/stdlib/logs';
77
79
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
78
80
  import { ChonkProof } from '@aztec/stdlib/proofs';
81
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
79
82
  import {
80
83
  BlockHeader,
81
84
  CallContext,
85
+ type ContractOverrides,
82
86
  HashedValues,
83
87
  type OffchainEffect,
84
88
  PrivateExecutionResult,
@@ -89,32 +93,34 @@ import {
89
93
  getFinalMinRevertibleSideEffectCounter,
90
94
  } from '@aztec/stdlib/tx';
91
95
 
92
- import type { ContractSyncService } from '../contract_sync/contract_sync_service.js';
93
- import type { MessageContextService } from '../messages/message_context_service.js';
96
+ import type { ContractClassService } from '../contract/contract_class_service.js';
97
+ import type { ContractSyncService } from '../contract/contract_sync_service.js';
98
+ import type { ExecutionHooks } from '../hooks/index.js';
99
+ import type { TxResolverService } from '../messages/tx_resolver_service.js';
94
100
  import type { AddressStore } from '../storage/address_store/address_store.js';
95
101
  import { CapsuleService } from '../storage/capsule_store/capsule_service.js';
96
102
  import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js';
97
103
  import type { ContractStore } from '../storage/contract_store/contract_store.js';
104
+ import { FactService } from '../storage/fact_store/index.js';
105
+ import type { FactStore } from '../storage/fact_store/index.js';
98
106
  import type { NoteStore } from '../storage/note_store/note_store.js';
99
107
  import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
100
108
  import type { RecipientTaggingStore } from '../storage/tagging_store/recipient_tagging_store.js';
101
- import type { SenderAddressBookStore } from '../storage/tagging_store/sender_address_book_store.js';
102
109
  import type { SenderTaggingStore } from '../storage/tagging_store/sender_tagging_store.js';
110
+ import type { TaggingSecretSourcesStore } from '../storage/tagging_store/tagging_secret_sources_store.js';
111
+ import { AnchoredContractData } from './anchored_contract_data.js';
103
112
  import type { BenchmarkedNode } from './benchmarked_node.js';
104
113
  import { ExecutionNoteCache } from './execution_note_cache.js';
105
114
  import { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
106
115
  import { HashedValuesCache } from './hashed_values_cache.js';
107
- import { Oracle } from './oracle/oracle.js';
116
+ import { buildACIRCallback } from './oracle/acir_callback.js';
108
117
  import { executePrivateFunction } from './oracle/private_execution.js';
109
118
  import { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
110
119
  import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
120
+ import { TransientArrayService } from './transient_array_service.js';
111
121
 
112
122
  /** Options for ContractFunctionSimulator.run. */
113
123
  export type ContractSimulatorRunOpts = {
114
- /** The address of the contract (should match request.origin). */
115
- contractAddress: AztecAddress;
116
- /** The function selector of the entry point. */
117
- selector: FunctionSelector;
118
124
  /** The address calling the function. Can be replaced to simulate a call from another contract or account. */
119
125
  msgSender?: AztecAddress;
120
126
  /** The block header to use as base state for this run. */
@@ -130,6 +136,9 @@ export type ContractSimulatorRunOpts = {
130
136
  /** Args for ContractFunctionSimulator constructor. */
131
137
  export type ContractFunctionSimulatorArgs = {
132
138
  contractStore: ContractStore;
139
+ contractClassService: ContractClassService;
140
+ /** Per-simulation contract overrides. */
141
+ overrides?: ContractOverrides;
133
142
  noteStore: NoteStore;
134
143
  keyStore: KeyStore;
135
144
  addressStore: AddressStore;
@@ -137,12 +146,14 @@ export type ContractFunctionSimulatorArgs = {
137
146
  l2TipsStore: L2TipsProvider;
138
147
  senderTaggingStore: SenderTaggingStore;
139
148
  recipientTaggingStore: RecipientTaggingStore;
140
- senderAddressBookStore: SenderAddressBookStore;
149
+ taggingSecretSourcesStore: TaggingSecretSourcesStore;
141
150
  capsuleStore: CapsuleStore;
151
+ factStore: FactStore;
142
152
  privateEventStore: PrivateEventStore;
143
153
  simulator: CircuitSimulator;
144
154
  contractSyncService: ContractSyncService;
145
- messageContextService: MessageContextService;
155
+ txResolver: TxResolverService;
156
+ hooks?: ExecutionHooks;
146
157
  };
147
158
 
148
159
  /**
@@ -151,6 +162,8 @@ export type ContractFunctionSimulatorArgs = {
151
162
  export class ContractFunctionSimulator {
152
163
  private readonly log: Logger;
153
164
  private readonly contractStore: ContractStore;
165
+ private readonly contractClassService: ContractClassService;
166
+ private readonly overrides: ContractOverrides | undefined;
154
167
  private readonly noteStore: NoteStore;
155
168
  private readonly keyStore: KeyStore;
156
169
  private readonly addressStore: AddressStore;
@@ -158,15 +171,19 @@ export class ContractFunctionSimulator {
158
171
  private readonly l2TipsStore: L2TipsProvider;
159
172
  private readonly senderTaggingStore: SenderTaggingStore;
160
173
  private readonly recipientTaggingStore: RecipientTaggingStore;
161
- private readonly senderAddressBookStore: SenderAddressBookStore;
174
+ private readonly taggingSecretSourcesStore: TaggingSecretSourcesStore;
162
175
  private readonly capsuleStore: CapsuleStore;
176
+ private readonly factStore: FactStore;
163
177
  private readonly privateEventStore: PrivateEventStore;
164
178
  private readonly simulator: CircuitSimulator;
165
179
  private readonly contractSyncService: ContractSyncService;
166
- private readonly messageContextService: MessageContextService;
180
+ private readonly txResolver: TxResolverService;
181
+ private readonly hooks: ExecutionHooks | undefined;
167
182
 
168
183
  constructor(args: ContractFunctionSimulatorArgs) {
169
184
  this.contractStore = args.contractStore;
185
+ this.contractClassService = args.contractClassService;
186
+ this.overrides = args.overrides;
170
187
  this.noteStore = args.noteStore;
171
188
  this.keyStore = args.keyStore;
172
189
  this.addressStore = args.addressStore;
@@ -174,12 +191,14 @@ export class ContractFunctionSimulator {
174
191
  this.l2TipsStore = args.l2TipsStore;
175
192
  this.senderTaggingStore = args.senderTaggingStore;
176
193
  this.recipientTaggingStore = args.recipientTaggingStore;
177
- this.senderAddressBookStore = args.senderAddressBookStore;
194
+ this.taggingSecretSourcesStore = args.taggingSecretSourcesStore;
178
195
  this.capsuleStore = args.capsuleStore;
196
+ this.factStore = args.factStore;
179
197
  this.privateEventStore = args.privateEventStore;
180
198
  this.simulator = args.simulator;
181
199
  this.contractSyncService = args.contractSyncService;
182
- this.messageContextService = args.messageContextService;
200
+ this.txResolver = args.txResolver;
201
+ this.hooks = args.hooks;
183
202
  this.log = createLogger('simulator');
184
203
  }
185
204
 
@@ -190,9 +209,7 @@ export class ContractFunctionSimulator {
190
209
  public async run(
191
210
  request: TxExecutionRequest,
192
211
  {
193
- contractAddress,
194
- selector,
195
- msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE),
212
+ msgSender = AztecAddress.NULL_MSG_SENDER,
196
213
  anchorBlockHeader,
197
214
  senderForTags,
198
215
  scopes,
@@ -201,18 +218,30 @@ export class ContractFunctionSimulator {
201
218
  ): Promise<PrivateExecutionResult> {
202
219
  const simulatorSetupTimer = new Timer();
203
220
 
204
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
221
+ const contractAddress = request.origin;
205
222
 
206
- if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
207
- throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
208
- }
223
+ const anchoredContractData = new AnchoredContractData(
224
+ this.contractStore,
225
+ this.contractClassService,
226
+ anchorBlockHeader,
227
+ this.overrides,
228
+ );
209
229
 
210
- if (request.origin !== contractAddress) {
211
- this.log.warn(
212
- `Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`,
230
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(
231
+ contractAddress,
232
+ request.functionSelector,
233
+ );
234
+ if (!entryPointArtifact) {
235
+ throw new Error(
236
+ `Cannot run function ${request.functionSelector} on ${contractAddress}: the contract is not registered. ` +
237
+ `Register it via wallet.registerContract(...).`,
213
238
  );
214
239
  }
215
240
 
241
+ if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
242
+ throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
243
+ }
244
+
216
245
  // reserve the first side effect for the tx hash (inserted by the private kernel)
217
246
  const startSideEffectCounter = 2;
218
247
 
@@ -227,9 +256,15 @@ export class ContractFunctionSimulator {
227
256
  const noteCache = new ExecutionNoteCache(protocolNullifier);
228
257
  const taggingIndexCache = new ExecutionTaggingIndexCache();
229
258
 
259
+ // One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
260
+ // private oracle and inherited by nested utility frames, so that frames of the same contract see each other's
261
+ // transient arrays, then discarded when run() returns.
262
+ const transientArrayService = new TransientArrayService();
263
+
230
264
  const privateExecutionOracle = new PrivateExecutionOracle({
231
265
  argsHash: request.firstCallArgsHash,
232
266
  txContext: request.txContext,
267
+ txRequestSalt: request.salt,
233
268
  callContext,
234
269
  anchorBlockHeader,
235
270
  utilityExecutor: async (call, execScopes) => {
@@ -240,17 +275,18 @@ export class ContractFunctionSimulator {
240
275
  executionCache: HashedValuesCache.create(request.argsOfCalls),
241
276
  noteCache,
242
277
  taggingIndexCache,
243
- contractStore: this.contractStore,
278
+ anchoredContractData,
244
279
  noteStore: this.noteStore,
245
280
  keyStore: this.keyStore,
246
281
  addressStore: this.addressStore,
247
282
  aztecNode: this.aztecNode,
248
283
  senderTaggingStore: this.senderTaggingStore,
249
284
  recipientTaggingStore: this.recipientTaggingStore,
250
- senderAddressBookStore: this.senderAddressBookStore,
285
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
251
286
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
287
+ factService: new FactService(this.factStore, scopes),
252
288
  privateEventStore: this.privateEventStore,
253
- messageContextService: this.messageContextService,
289
+ txResolver: this.txResolver,
254
290
  contractSyncService: this.contractSyncService,
255
291
  jobId,
256
292
  totalPublicCalldataCount: 0,
@@ -259,6 +295,8 @@ export class ContractFunctionSimulator {
259
295
  senderForTags,
260
296
  simulator: this.simulator,
261
297
  l2TipsStore: this.l2TipsStore,
298
+ hooks: this.hooks,
299
+ transientArrayService,
262
300
  });
263
301
 
264
302
  const setupTime = simulatorSetupTimer.ms();
@@ -277,7 +315,6 @@ export class ContractFunctionSimulator {
277
315
  );
278
316
  const simulatorTeardownTimer = new Timer();
279
317
 
280
- noteCache.finish();
281
318
  const firstNullifierHint = noteCache.getNonceGenerator();
282
319
 
283
320
  const publicCallRequests = collectNested([executionResult], r =>
@@ -309,14 +346,9 @@ export class ContractFunctionSimulator {
309
346
  }
310
347
  }
311
348
 
312
- // docs:start:execute_utility_function
313
349
  /**
314
350
  * Runs a utility function.
315
351
  * @param call - The function call to execute.
316
- * @param authwits - Authentication witnesses required for the function call.
317
- * @param anchorBlockHeader - The block header to use as base state for this run.
318
- * @param scopes - Optional array of account addresses whose notes can be accessed in this call. Defaults to all
319
- * accounts if not specified.
320
352
  * @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
321
353
  */
322
354
  public async runUtility(
@@ -326,31 +358,59 @@ export class ContractFunctionSimulator {
326
358
  scopes: AztecAddress[],
327
359
  jobId: string,
328
360
  ): Promise<{ result: Fr[]; offchainEffects: OffchainEffect[] }> {
329
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
361
+ const anchoredContractData = new AnchoredContractData(
362
+ this.contractStore,
363
+ this.contractClassService,
364
+ anchorBlockHeader,
365
+ this.overrides,
366
+ );
367
+
368
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
369
+ if (!entryPointArtifact) {
370
+ throw new Error(
371
+ `Cannot run function ${call.selector} on ${call.to}: the contract is not registered. ` +
372
+ `Register it via wallet.registerContract(...).`,
373
+ );
374
+ }
330
375
 
331
376
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
332
377
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
333
378
  }
334
379
 
380
+ const utilityExecutor = async (syncCall: FunctionCall, execScopes: AztecAddress[]) => {
381
+ await this.runUtility(syncCall, [], anchorBlockHeader, execScopes, jobId);
382
+ };
383
+
335
384
  const oracle = new UtilityExecutionOracle({
336
- contractAddress: call.to,
385
+ callContext: CallContext.from({
386
+ msgSender: AztecAddress.NULL_MSG_SENDER,
387
+ contractAddress: call.to,
388
+ functionSelector: call.selector,
389
+ isStaticCall: true,
390
+ }),
337
391
  authWitnesses: authwits,
338
392
  capsules: [],
339
393
  anchorBlockHeader,
340
- contractStore: this.contractStore,
394
+ anchoredContractData,
341
395
  noteStore: this.noteStore,
342
396
  keyStore: this.keyStore,
343
397
  addressStore: this.addressStore,
344
398
  aztecNode: this.aztecNode,
345
399
  recipientTaggingStore: this.recipientTaggingStore,
346
- senderAddressBookStore: this.senderAddressBookStore,
400
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
347
401
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
402
+ factService: new FactService(this.factStore, scopes),
348
403
  privateEventStore: this.privateEventStore,
349
- messageContextService: this.messageContextService,
404
+ txResolver: this.txResolver,
350
405
  contractSyncService: this.contractSyncService,
351
406
  l2TipsStore: this.l2TipsStore,
352
407
  jobId,
353
408
  scopes,
409
+ simulator: this.simulator,
410
+ hooks: this.hooks,
411
+ utilityExecutor,
412
+ // Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
413
+ transientArrayService: new TransientArrayService(),
354
414
  });
355
415
 
356
416
  try {
@@ -361,7 +421,7 @@ export class ContractFunctionSimulator {
361
421
 
362
422
  const initialWitness = toACVMWitness(0, call.args);
363
423
  const acirExecutionResult = await this.simulator
364
- .executeUserCircuit(initialWitness, entryPointArtifact, new Oracle(oracle).toACIRCallback())
424
+ .executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle))
365
425
  .catch((err: Error) => {
366
426
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
367
427
  throw new ExecutionError(
@@ -384,7 +444,6 @@ export class ContractFunctionSimulator {
384
444
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
385
445
  }
386
446
  }
387
- // docs:end:execute_utility_function
388
447
 
389
448
  /**
390
449
  * Returns the execution statistics collected during the simulator run.
@@ -529,6 +588,7 @@ export async function generateSimulatedProvingResult(
529
588
  execution.publicInputs.callContext.functionSelector,
530
589
  ),
531
590
  timings: execution.profileResult?.timings ?? { witgen: 0, oracles: {} },
591
+ kind: CircuitKind.App,
532
592
  bytecode: execution.acir,
533
593
  vk: execution.vk,
534
594
  witness: execution.partialWitness,
@@ -597,12 +657,12 @@ export async function generateSimulatedProvingResult(
597
657
  siloedNullifiers,
598
658
  minRevertibleSideEffectCounter,
599
659
  );
660
+ // The protocol nullifier is the nonce generator and the tx's first nullifier. It is injected by the
661
+ // init kernel (at counter 1, index 0) rather than emitted by any private call, so it is absent from
662
+ // the executed nullifiers above. Mirror the kernel here by prepending it as the first non-revertible
663
+ // nullifier.
600
664
  const nonceGenerator = privateExecutionResult.firstNullifier;
601
- if (nonRevertibleNullifiers.length === 0) {
602
- nonRevertibleNullifiers.push(nonceGenerator);
603
- } else if (!nonRevertibleNullifiers[0].equals(nonceGenerator)) {
604
- throw new Error('The first non revertible nullifier should be equal to the nonce generator. This is a bug!');
605
- }
665
+ nonRevertibleNullifiers.unshift(nonceGenerator);
606
666
 
607
667
  if (isPrivateOnlyTx) {
608
668
  // We must make the note hashes unique by using the
@@ -753,7 +813,7 @@ function squashTransientSideEffects(
753
813
  * at the tx's anchor block, mimicking the behavior of the kernels
754
814
  */
755
815
  async function verifyReadRequests(
756
- node: Pick<AztecNode, 'getNoteHashMembershipWitness' | 'getNullifierMembershipWitness'>,
816
+ node: Pick<AztecNode, 'findLeavesIndexes'>,
757
817
  anchorBlockHash: BlockParameter,
758
818
  noteHashReadRequests: ScopedReadRequest[],
759
819
  nullifierReadRequests: ScopedReadRequest[],
@@ -786,13 +846,25 @@ async function verifyReadRequests(
786
846
  }
787
847
  }
788
848
 
789
- const [noteHashWitnesses, nullifierWitnesses] = await Promise.all([
790
- Promise.all(settledNoteHashReads.map(({ value }) => node.getNoteHashMembershipWitness(anchorBlockHash, value))),
791
- Promise.all(settledNullifierReads.map(({ value }) => node.getNullifierMembershipWitness(anchorBlockHash, value))),
849
+ const [noteHashResults, nullifierResults] = await Promise.all([
850
+ settledNoteHashReads.length > 0
851
+ ? node.findLeavesIndexes(
852
+ anchorBlockHash,
853
+ MerkleTreeId.NOTE_HASH_TREE,
854
+ settledNoteHashReads.map(({ value }) => value),
855
+ )
856
+ : [],
857
+ settledNullifierReads.length > 0
858
+ ? node.findLeavesIndexes(
859
+ anchorBlockHash,
860
+ MerkleTreeId.NULLIFIER_TREE,
861
+ settledNullifierReads.map(({ value }) => value),
862
+ )
863
+ : [],
792
864
  ]);
793
865
 
794
866
  for (let i = 0; i < settledNoteHashReads.length; i++) {
795
- if (!noteHashWitnesses[i]) {
867
+ if (!noteHashResults[i]) {
796
868
  throw new Error(
797
869
  `Note hash read request at index ${settledNoteHashReads[i].index} is reading an unknown note hash: ${settledNoteHashReads[i].value}`,
798
870
  );
@@ -800,7 +872,7 @@ async function verifyReadRequests(
800
872
  }
801
873
 
802
874
  for (let i = 0; i < settledNullifierReads.length; i++) {
803
- if (!nullifierWitnesses[i]) {
875
+ if (!nullifierResults[i]) {
804
876
  throw new Error(
805
877
  `Nullifier read request at index ${settledNullifierReads[i].index} is reading an unknown nullifier: ${settledNullifierReads[i].value}`,
806
878
  );
@@ -846,13 +918,18 @@ function meterGasUsed(data: PrivateToRollupAccumulatedData | PrivateToPublicAccu
846
918
  meteredL2Gas += numPrivatelogs * L2_GAS_PER_PRIVATE_LOG;
847
919
 
848
920
  const numContractClassLogs = arrayNonEmptyLength(data.contractClassLogsHashes, log => log.isEmpty());
849
- // Every contract class log emits its length and contract address as additional fields
921
+ // Every contract class log emits its contract address as an additional field
850
922
  meteredDAFields += data.contractClassLogsHashes.reduce(
851
- (acc, log) => (!log.isEmpty() ? acc + log.logHash.length + 2 : acc),
923
+ (acc, log) => (!log.isEmpty() ? acc + log.logHash.length + 1 : acc),
852
924
  0,
853
925
  );
854
926
  meteredL2Gas += numContractClassLogs * L2_GAS_PER_CONTRACT_CLASS_LOG;
855
927
 
928
+ if (isPrivateOnlyTx) {
929
+ // The public data write that the private tx base rollup always performs to update the fee payer's balance.
930
+ meteredDAFields += PUBLIC_DATA_WRITE_LENGTH;
931
+ }
932
+
856
933
  const meteredDAGas = meteredDAFields * DA_GAS_PER_FIELD;
857
934
 
858
935
  if ((data as PrivateToPublicAccumulatedData).publicCallRequests) {
@@ -2,7 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
4
4
 
5
- import type { NoteData } from './oracle/interfaces.js';
5
+ import type { NoteData } from './noir-structs/note_data.js';
6
6
 
7
7
  interface PendingNote {
8
8
  note: NoteData;
@@ -43,12 +43,6 @@ export class ExecutionNoteCache {
43
43
 
44
44
  private inRevertiblePhase = false;
45
45
 
46
- /**
47
- * Whether the protocol nullifier was used for nonce generation.
48
- * We don't need to use the protocol nullifier if a non-revertible nullifier is emitted.
49
- */
50
- private usedProtocolNullifierForNonces: boolean | undefined;
51
-
52
46
  constructor(private readonly protocolNullifier: Fr) {}
53
47
 
54
48
  /**
@@ -64,12 +58,9 @@ export class ExecutionNoteCache {
64
58
  this.inRevertiblePhase = true;
65
59
  this.minRevertibleSideEffectCounter = minRevertibleSideEffectCounter;
66
60
 
67
- const nullifiers = this.getEmittedNullifiers();
68
- // If there are no nullifiers emitted by private calls so far, we use the protocol nullifier as the nonce generator.
69
- // Note: There could still be nullifiers emitted after the counter is set, but those nullifiers are revertible, so
70
- // we don't want to use them as the nonce generator.
71
- this.usedProtocolNullifierForNonces = nullifiers.length === 0;
72
- const nonceGenerator = this.usedProtocolNullifierForNonces ? this.protocolNullifier : new Fr(nullifiers[0]);
61
+ // The protocol nullifier is always the tx's first nullifier (injected by the kernel init), so it is the
62
+ // nonce generator for every note hash.
63
+ const nonceGenerator = this.protocolNullifier;
73
64
 
74
65
  // The existing pending notes are all non-revertible.
75
66
  // They cannot be squashed by nullifiers emitted after minRevertibleSideEffectCounter is set.
@@ -102,14 +93,6 @@ export class ExecutionNoteCache {
102
93
  return sideEffectCounter >= this.minRevertibleSideEffectCounter;
103
94
  }
104
95
 
105
- public finish() {
106
- // If we never entered the revertible phase, and there are no nullifiers emitted, we need to use the protocol
107
- // nullifier as the nonce generator.
108
- if (!this.inRevertiblePhase) {
109
- this.usedProtocolNullifierForNonces = this.getEmittedNullifiers().length === 0;
110
- }
111
- }
112
-
113
96
  /**
114
97
  * Add a new note to cache.
115
98
  * @param note - New note created during execution.
@@ -223,19 +206,15 @@ export class ExecutionNoteCache {
223
206
  }
224
207
 
225
208
  /**
226
- * @returns All nullifiers emitted by private calls in this transaction. If the protocol nullifier was used as the
227
- * nonce generator, it is injected as the first nullifier.
209
+ * @returns All nullifiers of the transaction: the protocol nullifier (the kernel-injected first nullifier),
210
+ * followed by those emitted by private calls.
228
211
  */
229
212
  getAllNullifiers(): Fr[] {
230
- if (this.usedProtocolNullifierForNonces === undefined) {
231
- throw new Error('usedProtocolNullifierForNonces is not set yet. Call finish() to complete the transaction.');
232
- }
233
- const allNullifiers = this.getEmittedNullifiers();
234
- return [...(this.usedProtocolNullifierForNonces ? [this.protocolNullifier] : []), ...allNullifiers];
213
+ return [this.protocolNullifier, ...this.getEmittedNullifiers()];
235
214
  }
236
215
 
237
216
  getNonceGenerator(): Fr {
238
- return this.getAllNullifiers()[0];
217
+ return this.protocolNullifier;
239
218
  }
240
219
 
241
220
  #recordNullifier(contractAddress: AztecAddress, siloedNullifier: bigint) {
@@ -1,18 +1,14 @@
1
- import { ExtendedDirectionalAppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
1
+ import { AppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
2
2
 
3
- /**
4
- * A map that stores the tagging index range for a given extended directional app tagging secret.
5
- * Note: The directional app tagging secret is unique for a (sender, recipient, contract) tuple while the direction
6
- * of sender -> recipient matters.
7
- */
3
+ /** A map that stores the tagging index range for a given app tagging secret. */
8
4
  export class ExecutionTaggingIndexCache {
9
5
  private taggingIndexMap: Map<string, { lowestIndex: number; highestIndex: number }> = new Map();
10
6
 
11
- public getLastUsedIndex(secret: ExtendedDirectionalAppTaggingSecret): number | undefined {
7
+ public getLastUsedIndex(secret: AppTaggingSecret): number | undefined {
12
8
  return this.taggingIndexMap.get(secret.toString())?.highestIndex;
13
9
  }
14
10
 
15
- public setLastUsedIndex(secret: ExtendedDirectionalAppTaggingSecret, index: number) {
11
+ public setLastUsedIndex(secret: AppTaggingSecret, index: number) {
16
12
  const currentValue = this.taggingIndexMap.get(secret.toString());
17
13
  if (currentValue !== undefined && currentValue.highestIndex !== index - 1) {
18
14
  throw new Error(`Invalid tagging index update. Current value: ${currentValue.highestIndex}, new value: ${index}`);
@@ -29,7 +25,7 @@ export class ExecutionTaggingIndexCache {
29
25
  */
30
26
  public getUsedTaggingIndexRanges(): TaggingIndexRange[] {
31
27
  return Array.from(this.taggingIndexMap.entries()).map(([secret, { lowestIndex, highestIndex }]) => ({
32
- extendedSecret: ExtendedDirectionalAppTaggingSecret.fromString(secret),
28
+ extendedSecret: AppTaggingSecret.fromString(secret),
33
29
  lowestIndex,
34
30
  highestIndex,
35
31
  }));
@@ -1,14 +1,98 @@
1
+ export {
2
+ ORACLE_REGISTRY,
3
+ makeEntry,
4
+ type NamedValue,
5
+ type OracleRegistryEntry,
6
+ type ParamTypes,
7
+ } from './oracle/oracle_registry.js';
8
+ export {
9
+ ALIAS,
10
+ ARRAY,
11
+ AZTEC_ADDRESS,
12
+ BIGINT,
13
+ BLOCK_HASH,
14
+ BLOCK_NUMBER,
15
+ BOOL,
16
+ BOUNDED_VEC,
17
+ U8,
18
+ CONTRACT_INSTANCE,
19
+ DELIVERY_MODE,
20
+ EPHEMERAL_ARRAY,
21
+ ETH_ADDRESS,
22
+ EVENT_VALIDATION_REQUEST,
23
+ FIELD,
24
+ FIXED_ARRAY,
25
+ FUNCTION_SELECTOR,
26
+ LEAF,
27
+ LEAF_INDEX,
28
+ LOG_RETRIEVAL_REQUEST,
29
+ LOG_RETRIEVAL_RESPONSE,
30
+ MEMBERSHIP_WITNESS,
31
+ NOTE_SELECTOR,
32
+ NOTE_VALIDATION_REQUEST,
33
+ OPTION,
34
+ PENDING_TAGGED_LOG,
35
+ POINT,
36
+ PROVIDED_SECRET,
37
+ SCALAR,
38
+ SLOT_NUMBER,
39
+ STR,
40
+ STRUCT,
41
+ U32,
42
+ U64,
43
+ U128,
44
+ tryFieldWidth,
45
+ isArrayMapping,
46
+ isBoundedVecMapping,
47
+ isEphemeralArrayMapping,
48
+ isFixedArrayMapping,
49
+ isFixedBoundedVecMapping,
50
+ isOptionMapping,
51
+ isStructMapping,
52
+ type ArrayMapping,
53
+ type BoundedVecMapping,
54
+ type CompositeMapping,
55
+ type EphemeralArrayMapping,
56
+ type FixedArrayMapping,
57
+ type FixedBoundedVecMapping,
58
+ type InputSlot,
59
+ type MaybePromise,
60
+ type OptionMapping,
61
+ type OutputSlot,
62
+ type SlotShape,
63
+ type StructField,
64
+ type StructMapping,
65
+ type TypeMapping,
66
+ } from './oracle/oracle_type_mappings.js';
1
67
  export { ExecutionNoteCache } from './execution_note_cache.js';
2
68
  export { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
3
69
  export { HashedValuesCache } from './hashed_values_cache.js';
4
70
  export { pickNotes } from './pick_notes.js';
5
- export type { NoteData, IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js';
6
- export { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
7
- export { MessageContextService } from '../messages/message_context_service.js';
71
+ export type { IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js';
72
+ export type { FactCollection } from './noir-structs/fact_collection.js';
73
+ export type { NoteData } from './noir-structs/note_data.js';
74
+ export type { ResolvedTaggingStrategy } from './noir-structs/resolved_tagging_strategy.js';
75
+ export type { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
76
+ export { TxResolverService } from '../messages/tx_resolver_service.js';
8
77
  export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
9
78
  export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
10
- export { Oracle } from './oracle/oracle.js';
79
+ export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
80
+ export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
11
81
  export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
12
82
  export { generateSimulatedProvingResult } from './contract_function_simulator.js';
13
83
  export { packAsHintedNote } from './oracle/note_packing_utils.js';
14
- export { UtilityContext } from './noir-structs/utility_context.js';
84
+ export { BoundedVec } from './noir-structs/bounded_vec.js';
85
+ export type { ContractClassLogData } from './noir-structs/contract_class_log_data.js';
86
+ export type { EmbeddedCurvePoint } from './noir-structs/embedded_curve_point.js';
87
+ export { EphemeralArray } from './noir-structs/ephemeral_array.js';
88
+ export { Option } from './noir-structs/option.js';
89
+ export type { UtilityContext } from './noir-structs/utility_context.js';
90
+ export { EventValidationRequest } from './noir-structs/event_validation_request.js';
91
+ export type { LogRetrievalRequest } from './noir-structs/log_retrieval_request.js';
92
+ export type { LogRetrievalResponse } from './noir-structs/log_retrieval_response.js';
93
+ export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
94
+ export type { PendingTaggedLog } from './noir-structs/pending_tagged_log.js';
95
+ export type { TxEffectData } from './noir-structs/tx_effect_data.js';
96
+ export type { ProvidedSecret } from './noir-structs/provided_secret.js';
97
+ export type { ResolvedTx } from './noir-structs/resolved_tx.js';
98
+ export { TransientArrayService } from './transient_array_service.js';