@aztec/pxe 5.0.0-private.20260319 → 5.0.0-rc.2

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 (453) hide show
  1. package/dest/bin/check_oracle_version.js +45 -111
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +51 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +254 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +20 -14
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +78 -28
  14. package/dest/config/index.d.ts +8 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +13 -14
  17. package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -19
  18. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/contract_function_simulator.js +57 -32
  20. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  21. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  22. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  23. package/dest/contract_function_simulator/execution_note_cache.d.ts +2 -2
  24. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  26. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  28. package/dest/contract_function_simulator/index.d.ts +24 -6
  29. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/index.js +11 -4
  31. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  32. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  33. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  34. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  35. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  36. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  37. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  38. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  39. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  40. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  41. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  42. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  43. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -5
  44. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +7 -9
  46. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  47. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  48. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  49. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  50. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  51. package/dest/contract_function_simulator/noir-structs/fact_collection.js +29 -0
  52. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  53. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  55. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +5 -9
  56. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  57. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -61
  58. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  59. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  60. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  61. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -5
  62. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -10
  64. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  65. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  66. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  67. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  68. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  69. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  70. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  71. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  73. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +21 -0
  74. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  75. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +33 -0
  76. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  77. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  78. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  79. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  80. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  81. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  82. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  83. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  84. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  85. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +16 -0
  86. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  87. package/dest/contract_function_simulator/oracle/acir_callback.js +71 -0
  88. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  89. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  90. package/dest/contract_function_simulator/oracle/index.js +1 -1
  91. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -103
  92. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  93. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  94. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  95. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  96. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  97. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  98. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  99. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  100. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +135 -0
  101. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  102. package/dest/contract_function_simulator/oracle/oracle_registry.js +976 -0
  103. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +183 -0
  104. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  105. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1222 -0
  106. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  107. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  108. package/dest/contract_function_simulator/oracle/private_execution.js +3 -4
  109. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +44 -42
  110. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  111. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +147 -59
  112. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +143 -71
  113. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  114. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +485 -187
  115. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  116. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  117. package/dest/contract_function_simulator/pick_notes.js +20 -3
  118. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
  119. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  120. package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -64
  121. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  122. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  123. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  124. package/dest/contract_logging.d.ts +9 -4
  125. package/dest/contract_logging.d.ts.map +1 -1
  126. package/dest/contract_logging.js +21 -6
  127. package/dest/contract_sync/contract_sync_service.d.ts +11 -9
  128. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
  129. package/dest/contract_sync/contract_sync_service.js +73 -51
  130. package/dest/contract_sync/helpers.d.ts +8 -9
  131. package/dest/contract_sync/helpers.d.ts.map +1 -1
  132. package/dest/contract_sync/helpers.js +23 -30
  133. package/dest/debug/pxe_debug_utils.d.ts +3 -8
  134. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  135. package/dest/debug/pxe_debug_utils.js +0 -6
  136. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  137. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  138. package/dest/entrypoints/client/bundle/index.js +0 -1
  139. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  140. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  141. package/dest/entrypoints/client/bundle/utils.js +18 -5
  142. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  143. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  144. package/dest/entrypoints/client/lazy/index.js +0 -1
  145. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  146. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  147. package/dest/entrypoints/client/lazy/utils.js +18 -5
  148. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  149. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  150. package/dest/entrypoints/pxe_creation_options.js +3 -1
  151. package/dest/entrypoints/server/index.d.ts +2 -3
  152. package/dest/entrypoints/server/index.d.ts.map +1 -1
  153. package/dest/entrypoints/server/index.js +1 -2
  154. package/dest/entrypoints/server/utils.d.ts +4 -3
  155. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  156. package/dest/entrypoints/server/utils.js +20 -6
  157. package/dest/error_enriching.js +1 -1
  158. package/dest/events/event_service.d.ts +15 -6
  159. package/dest/events/event_service.d.ts.map +1 -1
  160. package/dest/events/event_service.js +44 -11
  161. package/dest/events/private_event_filter_validator.d.ts +3 -2
  162. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  163. package/dest/events/private_event_filter_validator.js +15 -0
  164. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  165. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  166. package/dest/hooks/authorize_utility_call.js +4 -0
  167. package/dest/hooks/execution_hooks.d.ts +51 -0
  168. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  169. package/dest/hooks/execution_hooks.js +9 -0
  170. package/dest/hooks/index.d.ts +4 -0
  171. package/dest/hooks/index.d.ts.map +1 -0
  172. package/dest/hooks/index.js +1 -0
  173. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +41 -0
  174. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  175. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  176. package/dest/logs/log_service.d.ts +12 -12
  177. package/dest/logs/log_service.d.ts.map +1 -1
  178. package/dest/logs/log_service.js +169 -81
  179. package/dest/messages/tx_resolver_service.d.ts +17 -0
  180. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  181. package/dest/messages/tx_resolver_service.js +55 -0
  182. package/dest/notes/note_service.d.ts +27 -6
  183. package/dest/notes/note_service.d.ts.map +1 -1
  184. package/dest/notes/note_service.js +80 -56
  185. package/dest/notes_filter.d.ts +2 -3
  186. package/dest/notes_filter.d.ts.map +1 -1
  187. package/dest/oracle_version.d.ts +4 -3
  188. package/dest/oracle_version.d.ts.map +1 -1
  189. package/dest/oracle_version.js +20 -10
  190. package/dest/private_kernel/batch_planner.d.ts +47 -0
  191. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  192. package/dest/private_kernel/batch_planner.js +104 -0
  193. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +1 -1
  194. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  195. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  196. package/dest/private_kernel/hints/test_utils.js +3 -4
  197. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  198. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  199. package/dest/private_kernel/private_kernel_execution_prover.js +152 -59
  200. package/dest/private_kernel/private_kernel_oracle.d.ts +10 -10
  201. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  202. package/dest/private_kernel/private_kernel_oracle.js +24 -22
  203. package/dest/pxe.d.ts +104 -27
  204. package/dest/pxe.d.ts.map +1 -1
  205. package/dest/pxe.js +229 -130
  206. package/dest/storage/allowed_scopes.d.ts +6 -0
  207. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  208. package/dest/storage/allowed_scopes.js +7 -0
  209. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  210. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  211. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  212. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  213. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  214. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  215. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  216. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  217. package/dest/storage/backwards_compatibility_tests/schema_tests.js +647 -0
  218. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  219. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  220. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  221. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  222. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  223. package/dest/storage/capsule_store/capsule_service.js +47 -0
  224. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  225. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  226. package/dest/storage/capsule_store/capsule_store.js +36 -28
  227. package/dest/storage/capsule_store/index.d.ts +2 -1
  228. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  229. package/dest/storage/capsule_store/index.js +1 -0
  230. package/dest/storage/contract_store/contract_store.d.ts +1 -1
  231. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  232. package/dest/storage/contract_store/contract_store.js +11 -28
  233. package/dest/storage/fact_store/fact_service.d.ts +20 -0
  234. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  235. package/dest/storage/fact_store/fact_service.js +30 -0
  236. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  237. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  238. package/dest/storage/fact_store/fact_store.js +408 -0
  239. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  240. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  241. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  242. package/dest/storage/fact_store/index.d.ts +5 -0
  243. package/dest/storage/fact_store/index.d.ts.map +1 -0
  244. package/dest/storage/fact_store/index.js +3 -0
  245. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  246. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  247. package/dest/storage/fact_store/stored_fact.js +64 -0
  248. package/dest/storage/index.d.ts +3 -2
  249. package/dest/storage/index.d.ts.map +1 -1
  250. package/dest/storage/index.js +2 -1
  251. package/dest/storage/metadata.d.ts +1 -1
  252. package/dest/storage/metadata.js +1 -1
  253. package/dest/storage/note_store/note_store.d.ts +42 -33
  254. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  255. package/dest/storage/note_store/note_store.js +199 -170
  256. package/dest/storage/note_store/stored_note.d.ts +3 -8
  257. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  258. package/dest/storage/note_store/stored_note.js +4 -20
  259. package/dest/storage/open_pxe_stores.d.ts +35 -0
  260. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  261. package/dest/storage/open_pxe_stores.js +29 -0
  262. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  263. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  264. package/dest/storage/private_event_store/private_event_store.js +43 -43
  265. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  266. package/dest/storage/tagging_store/index.d.ts +2 -2
  267. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  268. package/dest/storage/tagging_store/index.js +1 -1
  269. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  270. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  271. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  272. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  273. package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
  274. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +40 -0
  275. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  276. package/dest/storage/tagging_store/tagging_secret_sources_store.js +92 -0
  277. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  278. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  279. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  280. package/dest/tagging/index.d.ts +5 -4
  281. package/dest/tagging/index.d.ts.map +1 -1
  282. package/dest/tagging/index.js +4 -3
  283. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  284. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  285. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  286. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  287. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  288. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  289. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  290. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  291. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  292. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  293. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  294. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  295. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  296. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  297. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  298. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  299. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  300. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  301. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  302. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +2 -2
  303. package/package.json +20 -17
  304. package/src/bin/check_oracle_version.ts +51 -133
  305. package/src/bin/index.ts +5 -0
  306. package/src/bin/oracle_version_helpers.ts +311 -0
  307. package/src/block_synchronizer/block_stream_source.ts +42 -0
  308. package/src/block_synchronizer/block_synchronizer.ts +93 -38
  309. package/src/config/index.ts +15 -8
  310. package/src/contract_function_simulator/contract_function_simulator.ts +86 -48
  311. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  312. package/src/contract_function_simulator/execution_note_cache.ts +1 -1
  313. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  314. package/src/contract_function_simulator/index.ts +63 -5
  315. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  316. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  317. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  318. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  319. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -7
  320. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  321. package/src/contract_function_simulator/noir-structs/fact_collection.ts +59 -0
  322. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  323. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +8 -61
  324. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  325. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -8
  326. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  327. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  328. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  329. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +45 -0
  330. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  331. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  332. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  333. package/src/contract_function_simulator/oracle/acir_callback.ts +108 -0
  334. package/src/contract_function_simulator/oracle/index.ts +1 -15
  335. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  336. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  337. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  338. package/src/contract_function_simulator/oracle/oracle_registry.ts +681 -0
  339. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +947 -0
  340. package/src/contract_function_simulator/oracle/private_execution.ts +3 -4
  341. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +182 -79
  342. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +743 -295
  343. package/src/contract_function_simulator/pick_notes.ts +22 -3
  344. package/src/contract_function_simulator/proxied_contract_data_source.ts +41 -64
  345. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  346. package/src/contract_logging.ts +18 -5
  347. package/src/contract_sync/contract_sync_service.ts +101 -87
  348. package/src/contract_sync/helpers.ts +24 -43
  349. package/src/debug/pxe_debug_utils.ts +3 -11
  350. package/src/entrypoints/client/bundle/index.ts +0 -1
  351. package/src/entrypoints/client/bundle/utils.ts +17 -5
  352. package/src/entrypoints/client/lazy/index.ts +0 -1
  353. package/src/entrypoints/client/lazy/utils.ts +17 -5
  354. package/src/entrypoints/pxe_creation_options.ts +21 -1
  355. package/src/entrypoints/server/index.ts +1 -2
  356. package/src/entrypoints/server/utils.ts +24 -7
  357. package/src/error_enriching.ts +1 -1
  358. package/src/events/event_service.ts +69 -21
  359. package/src/events/private_event_filter_validator.ts +21 -1
  360. package/src/hooks/authorize_utility_call.ts +44 -0
  361. package/src/hooks/execution_hooks.ts +57 -0
  362. package/src/hooks/index.ts +11 -0
  363. package/src/hooks/resolve_tagging_secret_strategy.ts +46 -0
  364. package/src/logs/log_service.ts +204 -146
  365. package/src/messages/tx_resolver_service.ts +69 -0
  366. package/src/notes/note_service.ts +119 -85
  367. package/src/notes_filter.ts +1 -3
  368. package/src/oracle_version.ts +20 -10
  369. package/src/private_kernel/batch_planner.ts +169 -0
  370. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +1 -1
  371. package/src/private_kernel/hints/test_utils.ts +3 -10
  372. package/src/private_kernel/private_kernel_execution_prover.ts +240 -82
  373. package/src/private_kernel/private_kernel_oracle.ts +35 -25
  374. package/src/pxe.ts +369 -138
  375. package/src/storage/allowed_scopes.ts +14 -0
  376. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  377. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  378. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  379. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  380. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  381. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  382. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  383. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  384. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  385. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  386. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  387. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  388. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  389. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  390. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  391. package/src/storage/backwards_compatibility_tests/schema_tests.ts +769 -0
  392. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  393. package/src/storage/capsule_store/capsule_service.ts +85 -0
  394. package/src/storage/capsule_store/capsule_store.ts +44 -26
  395. package/src/storage/capsule_store/index.ts +1 -0
  396. package/src/storage/contract_store/contract_store.ts +16 -37
  397. package/src/storage/fact_store/fact_service.ts +45 -0
  398. package/src/storage/fact_store/fact_store.ts +487 -0
  399. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  400. package/src/storage/fact_store/index.ts +4 -0
  401. package/src/storage/fact_store/stored_fact.ts +80 -0
  402. package/src/storage/index.ts +2 -1
  403. package/src/storage/metadata.ts +1 -1
  404. package/src/storage/note_store/note_store.ts +228 -192
  405. package/src/storage/note_store/stored_note.ts +5 -27
  406. package/src/storage/open_pxe_stores.ts +52 -0
  407. package/src/storage/private_event_store/private_event_store.ts +52 -54
  408. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  409. package/src/storage/tagging_store/index.ts +1 -1
  410. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  411. package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
  412. package/src/storage/tagging_store/tagging_secret_sources_store.ts +117 -0
  413. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  414. package/src/tagging/index.ts +4 -3
  415. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  416. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  417. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  418. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  419. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  420. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  421. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
  422. package/dest/access_scopes.d.ts +0 -9
  423. package/dest/access_scopes.d.ts.map +0 -1
  424. package/dest/access_scopes.js +0 -6
  425. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts +0 -16
  426. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts.map +0 -1
  427. package/dest/contract_function_simulator/noir-structs/message_tx_context.js +0 -57
  428. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  429. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  430. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -42
  431. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -61
  432. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  433. package/dest/contract_function_simulator/oracle/oracle.js +0 -437
  434. package/dest/messages/message_context_service.d.ts +0 -17
  435. package/dest/messages/message_context_service.d.ts.map +0 -1
  436. package/dest/messages/message_context_service.js +0 -36
  437. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  438. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  439. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  440. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  441. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  442. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  443. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  444. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  445. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  446. package/src/access_scopes.ts +0 -9
  447. package/src/contract_function_simulator/noir-structs/message_tx_context.ts +0 -55
  448. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -135
  449. package/src/contract_function_simulator/oracle/oracle.ts +0 -675
  450. package/src/messages/message_context_service.ts +0 -45
  451. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  452. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  453. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -0,0 +1,108 @@
1
+ import type { ACIRCallback, ACVMField } from '@aztec/simulator/client';
2
+
3
+ import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
4
+ import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
5
+ import { ORACLE_REGISTRY } from './oracle_registry.js';
6
+
7
+ export class UnavailableOracleError extends Error {
8
+ constructor(oracleName: string) {
9
+ super(`${oracleName} oracles not available with the current handler`);
10
+ }
11
+ }
12
+
13
+ /**
14
+ * Builds an ACIR callback from the oracle registry and a handler object.
15
+ *
16
+ * Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
17
+ * `aztec_{scope}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown oracle
18
+ * names produce enhanced error messages based on the contract's oracle version.
19
+ */
20
+ export function buildACIRCallback(handler: OracleHandler): ACIRCallback {
21
+ const target = {} as ACIRCallback;
22
+ for (const [oracleKey, entry] of Object.entries(ORACLE_REGISTRY)) {
23
+ const match = oracleKey.match(/^aztec_(\w+?)_(.+)$/);
24
+ if (!match) {
25
+ throw new Error(`Oracle "${oracleKey}" does not follow the aztec_{scope}_{method} convention`);
26
+ }
27
+ const [, scope, methodName] = match;
28
+ target[oracleKey] = async (...inputs: ACVMField[][]) => {
29
+ assertHandlerSupportsScope(handler, scope);
30
+ const named = entry.deserializeParams(inputs);
31
+ const positional = named.map(p => p.value);
32
+ const result = await (handler as any)[methodName](...positional);
33
+ return entry.serializeReturn(result);
34
+ };
35
+ }
36
+
37
+ return new Proxy(target, {
38
+ get(obj, prop: string) {
39
+ if (prop in obj) {
40
+ return (obj as Record<string, unknown>)[prop];
41
+ }
42
+
43
+ return () => {
44
+ let contractVersion = undefined;
45
+ if ('nonOracleFunctionGetContractOracleVersion' in handler) {
46
+ contractVersion = (
47
+ handler as unknown as NonOracleFunctionGetContractOracleVersion
48
+ ).nonOracleFunctionGetContractOracleVersion();
49
+ }
50
+ if (!contractVersion) {
51
+ throw new Error(
52
+ `Oracle '${prop}' not found and the contract's oracle version is unknown (the version check oracle ` +
53
+ `was not called before '${prop}'). This usually means the contract was not compiled with the ` +
54
+ `#[aztec] macro, which injects the version check as the first oracle call in every private/utility ` +
55
+ `external function. If you're using a custom entry point, ensure assert_compatible_oracle_version() ` +
56
+ `is called before any other oracle calls. See https://docs.aztec.network/errors/8`,
57
+ );
58
+ } else if (contractVersion.minor > ORACLE_VERSION_MINOR) {
59
+ throw new Error(
60
+ `Oracle '${prop}' not found.` +
61
+ ` This usually means the contract requires a newer private execution environment than you have.` +
62
+ ` Upgrade your private execution environment to a compatible version. The contract was compiled with` +
63
+ ` Aztec.nr oracle version ${contractVersion.major}.${contractVersion.minor}, but this private` +
64
+ ` execution environment only supports up to ${ORACLE_VERSION_MAJOR}.${ORACLE_VERSION_MINOR}.` +
65
+ ` See https://docs.aztec.network/errors/8`,
66
+ );
67
+ } else {
68
+ throw new Error(
69
+ `Oracle '${prop}' not found.` +
70
+ ` The contract's oracle version (${contractVersion.major}.${contractVersion.minor}) is compatible` +
71
+ ` with this private execution environment (${ORACLE_VERSION_MAJOR}.${ORACLE_VERSION_MINOR}), so all` +
72
+ ` standard oracles should be available. This could mean the contract was compiled against a modified` +
73
+ ` version of Aztec.nr, or that it references an oracle that does not exist.` +
74
+ ` See https://docs.aztec.network/errors/8`,
75
+ );
76
+ }
77
+ };
78
+ },
79
+ });
80
+ }
81
+
82
+ type OracleHandler = IMiscOracle & (IUtilityExecutionOracle | IPrivateExecutionOracle);
83
+
84
+ type NonOracleFunctionGetContractOracleVersion = {
85
+ nonOracleFunctionGetContractOracleVersion(): { major: number; minor: number } | undefined;
86
+ };
87
+
88
+ function assertHandlerSupportsScope(handler: OracleHandler, scope: string): void {
89
+ switch (scope) {
90
+ case 'misc':
91
+ if (!('isMisc' in handler)) {
92
+ throw new UnavailableOracleError('Misc');
93
+ }
94
+ break;
95
+ case 'utl':
96
+ if (!('isUtility' in handler)) {
97
+ throw new UnavailableOracleError('Utility');
98
+ }
99
+ break;
100
+ case 'prv':
101
+ if (!('isPrivate' in handler)) {
102
+ throw new UnavailableOracleError('Private');
103
+ }
104
+ break;
105
+ default:
106
+ throw new Error(`Unknown oracle scope: ${scope}`);
107
+ }
108
+ }
@@ -1,16 +1,2 @@
1
- import type { Oracle } from './oracle.js';
2
-
3
- export * from './oracle.js';
1
+ export * from './acir_callback.js';
4
2
  export * from './interfaces.js';
5
-
6
- /**
7
- * A conditional type that takes a type `T` and returns a union of its method names.
8
- */
9
- type MethodNames<T> = {
10
- [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
11
- }[keyof T];
12
-
13
- /**
14
- * Available oracle function names.
15
- */
16
- export type ORACLE_NAMES = MethodNames<Oracle>;
@@ -1,185 +1,20 @@
1
- import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
- import type { BlockNumber } from '@aztec/foundation/branded-types';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- import { Point } from '@aztec/foundation/curves/grumpkin';
5
- import { MembershipWitness } from '@aztec/foundation/trees';
6
- import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
7
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
8
- import { BlockHash } from '@aztec/stdlib/block';
9
- import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
10
- import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
- import type { PublicKeys } from '@aztec/stdlib/keys';
12
- import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
13
- import type { Note, NoteStatus } from '@aztec/stdlib/note';
14
- import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
15
- import type { BlockHeader } from '@aztec/stdlib/tx';
16
-
17
- import type { UtilityContext } from '../noir-structs/utility_context.js';
18
- import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
19
-
20
- /**
21
- * Information about a note needed during execution.
22
- */
23
- export interface NoteData {
24
- /** The actual note content (the fields of the Noir #[note] struct). */
25
- note: Note;
26
- /** The address of the contract that owns the note. */
27
- contractAddress: AztecAddress;
28
- /** The owner of the note. */
29
- owner: AztecAddress;
30
- /** The storage slot of the note. */
31
- storageSlot: Fr;
32
- /** The randomness injected to the note */
33
- randomness: Fr;
34
- /** The nonce injected into the note hash preimage by kernels. */
35
- noteNonce: Fr;
36
- /** A hash of the note as it gets stored in the note hash tree. */
37
- noteHash: Fr;
38
- /** True if the note is pending, false if settled. */
39
- isPending: boolean;
40
- /** The corresponding nullifier of the note. Undefined for pending notes. */
41
- siloedNullifier?: Fr;
42
- }
43
-
44
- // These interfaces contain the list of oracles required by aztec-nr in order to simulate and execute transactions, i.e.
45
- // in order to call #[external("utility")] and #[external("private")] contract functions.
46
- // The full list of aztec-nr oracles is larger and includes the oracles also required to run Noir tests - these reside
47
- // in the TXE package.
1
+ import type { HandlersForPrefix, ORACLE_REGISTRY } from './oracle_registry.js';
48
2
 
49
3
  /**
50
- * Miscellaneous oracle methods, not very Aztec-specific and expected to be available all scenarios in which aztec-nr
51
- * code runs, except #[external("public")] functions (since those are transpiled to AVM bytecode, where there are no oracles).
4
+ * Miscellaneous oracle methods, not very Aztec-specific and expected to be available in all scenarios in which aztec-nr
5
+ * code runs, except #[external("public")] functions (since those are transpiled to AVM bytecode, where there are no
6
+ * oracles).
52
7
  */
53
- export interface IMiscOracle {
54
- isMisc: true;
55
-
56
- getRandomField(): Fr;
57
- assertCompatibleOracleVersion(version: number): void;
58
- log(level: number, message: string, fields: Fr[]): Promise<void>;
59
- }
8
+ export type IMiscOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'misc'> & { isMisc: true };
60
9
 
61
10
  /**
62
- * Oracle methods associated with the execution of an Aztec #[external("utility")] function. Note that the IMiscOracles are also
63
- * expected to be available in these contexts.
11
+ * Oracle methods associated with the execution of an Aztec #[external("utility")] function. Note that the IMiscOracle
12
+ * methods are also expected to be available in these contexts.
64
13
  */
65
- export interface IUtilityExecutionOracle {
66
- isUtility: true;
67
-
68
- getUtilityContext(): UtilityContext;
69
- getKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
70
- getContractInstance(address: AztecAddress): Promise<ContractInstance>;
71
- getNoteHashMembershipWitness(
72
- anchorBlockHash: BlockHash,
73
- noteHash: Fr,
74
- ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
75
- getBlockHashMembershipWitness(
76
- anchorBlockHash: BlockHash,
77
- blockHash: BlockHash,
78
- ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
79
- getNullifierMembershipWitness(
80
- anchorBlockHash: BlockHash,
81
- nullifier: Fr,
82
- ): Promise<NullifierMembershipWitness | undefined>;
83
- getPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
84
- getLowNullifierMembershipWitness(
85
- anchorBlockHash: BlockHash,
86
- nullifier: Fr,
87
- ): Promise<NullifierMembershipWitness | undefined>;
88
- getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
89
- tryGetPublicKeysAndPartialAddress(
90
- account: AztecAddress,
91
- ): Promise<{ publicKeys: PublicKeys; partialAddress: PartialAddress } | undefined>;
92
- getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
93
- getNotes(
94
- owner: AztecAddress | undefined,
95
- storageSlot: Fr,
96
- numSelects: number,
97
- selectByIndexes: number[],
98
- selectByOffsets: number[],
99
- selectByLengths: number[],
100
- selectValues: Fr[],
101
- selectComparators: number[],
102
- sortByIndexes: number[],
103
- sortByOffsets: number[],
104
- sortByLengths: number[],
105
- sortOrder: number[],
106
- limit: number,
107
- offset: number,
108
- status: NoteStatus,
109
- ): Promise<NoteData[]>;
110
- checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
111
- getL1ToL2MembershipWitness(
112
- contractAddress: AztecAddress,
113
- messageHash: Fr,
114
- secret: Fr,
115
- ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
116
- storageRead(
117
- anchorBlockHash: BlockHash,
118
- contractAddress: AztecAddress,
119
- startStorageSlot: Fr,
120
- numberOfElements: number,
121
- ): Promise<Fr[]>;
122
- fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
123
- validateAndStoreEnqueuedNotesAndEvents(
124
- contractAddress: AztecAddress,
125
- noteValidationRequestsArrayBaseSlot: Fr,
126
- eventValidationRequestsArrayBaseSlot: Fr,
127
- maxNotePackedLen: number,
128
- maxEventSerializedLen: number,
129
- ): Promise<void>;
130
- bulkRetrieveLogs(
131
- contractAddress: AztecAddress,
132
- logRetrievalRequestsArrayBaseSlot: Fr,
133
- logRetrievalResponsesArrayBaseSlot: Fr,
134
- ): Promise<void>;
135
- utilityResolveMessageContexts(
136
- contractAddress: AztecAddress,
137
- messageContextRequestsArrayBaseSlot: Fr,
138
- messageContextResponsesArrayBaseSlot: Fr,
139
- ): Promise<void>;
140
- storeCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
141
- loadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
142
- deleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
143
- copyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
144
- aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
145
- getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
146
- invalidateContractSyncCache(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
147
- emitOffchainEffect(data: Fr[]): Promise<void>;
148
- }
14
+ export type IUtilityExecutionOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'utl'> & { isUtility: true };
149
15
 
150
16
  /**
151
- * Oracle methods associated with the execution of an Aztec #[external("private")] function. Note that both the IMiscOracles and
152
- * IUtilityExecutionOracle are also expected to be available in these contexts.
17
+ * Oracle methods associated with the execution of an Aztec #[external("private")] function. Note that both the
18
+ * IMiscOracle and IUtilityExecutionOracle methods are also expected to be available in these contexts.
153
19
  */
154
- export interface IPrivateExecutionOracle {
155
- isPrivate: true;
156
-
157
- storeInExecutionCache(values: Fr[], hash: Fr): void;
158
- loadFromExecutionCache(hash: Fr): Promise<Fr[]>;
159
- notifyCreatedNote(
160
- owner: AztecAddress,
161
- storageSlot: Fr,
162
- randomness: Fr,
163
- noteTypeId: NoteSelector,
164
- note: Fr[],
165
- noteHash: Fr,
166
- counter: number,
167
- ): void;
168
- notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
169
- notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
170
- isNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
171
- notifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
172
- callPrivateFunction(
173
- targetContractAddress: AztecAddress,
174
- functionSelector: FunctionSelector,
175
- argsHash: Fr,
176
- sideEffectCounter: number,
177
- isStaticCall: boolean,
178
- ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
179
- validatePublicCalldata(calldataHash: Fr): Promise<void>;
180
- notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
181
- inRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
182
- getSenderForTags(): Promise<AztecAddress | undefined>;
183
- setSenderForTags(senderForTags: AztecAddress): Promise<void>;
184
- getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
185
- }
20
+ export type IPrivateExecutionOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'prv'> & { isPrivate: true };
@@ -1,23 +1,8 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
2
1
  import type { SiblingPath } from '@aztec/foundation/trees';
3
2
 
4
- export class MessageLoadOracleInputs<N extends number> {
5
- constructor(
6
- /** The index of the message commitment in the merkle tree. */
7
- public index: bigint,
8
- /** The path in the merkle tree to the message. */
9
- public siblingPath: SiblingPath<N>,
10
- ) {}
11
-
12
- toFields(): Fr[] {
13
- return [new Fr(this.index), ...this.siblingPath.toFields()];
14
- }
15
-
16
- /**
17
- * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
18
- */
19
- public toNoirRepresentation(): (string | string[])[] {
20
- // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
21
- return [new Fr(this.index).toString() as string, this.siblingPath.toFields().map(fr => fr.toString()) as string[]];
22
- }
23
- }
3
+ export type MessageLoadOracleInputs<N extends number> = {
4
+ /** The index of the message commitment in the merkle tree. */
5
+ index: bigint;
6
+ /** The path in the merkle tree to the message. */
7
+ siblingPath: SiblingPath<N>;
8
+ };
@@ -48,7 +48,7 @@ export function packAsHintedNote({
48
48
  noteNonce: Fr;
49
49
  isPending: boolean;
50
50
  note: Note;
51
- }) {
51
+ }): Fr[] {
52
52
  // If the note is pending it means it has a non-zero note hash counter associated with it.
53
53
  const nonZeroNoteHashCounter = isPending;
54
54
 
@@ -58,8 +58,8 @@ export function packAsHintedNote({
58
58
  // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
59
59
  return [
60
60
  ...note.items,
61
- contractAddress,
62
- owner,
61
+ contractAddress.toField(),
62
+ owner.toField(),
63
63
  randomness,
64
64
  storageSlot,
65
65
  new Fr(noteMetadata.stage),