@aztec/pxe 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928

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 (544) hide show
  1. package/dest/bin/check_oracle_version.js +41 -112
  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 +22 -16
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +71 -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 +24 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +36 -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 +119 -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/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/contract_function_simulator.d.ts +72 -43
  34. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/contract_function_simulator.js +266 -114
  36. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  37. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  38. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  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 +10 -29
  42. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  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 +19 -15
  45. package/dest/contract_function_simulator/index.d.ts +26 -5
  46. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/index.js +11 -3
  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 -4
  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 +9 -10
  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 +19 -10
  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 +11 -9
  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 +2 -63
  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 -5
  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 +8 -12
  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 -98
  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 +7 -6
  132. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -98
  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 +263 -117
  135. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +206 -83
  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 +688 -188
  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 +20 -3
  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/contract_logging.d.ts +27 -0
  145. package/dest/contract_logging.d.ts.map +1 -0
  146. package/dest/contract_logging.js +38 -0
  147. package/dest/debug/pxe_debug_utils.d.ts +5 -9
  148. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  149. package/dest/debug/pxe_debug_utils.js +4 -10
  150. package/dest/entrypoints/client/bundle/index.d.ts +4 -1
  151. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/index.js +3 -0
  153. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  154. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  155. package/dest/entrypoints/client/bundle/utils.js +29 -8
  156. package/dest/entrypoints/client/lazy/index.d.ts +4 -1
  157. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/index.js +3 -0
  159. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  160. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  161. package/dest/entrypoints/client/lazy/utils.js +29 -8
  162. package/dest/entrypoints/client/store.d.ts +14 -0
  163. package/dest/entrypoints/client/store.d.ts.map +1 -0
  164. package/dest/entrypoints/client/store.js +42 -0
  165. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  166. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  167. package/dest/entrypoints/pxe_creation_options.js +3 -1
  168. package/dest/entrypoints/server/index.d.ts +8 -3
  169. package/dest/entrypoints/server/index.d.ts.map +1 -1
  170. package/dest/entrypoints/server/index.js +6 -2
  171. package/dest/entrypoints/server/store.d.ts +18 -0
  172. package/dest/entrypoints/server/store.d.ts.map +1 -0
  173. package/dest/entrypoints/server/store.js +28 -0
  174. package/dest/entrypoints/server/utils.d.ts +4 -3
  175. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  176. package/dest/entrypoints/server/utils.js +30 -8
  177. package/dest/error_enriching.d.ts +5 -3
  178. package/dest/error_enriching.d.ts.map +1 -1
  179. package/dest/error_enriching.js +15 -12
  180. package/dest/events/event_service.d.ts +21 -5
  181. package/dest/events/event_service.d.ts.map +1 -1
  182. package/dest/events/event_service.js +51 -17
  183. package/dest/events/private_event_filter_validator.d.ts +3 -2
  184. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  185. package/dest/events/private_event_filter_validator.js +15 -0
  186. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  187. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  188. package/dest/hooks/authorize_utility_call.js +4 -0
  189. package/dest/hooks/execution_hooks.d.ts +62 -0
  190. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  191. package/dest/hooks/execution_hooks.js +9 -0
  192. package/dest/hooks/index.d.ts +5 -0
  193. package/dest/hooks/index.d.ts.map +1 -0
  194. package/dest/hooks/index.js +2 -0
  195. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  196. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  197. package/dest/hooks/resolve_custom_request.js +3 -0
  198. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  199. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  200. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  201. package/dest/logs/log_service.d.ts +21 -10
  202. package/dest/logs/log_service.d.ts.map +1 -1
  203. package/dest/logs/log_service.js +184 -90
  204. package/dest/messages/tx_resolver_service.d.ts +28 -0
  205. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  206. package/dest/messages/tx_resolver_service.js +62 -0
  207. package/dest/node/benchmarked_node.d.ts +20 -0
  208. package/dest/node/benchmarked_node.d.ts.map +1 -0
  209. package/dest/node/benchmarked_node.js +94 -0
  210. package/dest/node/caching_aztec_node.d.ts +24 -0
  211. package/dest/node/caching_aztec_node.d.ts.map +1 -0
  212. package/dest/node/caching_aztec_node.js +268 -0
  213. package/dest/notes/note_service.d.ts +34 -6
  214. package/dest/notes/note_service.d.ts.map +1 -1
  215. package/dest/notes/note_service.js +85 -59
  216. package/dest/notes_filter.d.ts +24 -0
  217. package/dest/notes_filter.d.ts.map +1 -0
  218. package/dest/notes_filter.js +4 -0
  219. package/dest/oracle_version.d.ts +4 -3
  220. package/dest/oracle_version.d.ts.map +1 -1
  221. package/dest/oracle_version.js +20 -10
  222. package/dest/private_kernel/batch_planner.d.ts +47 -0
  223. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  224. package/dest/private_kernel/batch_planner.js +104 -0
  225. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  226. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  227. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  228. package/dest/private_kernel/hints/index.d.ts +1 -1
  229. package/dest/private_kernel/hints/index.js +1 -1
  230. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  231. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  232. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +138 -72
  233. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  234. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  235. package/dest/private_kernel/hints/test_utils.js +202 -0
  236. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  237. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  238. package/dest/private_kernel/private_kernel_execution_prover.js +165 -82
  239. package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
  240. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  241. package/dest/private_kernel/private_kernel_oracle.js +47 -29
  242. package/dest/pxe.d.ts +219 -68
  243. package/dest/pxe.d.ts.map +1 -1
  244. package/dest/pxe.js +423 -243
  245. package/dest/storage/address_store/address_store.d.ts +1 -1
  246. package/dest/storage/address_store/address_store.d.ts.map +1 -1
  247. package/dest/storage/address_store/address_store.js +2 -1
  248. package/dest/storage/allowed_scopes.d.ts +6 -0
  249. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  250. package/dest/storage/allowed_scopes.js +7 -0
  251. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  252. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  253. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  254. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  255. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  256. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  257. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  258. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  259. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  260. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  261. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  262. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  263. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  264. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  265. package/dest/storage/capsule_store/capsule_service.js +47 -0
  266. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  267. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  268. package/dest/storage/capsule_store/capsule_store.js +37 -29
  269. package/dest/storage/capsule_store/index.d.ts +2 -1
  270. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  271. package/dest/storage/capsule_store/index.js +1 -0
  272. package/dest/storage/contract_store/contract_store.d.ts +63 -33
  273. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  274. package/dest/storage/contract_store/contract_store.js +179 -130
  275. package/dest/storage/contract_store/private_functions_tree.d.ts +1 -1
  276. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -1
  277. package/dest/storage/contract_store/private_functions_tree.js +2 -1
  278. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  279. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  280. package/dest/storage/fact_store/fact_service.js +45 -0
  281. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  282. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  283. package/dest/storage/fact_store/fact_store.js +411 -0
  284. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  285. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  286. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  287. package/dest/storage/fact_store/index.d.ts +6 -0
  288. package/dest/storage/fact_store/index.d.ts.map +1 -0
  289. package/dest/storage/fact_store/index.js +4 -0
  290. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  291. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  292. package/dest/storage/fact_store/origin_state.js +60 -0
  293. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  294. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  295. package/dest/storage/fact_store/stored_fact.js +64 -0
  296. package/dest/storage/index.d.ts +3 -2
  297. package/dest/storage/index.d.ts.map +1 -1
  298. package/dest/storage/index.js +2 -1
  299. package/dest/storage/metadata.d.ts +2 -2
  300. package/dest/storage/metadata.d.ts.map +1 -1
  301. package/dest/storage/metadata.js +1 -1
  302. package/dest/storage/note_store/note_store.d.ts +44 -35
  303. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  304. package/dest/storage/note_store/note_store.js +203 -174
  305. package/dest/storage/note_store/stored_note.d.ts +3 -8
  306. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  307. package/dest/storage/note_store/stored_note.js +4 -20
  308. package/dest/storage/open_pxe_stores.d.ts +35 -0
  309. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  310. package/dest/storage/open_pxe_stores.js +29 -0
  311. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  312. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  313. package/dest/storage/private_event_store/private_event_store.js +48 -45
  314. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  315. package/dest/storage/store_identity.d.ts +35 -0
  316. package/dest/storage/store_identity.d.ts.map +1 -0
  317. package/dest/storage/store_identity.js +44 -0
  318. package/dest/storage/tagging_store/index.d.ts +2 -2
  319. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  320. package/dest/storage/tagging_store/index.js +1 -1
  321. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  322. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  323. package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
  324. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  325. package/dest/storage/tagging_store/sender_tagging_store.js +210 -129
  326. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  327. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  328. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  329. package/dest/tagging/constants.d.ts +11 -2
  330. package/dest/tagging/constants.d.ts.map +1 -1
  331. package/dest/tagging/constants.js +38 -10
  332. package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
  333. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  334. package/dest/tagging/get_all_logs_by_tags.js +65 -32
  335. package/dest/tagging/index.d.ts +8 -7
  336. package/dest/tagging/index.d.ts.map +1 -1
  337. package/dest/tagging/index.js +6 -5
  338. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  339. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  340. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  341. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
  342. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  343. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +235 -0
  344. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  345. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  346. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  347. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  348. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  349. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  350. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +8 -10
  351. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  352. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -22
  353. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
  354. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
  355. package/dest/tagging/sender_sync/utils/classify_pending_txs.js +62 -0
  356. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -9
  357. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  358. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +53 -39
  359. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
  360. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
  361. package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +42 -0
  362. package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
  363. package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
  364. package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
  365. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  366. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  367. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  368. package/package.json +20 -17
  369. package/src/bin/check_oracle_version.ts +46 -135
  370. package/src/bin/index.ts +1 -0
  371. package/src/bin/oracle_version_helpers.ts +54 -0
  372. package/src/block_synchronizer/block_stream_source.ts +42 -0
  373. package/src/block_synchronizer/block_synchronizer.ts +86 -40
  374. package/src/config/index.ts +16 -9
  375. package/src/config/package_info.ts +1 -1
  376. package/src/contract/contract_class_service.ts +45 -0
  377. package/src/contract/contract_sync_service.ts +179 -0
  378. package/src/contract/helpers.ts +35 -0
  379. package/src/contract/skip_sync_contracts.ts +23 -0
  380. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  381. package/src/contract_function_simulator/contract_function_simulator.ts +468 -180
  382. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  383. package/src/contract_function_simulator/execution_note_cache.ts +10 -30
  384. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  385. package/src/contract_function_simulator/index.ts +89 -4
  386. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  387. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  388. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  389. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  390. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
  391. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  392. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  393. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  394. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  395. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  396. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
  397. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  398. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  399. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  400. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  401. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  402. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  403. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  404. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  405. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  406. package/src/contract_function_simulator/oracle/index.ts +1 -15
  407. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  408. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  409. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  410. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  411. package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
  412. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
  413. package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
  414. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +320 -210
  415. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1028 -268
  416. package/src/contract_function_simulator/pick_notes.ts +22 -3
  417. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  418. package/src/contract_logging.ts +52 -0
  419. package/src/debug/pxe_debug_utils.ts +11 -17
  420. package/src/entrypoints/client/bundle/index.ts +3 -0
  421. package/src/entrypoints/client/bundle/utils.ts +35 -9
  422. package/src/entrypoints/client/lazy/index.ts +3 -0
  423. package/src/entrypoints/client/lazy/utils.ts +35 -9
  424. package/src/entrypoints/client/store.ts +54 -0
  425. package/src/entrypoints/pxe_creation_options.ts +21 -1
  426. package/src/entrypoints/server/index.ts +8 -2
  427. package/src/entrypoints/server/store.ts +47 -0
  428. package/src/entrypoints/server/utils.ts +46 -21
  429. package/src/error_enriching.ts +30 -13
  430. package/src/events/event_service.ts +85 -26
  431. package/src/events/private_event_filter_validator.ts +21 -1
  432. package/src/hooks/authorize_utility_call.ts +44 -0
  433. package/src/hooks/execution_hooks.ts +68 -0
  434. package/src/hooks/index.ts +13 -0
  435. package/src/hooks/resolve_custom_request.ts +24 -0
  436. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  437. package/src/logs/log_service.ts +231 -157
  438. package/src/messages/tx_resolver_service.ts +81 -0
  439. package/src/node/benchmarked_node.ts +140 -0
  440. package/src/node/caching_aztec_node.ts +407 -0
  441. package/src/notes/note_service.ts +128 -86
  442. package/src/notes_filter.ts +24 -0
  443. package/src/oracle_version.ts +20 -10
  444. package/src/private_kernel/batch_planner.ts +169 -0
  445. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  446. package/src/private_kernel/hints/index.ts +1 -1
  447. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +179 -121
  448. package/src/private_kernel/hints/test_utils.ts +318 -0
  449. package/src/private_kernel/private_kernel_execution_prover.ts +252 -116
  450. package/src/private_kernel/private_kernel_oracle.ts +65 -36
  451. package/src/pxe.ts +698 -311
  452. package/src/storage/address_store/address_store.ts +2 -1
  453. package/src/storage/allowed_scopes.ts +14 -0
  454. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  455. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  456. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  457. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  458. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  459. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  460. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  461. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  462. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  463. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  464. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  465. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  466. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  467. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  468. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  469. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  470. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  471. package/src/storage/capsule_store/capsule_service.ts +85 -0
  472. package/src/storage/capsule_store/capsule_store.ts +45 -27
  473. package/src/storage/capsule_store/index.ts +1 -0
  474. package/src/storage/contract_store/contract_store.ts +238 -166
  475. package/src/storage/contract_store/private_functions_tree.ts +2 -1
  476. package/src/storage/fact_store/fact_service.ts +69 -0
  477. package/src/storage/fact_store/fact_store.ts +488 -0
  478. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  479. package/src/storage/fact_store/index.ts +15 -0
  480. package/src/storage/fact_store/origin_state.ts +84 -0
  481. package/src/storage/fact_store/stored_fact.ts +80 -0
  482. package/src/storage/index.ts +2 -1
  483. package/src/storage/metadata.ts +1 -1
  484. package/src/storage/note_store/note_store.ts +236 -194
  485. package/src/storage/note_store/stored_note.ts +5 -27
  486. package/src/storage/open_pxe_stores.ts +52 -0
  487. package/src/storage/private_event_store/private_event_store.ts +55 -56
  488. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  489. package/src/storage/store_identity.ts +72 -0
  490. package/src/storage/tagging_store/index.ts +1 -1
  491. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
  492. package/src/storage/tagging_store/sender_tagging_store.ts +278 -158
  493. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  494. package/src/tagging/constants.ts +42 -10
  495. package/src/tagging/get_all_logs_by_tags.ts +125 -36
  496. package/src/tagging/index.ts +12 -6
  497. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  498. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +356 -0
  499. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
  500. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  501. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -27
  502. package/src/tagging/sender_sync/utils/classify_pending_txs.ts +92 -0
  503. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +57 -50
  504. package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +65 -0
  505. package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
  506. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  507. package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
  508. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
  509. package/dest/contract_function_simulator/benchmarked_node.js +0 -77
  510. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
  511. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  512. package/dest/contract_function_simulator/oracle/oracle.js +0 -368
  513. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  514. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  515. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  516. package/dest/contract_sync/contract_sync_service.d.ts +0 -41
  517. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  518. package/dest/contract_sync/contract_sync_service.js +0 -82
  519. package/dest/contract_sync/helpers.d.ts +0 -28
  520. package/dest/contract_sync/helpers.d.ts.map +0 -1
  521. package/dest/contract_sync/helpers.js +0 -55
  522. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  523. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  524. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  525. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  526. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  527. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
  528. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  529. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  530. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
  531. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  532. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
  533. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
  534. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  535. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
  536. package/src/contract_function_simulator/benchmarked_node.ts +0 -103
  537. package/src/contract_function_simulator/oracle/oracle.ts +0 -637
  538. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  539. package/src/contract_sync/contract_sync_service.ts +0 -129
  540. package/src/contract_sync/helpers.ts +0 -93
  541. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  542. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
  543. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
  544. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
@@ -1,637 +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 utilityTryGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]> {
252
- const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
253
- const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(parsedAddress);
254
-
255
- // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
256
- // with two fields: `some` (a boolean) and `value` (a field array in this case).
257
- if (result === undefined) {
258
- // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
259
- return [toACVMField(0), Array(13).fill(toACVMField(0))];
260
- } else {
261
- // Data was found so we set `some` to 1 and return it along with `value`.
262
- return [toACVMField(1), [...result.publicKeys.toFields(), result.partialAddress].map(toACVMField)];
263
- }
264
- }
265
-
266
- async utilityGetNotes(
267
- [ownerSome]: ACVMField[],
268
- [ownerValue]: ACVMField[],
269
- [storageSlot]: ACVMField[],
270
- [numSelects]: ACVMField[],
271
- selectByIndexes: ACVMField[],
272
- selectByOffsets: ACVMField[],
273
- selectByLengths: ACVMField[],
274
- selectValues: ACVMField[],
275
- selectComparators: ACVMField[],
276
- sortByIndexes: ACVMField[],
277
- sortByOffsets: ACVMField[],
278
- sortByLengths: ACVMField[],
279
- sortOrder: ACVMField[],
280
- [limit]: ACVMField[],
281
- [offset]: ACVMField[],
282
- [status]: ACVMField[],
283
- [maxNotes]: ACVMField[],
284
- [packedHintedNoteLength]: ACVMField[],
285
- ): Promise<(ACVMField | ACVMField[])[]> {
286
- // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
287
- const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
288
- const noteDatas = await this.handlerAsUtility().utilityGetNotes(
289
- owner,
290
- Fr.fromString(storageSlot),
291
- +numSelects,
292
- selectByIndexes.map(s => +s),
293
- selectByOffsets.map(s => +s),
294
- selectByLengths.map(s => +s),
295
- selectValues.map(Fr.fromString),
296
- selectComparators.map(s => +s),
297
- sortByIndexes.map(s => +s),
298
- sortByOffsets.map(s => +s),
299
- sortByLengths.map(s => +s),
300
- sortOrder.map(s => +s),
301
- +limit,
302
- +offset,
303
- +status,
304
- );
305
-
306
- const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
307
- packAsHintedNote({
308
- contractAddress: noteData.contractAddress,
309
- owner: noteData.owner,
310
- randomness: noteData.randomness,
311
- storageSlot: noteData.storageSlot,
312
- noteNonce: noteData.noteNonce,
313
- isPending: noteData.isPending,
314
- note: noteData.note,
315
- }),
316
- );
317
-
318
- // Now we convert each sub-array to an array of ACVMField
319
- const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
320
- subArray.map(toACVMField),
321
- );
322
-
323
- // At last we convert the array of arrays to a bounded vec of arrays
324
- return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
325
- }
326
-
327
- privateNotifyCreatedNote(
328
- [owner]: ACVMField[],
329
- [storageSlot]: ACVMField[],
330
- [randomness]: ACVMField[],
331
- [noteTypeId]: ACVMField[],
332
- note: ACVMField[],
333
- [noteHash]: ACVMField[],
334
- [counter]: ACVMField[],
335
- ): Promise<ACVMField[]> {
336
- this.handlerAsPrivate().privateNotifyCreatedNote(
337
- AztecAddress.fromString(owner),
338
- Fr.fromString(storageSlot),
339
- Fr.fromString(randomness),
340
- NoteSelector.fromField(Fr.fromString(noteTypeId)),
341
- note.map(Fr.fromString),
342
- Fr.fromString(noteHash),
343
- +counter,
344
- );
345
- return Promise.resolve([]);
346
- }
347
-
348
- async privateNotifyNullifiedNote(
349
- [innerNullifier]: ACVMField[],
350
- [noteHash]: ACVMField[],
351
- [counter]: ACVMField[],
352
- ): Promise<ACVMField[]> {
353
- await this.handlerAsPrivate().privateNotifyNullifiedNote(
354
- Fr.fromString(innerNullifier),
355
- Fr.fromString(noteHash),
356
- +counter,
357
- );
358
- return [];
359
- }
360
-
361
- async privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
362
- await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
363
- return [];
364
- }
365
-
366
- async privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]> {
367
- const isPending = await this.handlerAsPrivate().privateIsNullifierPending(
368
- Fr.fromString(innerNullifier),
369
- AztecAddress.fromString(contractAddress),
370
- );
371
- return [toACVMField(isPending)];
372
- }
373
-
374
- async utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
375
- const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
376
- return [toACVMField(exists)];
377
- }
378
-
379
- async utilityGetL1ToL2MembershipWitness(
380
- [contractAddress]: ACVMField[],
381
- [messageHash]: ACVMField[],
382
- [secret]: ACVMField[],
383
- ): Promise<(ACVMField | ACVMField[])[]> {
384
- const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(
385
- AztecAddress.fromString(contractAddress),
386
- Fr.fromString(messageHash),
387
- Fr.fromString(secret),
388
- );
389
- return message.toNoirRepresentation();
390
- }
391
-
392
- async utilityStorageRead(
393
- [blockHash]: ACVMField[],
394
- [contractAddress]: ACVMField[],
395
- [startStorageSlot]: ACVMField[],
396
- [numberOfElements]: ACVMField[],
397
- ): Promise<ACVMField[][]> {
398
- const values = await this.handlerAsUtility().utilityStorageRead(
399
- BlockHash.fromString(blockHash),
400
- new AztecAddress(Fr.fromString(contractAddress)),
401
- Fr.fromString(startStorageSlot),
402
- +numberOfElements,
403
- );
404
- return [values.map(toACVMField)];
405
- }
406
-
407
- privateNotifyCreatedContractClassLog(
408
- [contractAddress]: ACVMField[],
409
- message: ACVMField[],
410
- [length]: ACVMField[],
411
- [counter]: ACVMField[],
412
- ): Promise<ACVMField[]> {
413
- const logFields = new ContractClassLogFields(message.map(Fr.fromString));
414
- const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
415
-
416
- this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
417
- return Promise.resolve([]);
418
- }
419
-
420
- async utilityDebugLog(
421
- level: ACVMField[],
422
- message: ACVMField[],
423
- _ignoredFieldsSize: ACVMField[],
424
- fields: ACVMField[],
425
- ): Promise<ACVMField[]> {
426
- const levelFr = Fr.fromString(level[0]);
427
- const messageStr = message.map(acvmField => String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
428
- const fieldsFr = fields.map(Fr.fromString);
429
- await this.handlerAsMisc().utilityDebugLog(levelFr.toNumber(), messageStr, fieldsFr);
430
- return [];
431
- }
432
-
433
- // This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
434
- // change the name here.
435
- async privateCallPrivateFunction(
436
- [contractAddress]: ACVMField[],
437
- [functionSelector]: ACVMField[],
438
- [argsHash]: ACVMField[],
439
- [sideEffectCounter]: ACVMField[],
440
- [isStaticCall]: ACVMField[],
441
- ): Promise<ACVMField[][]> {
442
- const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(
443
- AztecAddress.fromField(Fr.fromString(contractAddress)),
444
- FunctionSelector.fromField(Fr.fromString(functionSelector)),
445
- Fr.fromString(argsHash),
446
- Fr.fromString(sideEffectCounter).toNumber(),
447
- Fr.fromString(isStaticCall).toBool(),
448
- );
449
- return [[endSideEffectCounter, returnsHash].map(toACVMField)];
450
- }
451
-
452
- async privateNotifyEnqueuedPublicFunctionCall(
453
- [contractAddress]: ACVMField[],
454
- [calldataHash]: ACVMField[],
455
- [sideEffectCounter]: ACVMField[],
456
- [isStaticCall]: ACVMField[],
457
- ): Promise<ACVMField[]> {
458
- await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(
459
- AztecAddress.fromString(contractAddress),
460
- Fr.fromString(calldataHash),
461
- Fr.fromString(sideEffectCounter).toNumber(),
462
- Fr.fromString(isStaticCall).toBool(),
463
- );
464
- return [];
465
- }
466
-
467
- async privateNotifySetPublicTeardownFunctionCall(
468
- [contractAddress]: ACVMField[],
469
- [calldataHash]: ACVMField[],
470
- [sideEffectCounter]: ACVMField[],
471
- [isStaticCall]: ACVMField[],
472
- ): Promise<ACVMField[]> {
473
- await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(
474
- AztecAddress.fromString(contractAddress),
475
- Fr.fromString(calldataHash),
476
- Fr.fromString(sideEffectCounter).toNumber(),
477
- Fr.fromString(isStaticCall).toBool(),
478
- );
479
- return [];
480
- }
481
-
482
- async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<
483
- ACVMField[]
484
- > {
485
- await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(
486
- Fr.fromString(minRevertibleSideEffectCounter).toNumber(),
487
- );
488
- return Promise.resolve([]);
489
- }
490
-
491
- async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
492
- const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
493
- Fr.fromString(sideEffectCounter).toNumber(),
494
- );
495
- return Promise.resolve([toACVMField(isRevertible)]);
496
- }
497
-
498
- async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
499
- const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
500
- AztecAddress.fromString(sender),
501
- AztecAddress.fromString(recipient),
502
- );
503
- return [toACVMField(tag.value)];
504
- }
505
-
506
- async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]> {
507
- await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
508
- return [];
509
- }
510
-
511
- async utilityValidateAndStoreEnqueuedNotesAndEvents(
512
- [contractAddress]: ACVMField[],
513
- [noteValidationRequestsArrayBaseSlot]: ACVMField[],
514
- [eventValidationRequestsArrayBaseSlot]: ACVMField[],
515
- ): Promise<ACVMField[]> {
516
- await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(
517
- AztecAddress.fromString(contractAddress),
518
- Fr.fromString(noteValidationRequestsArrayBaseSlot),
519
- Fr.fromString(eventValidationRequestsArrayBaseSlot),
520
- );
521
-
522
- return [];
523
- }
524
-
525
- async utilityBulkRetrieveLogs(
526
- [contractAddress]: ACVMField[],
527
- [logRetrievalRequestsArrayBaseSlot]: ACVMField[],
528
- [logRetrievalResponsesArrayBaseSlot]: ACVMField[],
529
- ): Promise<ACVMField[]> {
530
- await this.handlerAsUtility().utilityBulkRetrieveLogs(
531
- AztecAddress.fromString(contractAddress),
532
- Fr.fromString(logRetrievalRequestsArrayBaseSlot),
533
- Fr.fromString(logRetrievalResponsesArrayBaseSlot),
534
- );
535
- return [];
536
- }
537
-
538
- async utilityStoreCapsule(
539
- [contractAddress]: ACVMField[],
540
- [slot]: ACVMField[],
541
- capsule: ACVMField[],
542
- ): Promise<ACVMField[]> {
543
- await this.handlerAsUtility().utilityStoreCapsule(
544
- AztecAddress.fromField(Fr.fromString(contractAddress)),
545
- Fr.fromString(slot),
546
- capsule.map(Fr.fromString),
547
- );
548
- return [];
549
- }
550
-
551
- async utilityLoadCapsule(
552
- [contractAddress]: ACVMField[],
553
- [slot]: ACVMField[],
554
- [tSize]: ACVMField[],
555
- ): Promise<(ACVMField | ACVMField[])[]> {
556
- const values = await this.handlerAsUtility().utilityLoadCapsule(
557
- AztecAddress.fromField(Fr.fromString(contractAddress)),
558
- Fr.fromString(slot),
559
- );
560
-
561
- // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
562
- // with two fields: `some` (a boolean) and `value` (a field array in this case).
563
- if (values === null) {
564
- // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
565
- return [toACVMField(0), Array(Fr.fromString(tSize).toNumber()).fill(toACVMField(0))];
566
- } else {
567
- // Data was found so we set `some` to 1 and return it along with `value`.
568
- return [toACVMField(1), values.map(toACVMField)];
569
- }
570
- }
571
-
572
- async utilityDeleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]> {
573
- await this.handlerAsUtility().utilityDeleteCapsule(
574
- AztecAddress.fromField(Fr.fromString(contractAddress)),
575
- Fr.fromString(slot),
576
- );
577
- return [];
578
- }
579
-
580
- async utilityCopyCapsule(
581
- [contractAddress]: ACVMField[],
582
- [srcSlot]: ACVMField[],
583
- [dstSlot]: ACVMField[],
584
- [numEntries]: ACVMField[],
585
- ): Promise<ACVMField[]> {
586
- await this.handlerAsUtility().utilityCopyCapsule(
587
- AztecAddress.fromField(Fr.fromString(contractAddress)),
588
- Fr.fromString(srcSlot),
589
- Fr.fromString(dstSlot),
590
- Fr.fromString(numEntries).toNumber(),
591
- );
592
- return [];
593
- }
594
-
595
- async utilityAes128Decrypt(
596
- ciphertextBVecStorage: ACVMField[],
597
- [ciphertextLength]: ACVMField[],
598
- iv: ACVMField[],
599
- symKey: ACVMField[],
600
- ): Promise<(ACVMField | ACVMField[])[]> {
601
- const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
602
- const ivBuffer = fromUintArray(iv, 8);
603
- const symKeyBuffer = fromUintArray(symKey, 8);
604
-
605
- const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
606
- return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
607
- }
608
-
609
- async utilityGetSharedSecret(
610
- [address]: ACVMField[],
611
- [ephPKField0]: ACVMField[],
612
- [ephPKField1]: ACVMField[],
613
- [ephPKField2]: ACVMField[],
614
- ): Promise<ACVMField[]> {
615
- const secret = await this.handlerAsUtility().utilityGetSharedSecret(
616
- AztecAddress.fromField(Fr.fromString(address)),
617
- Point.fromFields([ephPKField0, ephPKField1, ephPKField2].map(Fr.fromString)),
618
- );
619
- return secret.toFields().map(toACVMField);
620
- }
621
-
622
- async utilityEmitOffchainEffect(data: ACVMField[]) {
623
- await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
624
- return [];
625
- }
626
-
627
- async privateGetSenderForTags(): Promise<ACVMField[]> {
628
- const sender = await this.handlerAsPrivate().privateGetSenderForTags();
629
- // Return [1, address] for Some(address), [0, 0] for None
630
- return sender ? [toACVMField(1n), toACVMField(sender)] : [toACVMField(0n), toACVMField(0n)];
631
- }
632
-
633
- async privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]> {
634
- await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
635
- return [];
636
- }
637
- }