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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dest/bin/check_oracle_version.js +45 -111
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +51 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +254 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +23 -13
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +90 -28
  14. package/dest/config/index.d.ts +9 -2
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +14 -15
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +31 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +68 -0
  21. package/dest/contract/contract_sync_service.d.ts +48 -0
  22. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  23. package/dest/contract/contract_sync_service.js +116 -0
  24. package/dest/contract/helpers.d.ts +7 -0
  25. package/dest/contract/helpers.d.ts.map +1 -0
  26. package/dest/contract/helpers.js +20 -0
  27. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  28. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  30. package/dest/contract_function_simulator/contract_function_simulator.d.ts +72 -34
  31. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/contract_function_simulator.js +264 -92
  33. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  34. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  36. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  37. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  39. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  40. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
  42. package/dest/contract_function_simulator/index.d.ts +26 -5
  43. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/index.js +12 -3
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  47. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  55. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  57. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -4
  58. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +9 -10
  60. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  61. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  62. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  63. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  64. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  66. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  67. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
  72. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  73. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  74. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  75. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -5
  76. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  77. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -12
  78. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  79. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  80. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  81. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  82. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  84. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  87. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  88. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  90. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  91. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +43 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  97. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  99. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  100. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  101. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  102. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  103. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  104. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  105. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  106. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/index.js +1 -1
  108. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -98
  109. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  111. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  112. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  113. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +74 -0
  114. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  115. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  117. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  118. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  120. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +136 -0
  121. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/oracle/oracle_registry.js +989 -0
  123. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +222 -0
  124. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  126. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  127. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  128. package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
  129. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -96
  130. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +258 -114
  132. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +192 -81
  133. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +574 -182
  135. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  136. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/pick_notes.js +20 -3
  138. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  139. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  140. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  141. package/dest/contract_logging.d.ts +27 -0
  142. package/dest/contract_logging.d.ts.map +1 -0
  143. package/dest/contract_logging.js +38 -0
  144. package/dest/debug/pxe_debug_utils.d.ts +14 -15
  145. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  146. package/dest/debug/pxe_debug_utils.js +16 -21
  147. package/dest/entrypoints/client/bundle/index.d.ts +3 -1
  148. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/index.js +2 -0
  150. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  151. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/utils.js +28 -7
  153. package/dest/entrypoints/client/lazy/index.d.ts +3 -1
  154. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/index.js +2 -0
  156. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  157. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/utils.js +28 -7
  159. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  160. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  161. package/dest/entrypoints/pxe_creation_options.js +3 -1
  162. package/dest/entrypoints/server/index.d.ts +7 -3
  163. package/dest/entrypoints/server/index.d.ts.map +1 -1
  164. package/dest/entrypoints/server/index.js +5 -2
  165. package/dest/entrypoints/server/utils.d.ts +4 -3
  166. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  167. package/dest/entrypoints/server/utils.js +28 -6
  168. package/dest/error_enriching.d.ts +5 -3
  169. package/dest/error_enriching.d.ts.map +1 -1
  170. package/dest/error_enriching.js +13 -11
  171. package/dest/events/event_service.d.ts +15 -6
  172. package/dest/events/event_service.d.ts.map +1 -1
  173. package/dest/events/event_service.js +44 -11
  174. package/dest/events/private_event_filter_validator.d.ts +3 -2
  175. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  176. package/dest/events/private_event_filter_validator.js +15 -0
  177. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  178. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  179. package/dest/hooks/authorize_utility_call.js +4 -0
  180. package/dest/hooks/execution_hooks.d.ts +62 -0
  181. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  182. package/dest/hooks/execution_hooks.js +9 -0
  183. package/dest/hooks/index.d.ts +5 -0
  184. package/dest/hooks/index.d.ts.map +1 -0
  185. package/dest/hooks/index.js +1 -0
  186. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  187. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  188. package/dest/hooks/resolve_custom_request.js +3 -0
  189. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +48 -0
  190. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  191. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  192. package/dest/logs/log_service.d.ts +13 -11
  193. package/dest/logs/log_service.d.ts.map +1 -1
  194. package/dest/logs/log_service.js +189 -91
  195. package/dest/messages/tx_resolver_service.d.ts +17 -0
  196. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  197. package/dest/messages/tx_resolver_service.js +55 -0
  198. package/dest/notes/note_service.d.ts +27 -5
  199. package/dest/notes/note_service.d.ts.map +1 -1
  200. package/dest/notes/note_service.js +83 -58
  201. package/dest/notes_filter.d.ts +24 -0
  202. package/dest/notes_filter.d.ts.map +1 -0
  203. package/dest/notes_filter.js +4 -0
  204. package/dest/oracle_version.d.ts +4 -3
  205. package/dest/oracle_version.d.ts.map +1 -1
  206. package/dest/oracle_version.js +20 -10
  207. package/dest/private_kernel/batch_planner.d.ts +47 -0
  208. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  209. package/dest/private_kernel/batch_planner.js +104 -0
  210. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  211. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  212. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  213. package/dest/private_kernel/hints/index.d.ts +1 -1
  214. package/dest/private_kernel/hints/index.js +1 -1
  215. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  216. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  217. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +135 -70
  218. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  219. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  220. package/dest/private_kernel/hints/test_utils.js +202 -0
  221. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  222. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  223. package/dest/private_kernel/private_kernel_execution_prover.js +208 -86
  224. package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
  225. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  226. package/dest/private_kernel/private_kernel_oracle.js +47 -29
  227. package/dest/pxe.d.ts +228 -66
  228. package/dest/pxe.d.ts.map +1 -1
  229. package/dest/pxe.js +407 -227
  230. package/dest/storage/allowed_scopes.d.ts +6 -0
  231. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  232. package/dest/storage/allowed_scopes.js +7 -0
  233. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  234. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  235. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  236. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  237. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  238. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  239. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  240. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  241. package/dest/storage/backwards_compatibility_tests/schema_tests.js +647 -0
  242. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  243. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  244. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  245. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  246. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  247. package/dest/storage/capsule_store/capsule_service.js +47 -0
  248. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  249. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  250. package/dest/storage/capsule_store/capsule_store.js +36 -28
  251. package/dest/storage/capsule_store/index.d.ts +2 -1
  252. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  253. package/dest/storage/capsule_store/index.js +1 -0
  254. package/dest/storage/contract_store/contract_store.d.ts +63 -33
  255. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  256. package/dest/storage/contract_store/contract_store.js +182 -134
  257. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  258. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  259. package/dest/storage/fact_store/fact_service.js +45 -0
  260. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  261. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  262. package/dest/storage/fact_store/fact_store.js +408 -0
  263. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  264. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  265. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  266. package/dest/storage/fact_store/index.d.ts +6 -0
  267. package/dest/storage/fact_store/index.d.ts.map +1 -0
  268. package/dest/storage/fact_store/index.js +4 -0
  269. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  270. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  271. package/dest/storage/fact_store/origin_state.js +53 -0
  272. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  273. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  274. package/dest/storage/fact_store/stored_fact.js +64 -0
  275. package/dest/storage/index.d.ts +3 -2
  276. package/dest/storage/index.d.ts.map +1 -1
  277. package/dest/storage/index.js +2 -1
  278. package/dest/storage/metadata.d.ts +2 -2
  279. package/dest/storage/metadata.d.ts.map +1 -1
  280. package/dest/storage/metadata.js +1 -1
  281. package/dest/storage/note_store/note_store.d.ts +44 -35
  282. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  283. package/dest/storage/note_store/note_store.js +202 -171
  284. package/dest/storage/note_store/stored_note.d.ts +3 -8
  285. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  286. package/dest/storage/note_store/stored_note.js +4 -20
  287. package/dest/storage/open_pxe_stores.d.ts +35 -0
  288. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  289. package/dest/storage/open_pxe_stores.js +29 -0
  290. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  291. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  292. package/dest/storage/private_event_store/private_event_store.js +43 -43
  293. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  294. package/dest/storage/tagging_store/index.d.ts +2 -2
  295. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  296. package/dest/storage/tagging_store/index.js +1 -1
  297. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  298. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  299. package/dest/storage/tagging_store/sender_tagging_store.d.ts +29 -28
  300. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  301. package/dest/storage/tagging_store/sender_tagging_store.js +141 -115
  302. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  303. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  304. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  305. package/dest/tagging/constants.d.ts +2 -2
  306. package/dest/tagging/constants.d.ts.map +1 -1
  307. package/dest/tagging/constants.js +5 -8
  308. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  309. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  310. package/dest/tagging/get_all_logs_by_tags.js +45 -32
  311. package/dest/tagging/index.d.ts +6 -5
  312. package/dest/tagging/index.d.ts.map +1 -1
  313. package/dest/tagging/index.js +4 -3
  314. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  315. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  316. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  317. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  318. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  319. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  320. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  321. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  322. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  323. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  324. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  325. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  326. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -9
  327. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  328. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +32 -14
  329. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +13 -7
  330. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  331. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +41 -10
  332. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +5 -7
  333. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  334. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +37 -25
  335. package/package.json +29 -17
  336. package/src/bin/check_oracle_version.ts +51 -133
  337. package/src/bin/index.ts +5 -0
  338. package/src/bin/oracle_version_helpers.ts +311 -0
  339. package/src/block_synchronizer/block_stream_source.ts +42 -0
  340. package/src/block_synchronizer/block_synchronizer.ts +106 -37
  341. package/src/config/index.ts +16 -9
  342. package/src/config/package_info.ts +1 -1
  343. package/src/contract/contract_class_service.ts +83 -0
  344. package/src/contract/contract_sync_service.ts +176 -0
  345. package/src/contract/helpers.ts +35 -0
  346. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  347. package/src/contract_function_simulator/contract_function_simulator.ts +465 -156
  348. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  349. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  350. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  351. package/src/contract_function_simulator/index.ts +69 -4
  352. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  353. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  354. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  355. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  356. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
  357. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  358. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  359. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  360. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  361. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  362. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
  363. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  364. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  365. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  366. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  367. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +58 -0
  368. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  369. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  370. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  371. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  372. package/src/contract_function_simulator/oracle/index.ts +1 -15
  373. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  374. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +120 -0
  375. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  376. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  377. package/src/contract_function_simulator/oracle/oracle_registry.ts +689 -0
  378. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +964 -0
  379. package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
  380. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +314 -214
  381. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +882 -258
  382. package/src/contract_function_simulator/pick_notes.ts +22 -3
  383. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  384. package/src/contract_logging.ts +52 -0
  385. package/src/debug/pxe_debug_utils.ts +47 -25
  386. package/src/entrypoints/client/bundle/index.ts +2 -0
  387. package/src/entrypoints/client/bundle/utils.ts +28 -8
  388. package/src/entrypoints/client/lazy/index.ts +2 -0
  389. package/src/entrypoints/client/lazy/utils.ts +28 -8
  390. package/src/entrypoints/pxe_creation_options.ts +21 -1
  391. package/src/entrypoints/server/index.ts +7 -2
  392. package/src/entrypoints/server/utils.ts +31 -14
  393. package/src/error_enriching.ts +27 -11
  394. package/src/events/event_service.ts +69 -21
  395. package/src/events/private_event_filter_validator.ts +21 -1
  396. package/src/hooks/authorize_utility_call.ts +44 -0
  397. package/src/hooks/execution_hooks.ts +68 -0
  398. package/src/hooks/index.ts +12 -0
  399. package/src/hooks/resolve_custom_request.ts +24 -0
  400. package/src/hooks/resolve_tagging_secret_strategy.ts +57 -0
  401. package/src/logs/log_service.ts +227 -156
  402. package/src/messages/tx_resolver_service.ts +69 -0
  403. package/src/notes/note_service.ts +120 -85
  404. package/src/notes_filter.ts +24 -0
  405. package/src/oracle_version.ts +20 -10
  406. package/src/private_kernel/batch_planner.ts +168 -0
  407. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  408. package/src/private_kernel/hints/index.ts +1 -1
  409. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +176 -119
  410. package/src/private_kernel/hints/test_utils.ts +318 -0
  411. package/src/private_kernel/private_kernel_execution_prover.ts +341 -120
  412. package/src/private_kernel/private_kernel_oracle.ts +65 -36
  413. package/src/pxe.ts +699 -298
  414. package/src/storage/allowed_scopes.ts +14 -0
  415. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  416. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  417. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  418. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  419. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  420. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  421. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  422. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  423. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  424. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  425. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  426. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  427. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  428. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  429. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  430. package/src/storage/backwards_compatibility_tests/schema_tests.ts +774 -0
  431. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  432. package/src/storage/capsule_store/capsule_service.ts +85 -0
  433. package/src/storage/capsule_store/capsule_store.ts +44 -26
  434. package/src/storage/capsule_store/index.ts +1 -0
  435. package/src/storage/contract_store/contract_store.ts +240 -169
  436. package/src/storage/fact_store/fact_service.ts +69 -0
  437. package/src/storage/fact_store/fact_store.ts +487 -0
  438. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  439. package/src/storage/fact_store/index.ts +14 -0
  440. package/src/storage/fact_store/origin_state.ts +75 -0
  441. package/src/storage/fact_store/stored_fact.ts +80 -0
  442. package/src/storage/index.ts +2 -1
  443. package/src/storage/metadata.ts +1 -1
  444. package/src/storage/note_store/note_store.ts +234 -191
  445. package/src/storage/note_store/stored_note.ts +5 -27
  446. package/src/storage/open_pxe_stores.ts +52 -0
  447. package/src/storage/private_event_store/private_event_store.ts +52 -54
  448. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  449. package/src/storage/tagging_store/index.ts +1 -1
  450. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
  451. package/src/storage/tagging_store/sender_tagging_store.ts +185 -138
  452. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  453. package/src/tagging/constants.ts +6 -8
  454. package/src/tagging/get_all_logs_by_tags.ts +87 -35
  455. package/src/tagging/index.ts +5 -4
  456. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  457. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  458. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
  459. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  460. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +52 -17
  461. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -14
  462. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +27 -27
  463. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
  464. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  465. package/dest/contract_function_simulator/oracle/oracle.js +0 -356
  466. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  467. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  468. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  469. package/dest/contract_sync/index.d.ts +0 -23
  470. package/dest/contract_sync/index.d.ts.map +0 -1
  471. package/dest/contract_sync/index.js +0 -54
  472. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  473. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  474. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  475. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  476. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  477. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
  478. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  479. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  480. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
  481. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  482. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
  483. package/src/contract_function_simulator/oracle/oracle.ts +0 -630
  484. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  485. package/src/contract_sync/index.ts +0 -98
  486. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  487. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
  488. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
@@ -1,630 +0,0 @@
1
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { Point } from '@aztec/foundation/curves/grumpkin';
4
- import {
5
- type ACIRCallback,
6
- type ACVMField,
7
- arrayOfArraysToBoundedVecOfArrays,
8
- bufferToBoundedVec,
9
- fromUintArray,
10
- fromUintBoundedVec,
11
- toACVMField,
12
- } from '@aztec/simulator/client';
13
- import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
14
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
15
- import { BlockHash } from '@aztec/stdlib/block';
16
- import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
17
-
18
- import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
19
- import { packAsHintedNote } from './note_packing_utils.js';
20
-
21
- export class UnavailableOracleError extends Error {
22
- constructor(oracleName: string) {
23
- super(`${oracleName} oracles not available with the current handler`);
24
- }
25
- }
26
-
27
- /**
28
- * A data source that has all the apis required by Aztec.nr.
29
- */
30
- export class Oracle {
31
- constructor(private handler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle) {}
32
-
33
- private handlerAsMisc(): IMiscOracle {
34
- if (!('isMisc' in this.handler)) {
35
- throw new UnavailableOracleError('Misc');
36
- }
37
-
38
- return this.handler;
39
- }
40
-
41
- private handlerAsUtility(): IUtilityExecutionOracle {
42
- if (!('isUtility' in this.handler)) {
43
- throw new UnavailableOracleError('Utility');
44
- }
45
-
46
- return this.handler;
47
- }
48
-
49
- private handlerAsPrivate(): IPrivateExecutionOracle {
50
- if (!('isPrivate' in this.handler)) {
51
- throw new UnavailableOracleError('Private');
52
- }
53
-
54
- return this.handler;
55
- }
56
-
57
- toACIRCallback(): ACIRCallback {
58
- const excludedProps = [
59
- 'handler',
60
- 'constructor',
61
- 'toACIRCallback',
62
- 'handlerAsMisc',
63
- 'handlerAsUtility',
64
- 'handlerAsPrivate',
65
- ] as const;
66
-
67
- // Get all the oracle function names
68
- const oracleNames = Object.getOwnPropertyNames(Oracle.prototype).filter(
69
- name => !excludedProps.includes(name as (typeof excludedProps)[number]),
70
- );
71
-
72
- // Validate oracle names - these must be prefixed with either "private" or "utility" to indicate their scope
73
- // and must correspond to a function on the Oracle class.
74
- oracleNames.forEach(name => {
75
- if (!name.startsWith('private') && !name.startsWith('utility')) {
76
- throw new Error(
77
- `Oracle function "${name}" must be prefixed with either "private" or "utility" to indicate its scope`,
78
- );
79
- }
80
-
81
- const method = this[name as keyof Omit<Oracle, (typeof excludedProps)[number]>];
82
- if (typeof method !== 'function') {
83
- throw new Error(`Oracle property "${name}" must be a function`);
84
- }
85
- });
86
-
87
- // Build callback object and return it
88
- return oracleNames.reduce((acc, name) => {
89
- const method = this[name as keyof Omit<Oracle, (typeof excludedProps)[number]>];
90
- acc[name] = method.bind(this);
91
- return acc;
92
- }, {} as ACIRCallback);
93
- }
94
-
95
- utilityAssertCompatibleOracleVersion([version]: ACVMField[]) {
96
- this.handlerAsMisc().utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
97
- return Promise.resolve([]);
98
- }
99
-
100
- utilityGetRandomField(): Promise<ACVMField[]> {
101
- const val = this.handlerAsMisc().utilityGetRandomField();
102
- return Promise.resolve([toACVMField(val)]);
103
- }
104
-
105
- privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
106
- this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
107
- return Promise.resolve([]);
108
- }
109
-
110
- async privateLoadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[][]> {
111
- const values = await this.handlerAsPrivate().privateLoadFromExecutionCache(Fr.fromString(returnsHash));
112
- return [values.map(toACVMField)];
113
- }
114
-
115
- utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
116
- const context = this.handlerAsUtility().utilityGetUtilityContext();
117
- return Promise.resolve(context.toNoirRepresentation());
118
- }
119
-
120
- async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
121
- const keyValidationRequest = await this.handlerAsUtility().utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
122
-
123
- return keyValidationRequest.toFields().map(toACVMField);
124
- }
125
-
126
- async utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]> {
127
- const instance = await this.handlerAsUtility().utilityGetContractInstance(
128
- AztecAddress.fromField(Fr.fromString(address)),
129
- );
130
-
131
- return [
132
- instance.salt,
133
- instance.deployer,
134
- instance.currentContractClassId,
135
- instance.initializationHash,
136
- ...instance.publicKeys.toFields(),
137
- ].map(toACVMField);
138
- }
139
-
140
- async utilityGetNoteHashMembershipWitness(
141
- [anchorBlockHash]: ACVMField[],
142
- [noteHash]: ACVMField[],
143
- ): Promise<(ACVMField | ACVMField[])[]> {
144
- const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
145
- const parsedNoteHash = Fr.fromString(noteHash);
146
-
147
- const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(
148
- parsedAnchorBlockHash,
149
- parsedNoteHash,
150
- );
151
- if (!witness) {
152
- throw new Error(
153
- `Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`,
154
- );
155
- }
156
- return witness.toNoirRepresentation();
157
- }
158
-
159
- async utilityGetBlockHashMembershipWitness(
160
- [anchorBlockHash]: ACVMField[],
161
- [blockHash]: ACVMField[],
162
- ): Promise<(ACVMField | ACVMField[])[]> {
163
- const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
164
- const parsedBlockHash = BlockHash.fromString(blockHash);
165
-
166
- const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(
167
- parsedAnchorBlockHash,
168
- parsedBlockHash,
169
- );
170
- if (!witness) {
171
- throw new Error(
172
- `Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`,
173
- );
174
- }
175
- return witness.toNoirRepresentation();
176
- }
177
-
178
- async utilityGetNullifierMembershipWitness(
179
- [blockHash]: ACVMField[],
180
- [nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
181
- ): Promise<(ACVMField | ACVMField[])[]> {
182
- const parsedBlockHash = BlockHash.fromString(blockHash);
183
- const parsedNullifier = Fr.fromString(nullifier);
184
-
185
- const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
186
- parsedBlockHash,
187
- parsedNullifier,
188
- );
189
- if (!witness) {
190
- throw new Error(
191
- `Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
192
- );
193
- }
194
- return witness.toNoirRepresentation();
195
- }
196
-
197
- async utilityGetLowNullifierMembershipWitness(
198
- [blockHash]: ACVMField[],
199
- [nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
200
- ): Promise<(ACVMField | ACVMField[])[]> {
201
- const parsedBlockHash = BlockHash.fromString(blockHash);
202
- const parsedNullifier = Fr.fromString(nullifier);
203
-
204
- const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
205
- parsedBlockHash,
206
- parsedNullifier,
207
- );
208
- if (!witness) {
209
- throw new Error(
210
- `Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
211
- );
212
- }
213
- return witness.toNoirRepresentation();
214
- }
215
-
216
- async utilityGetPublicDataWitness(
217
- [blockHash]: ACVMField[],
218
- [leafSlot]: ACVMField[],
219
- ): Promise<(ACVMField | ACVMField[])[]> {
220
- const parsedBlockHash = BlockHash.fromString(blockHash);
221
- const parsedLeafSlot = Fr.fromString(leafSlot);
222
-
223
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
224
- if (!witness) {
225
- throw new Error(
226
- `Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
227
- );
228
- }
229
- return witness.toNoirRepresentation();
230
- }
231
-
232
- async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
233
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
234
-
235
- const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
236
- if (!header) {
237
- throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
238
- }
239
- return header.toFields().map(toACVMField);
240
- }
241
-
242
- async utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]> {
243
- const messageHashField = Fr.fromString(messageHash);
244
- const witness = await this.handlerAsUtility().utilityGetAuthWitness(messageHashField);
245
- if (!witness) {
246
- throw new Error(`Unknown auth witness for message hash ${messageHashField}`);
247
- }
248
- return [witness.map(toACVMField)];
249
- }
250
-
251
- async utilityGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]> {
252
- const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
253
- const { publicKeys, partialAddress } =
254
- await this.handlerAsUtility().utilityGetPublicKeysAndPartialAddress(parsedAddress);
255
-
256
- return [[...publicKeys.toFields(), partialAddress].map(toACVMField)];
257
- }
258
-
259
- async utilityGetNotes(
260
- [ownerSome]: ACVMField[],
261
- [ownerValue]: ACVMField[],
262
- [storageSlot]: ACVMField[],
263
- [numSelects]: ACVMField[],
264
- selectByIndexes: ACVMField[],
265
- selectByOffsets: ACVMField[],
266
- selectByLengths: ACVMField[],
267
- selectValues: ACVMField[],
268
- selectComparators: ACVMField[],
269
- sortByIndexes: ACVMField[],
270
- sortByOffsets: ACVMField[],
271
- sortByLengths: ACVMField[],
272
- sortOrder: ACVMField[],
273
- [limit]: ACVMField[],
274
- [offset]: ACVMField[],
275
- [status]: ACVMField[],
276
- [maxNotes]: ACVMField[],
277
- [packedHintedNoteLength]: ACVMField[],
278
- ): Promise<(ACVMField | ACVMField[])[]> {
279
- // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
280
- const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
281
- const noteDatas = await this.handlerAsUtility().utilityGetNotes(
282
- owner,
283
- Fr.fromString(storageSlot),
284
- +numSelects,
285
- selectByIndexes.map(s => +s),
286
- selectByOffsets.map(s => +s),
287
- selectByLengths.map(s => +s),
288
- selectValues.map(Fr.fromString),
289
- selectComparators.map(s => +s),
290
- sortByIndexes.map(s => +s),
291
- sortByOffsets.map(s => +s),
292
- sortByLengths.map(s => +s),
293
- sortOrder.map(s => +s),
294
- +limit,
295
- +offset,
296
- +status,
297
- );
298
-
299
- const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
300
- packAsHintedNote({
301
- contractAddress: noteData.contractAddress,
302
- owner: noteData.owner,
303
- randomness: noteData.randomness,
304
- storageSlot: noteData.storageSlot,
305
- noteNonce: noteData.noteNonce,
306
- isPending: noteData.isPending,
307
- note: noteData.note,
308
- }),
309
- );
310
-
311
- // Now we convert each sub-array to an array of ACVMField
312
- const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
313
- subArray.map(toACVMField),
314
- );
315
-
316
- // At last we convert the array of arrays to a bounded vec of arrays
317
- return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
318
- }
319
-
320
- privateNotifyCreatedNote(
321
- [owner]: ACVMField[],
322
- [storageSlot]: ACVMField[],
323
- [randomness]: ACVMField[],
324
- [noteTypeId]: ACVMField[],
325
- note: ACVMField[],
326
- [noteHash]: ACVMField[],
327
- [counter]: ACVMField[],
328
- ): Promise<ACVMField[]> {
329
- this.handlerAsPrivate().privateNotifyCreatedNote(
330
- AztecAddress.fromString(owner),
331
- Fr.fromString(storageSlot),
332
- Fr.fromString(randomness),
333
- NoteSelector.fromField(Fr.fromString(noteTypeId)),
334
- note.map(Fr.fromString),
335
- Fr.fromString(noteHash),
336
- +counter,
337
- );
338
- return Promise.resolve([]);
339
- }
340
-
341
- async privateNotifyNullifiedNote(
342
- [innerNullifier]: ACVMField[],
343
- [noteHash]: ACVMField[],
344
- [counter]: ACVMField[],
345
- ): Promise<ACVMField[]> {
346
- await this.handlerAsPrivate().privateNotifyNullifiedNote(
347
- Fr.fromString(innerNullifier),
348
- Fr.fromString(noteHash),
349
- +counter,
350
- );
351
- return [];
352
- }
353
-
354
- async privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
355
- await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
356
- return [];
357
- }
358
-
359
- async privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]> {
360
- const isPending = await this.handlerAsPrivate().privateIsNullifierPending(
361
- Fr.fromString(innerNullifier),
362
- AztecAddress.fromString(contractAddress),
363
- );
364
- return [toACVMField(isPending)];
365
- }
366
-
367
- async utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
368
- const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
369
- return [toACVMField(exists)];
370
- }
371
-
372
- async utilityGetL1ToL2MembershipWitness(
373
- [contractAddress]: ACVMField[],
374
- [messageHash]: ACVMField[],
375
- [secret]: ACVMField[],
376
- ): Promise<(ACVMField | ACVMField[])[]> {
377
- const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(
378
- AztecAddress.fromString(contractAddress),
379
- Fr.fromString(messageHash),
380
- Fr.fromString(secret),
381
- );
382
- return message.toNoirRepresentation();
383
- }
384
-
385
- async utilityStorageRead(
386
- [blockHash]: ACVMField[],
387
- [contractAddress]: ACVMField[],
388
- [startStorageSlot]: ACVMField[],
389
- [numberOfElements]: ACVMField[],
390
- ): Promise<ACVMField[][]> {
391
- const values = await this.handlerAsUtility().utilityStorageRead(
392
- BlockHash.fromString(blockHash),
393
- new AztecAddress(Fr.fromString(contractAddress)),
394
- Fr.fromString(startStorageSlot),
395
- +numberOfElements,
396
- );
397
- return [values.map(toACVMField)];
398
- }
399
-
400
- privateNotifyCreatedContractClassLog(
401
- [contractAddress]: ACVMField[],
402
- message: ACVMField[],
403
- [length]: ACVMField[],
404
- [counter]: ACVMField[],
405
- ): Promise<ACVMField[]> {
406
- const logFields = new ContractClassLogFields(message.map(Fr.fromString));
407
- const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
408
-
409
- this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
410
- return Promise.resolve([]);
411
- }
412
-
413
- utilityDebugLog(
414
- level: ACVMField[],
415
- message: ACVMField[],
416
- _ignoredFieldsSize: ACVMField[],
417
- fields: ACVMField[],
418
- ): Promise<ACVMField[]> {
419
- const levelFr = Fr.fromString(level[0]);
420
- const messageStr = message.map(acvmField => String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
421
- const fieldsFr = fields.map(Fr.fromString);
422
- this.handlerAsMisc().utilityDebugLog(levelFr.toNumber(), messageStr, fieldsFr);
423
- return Promise.resolve([]);
424
- }
425
-
426
- // This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
427
- // change the name here.
428
- async privateCallPrivateFunction(
429
- [contractAddress]: ACVMField[],
430
- [functionSelector]: ACVMField[],
431
- [argsHash]: ACVMField[],
432
- [sideEffectCounter]: ACVMField[],
433
- [isStaticCall]: ACVMField[],
434
- ): Promise<ACVMField[][]> {
435
- const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(
436
- AztecAddress.fromField(Fr.fromString(contractAddress)),
437
- FunctionSelector.fromField(Fr.fromString(functionSelector)),
438
- Fr.fromString(argsHash),
439
- Fr.fromString(sideEffectCounter).toNumber(),
440
- Fr.fromString(isStaticCall).toBool(),
441
- );
442
- return [[endSideEffectCounter, returnsHash].map(toACVMField)];
443
- }
444
-
445
- async privateNotifyEnqueuedPublicFunctionCall(
446
- [contractAddress]: ACVMField[],
447
- [calldataHash]: ACVMField[],
448
- [sideEffectCounter]: ACVMField[],
449
- [isStaticCall]: ACVMField[],
450
- ): Promise<ACVMField[]> {
451
- await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(
452
- AztecAddress.fromString(contractAddress),
453
- Fr.fromString(calldataHash),
454
- Fr.fromString(sideEffectCounter).toNumber(),
455
- Fr.fromString(isStaticCall).toBool(),
456
- );
457
- return [];
458
- }
459
-
460
- async privateNotifySetPublicTeardownFunctionCall(
461
- [contractAddress]: ACVMField[],
462
- [calldataHash]: ACVMField[],
463
- [sideEffectCounter]: ACVMField[],
464
- [isStaticCall]: ACVMField[],
465
- ): Promise<ACVMField[]> {
466
- await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(
467
- AztecAddress.fromString(contractAddress),
468
- Fr.fromString(calldataHash),
469
- Fr.fromString(sideEffectCounter).toNumber(),
470
- Fr.fromString(isStaticCall).toBool(),
471
- );
472
- return [];
473
- }
474
-
475
- async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<
476
- ACVMField[]
477
- > {
478
- await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(
479
- Fr.fromString(minRevertibleSideEffectCounter).toNumber(),
480
- );
481
- return Promise.resolve([]);
482
- }
483
-
484
- async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
485
- const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
486
- Fr.fromString(sideEffectCounter).toNumber(),
487
- );
488
- return Promise.resolve([toACVMField(isRevertible)]);
489
- }
490
-
491
- async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
492
- const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
493
- AztecAddress.fromString(sender),
494
- AztecAddress.fromString(recipient),
495
- );
496
- return [toACVMField(tag.value)];
497
- }
498
-
499
- async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]> {
500
- await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
501
- return [];
502
- }
503
-
504
- async utilityValidateAndStoreEnqueuedNotesAndEvents(
505
- [contractAddress]: ACVMField[],
506
- [noteValidationRequestsArrayBaseSlot]: ACVMField[],
507
- [eventValidationRequestsArrayBaseSlot]: ACVMField[],
508
- ): Promise<ACVMField[]> {
509
- await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(
510
- AztecAddress.fromString(contractAddress),
511
- Fr.fromString(noteValidationRequestsArrayBaseSlot),
512
- Fr.fromString(eventValidationRequestsArrayBaseSlot),
513
- );
514
-
515
- return [];
516
- }
517
-
518
- async utilityBulkRetrieveLogs(
519
- [contractAddress]: ACVMField[],
520
- [logRetrievalRequestsArrayBaseSlot]: ACVMField[],
521
- [logRetrievalResponsesArrayBaseSlot]: ACVMField[],
522
- ): Promise<ACVMField[]> {
523
- await this.handlerAsUtility().utilityBulkRetrieveLogs(
524
- AztecAddress.fromString(contractAddress),
525
- Fr.fromString(logRetrievalRequestsArrayBaseSlot),
526
- Fr.fromString(logRetrievalResponsesArrayBaseSlot),
527
- );
528
- return [];
529
- }
530
-
531
- async utilityStoreCapsule(
532
- [contractAddress]: ACVMField[],
533
- [slot]: ACVMField[],
534
- capsule: ACVMField[],
535
- ): Promise<ACVMField[]> {
536
- await this.handlerAsUtility().utilityStoreCapsule(
537
- AztecAddress.fromField(Fr.fromString(contractAddress)),
538
- Fr.fromString(slot),
539
- capsule.map(Fr.fromString),
540
- );
541
- return [];
542
- }
543
-
544
- async utilityLoadCapsule(
545
- [contractAddress]: ACVMField[],
546
- [slot]: ACVMField[],
547
- [tSize]: ACVMField[],
548
- ): Promise<(ACVMField | ACVMField[])[]> {
549
- const values = await this.handlerAsUtility().utilityLoadCapsule(
550
- AztecAddress.fromField(Fr.fromString(contractAddress)),
551
- Fr.fromString(slot),
552
- );
553
-
554
- // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
555
- // with two fields: `some` (a boolean) and `value` (a field array in this case).
556
- if (values === null) {
557
- // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
558
- return [toACVMField(0), Array(Fr.fromString(tSize).toNumber()).fill(toACVMField(0))];
559
- } else {
560
- // Data was found so we set `some` to 1 and return it along with `value`.
561
- return [toACVMField(1), values.map(toACVMField)];
562
- }
563
- }
564
-
565
- async utilityDeleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]> {
566
- await this.handlerAsUtility().utilityDeleteCapsule(
567
- AztecAddress.fromField(Fr.fromString(contractAddress)),
568
- Fr.fromString(slot),
569
- );
570
- return [];
571
- }
572
-
573
- async utilityCopyCapsule(
574
- [contractAddress]: ACVMField[],
575
- [srcSlot]: ACVMField[],
576
- [dstSlot]: ACVMField[],
577
- [numEntries]: ACVMField[],
578
- ): Promise<ACVMField[]> {
579
- await this.handlerAsUtility().utilityCopyCapsule(
580
- AztecAddress.fromField(Fr.fromString(contractAddress)),
581
- Fr.fromString(srcSlot),
582
- Fr.fromString(dstSlot),
583
- Fr.fromString(numEntries).toNumber(),
584
- );
585
- return [];
586
- }
587
-
588
- async utilityAes128Decrypt(
589
- ciphertextBVecStorage: ACVMField[],
590
- [ciphertextLength]: ACVMField[],
591
- iv: ACVMField[],
592
- symKey: ACVMField[],
593
- ): Promise<(ACVMField | ACVMField[])[]> {
594
- const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
595
- const ivBuffer = fromUintArray(iv, 8);
596
- const symKeyBuffer = fromUintArray(symKey, 8);
597
-
598
- const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
599
- return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
600
- }
601
-
602
- async utilityGetSharedSecret(
603
- [address]: ACVMField[],
604
- [ephPKField0]: ACVMField[],
605
- [ephPKField1]: ACVMField[],
606
- [ephPKField2]: ACVMField[],
607
- ): Promise<ACVMField[]> {
608
- const secret = await this.handlerAsUtility().utilityGetSharedSecret(
609
- AztecAddress.fromField(Fr.fromString(address)),
610
- Point.fromFields([ephPKField0, ephPKField1, ephPKField2].map(Fr.fromString)),
611
- );
612
- return secret.toFields().map(toACVMField);
613
- }
614
-
615
- async utilityEmitOffchainEffect(data: ACVMField[]) {
616
- await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
617
- return [];
618
- }
619
-
620
- async privateGetSenderForTags(): Promise<ACVMField[]> {
621
- const sender = await this.handlerAsPrivate().privateGetSenderForTags();
622
- // Return [1, address] for Some(address), [0, 0] for None
623
- return sender ? [toACVMField(1n), toACVMField(sender)] : [toACVMField(0n), toACVMField(0n)];
624
- }
625
-
626
- async privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]> {
627
- await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
628
- return [];
629
- }
630
- }