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

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