@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,976 @@
1
+ /* eslint-disable camelcase */ import { ARCHIVE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { FieldReader } from '@aztec/foundation/serialize';
4
+ import { toACVMField } from '@aztec/simulator/client';
5
+ import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FACT_COLLECTION, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, ORIGIN_BLOCK, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, RESOLVED_TAGGING_STRATEGY, RESOLVED_TX, STR, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed, slotsOf } from './oracle_type_mappings.js';
6
+ export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_CLASS_LOG, DELIVERY_MODE, RESOLVED_TAGGING_STRATEGY, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, RESOLVED_TX, STR, U32, slotsOf } from './oracle_type_mappings.js';
7
+ export const ORACLE_REGISTRY = {
8
+ aztec_misc_assertCompatibleOracleVersion: makeEntry({
9
+ params: [
10
+ {
11
+ name: 'major',
12
+ type: U32
13
+ },
14
+ {
15
+ name: 'minor',
16
+ type: U32
17
+ }
18
+ ]
19
+ }),
20
+ aztec_misc_getRandomField: makeEntry({
21
+ returnType: FIELD
22
+ }),
23
+ aztec_misc_log: makeEntry({
24
+ params: [
25
+ {
26
+ name: 'level',
27
+ type: U32
28
+ },
29
+ {
30
+ name: 'message',
31
+ type: STR
32
+ },
33
+ {
34
+ name: 'fieldsSize',
35
+ type: U32
36
+ },
37
+ {
38
+ name: 'fields',
39
+ type: ARRAY(FIELD)
40
+ }
41
+ ]
42
+ }),
43
+ aztec_utl_getUtilityContext: makeEntry({
44
+ returnType: UTILITY_CONTEXT
45
+ }),
46
+ aztec_utl_getKeyValidationRequest: makeEntry({
47
+ params: [
48
+ {
49
+ name: 'pkMHash',
50
+ type: FIELD
51
+ },
52
+ {
53
+ name: 'keyIndex',
54
+ type: FIELD
55
+ }
56
+ ],
57
+ returnType: KEY_VALIDATION_REQUEST
58
+ }),
59
+ aztec_utl_getContractInstance: makeEntry({
60
+ params: [
61
+ {
62
+ name: 'address',
63
+ type: AZTEC_ADDRESS
64
+ }
65
+ ],
66
+ returnType: CONTRACT_INSTANCE
67
+ }),
68
+ aztec_utl_getNoteHashMembershipWitness: makeEntry({
69
+ params: [
70
+ {
71
+ name: 'anchorBlockHash',
72
+ type: BLOCK_HASH
73
+ },
74
+ {
75
+ name: 'noteHash',
76
+ type: FIELD
77
+ }
78
+ ],
79
+ returnType: MEMBERSHIP_WITNESS(NOTE_HASH_TREE_HEIGHT)
80
+ }),
81
+ aztec_utl_getBlockHashMembershipWitness: makeEntry({
82
+ params: [
83
+ {
84
+ name: 'anchorBlockHash',
85
+ type: BLOCK_HASH
86
+ },
87
+ {
88
+ name: 'blockHash',
89
+ type: BLOCK_HASH
90
+ }
91
+ ],
92
+ returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT))
93
+ }),
94
+ aztec_utl_getNullifierMembershipWitness: makeEntry({
95
+ params: [
96
+ {
97
+ name: 'blockHash',
98
+ type: BLOCK_HASH
99
+ },
100
+ {
101
+ name: 'nullifier',
102
+ type: FIELD
103
+ }
104
+ ],
105
+ returnType: NULLIFIER_MEMBERSHIP_WITNESS
106
+ }),
107
+ aztec_utl_getLowNullifierMembershipWitness: makeEntry({
108
+ params: [
109
+ {
110
+ name: 'blockHash',
111
+ type: BLOCK_HASH
112
+ },
113
+ {
114
+ name: 'nullifier',
115
+ type: FIELD
116
+ }
117
+ ],
118
+ returnType: NULLIFIER_MEMBERSHIP_WITNESS
119
+ }),
120
+ aztec_utl_getPublicDataWitness: makeEntry({
121
+ params: [
122
+ {
123
+ name: 'blockHash',
124
+ type: BLOCK_HASH
125
+ },
126
+ {
127
+ name: 'leafSlot',
128
+ type: FIELD
129
+ }
130
+ ],
131
+ returnType: PUBLIC_DATA_WITNESS
132
+ }),
133
+ aztec_utl_getBlockHeader: makeEntry({
134
+ params: [
135
+ {
136
+ name: 'blockNumber',
137
+ type: BLOCK_NUMBER
138
+ }
139
+ ],
140
+ returnType: BLOCK_HEADER
141
+ }),
142
+ aztec_utl_getAuthWitness: makeEntry({
143
+ params: [
144
+ {
145
+ name: 'messageHash',
146
+ type: FIELD
147
+ }
148
+ ],
149
+ returnType: ARRAY(FIELD)
150
+ }),
151
+ aztec_utl_getPublicKeysAndPartialAddress: makeEntry({
152
+ params: [
153
+ {
154
+ name: 'address',
155
+ type: AZTEC_ADDRESS
156
+ }
157
+ ],
158
+ returnType: OPTION(PUBLIC_KEYS_AND_PARTIAL_ADDRESS)
159
+ }),
160
+ aztec_utl_doesNullifierExist: makeEntry({
161
+ params: [
162
+ {
163
+ name: 'innerNullifier',
164
+ type: FIELD
165
+ }
166
+ ],
167
+ returnType: BOOL
168
+ }),
169
+ aztec_utl_getL1ToL2MembershipWitness: makeEntry({
170
+ params: [
171
+ {
172
+ name: 'contractAddress',
173
+ type: AZTEC_ADDRESS
174
+ },
175
+ {
176
+ name: 'messageHash',
177
+ type: FIELD
178
+ },
179
+ {
180
+ name: 'secret',
181
+ type: FIELD
182
+ }
183
+ ],
184
+ returnType: MESSAGE_LOAD_ORACLE_INPUTS
185
+ }),
186
+ aztec_utl_getFromPublicStorage: makeEntry({
187
+ params: [
188
+ {
189
+ name: 'blockHash',
190
+ type: BLOCK_HASH
191
+ },
192
+ {
193
+ name: 'contractAddress',
194
+ type: AZTEC_ADDRESS
195
+ },
196
+ {
197
+ name: 'startStorageSlot',
198
+ type: FIELD
199
+ },
200
+ {
201
+ name: 'numberOfElements',
202
+ type: U32
203
+ }
204
+ ],
205
+ returnType: ARRAY(FIELD)
206
+ }),
207
+ aztec_utl_getNotes: makeEntry({
208
+ params: [
209
+ {
210
+ name: 'owner',
211
+ type: OPTION(AZTEC_ADDRESS)
212
+ },
213
+ {
214
+ name: 'storageSlot',
215
+ type: FIELD
216
+ },
217
+ {
218
+ name: 'numSelects',
219
+ type: U32
220
+ },
221
+ {
222
+ name: 'selectByIndexes',
223
+ type: ARRAY(U32)
224
+ },
225
+ {
226
+ name: 'selectByOffsets',
227
+ type: ARRAY(U32)
228
+ },
229
+ {
230
+ name: 'selectByLengths',
231
+ type: ARRAY(U32)
232
+ },
233
+ {
234
+ name: 'selectValues',
235
+ type: ARRAY(FIELD)
236
+ },
237
+ {
238
+ name: 'selectComparators',
239
+ type: ARRAY(U32)
240
+ },
241
+ {
242
+ name: 'sortByIndexes',
243
+ type: ARRAY(U32)
244
+ },
245
+ {
246
+ name: 'sortByOffsets',
247
+ type: ARRAY(U32)
248
+ },
249
+ {
250
+ name: 'sortByLengths',
251
+ type: ARRAY(U32)
252
+ },
253
+ {
254
+ name: 'sortOrder',
255
+ type: ARRAY(U32)
256
+ },
257
+ {
258
+ name: 'limit',
259
+ type: U32
260
+ },
261
+ {
262
+ name: 'offset',
263
+ type: U32
264
+ },
265
+ {
266
+ name: 'status',
267
+ type: U32
268
+ },
269
+ {
270
+ name: 'maxNotes',
271
+ type: U32
272
+ },
273
+ {
274
+ name: 'packedHintedNoteLength',
275
+ type: U32
276
+ }
277
+ ],
278
+ returnType: BOUNDED_VEC(NOTE)
279
+ }),
280
+ aztec_utl_getPendingTaggedLogs: makeEntry({
281
+ params: [
282
+ {
283
+ name: 'scope',
284
+ type: AZTEC_ADDRESS
285
+ },
286
+ {
287
+ name: 'providedSecrets',
288
+ type: EPHEMERAL_ARRAY(PROVIDED_SECRET)
289
+ }
290
+ ],
291
+ returnType: EPHEMERAL_ARRAY(PENDING_TAGGED_LOG)
292
+ }),
293
+ aztec_utl_validateAndStoreEnqueuedNotesAndEvents: makeEntry({
294
+ params: [
295
+ {
296
+ name: 'noteValidationRequests',
297
+ type: EPHEMERAL_ARRAY(NOTE_VALIDATION_REQUEST)
298
+ },
299
+ {
300
+ name: 'eventValidationRequests',
301
+ type: EPHEMERAL_ARRAY(EVENT_VALIDATION_REQUEST)
302
+ },
303
+ {
304
+ name: 'scope',
305
+ type: AZTEC_ADDRESS
306
+ }
307
+ ]
308
+ }),
309
+ aztec_utl_getLogsByTag: makeEntry({
310
+ params: [
311
+ {
312
+ name: 'requests',
313
+ type: EPHEMERAL_ARRAY(LOG_RETRIEVAL_REQUEST)
314
+ }
315
+ ],
316
+ returnType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LOG_RETRIEVAL_RESPONSE))
317
+ }),
318
+ aztec_utl_getResolvedTxs: makeEntry({
319
+ params: [
320
+ {
321
+ name: 'requests',
322
+ type: EPHEMERAL_ARRAY(FIELD)
323
+ }
324
+ ],
325
+ returnType: EPHEMERAL_ARRAY(OPTION(RESOLVED_TX))
326
+ }),
327
+ aztec_utl_getTxEffect: makeEntry({
328
+ params: [
329
+ {
330
+ name: 'txHash',
331
+ type: TX_HASH
332
+ }
333
+ ],
334
+ returnType: OPTION(TX_EFFECT)
335
+ }),
336
+ aztec_utl_setCapsule: makeEntry({
337
+ params: [
338
+ {
339
+ name: 'contractAddress',
340
+ type: AZTEC_ADDRESS
341
+ },
342
+ {
343
+ name: 'slot',
344
+ type: FIELD
345
+ },
346
+ {
347
+ name: 'capsule',
348
+ type: ARRAY(FIELD)
349
+ },
350
+ {
351
+ name: 'scope',
352
+ type: AZTEC_ADDRESS
353
+ }
354
+ ]
355
+ }),
356
+ aztec_utl_getCapsule: makeEntry({
357
+ params: [
358
+ {
359
+ name: 'contractAddress',
360
+ type: AZTEC_ADDRESS
361
+ },
362
+ {
363
+ name: 'slot',
364
+ type: FIELD
365
+ },
366
+ {
367
+ name: 'tSize',
368
+ type: U32
369
+ },
370
+ {
371
+ name: 'scope',
372
+ type: AZTEC_ADDRESS
373
+ }
374
+ ],
375
+ returnType: OPTION(ARRAY(FIELD))
376
+ }),
377
+ aztec_utl_deleteCapsule: makeEntry({
378
+ params: [
379
+ {
380
+ name: 'contractAddress',
381
+ type: AZTEC_ADDRESS
382
+ },
383
+ {
384
+ name: 'slot',
385
+ type: FIELD
386
+ },
387
+ {
388
+ name: 'scope',
389
+ type: AZTEC_ADDRESS
390
+ }
391
+ ]
392
+ }),
393
+ aztec_utl_copyCapsule: makeEntry({
394
+ params: [
395
+ {
396
+ name: 'contractAddress',
397
+ type: AZTEC_ADDRESS
398
+ },
399
+ {
400
+ name: 'srcSlot',
401
+ type: FIELD
402
+ },
403
+ {
404
+ name: 'dstSlot',
405
+ type: FIELD
406
+ },
407
+ {
408
+ name: 'numEntries',
409
+ type: U32
410
+ },
411
+ {
412
+ name: 'scope',
413
+ type: AZTEC_ADDRESS
414
+ }
415
+ ]
416
+ }),
417
+ aztec_utl_decryptAes128: makeEntry({
418
+ params: [
419
+ {
420
+ name: 'ciphertext',
421
+ type: BOUNDED_VEC(BYTE)
422
+ },
423
+ {
424
+ name: 'iv',
425
+ type: BUFFER(8, 16)
426
+ },
427
+ {
428
+ name: 'symKey',
429
+ type: BUFFER(8, 16)
430
+ }
431
+ ],
432
+ returnType: OPTION(BOUNDED_VEC(BYTE))
433
+ }),
434
+ aztec_utl_getSharedSecrets: makeEntry({
435
+ params: [
436
+ {
437
+ name: 'address',
438
+ type: AZTEC_ADDRESS
439
+ },
440
+ {
441
+ name: 'ephPks',
442
+ type: EPHEMERAL_ARRAY(POINT)
443
+ },
444
+ {
445
+ name: 'contractAddress',
446
+ type: AZTEC_ADDRESS
447
+ }
448
+ ],
449
+ returnType: EPHEMERAL_ARRAY(FIELD)
450
+ }),
451
+ aztec_utl_setContractSyncCacheInvalid: makeEntry({
452
+ params: [
453
+ {
454
+ name: 'contractAddress',
455
+ type: AZTEC_ADDRESS
456
+ },
457
+ {
458
+ name: 'scopes',
459
+ type: BOUNDED_VEC(AZTEC_ADDRESS)
460
+ }
461
+ ]
462
+ }),
463
+ aztec_utl_emitOffchainEffect: makeEntry({
464
+ params: [
465
+ {
466
+ name: 'data',
467
+ type: ARRAY(FIELD)
468
+ }
469
+ ]
470
+ }),
471
+ aztec_utl_recordFact: makeEntry({
472
+ params: [
473
+ {
474
+ name: 'contractAddress',
475
+ type: AZTEC_ADDRESS
476
+ },
477
+ {
478
+ name: 'scope',
479
+ type: AZTEC_ADDRESS
480
+ },
481
+ {
482
+ name: 'factCollectionTypeId',
483
+ type: FIELD
484
+ },
485
+ {
486
+ name: 'factCollectionId',
487
+ type: FIELD
488
+ },
489
+ {
490
+ name: 'factTypeId',
491
+ type: FIELD
492
+ },
493
+ {
494
+ name: 'payload',
495
+ type: EPHEMERAL_ARRAY(FIELD)
496
+ },
497
+ {
498
+ name: 'originBlock',
499
+ type: OPTION(ORIGIN_BLOCK)
500
+ }
501
+ ]
502
+ }),
503
+ aztec_utl_deleteFactCollection: makeEntry({
504
+ params: [
505
+ {
506
+ name: 'contractAddress',
507
+ type: AZTEC_ADDRESS
508
+ },
509
+ {
510
+ name: 'scope',
511
+ type: AZTEC_ADDRESS
512
+ },
513
+ {
514
+ name: 'factCollectionTypeId',
515
+ type: FIELD
516
+ },
517
+ {
518
+ name: 'factCollectionId',
519
+ type: FIELD
520
+ }
521
+ ]
522
+ }),
523
+ aztec_utl_getFactCollection: makeEntry({
524
+ params: [
525
+ {
526
+ name: 'contractAddress',
527
+ type: AZTEC_ADDRESS
528
+ },
529
+ {
530
+ name: 'scope',
531
+ type: AZTEC_ADDRESS
532
+ },
533
+ {
534
+ name: 'factCollectionTypeId',
535
+ type: FIELD
536
+ },
537
+ {
538
+ name: 'factCollectionId',
539
+ type: FIELD
540
+ }
541
+ ],
542
+ returnType: OPTION(FACT_COLLECTION)
543
+ }),
544
+ aztec_utl_getFactCollectionsByType: makeEntry({
545
+ params: [
546
+ {
547
+ name: 'contractAddress',
548
+ type: AZTEC_ADDRESS
549
+ },
550
+ {
551
+ name: 'scope',
552
+ type: AZTEC_ADDRESS
553
+ },
554
+ {
555
+ name: 'factCollectionTypeId',
556
+ type: FIELD
557
+ }
558
+ ],
559
+ returnType: EPHEMERAL_ARRAY(FACT_COLLECTION)
560
+ }),
561
+ aztec_utl_callUtilityFunction: makeEntry({
562
+ params: [
563
+ {
564
+ name: 'contractAddress',
565
+ type: AZTEC_ADDRESS
566
+ },
567
+ {
568
+ name: 'functionSelector',
569
+ type: FUNCTION_SELECTOR
570
+ },
571
+ {
572
+ name: 'args',
573
+ type: ARRAY(FIELD)
574
+ }
575
+ ],
576
+ returnType: ARRAY(FIELD)
577
+ }),
578
+ aztec_utl_pushEphemeral: makeEntry({
579
+ params: [
580
+ {
581
+ name: 'slot',
582
+ type: FIELD
583
+ },
584
+ {
585
+ name: 'elements',
586
+ type: ARRAY(FIELD)
587
+ }
588
+ ],
589
+ returnType: U32
590
+ }),
591
+ aztec_utl_popEphemeral: makeEntry({
592
+ params: [
593
+ {
594
+ name: 'slot',
595
+ type: FIELD
596
+ }
597
+ ],
598
+ returnType: ARRAY(FIELD)
599
+ }),
600
+ aztec_utl_getEphemeral: makeEntry({
601
+ params: [
602
+ {
603
+ name: 'slot',
604
+ type: FIELD
605
+ },
606
+ {
607
+ name: 'index',
608
+ type: U32
609
+ }
610
+ ],
611
+ returnType: ARRAY(FIELD)
612
+ }),
613
+ aztec_utl_setEphemeral: makeEntry({
614
+ params: [
615
+ {
616
+ name: 'slot',
617
+ type: FIELD
618
+ },
619
+ {
620
+ name: 'index',
621
+ type: U32
622
+ },
623
+ {
624
+ name: 'elements',
625
+ type: ARRAY(FIELD)
626
+ }
627
+ ]
628
+ }),
629
+ aztec_utl_getEphemeralLen: makeEntry({
630
+ params: [
631
+ {
632
+ name: 'slot',
633
+ type: FIELD
634
+ }
635
+ ],
636
+ returnType: U32
637
+ }),
638
+ aztec_utl_removeEphemeral: makeEntry({
639
+ params: [
640
+ {
641
+ name: 'slot',
642
+ type: FIELD
643
+ },
644
+ {
645
+ name: 'index',
646
+ type: U32
647
+ }
648
+ ]
649
+ }),
650
+ aztec_utl_clearEphemeral: makeEntry({
651
+ params: [
652
+ {
653
+ name: 'slot',
654
+ type: FIELD
655
+ }
656
+ ]
657
+ }),
658
+ aztec_utl_pushTransient: makeEntry({
659
+ params: [
660
+ {
661
+ name: 'slot',
662
+ type: FIELD
663
+ },
664
+ {
665
+ name: 'elements',
666
+ type: ARRAY(FIELD)
667
+ }
668
+ ],
669
+ returnType: U32
670
+ }),
671
+ aztec_utl_popTransient: makeEntry({
672
+ params: [
673
+ {
674
+ name: 'slot',
675
+ type: FIELD
676
+ }
677
+ ],
678
+ returnType: ARRAY(FIELD)
679
+ }),
680
+ aztec_utl_getTransient: makeEntry({
681
+ params: [
682
+ {
683
+ name: 'slot',
684
+ type: FIELD
685
+ },
686
+ {
687
+ name: 'index',
688
+ type: U32
689
+ }
690
+ ],
691
+ returnType: ARRAY(FIELD)
692
+ }),
693
+ aztec_utl_setTransient: makeEntry({
694
+ params: [
695
+ {
696
+ name: 'slot',
697
+ type: FIELD
698
+ },
699
+ {
700
+ name: 'index',
701
+ type: U32
702
+ },
703
+ {
704
+ name: 'elements',
705
+ type: ARRAY(FIELD)
706
+ }
707
+ ]
708
+ }),
709
+ aztec_utl_getTransientLen: makeEntry({
710
+ params: [
711
+ {
712
+ name: 'slot',
713
+ type: FIELD
714
+ }
715
+ ],
716
+ returnType: U32
717
+ }),
718
+ aztec_utl_removeTransient: makeEntry({
719
+ params: [
720
+ {
721
+ name: 'slot',
722
+ type: FIELD
723
+ },
724
+ {
725
+ name: 'index',
726
+ type: U32
727
+ }
728
+ ]
729
+ }),
730
+ aztec_utl_clearTransient: makeEntry({
731
+ params: [
732
+ {
733
+ name: 'slot',
734
+ type: FIELD
735
+ }
736
+ ]
737
+ }),
738
+ aztec_prv_setHashPreimage: makeEntry({
739
+ params: [
740
+ {
741
+ name: 'values',
742
+ type: ARRAY(FIELD)
743
+ },
744
+ {
745
+ name: 'hash',
746
+ type: FIELD
747
+ }
748
+ ]
749
+ }),
750
+ aztec_prv_getHashPreimage: makeEntry({
751
+ params: [
752
+ {
753
+ name: 'returnsHash',
754
+ type: FIELD
755
+ }
756
+ ],
757
+ returnType: ARRAY(FIELD)
758
+ }),
759
+ aztec_prv_notifyCreatedNote: makeEntry({
760
+ params: [
761
+ {
762
+ name: 'owner',
763
+ type: AZTEC_ADDRESS
764
+ },
765
+ {
766
+ name: 'storageSlot',
767
+ type: FIELD
768
+ },
769
+ {
770
+ name: 'randomness',
771
+ type: FIELD
772
+ },
773
+ {
774
+ name: 'noteTypeId',
775
+ type: NOTE_SELECTOR
776
+ },
777
+ {
778
+ name: 'note',
779
+ type: ARRAY(FIELD)
780
+ },
781
+ {
782
+ name: 'noteHash',
783
+ type: FIELD
784
+ },
785
+ {
786
+ name: 'counter',
787
+ type: U32
788
+ }
789
+ ]
790
+ }),
791
+ aztec_prv_notifyNullifiedNote: makeEntry({
792
+ params: [
793
+ {
794
+ name: 'innerNullifier',
795
+ type: FIELD
796
+ },
797
+ {
798
+ name: 'noteHash',
799
+ type: FIELD
800
+ },
801
+ {
802
+ name: 'counter',
803
+ type: U32
804
+ }
805
+ ]
806
+ }),
807
+ aztec_prv_notifyCreatedNullifier: makeEntry({
808
+ params: [
809
+ {
810
+ name: 'innerNullifier',
811
+ type: FIELD
812
+ }
813
+ ]
814
+ }),
815
+ aztec_prv_isNullifierPending: makeEntry({
816
+ params: [
817
+ {
818
+ name: 'innerNullifier',
819
+ type: FIELD
820
+ },
821
+ {
822
+ name: 'contractAddress',
823
+ type: AZTEC_ADDRESS
824
+ }
825
+ ],
826
+ returnType: BOOL
827
+ }),
828
+ aztec_prv_notifyCreatedContractClassLog: makeEntry({
829
+ params: [
830
+ {
831
+ name: 'log',
832
+ type: CONTRACT_CLASS_LOG
833
+ },
834
+ {
835
+ name: 'counter',
836
+ type: U32
837
+ }
838
+ ]
839
+ }),
840
+ aztec_prv_callPrivateFunction: makeEntry({
841
+ params: [
842
+ {
843
+ name: 'contractAddress',
844
+ type: AZTEC_ADDRESS
845
+ },
846
+ {
847
+ name: 'functionSelector',
848
+ type: FUNCTION_SELECTOR
849
+ },
850
+ {
851
+ name: 'argsHash',
852
+ type: FIELD
853
+ },
854
+ {
855
+ name: 'sideEffectCounter',
856
+ type: U32
857
+ },
858
+ {
859
+ name: 'isStaticCall',
860
+ type: BOOL
861
+ }
862
+ ],
863
+ returnType: CALL_PRIVATE_RESULT
864
+ }),
865
+ aztec_prv_assertValidPublicCalldata: makeEntry({
866
+ params: [
867
+ {
868
+ name: 'calldataHash',
869
+ type: FIELD
870
+ }
871
+ ]
872
+ }),
873
+ aztec_prv_notifyRevertiblePhaseStart: makeEntry({
874
+ params: [
875
+ {
876
+ name: 'minRevertibleSideEffectCounter',
877
+ type: U32
878
+ }
879
+ ]
880
+ }),
881
+ aztec_prv_isExecutionInRevertiblePhase: makeEntry({
882
+ params: [
883
+ {
884
+ name: 'sideEffectCounter',
885
+ type: U32
886
+ }
887
+ ],
888
+ returnType: BOOL
889
+ }),
890
+ aztec_prv_getAppTaggingSecret: makeEntry({
891
+ params: [
892
+ {
893
+ name: 'sender',
894
+ type: AZTEC_ADDRESS
895
+ },
896
+ {
897
+ name: 'recipient',
898
+ type: AZTEC_ADDRESS
899
+ }
900
+ ],
901
+ returnType: OPTION(FIELD)
902
+ }),
903
+ aztec_prv_getNextTaggingIndex: makeEntry({
904
+ params: [
905
+ {
906
+ name: 'secret',
907
+ type: FIELD
908
+ },
909
+ {
910
+ name: 'deliveryMode',
911
+ type: DELIVERY_MODE
912
+ }
913
+ ],
914
+ returnType: U32
915
+ }),
916
+ aztec_prv_getSenderForTags: makeEntry({
917
+ returnType: OPTION(AZTEC_ADDRESS)
918
+ }),
919
+ aztec_prv_resolveTaggingStrategy: makeEntry({
920
+ params: [
921
+ {
922
+ name: 'sender',
923
+ type: AZTEC_ADDRESS
924
+ },
925
+ {
926
+ name: 'recipient',
927
+ type: AZTEC_ADDRESS
928
+ },
929
+ {
930
+ name: 'deliveryMode',
931
+ type: DELIVERY_MODE
932
+ }
933
+ ],
934
+ returnType: RESOLVED_TAGGING_STRATEGY
935
+ })
936
+ };
937
+ export function makeEntry({ params, returnType } = {}) {
938
+ return {
939
+ params: params ?? [],
940
+ returnType,
941
+ deserializeParams (inputs) {
942
+ const resolvedParams = params ?? [];
943
+ // Walk the input slots left-to-right, advancing by each param's slot count.
944
+ let offset = 0;
945
+ const named = resolvedParams.map((param)=>{
946
+ if (!param.type.deserialization) {
947
+ throw new Error(`Param '${param.name}' has no deserialization defined`);
948
+ }
949
+ // Collect the slots for this param and wrap each in a FieldReader.
950
+ const slotCount = slotsOf(param.type);
951
+ const readers = inputs.slice(offset, offset + slotCount).map((slot)=>new FieldReader(slot.map((hex)=>Fr.fromString(hex))));
952
+ offset += slotCount;
953
+ // Delegate to the TypeMapping's deserializer, assert the param's slots are fully consumed, and tag the
954
+ // result with the param name.
955
+ const value = param.type.deserialization.fn(readers);
956
+ assertReadersConsumed(readers);
957
+ return {
958
+ name: param.name,
959
+ value
960
+ };
961
+ });
962
+ // Every input slot must be specified by a param: oracles whose Noir decl passes an extra field must declare it
963
+ // (the handler can ignore it). Otherwise an under-declared shape would silently drop a field into nothing.
964
+ if (offset !== inputs.length) {
965
+ throw new Error(`Oracle received ${inputs.length} input slot(s) but the registry specifies ${offset}`);
966
+ }
967
+ return named;
968
+ },
969
+ serializeReturn (result) {
970
+ if (returnType?.serialization === undefined) {
971
+ return [];
972
+ }
973
+ return returnType.serialization.fn(result).map((slot)=>Array.isArray(slot) ? slot.map(toACVMField) : toACVMField(slot));
974
+ }
975
+ };
976
+ }