@aztec/pxe 0.0.1-commit.b9865e97 → 0.0.1-commit.be03c316

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 (397) hide show
  1. package/dest/bin/check_oracle_version.js +8 -23
  2. package/dest/bin/index.d.ts +2 -2
  3. package/dest/bin/index.d.ts.map +1 -1
  4. package/dest/bin/index.js +1 -1
  5. package/dest/bin/oracle_version_helpers.d.ts +16 -8
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
  7. package/dest/bin/oracle_version_helpers.js +22 -69
  8. package/dest/block_synchronizer/block_stream_source.d.ts +5 -5
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -1
  10. package/dest/block_synchronizer/block_stream_source.js +4 -29
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +18 -14
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +54 -18
  14. package/dest/config/index.d.ts +2 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +1 -0
  17. package/dest/contract/contract_class_service.d.ts +31 -0
  18. package/dest/contract/contract_class_service.d.ts.map +1 -0
  19. package/dest/contract/contract_class_service.js +68 -0
  20. package/dest/contract/contract_sync_service.d.ts +48 -0
  21. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  22. package/dest/{contract_sync → contract}/contract_sync_service.js +26 -45
  23. package/dest/contract/helpers.d.ts +7 -0
  24. package/dest/contract/helpers.d.ts.map +1 -0
  25. package/dest/contract/helpers.js +20 -0
  26. package/dest/contract/skip_sync_contracts.d.ts +11 -0
  27. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  28. package/dest/contract/skip_sync_contracts.js +18 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  30. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  31. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  32. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +39 -0
  33. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  34. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  35. package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -18
  36. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/contract_function_simulator.js +63 -32
  38. package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -9
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  41. package/dest/contract_function_simulator/index.d.ts +19 -10
  42. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/index.js +6 -9
  44. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +8 -27
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +8 -23
  47. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  50. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  53. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +1 -1
  54. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  55. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  57. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  58. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  59. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  60. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +11 -12
  61. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +6 -49
  63. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
  64. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  65. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -60
  66. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +2 -2
  67. package/dest/contract_function_simulator/noir-structs/option.d.ts +9 -11
  68. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/noir-structs/option.js +18 -13
  70. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  71. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  73. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  74. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  75. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  76. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +6 -9
  77. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -1
  78. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -24
  79. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  80. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  81. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  82. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  83. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  84. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  85. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  86. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  87. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  88. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  89. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  90. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  91. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  92. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  93. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  94. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  95. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  96. package/dest/contract_function_simulator/oracle/index.js +1 -1
  97. package/dest/contract_function_simulator/oracle/interfaces.d.ts +2 -3
  98. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  99. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  100. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  101. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  102. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  103. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  104. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  105. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +43 -31
  106. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/oracle_registry.js +259 -29
  108. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +180 -45
  109. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1024 -341
  111. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  112. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  113. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  114. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +21 -8
  115. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +132 -22
  117. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +77 -34
  118. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +247 -106
  120. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  121. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  123. package/dest/debug/pxe_debug_utils.d.ts +2 -2
  124. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  125. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  126. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  127. package/dest/entrypoints/client/bundle/index.js +1 -0
  128. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  129. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  130. package/dest/entrypoints/client/bundle/utils.js +17 -6
  131. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  132. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  133. package/dest/entrypoints/client/lazy/index.js +1 -0
  134. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  135. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  136. package/dest/entrypoints/client/lazy/utils.js +17 -6
  137. package/dest/entrypoints/client/store.d.ts +14 -0
  138. package/dest/entrypoints/client/store.d.ts.map +1 -0
  139. package/dest/entrypoints/client/store.js +42 -0
  140. package/dest/entrypoints/pxe_creation_options.d.ts +9 -3
  141. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  142. package/dest/entrypoints/server/index.d.ts +6 -3
  143. package/dest/entrypoints/server/index.d.ts.map +1 -1
  144. package/dest/entrypoints/server/index.js +4 -2
  145. package/dest/entrypoints/server/store.d.ts +18 -0
  146. package/dest/entrypoints/server/store.d.ts.map +1 -0
  147. package/dest/entrypoints/server/store.js +28 -0
  148. package/dest/entrypoints/server/utils.d.ts +1 -1
  149. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  150. package/dest/entrypoints/server/utils.js +16 -4
  151. package/dest/error_enriching.d.ts +5 -3
  152. package/dest/error_enriching.d.ts.map +1 -1
  153. package/dest/error_enriching.js +13 -11
  154. package/dest/hooks/execution_hooks.d.ts +31 -11
  155. package/dest/hooks/execution_hooks.d.ts.map +1 -1
  156. package/dest/hooks/execution_hooks.js +3 -3
  157. package/dest/hooks/index.d.ts +4 -3
  158. package/dest/hooks/index.d.ts.map +1 -1
  159. package/dest/hooks/index.js +1 -0
  160. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  161. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  162. package/dest/hooks/resolve_custom_request.js +3 -0
  163. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  164. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  165. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  166. package/dest/logs/log_service.d.ts +8 -6
  167. package/dest/logs/log_service.d.ts.map +1 -1
  168. package/dest/logs/log_service.js +88 -28
  169. package/dest/messages/tx_resolver_service.d.ts +17 -0
  170. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  171. package/dest/messages/{message_context_service.js → tx_resolver_service.js} +13 -8
  172. package/dest/notes/note_service.d.ts +1 -1
  173. package/dest/notes/note_service.js +1 -1
  174. package/dest/oracle_version.d.ts +3 -3
  175. package/dest/oracle_version.js +5 -5
  176. package/dest/private_kernel/batch_planner.d.ts +1 -1
  177. package/dest/private_kernel/batch_planner.d.ts.map +1 -1
  178. package/dest/private_kernel/batch_planner.js +1 -1
  179. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  180. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  181. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +6 -2
  182. package/dest/private_kernel/hints/test_utils.js +1 -1
  183. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  184. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  185. package/dest/private_kernel/private_kernel_execution_prover.js +61 -40
  186. package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
  187. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  188. package/dest/private_kernel/private_kernel_oracle.js +17 -5
  189. package/dest/pxe.d.ts +114 -48
  190. package/dest/pxe.d.ts.map +1 -1
  191. package/dest/pxe.js +225 -139
  192. package/dest/storage/allowed_scopes.d.ts +6 -0
  193. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  194. package/dest/storage/allowed_scopes.js +7 -0
  195. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  196. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  197. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -6
  198. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
  199. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
  200. package/dest/storage/backwards_compatibility_tests/schema_tests.js +129 -49
  201. package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
  202. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  203. package/dest/storage/capsule_store/capsule_service.js +6 -9
  204. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  205. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  206. package/dest/storage/contract_store/contract_store.js +64 -75
  207. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  208. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  209. package/dest/storage/fact_store/fact_service.js +45 -0
  210. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  211. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  212. package/dest/storage/fact_store/fact_store.js +408 -0
  213. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  214. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  215. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  216. package/dest/storage/fact_store/index.d.ts +6 -0
  217. package/dest/storage/fact_store/index.d.ts.map +1 -0
  218. package/dest/storage/fact_store/index.js +4 -0
  219. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  220. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  221. package/dest/storage/fact_store/origin_state.js +60 -0
  222. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  223. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  224. package/dest/storage/fact_store/stored_fact.js +64 -0
  225. package/dest/storage/index.d.ts +3 -2
  226. package/dest/storage/index.d.ts.map +1 -1
  227. package/dest/storage/index.js +2 -1
  228. package/dest/storage/metadata.d.ts +2 -2
  229. package/dest/storage/metadata.d.ts.map +1 -1
  230. package/dest/storage/metadata.js +1 -1
  231. package/dest/storage/note_store/note_store.d.ts +42 -33
  232. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  233. package/dest/storage/note_store/note_store.js +197 -168
  234. package/dest/storage/note_store/stored_note.d.ts +3 -8
  235. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  236. package/dest/storage/note_store/stored_note.js +4 -20
  237. package/dest/storage/open_pxe_stores.d.ts +5 -3
  238. package/dest/storage/open_pxe_stores.d.ts.map +1 -1
  239. package/dest/storage/open_pxe_stores.js +5 -3
  240. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  241. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  242. package/dest/storage/private_event_store/private_event_store.js +40 -43
  243. package/dest/storage/store_identity.d.ts +35 -0
  244. package/dest/storage/store_identity.d.ts.map +1 -0
  245. package/dest/storage/store_identity.js +44 -0
  246. package/dest/storage/tagging_store/index.d.ts +2 -2
  247. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  248. package/dest/storage/tagging_store/index.js +1 -1
  249. package/dest/storage/tagging_store/sender_tagging_store.d.ts +19 -3
  250. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  251. package/dest/storage/tagging_store/sender_tagging_store.js +48 -11
  252. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  253. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  254. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  255. package/dest/tagging/constants.d.ts +3 -2
  256. package/dest/tagging/constants.d.ts.map +1 -1
  257. package/dest/tagging/constants.js +28 -10
  258. package/dest/tagging/index.d.ts +2 -2
  259. package/dest/tagging/index.d.ts.map +1 -1
  260. package/dest/tagging/index.js +1 -1
  261. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +26 -8
  262. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
  263. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +95 -20
  264. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +1 -1
  265. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +1 -1
  266. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  267. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +6 -2
  268. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  269. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  270. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  271. package/package.json +17 -17
  272. package/src/bin/check_oracle_version.ts +8 -24
  273. package/src/bin/index.ts +1 -1
  274. package/src/bin/oracle_version_helpers.ts +23 -90
  275. package/src/block_synchronizer/block_stream_source.ts +6 -45
  276. package/src/block_synchronizer/block_synchronizer.ts +70 -29
  277. package/src/config/index.ts +1 -0
  278. package/src/contract/contract_class_service.ts +83 -0
  279. package/src/{contract_sync → contract}/contract_sync_service.ts +37 -50
  280. package/src/contract/helpers.ts +35 -0
  281. package/src/contract/skip_sync_contracts.ts +23 -0
  282. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  283. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  284. package/src/contract_function_simulator/contract_function_simulator.ts +96 -42
  285. package/src/contract_function_simulator/execution_note_cache.ts +7 -28
  286. package/src/contract_function_simulator/index.ts +48 -13
  287. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +12 -24
  288. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  289. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  290. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  291. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  292. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  293. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +20 -46
  294. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
  295. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
  296. package/src/contract_function_simulator/noir-structs/option.ts +17 -11
  297. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  298. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  299. package/src/contract_function_simulator/noir-structs/provided_secret.ts +4 -26
  300. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  301. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  302. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  303. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  304. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  305. package/src/contract_function_simulator/oracle/index.ts +1 -15
  306. package/src/contract_function_simulator/oracle/interfaces.ts +1 -2
  307. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  308. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  309. package/src/contract_function_simulator/oracle/oracle_registry.ts +172 -47
  310. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +814 -315
  311. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  312. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +167 -30
  313. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +399 -135
  314. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  315. package/src/debug/pxe_debug_utils.ts +1 -1
  316. package/src/entrypoints/client/bundle/index.ts +1 -0
  317. package/src/entrypoints/client/bundle/utils.ts +24 -5
  318. package/src/entrypoints/client/lazy/index.ts +1 -0
  319. package/src/entrypoints/client/lazy/utils.ts +24 -5
  320. package/src/entrypoints/client/store.ts +54 -0
  321. package/src/entrypoints/pxe_creation_options.ts +8 -2
  322. package/src/entrypoints/server/index.ts +6 -2
  323. package/src/entrypoints/server/store.ts +47 -0
  324. package/src/entrypoints/server/utils.ts +31 -9
  325. package/src/error_enriching.ts +27 -11
  326. package/src/hooks/execution_hooks.ts +32 -12
  327. package/src/hooks/index.ts +8 -2
  328. package/src/hooks/resolve_custom_request.ts +24 -0
  329. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  330. package/src/logs/log_service.ts +100 -37
  331. package/src/messages/{message_context_service.ts → tx_resolver_service.ts} +16 -9
  332. package/src/notes/note_service.ts +1 -1
  333. package/src/oracle_version.ts +5 -5
  334. package/src/private_kernel/batch_planner.ts +0 -1
  335. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
  336. package/src/private_kernel/hints/test_utils.ts +1 -1
  337. package/src/private_kernel/private_kernel_execution_prover.ts +112 -56
  338. package/src/private_kernel/private_kernel_oracle.ts +23 -4
  339. package/src/pxe.ts +328 -159
  340. package/src/storage/allowed_scopes.ts +14 -0
  341. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
  342. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
  343. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
  344. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  345. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
  346. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +9 -15
  347. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +24 -4
  348. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
  349. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
  350. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  351. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +29 -9
  352. package/src/storage/backwards_compatibility_tests/schema_tests.ts +141 -50
  353. package/src/storage/capsule_store/capsule_service.ts +8 -13
  354. package/src/storage/contract_store/contract_store.ts +86 -93
  355. package/src/storage/fact_store/fact_service.ts +69 -0
  356. package/src/storage/fact_store/fact_store.ts +487 -0
  357. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  358. package/src/storage/fact_store/index.ts +15 -0
  359. package/src/storage/fact_store/origin_state.ts +84 -0
  360. package/src/storage/fact_store/stored_fact.ts +80 -0
  361. package/src/storage/index.ts +2 -1
  362. package/src/storage/metadata.ts +1 -1
  363. package/src/storage/note_store/note_store.ts +226 -187
  364. package/src/storage/note_store/stored_note.ts +5 -27
  365. package/src/storage/open_pxe_stores.ts +6 -3
  366. package/src/storage/private_event_store/private_event_store.ts +49 -55
  367. package/src/storage/store_identity.ts +72 -0
  368. package/src/storage/tagging_store/index.ts +1 -1
  369. package/src/storage/tagging_store/sender_tagging_store.ts +62 -15
  370. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  371. package/src/tagging/constants.ts +30 -10
  372. package/src/tagging/index.ts +1 -1
  373. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +148 -30
  374. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +1 -1
  375. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +6 -2
  376. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  377. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -89
  378. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  379. package/dest/contract_function_simulator/oracle/oracle.js +0 -552
  380. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  381. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  382. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -51
  383. package/dest/contract_sync/contract_sync_service.d.ts +0 -42
  384. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  385. package/dest/contract_sync/helpers.d.ts +0 -27
  386. package/dest/contract_sync/helpers.d.ts.map +0 -1
  387. package/dest/contract_sync/helpers.js +0 -53
  388. package/dest/messages/message_context_service.d.ts +0 -17
  389. package/dest/messages/message_context_service.d.ts.map +0 -1
  390. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  391. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  392. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  393. package/src/contract_function_simulator/oracle/oracle.ts +0 -711
  394. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
  395. package/src/contract_sync/helpers.ts +0 -86
  396. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +0 -16
  397. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
@@ -2,8 +2,8 @@
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { FieldReader } from '@aztec/foundation/serialize';
4
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_INPUT, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, STR, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed } from './oracle_type_mappings.js';
6
- export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, STR, U32 } from './oracle_type_mappings.js';
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
7
  export const ORACLE_REGISTRY = {
8
8
  aztec_misc_assertCompatibleOracleVersion: makeEntry({
9
9
  params: [
@@ -48,6 +48,10 @@ export const ORACLE_REGISTRY = {
48
48
  {
49
49
  name: 'pkMHash',
50
50
  type: FIELD
51
+ },
52
+ {
53
+ name: 'keyIndex',
54
+ type: FIELD
51
55
  }
52
56
  ],
53
57
  returnType: KEY_VALIDATION_REQUEST
@@ -87,6 +91,19 @@ export const ORACLE_REGISTRY = {
87
91
  ],
88
92
  returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT))
89
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
+ }),
90
107
  aztec_utl_getNullifierMembershipWitness: makeEntry({
91
108
  params: [
92
109
  {
@@ -162,19 +179,24 @@ export const ORACLE_REGISTRY = {
162
179
  ],
163
180
  returnType: BOOL
164
181
  }),
165
- aztec_utl_getL1ToL2MembershipWitness: makeEntry({
182
+ aztec_utl_getL1ToL2MembershipWitnessV2: makeEntry({
166
183
  params: [
167
- {
168
- name: 'contractAddress',
169
- type: AZTEC_ADDRESS
170
- },
171
184
  {
172
185
  name: 'messageHash',
173
186
  type: FIELD
174
187
  },
175
188
  {
176
- name: 'secret',
177
- type: FIELD
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
+ ]))
178
200
  }
179
201
  ],
180
202
  returnType: MESSAGE_LOAD_ORACLE_INPUTS
@@ -273,7 +295,7 @@ export const ORACLE_REGISTRY = {
273
295
  ],
274
296
  returnType: BOUNDED_VEC(NOTE)
275
297
  }),
276
- aztec_utl_getPendingTaggedLogs: makeEntry({
298
+ aztec_utl_getPendingTaggedLogsV2: makeEntry({
277
299
  params: [
278
300
  {
279
301
  name: 'scope',
@@ -302,7 +324,7 @@ export const ORACLE_REGISTRY = {
302
324
  }
303
325
  ]
304
326
  }),
305
- aztec_utl_getLogsByTag: makeEntry({
327
+ aztec_utl_getLogsByTagV2: makeEntry({
306
328
  params: [
307
329
  {
308
330
  name: 'requests',
@@ -311,14 +333,14 @@ export const ORACLE_REGISTRY = {
311
333
  ],
312
334
  returnType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LOG_RETRIEVAL_RESPONSE))
313
335
  }),
314
- aztec_utl_getMessageContextsByTxHash: makeEntry({
336
+ aztec_utl_getResolvedTxs: makeEntry({
315
337
  params: [
316
338
  {
317
339
  name: 'requests',
318
340
  type: EPHEMERAL_ARRAY(FIELD)
319
341
  }
320
342
  ],
321
- returnType: EPHEMERAL_ARRAY(OPTION(MESSAGE_CONTEXT))
343
+ returnType: EPHEMERAL_ARRAY(OPTION(RESOLVED_TX))
322
344
  }),
323
345
  aztec_utl_getTxEffect: makeEntry({
324
346
  params: [
@@ -329,6 +351,15 @@ export const ORACLE_REGISTRY = {
329
351
  ],
330
352
  returnType: OPTION(TX_EFFECT)
331
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
+ }),
332
363
  aztec_utl_setCapsule: makeEntry({
333
364
  params: [
334
365
  {
@@ -414,18 +445,18 @@ export const ORACLE_REGISTRY = {
414
445
  params: [
415
446
  {
416
447
  name: 'ciphertext',
417
- type: BOUNDED_VEC(BYTE)
448
+ type: BOUNDED_VEC(U8)
418
449
  },
419
450
  {
420
451
  name: 'iv',
421
- type: BUFFER(8)
452
+ type: FIXED_ARRAY(U8, 16)
422
453
  },
423
454
  {
424
455
  name: 'symKey',
425
- type: BUFFER(8)
456
+ type: FIXED_ARRAY(U8, 16)
426
457
  }
427
458
  ],
428
- returnType: OPTION(BOUNDED_VEC(BYTE))
459
+ returnType: OPTION(BOUNDED_VEC(U8))
429
460
  }),
430
461
  aztec_utl_getSharedSecrets: makeEntry({
431
462
  params: [
@@ -464,6 +495,96 @@ export const ORACLE_REGISTRY = {
464
495
  }
465
496
  ]
466
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
+ }),
467
588
  aztec_utl_callUtilityFunction: makeEntry({
468
589
  params: [
469
590
  {
@@ -561,6 +682,86 @@ export const ORACLE_REGISTRY = {
561
682
  }
562
683
  ]
563
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
+ }),
564
765
  aztec_prv_setHashPreimage: makeEntry({
565
766
  params: [
566
767
  {
@@ -655,7 +856,7 @@ export const ORACLE_REGISTRY = {
655
856
  params: [
656
857
  {
657
858
  name: 'log',
658
- type: CONTRACT_CLASS_LOG_INPUT
859
+ type: CONTRACT_CLASS_LOG
659
860
  },
660
861
  {
661
862
  name: 'counter',
@@ -741,29 +942,52 @@ export const ORACLE_REGISTRY = {
741
942
  }),
742
943
  aztec_prv_getSenderForTags: makeEntry({
743
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)
744
975
  })
745
976
  };
746
- /**
747
- * Deserializes oracle inputs, calls the handler with typed params, and serializes the result.
748
- */ export async function callHandler({ oracle, inputs, handler }) {
749
- const entry = ORACLE_REGISTRY[oracle];
750
- const named = entry.deserializeParams(inputs);
751
- const positional = named.map((p)=>p.value);
752
- const result = await handler(positional);
753
- return entry.serializeReturn(result);
754
- }
755
977
  export function makeEntry({ params, returnType } = {}) {
756
978
  return {
979
+ params: params ?? [],
980
+ returnType,
757
981
  deserializeParams (inputs) {
758
982
  const resolvedParams = params ?? [];
759
983
  // Walk the input slots left-to-right, advancing by each param's slot count.
760
984
  let offset = 0;
761
- return resolvedParams.map((param)=>{
985
+ const named = resolvedParams.map((param)=>{
762
986
  if (!param.type.deserialization) {
763
987
  throw new Error(`Param '${param.name}' has no deserialization defined`);
764
988
  }
765
989
  // Collect the slots for this param and wrap each in a FieldReader.
766
- const slotCount = param.type.deserialization.slots;
990
+ const slotCount = slotsOf(param.type);
767
991
  const readers = inputs.slice(offset, offset + slotCount).map((slot)=>new FieldReader(slot.map((hex)=>Fr.fromString(hex))));
768
992
  offset += slotCount;
769
993
  // Delegate to the TypeMapping's deserializer, assert the param's slots are fully consumed, and tag the
@@ -775,6 +999,12 @@ export function makeEntry({ params, returnType } = {}) {
775
999
  value
776
1000
  };
777
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;
778
1008
  },
779
1009
  serializeReturn (result) {
780
1010
  if (returnType?.serialization === undefined) {