@aztec/pxe 0.0.1-commit.d431d1c → 0.0.1-commit.d58ff9d0

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