@aztec/pxe 0.0.1-commit.b6e433891 → 0.0.1-commit.b8a057fa

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 (497) hide show
  1. package/dest/bin/check_oracle_version.js +45 -111
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +51 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +254 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +23 -15
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +84 -28
  14. package/dest/config/index.d.ts +8 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +13 -14
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +31 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +68 -0
  21. package/dest/contract/contract_sync_service.d.ts +48 -0
  22. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  23. package/dest/contract/contract_sync_service.js +116 -0
  24. package/dest/contract/helpers.d.ts +7 -0
  25. package/dest/contract/helpers.d.ts.map +1 -0
  26. package/dest/contract/helpers.js +20 -0
  27. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  28. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  30. package/dest/contract_function_simulator/contract_function_simulator.d.ts +27 -21
  31. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/contract_function_simulator.js +86 -42
  33. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  34. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  36. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  37. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  39. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  40. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  42. package/dest/contract_function_simulator/index.d.ts +26 -6
  43. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/index.js +12 -4
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  47. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  55. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  57. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -5
  58. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +7 -9
  60. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  61. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  62. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  63. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  64. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  66. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  67. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -61
  72. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  73. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  74. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  75. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -5
  76. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  77. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -10
  78. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  79. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  80. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  81. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  82. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  84. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  87. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  88. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  90. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  91. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +43 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  97. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  99. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  100. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  101. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  102. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  103. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  104. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  105. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  106. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/index.js +1 -1
  108. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -103
  109. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  111. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  112. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  113. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +74 -0
  114. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  115. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  117. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  118. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  120. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +136 -0
  121. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/oracle/oracle_registry.js +989 -0
  123. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +222 -0
  124. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  126. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  127. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  128. package/dest/contract_function_simulator/oracle/private_execution.js +3 -4
  129. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +52 -42
  130. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +193 -62
  132. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +150 -77
  133. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +508 -191
  135. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  136. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/pick_notes.js +20 -3
  138. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  139. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  140. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  141. package/dest/contract_logging.d.ts +9 -4
  142. package/dest/contract_logging.d.ts.map +1 -1
  143. package/dest/contract_logging.js +21 -6
  144. package/dest/debug/pxe_debug_utils.d.ts +4 -9
  145. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  146. package/dest/debug/pxe_debug_utils.js +0 -6
  147. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  148. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/index.js +0 -1
  150. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  151. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/utils.js +20 -7
  153. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  154. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/index.js +0 -1
  156. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  157. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/utils.js +20 -7
  159. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  160. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  161. package/dest/entrypoints/pxe_creation_options.js +3 -1
  162. package/dest/entrypoints/server/index.d.ts +6 -4
  163. package/dest/entrypoints/server/index.d.ts.map +1 -1
  164. package/dest/entrypoints/server/index.js +4 -3
  165. package/dest/entrypoints/server/utils.d.ts +4 -3
  166. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  167. package/dest/entrypoints/server/utils.js +20 -6
  168. package/dest/error_enriching.d.ts +5 -3
  169. package/dest/error_enriching.d.ts.map +1 -1
  170. package/dest/error_enriching.js +13 -11
  171. package/dest/events/event_service.d.ts +15 -6
  172. package/dest/events/event_service.d.ts.map +1 -1
  173. package/dest/events/event_service.js +44 -11
  174. package/dest/events/private_event_filter_validator.d.ts +3 -2
  175. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  176. package/dest/events/private_event_filter_validator.js +15 -0
  177. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  178. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  179. package/dest/hooks/authorize_utility_call.js +4 -0
  180. package/dest/hooks/execution_hooks.d.ts +62 -0
  181. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  182. package/dest/hooks/execution_hooks.js +9 -0
  183. package/dest/hooks/index.d.ts +5 -0
  184. package/dest/hooks/index.d.ts.map +1 -0
  185. package/dest/hooks/index.js +1 -0
  186. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  187. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  188. package/dest/hooks/resolve_custom_request.js +3 -0
  189. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +48 -0
  190. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  191. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  192. package/dest/logs/log_service.d.ts +13 -12
  193. package/dest/logs/log_service.d.ts.map +1 -1
  194. package/dest/logs/log_service.js +186 -81
  195. package/dest/messages/tx_resolver_service.d.ts +17 -0
  196. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  197. package/dest/messages/tx_resolver_service.js +55 -0
  198. package/dest/notes/note_service.d.ts +27 -6
  199. package/dest/notes/note_service.d.ts.map +1 -1
  200. package/dest/notes/note_service.js +80 -56
  201. package/dest/notes_filter.d.ts +2 -3
  202. package/dest/notes_filter.d.ts.map +1 -1
  203. package/dest/oracle_version.d.ts +4 -3
  204. package/dest/oracle_version.d.ts.map +1 -1
  205. package/dest/oracle_version.js +20 -10
  206. package/dest/private_kernel/batch_planner.d.ts +47 -0
  207. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  208. package/dest/private_kernel/batch_planner.js +104 -0
  209. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  210. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  211. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +7 -3
  212. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  213. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  214. package/dest/private_kernel/hints/test_utils.js +3 -4
  215. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  216. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  217. package/dest/private_kernel/private_kernel_execution_prover.js +203 -89
  218. package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
  219. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  220. package/dest/private_kernel/private_kernel_oracle.js +40 -26
  221. package/dest/pxe.d.ts +167 -55
  222. package/dest/pxe.d.ts.map +1 -1
  223. package/dest/pxe.js +337 -207
  224. package/dest/storage/allowed_scopes.d.ts +6 -0
  225. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  226. package/dest/storage/allowed_scopes.js +7 -0
  227. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  228. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  229. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  230. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  231. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  232. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  233. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  234. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  235. package/dest/storage/backwards_compatibility_tests/schema_tests.js +647 -0
  236. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  237. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  238. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  239. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  240. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  241. package/dest/storage/capsule_store/capsule_service.js +47 -0
  242. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  243. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  244. package/dest/storage/capsule_store/capsule_store.js +36 -28
  245. package/dest/storage/capsule_store/index.d.ts +2 -1
  246. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  247. package/dest/storage/capsule_store/index.js +1 -0
  248. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  249. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  250. package/dest/storage/contract_store/contract_store.js +70 -98
  251. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  252. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  253. package/dest/storage/fact_store/fact_service.js +45 -0
  254. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  255. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  256. package/dest/storage/fact_store/fact_store.js +408 -0
  257. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  258. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  259. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  260. package/dest/storage/fact_store/index.d.ts +6 -0
  261. package/dest/storage/fact_store/index.d.ts.map +1 -0
  262. package/dest/storage/fact_store/index.js +4 -0
  263. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  264. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  265. package/dest/storage/fact_store/origin_state.js +53 -0
  266. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  267. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  268. package/dest/storage/fact_store/stored_fact.js +64 -0
  269. package/dest/storage/index.d.ts +3 -2
  270. package/dest/storage/index.d.ts.map +1 -1
  271. package/dest/storage/index.js +2 -1
  272. package/dest/storage/metadata.d.ts +2 -2
  273. package/dest/storage/metadata.d.ts.map +1 -1
  274. package/dest/storage/metadata.js +1 -1
  275. package/dest/storage/note_store/note_store.d.ts +42 -33
  276. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  277. package/dest/storage/note_store/note_store.js +199 -170
  278. package/dest/storage/note_store/stored_note.d.ts +3 -8
  279. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  280. package/dest/storage/note_store/stored_note.js +4 -20
  281. package/dest/storage/open_pxe_stores.d.ts +35 -0
  282. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  283. package/dest/storage/open_pxe_stores.js +29 -0
  284. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  285. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  286. package/dest/storage/private_event_store/private_event_store.js +43 -43
  287. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  288. package/dest/storage/tagging_store/index.d.ts +2 -2
  289. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  290. package/dest/storage/tagging_store/index.js +1 -1
  291. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  292. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  293. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  294. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  295. package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
  296. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  297. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  298. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  299. package/dest/tagging/constants.d.ts +2 -2
  300. package/dest/tagging/constants.d.ts.map +1 -1
  301. package/dest/tagging/constants.js +5 -8
  302. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  303. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  304. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  305. package/dest/tagging/index.d.ts +5 -4
  306. package/dest/tagging/index.d.ts.map +1 -1
  307. package/dest/tagging/index.js +4 -3
  308. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  309. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  310. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  311. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  312. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  313. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  314. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  315. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  316. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  317. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  318. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  319. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  320. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  321. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  322. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  323. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  324. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  325. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  326. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  327. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +2 -2
  328. package/package.json +20 -17
  329. package/src/bin/check_oracle_version.ts +51 -133
  330. package/src/bin/index.ts +5 -0
  331. package/src/bin/oracle_version_helpers.ts +311 -0
  332. package/src/block_synchronizer/block_stream_source.ts +42 -0
  333. package/src/block_synchronizer/block_synchronizer.ts +102 -39
  334. package/src/config/index.ts +15 -8
  335. package/src/config/package_info.ts +1 -1
  336. package/src/contract/contract_class_service.ts +83 -0
  337. package/src/contract/contract_sync_service.ts +176 -0
  338. package/src/contract/helpers.ts +35 -0
  339. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  340. package/src/contract_function_simulator/contract_function_simulator.ts +140 -58
  341. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  342. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  343. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  344. package/src/contract_function_simulator/index.ts +69 -5
  345. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  346. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  347. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  348. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  349. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -7
  350. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  351. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  352. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  353. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -61
  354. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  355. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -8
  356. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  357. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  358. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  359. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  360. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +58 -0
  361. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  362. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  363. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  364. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  365. package/src/contract_function_simulator/oracle/index.ts +1 -15
  366. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  367. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +120 -0
  368. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  369. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  370. package/src/contract_function_simulator/oracle/oracle_registry.ts +689 -0
  371. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +964 -0
  372. package/src/contract_function_simulator/oracle/private_execution.ts +3 -4
  373. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +240 -86
  374. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +783 -305
  375. package/src/contract_function_simulator/pick_notes.ts +22 -3
  376. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  377. package/src/contract_logging.ts +18 -5
  378. package/src/debug/pxe_debug_utils.ts +4 -12
  379. package/src/entrypoints/client/bundle/index.ts +0 -1
  380. package/src/entrypoints/client/bundle/utils.ts +19 -7
  381. package/src/entrypoints/client/lazy/index.ts +0 -1
  382. package/src/entrypoints/client/lazy/utils.ts +19 -7
  383. package/src/entrypoints/pxe_creation_options.ts +21 -1
  384. package/src/entrypoints/server/index.ts +6 -3
  385. package/src/entrypoints/server/utils.ts +24 -7
  386. package/src/error_enriching.ts +27 -11
  387. package/src/events/event_service.ts +69 -21
  388. package/src/events/private_event_filter_validator.ts +21 -1
  389. package/src/hooks/authorize_utility_call.ts +44 -0
  390. package/src/hooks/execution_hooks.ts +68 -0
  391. package/src/hooks/index.ts +12 -0
  392. package/src/hooks/resolve_custom_request.ts +24 -0
  393. package/src/hooks/resolve_tagging_secret_strategy.ts +57 -0
  394. package/src/logs/log_service.ts +224 -146
  395. package/src/messages/tx_resolver_service.ts +69 -0
  396. package/src/notes/note_service.ts +119 -85
  397. package/src/notes_filter.ts +1 -3
  398. package/src/oracle_version.ts +20 -10
  399. package/src/private_kernel/batch_planner.ts +168 -0
  400. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +12 -2
  401. package/src/private_kernel/hints/test_utils.ts +3 -10
  402. package/src/private_kernel/private_kernel_execution_prover.ts +335 -121
  403. package/src/private_kernel/private_kernel_oracle.ts +58 -29
  404. package/src/pxe.ts +533 -236
  405. package/src/storage/allowed_scopes.ts +14 -0
  406. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  407. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  408. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  409. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  410. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  411. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  412. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  413. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  414. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  415. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  416. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  417. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  418. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  419. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  420. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  421. package/src/storage/backwards_compatibility_tests/schema_tests.ts +774 -0
  422. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  423. package/src/storage/capsule_store/capsule_service.ts +85 -0
  424. package/src/storage/capsule_store/capsule_store.ts +44 -26
  425. package/src/storage/capsule_store/index.ts +1 -0
  426. package/src/storage/contract_store/contract_store.ts +96 -124
  427. package/src/storage/fact_store/fact_service.ts +69 -0
  428. package/src/storage/fact_store/fact_store.ts +487 -0
  429. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  430. package/src/storage/fact_store/index.ts +14 -0
  431. package/src/storage/fact_store/origin_state.ts +75 -0
  432. package/src/storage/fact_store/stored_fact.ts +80 -0
  433. package/src/storage/index.ts +2 -1
  434. package/src/storage/metadata.ts +1 -1
  435. package/src/storage/note_store/note_store.ts +228 -192
  436. package/src/storage/note_store/stored_note.ts +5 -27
  437. package/src/storage/open_pxe_stores.ts +52 -0
  438. package/src/storage/private_event_store/private_event_store.ts +52 -54
  439. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  440. package/src/storage/tagging_store/index.ts +1 -1
  441. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  442. package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
  443. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  444. package/src/tagging/constants.ts +6 -8
  445. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  446. package/src/tagging/index.ts +4 -3
  447. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  448. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  449. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  450. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  451. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  452. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  453. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
  454. package/dest/access_scopes.d.ts +0 -9
  455. package/dest/access_scopes.d.ts.map +0 -1
  456. package/dest/access_scopes.js +0 -6
  457. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts +0 -16
  458. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts.map +0 -1
  459. package/dest/contract_function_simulator/noir-structs/message_tx_context.js +0 -57
  460. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  461. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  462. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -42
  463. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -61
  464. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  465. package/dest/contract_function_simulator/oracle/oracle.js +0 -437
  466. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  467. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  468. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  469. package/dest/contract_sync/contract_sync_service.d.ts +0 -45
  470. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  471. package/dest/contract_sync/contract_sync_service.js +0 -114
  472. package/dest/contract_sync/helpers.d.ts +0 -29
  473. package/dest/contract_sync/helpers.d.ts.map +0 -1
  474. package/dest/contract_sync/helpers.js +0 -55
  475. package/dest/messages/message_context_service.d.ts +0 -17
  476. package/dest/messages/message_context_service.d.ts.map +0 -1
  477. package/dest/messages/message_context_service.js +0 -36
  478. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  479. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  480. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  481. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  482. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  483. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  484. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  485. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  486. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  487. package/src/access_scopes.ts +0 -9
  488. package/src/contract_function_simulator/noir-structs/message_tx_context.ts +0 -55
  489. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -135
  490. package/src/contract_function_simulator/oracle/oracle.ts +0 -675
  491. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  492. package/src/contract_sync/contract_sync_service.ts +0 -181
  493. package/src/contract_sync/helpers.ts +0 -98
  494. package/src/messages/message_context_service.ts +0 -45
  495. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  496. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  497. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -4,7 +4,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { TxHash } from '@aztec/stdlib/tx';
5
5
  /**
6
6
  * Intermediate struct used to perform batch event validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
7
- * expects for values of this type to be stored in a `CapsuleArray`.
7
+ * expects for values of this type to be stored in a `EphemeralArray`.
8
8
  */ export class EventValidationRequest {
9
9
  contractAddress;
10
10
  eventTypeId;
@@ -12,30 +12,28 @@ import { TxHash } from '@aztec/stdlib/tx';
12
12
  serializedEvent;
13
13
  eventCommitment;
14
14
  txHash;
15
- recipient;
16
- constructor(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash, recipient){
15
+ constructor(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash){
17
16
  this.contractAddress = contractAddress;
18
17
  this.eventTypeId = eventTypeId;
19
18
  this.randomness = randomness;
20
19
  this.serializedEvent = serializedEvent;
21
20
  this.eventCommitment = eventCommitment;
22
21
  this.txHash = txHash;
23
- this.recipient = recipient;
24
22
  }
25
- static fromFields(fields, maxEventSerializedLen) {
23
+ static fromFields(fields) {
26
24
  const reader = FieldReader.asReader(fields);
27
- const contractAddress = AztecAddress.fromField(reader.readField());
25
+ const contractAddress = AztecAddress.fromFieldUnsafe(reader.readField());
28
26
  const eventTypeId = EventSelector.fromField(reader.readField());
29
27
  const randomness = reader.readField();
28
+ const maxEventSerializedLen = reader.readField().toNumber();
30
29
  const eventStorage = reader.readFieldArray(maxEventSerializedLen);
31
30
  const eventLen = reader.readField().toNumber();
32
31
  const serializedEvent = eventStorage.slice(0, eventLen);
33
32
  const eventCommitment = reader.readField();
34
33
  const txHash = TxHash.fromField(reader.readField());
35
- const recipient = AztecAddress.fromField(reader.readField());
36
34
  if (reader.remainingFields() !== 0) {
37
- throw new Error(`Error converting array of fields to EventValidationRequest: expected ${reader.cursor} fields but received ${fields.length} (maxEventSerializedLen=${maxEventSerializedLen}).`);
35
+ throw new Error(`Error converting array of fields to EventValidationRequest: expected ${reader.cursor} fields but received ${reader.cursor + reader.remainingFields()} (maxEventSerializedLen=${maxEventSerializedLen}).`);
38
36
  }
39
- return new EventValidationRequest(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash, recipient);
37
+ return new EventValidationRequest(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash);
40
38
  }
41
39
  }
@@ -0,0 +1,16 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { RetractableFactOrigin } from '../../storage/fact_store/index.js';
3
+ import type { EphemeralArray } from './ephemeral_array.js';
4
+ import type { Option } from './option.js';
5
+ /**
6
+ * A single fact returned within a fact collection by the fact store oracles.
7
+ *
8
+ * A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (carrying its
9
+ * origin block's current chain state) and `None` for a non-retractable one.
10
+ */
11
+ export type Fact = {
12
+ factTypeId: Fr;
13
+ payload: EphemeralArray<Fr>;
14
+ originBlock: Option<RetractableFactOrigin>;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILE1BQU0sTUFBTSxJQUFJLEdBQUc7SUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtDQUFFLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fact.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/fact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,UAAU,EAAE,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAA;CAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A single fact returned within a fact collection by the fact store oracles.
3
+ *
4
+ * A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (carrying its
5
+ * origin block's current chain state) and `None` for a non-retractable one.
6
+ */ export { };
@@ -0,0 +1,27 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { FactWithOriginState } from '../../storage/fact_store/index.js';
4
+ import type { EphemeralArrayService } from '../ephemeral_array_service.js';
5
+ import { EphemeralArray } from './ephemeral_array.js';
6
+ import type { Fact } from './fact.js';
7
+ /**
8
+ * A fact collection.
9
+ */
10
+ export type FactCollection = {
11
+ contractAddress: AztecAddress;
12
+ scope: AztecAddress;
13
+ factCollectionTypeId: Fr;
14
+ factCollectionId: Fr;
15
+ facts: EphemeralArray<Fact>;
16
+ };
17
+ /**
18
+ * Builds the Noir-facing `FactCollection` from stored facts.
19
+ */
20
+ export declare function toNoirFactCollection(service: EphemeralArrayService, contractAddress: AztecAddress, scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, facts: FactWithOriginState[]): FactCollection;
21
+ /**
22
+ * A zeroed `FactCollection` used only as a serialization shape template for the `None` case of
23
+ * `Option<FactCollection>`. Noir's `Option<T>` is fixed-width on the wire, so `None` must emit the same number of
24
+ * (zeroed) field slots as `Some`.
25
+ **/
26
+ export declare function emptyFactCollection(service: EphemeralArrayService): FactCollection;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdF9jb2xsZWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9mYWN0X2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO0lBQ3JCLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUscUJBQXFCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEtBQUssRUFBRSxZQUFZLEVBQ25CLG9CQUFvQixFQUFFLEVBQUUsRUFDeEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUNwQixLQUFLLEVBQUUsbUJBQW1CLEVBQUUsR0FDM0IsY0FBYyxDQXVCaEI7QUFFRDs7OztJQUlJO0FBQ0osd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBRWxGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fact_collection.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/fact_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,mCAAmC,CAAC;AAEpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,oBAAoB,EAAE,EAAE,CAAC;IACzB,gBAAgB,EAAE,EAAE,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,EAAE,EACxB,gBAAgB,EAAE,EAAE,EACpB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,cAAc,CAuBhB;AAED;;;;IAII;AACJ,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAElF"}
@@ -0,0 +1,31 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import { OriginBlockState } from '../../storage/fact_store/index.js';
4
+ import { EphemeralArray } from './ephemeral_array.js';
5
+ import { Option } from './option.js';
6
+ /**
7
+ * Builds the Noir-facing `FactCollection` from stored facts.
8
+ */ export function toNoirFactCollection(service, contractAddress, scope, factCollectionTypeId, factCollectionId, facts) {
9
+ return {
10
+ contractAddress,
11
+ scope,
12
+ factCollectionTypeId,
13
+ factCollectionId,
14
+ facts: EphemeralArray.fromValues(service, facts.map((fact)=>({
15
+ factTypeId: fact.factTypeId,
16
+ payload: EphemeralArray.fromValues(service, fact.payload),
17
+ originBlock: fact.originBlock ? Option.some(fact.originBlock) : Option.none({
18
+ blockNumber: 0,
19
+ blockHash: Fr.ZERO,
20
+ blockState: OriginBlockState.Pending
21
+ })
22
+ })))
23
+ };
24
+ }
25
+ /**
26
+ * A zeroed `FactCollection` used only as a serialization shape template for the `None` case of
27
+ * `Option<FactCollection>`. Noir's `Option<T>` is fixed-width on the wire, so `None` must emit the same number of
28
+ * (zeroed) field slots as `Some`.
29
+ **/ export function emptyFactCollection(service) {
30
+ return toNoirFactCollection(service, AztecAddress.ZERO, AztecAddress.ZERO, Fr.ZERO, Fr.ZERO, []);
31
+ }
@@ -1,16 +1,25 @@
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { FieldReader } from '@aztec/foundation/serialize';
3
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
- import { Tag } from '@aztec/stdlib/logs';
3
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import type { Tag } from '@aztec/stdlib/logs';
5
+ import type { Option } from './option.js';
6
+ /** Discriminant for which log source to query. */
7
+ export declare enum LogSource {
8
+ PRIVATE = 0,
9
+ PUBLIC = 1,
10
+ PUBLIC_AND_PRIVATE = 2
11
+ }
5
12
  /**
6
13
  * Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle expects values of this
7
- * type to be stored in a `CapsuleArray`.
14
+ * type to be stored in a `EphemeralArray`.
8
15
  */
9
- export declare class LogRetrievalRequest {
16
+ export type LogRetrievalRequest = {
10
17
  contractAddress: AztecAddress;
11
18
  tag: Tag;
12
- constructor(contractAddress: AztecAddress, tag: Tag);
13
- toFields(): Fr[];
14
- static fromFields(fields: Fr[] | FieldReader): LogRetrievalRequest;
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXF1ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9sb2dfcmV0cmlldmFsX3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXpDOzs7R0FHRztBQUNILHFCQUFhLG1CQUFtQjtJQUVyQixlQUFlLEVBQUUsWUFBWTtJQUM3QixHQUFHLEVBQUUsR0FBRztJQUZqQixZQUNTLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEdBQUcsRUFBRSxHQUFHLEVBQ2I7SUFFSixRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBT2pFO0NBQ0YifQ==
19
+ source: LogSource;
20
+ fromBlock: Option<BlockNumber>;
21
+ toBlock: Option<BlockNumber>;
22
+ };
23
+ /** Parses a `LogSource` from its wire field, throwing on an out-of-range value. */
24
+ export declare function logSourceFromField(field: Fr): LogSource;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXF1ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9sb2dfcmV0cmlldmFsX3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxrREFBa0Q7QUFDbEQsb0JBQVksU0FBUztJQUNuQixPQUFPLElBQUk7SUFDWCxNQUFNLElBQUk7SUFDVixrQkFBa0IsSUFBSTtDQUN2QjtBQUVEOzs7R0FHRztBQUNILE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDVCxNQUFNLEVBQUUsU0FBUyxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsbUZBQW1GO0FBQ25GLHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FPdkQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"log_retrieval_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;GAGG;AACH,qBAAa,mBAAmB;IAErB,eAAe,EAAE,YAAY;IAC7B,GAAG,EAAE,GAAG;IAFjB,YACS,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,GAAG,EACb;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,mBAAmB,CAOjE;CACF"}
1
+ {"version":3,"file":"log_retrieval_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,kDAAkD;AAClD,oBAAY,SAAS;IACnB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,kBAAkB,IAAI;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,YAAY,CAAC;IAC9B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAOvD"}
@@ -1,26 +1,14 @@
1
- import { FieldReader } from '@aztec/foundation/serialize';
2
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- import { Tag } from '@aztec/stdlib/logs';
4
- /**
5
- * Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle expects values of this
6
- * type to be stored in a `CapsuleArray`.
7
- */ export class LogRetrievalRequest {
8
- contractAddress;
9
- tag;
10
- constructor(contractAddress, tag){
11
- this.contractAddress = contractAddress;
12
- this.tag = tag;
13
- }
14
- toFields() {
15
- return [
16
- this.contractAddress.toField(),
17
- this.tag.value
18
- ];
19
- }
20
- static fromFields(fields) {
21
- const reader = FieldReader.asReader(fields);
22
- const contractAddress = AztecAddress.fromField(reader.readField());
23
- const tag = new Tag(reader.readField());
24
- return new LogRetrievalRequest(contractAddress, tag);
1
+ /** Discriminant for which log source to query. */ export var LogSource = /*#__PURE__*/ function(LogSource) {
2
+ LogSource[LogSource["PRIVATE"] = 0] = "PRIVATE";
3
+ LogSource[LogSource["PUBLIC"] = 1] = "PUBLIC";
4
+ LogSource[LogSource["PUBLIC_AND_PRIVATE"] = 2] = "PUBLIC_AND_PRIVATE";
5
+ return LogSource;
6
+ }({});
7
+ /** Parses a `LogSource` from its wire field, throwing on an out-of-range value. */ export function logSourceFromField(field) {
8
+ const sourceNum = field.toNumber();
9
+ if (!(sourceNum in LogSource)) {
10
+ const validNames = Object.keys(LogSource).filter((k)=>isNaN(Number(k)));
11
+ throw new Error(`Invalid LogSource value ${sourceNum}, expected one of ${validNames.join(', ')}`);
25
12
  }
13
+ return sourceNum;
26
14
  }
@@ -1,17 +1,19 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { BlockHash } from '@aztec/stdlib/block';
2
4
  import type { TxHash } from '@aztec/stdlib/tx';
5
+ import type { UInt64 } from '@aztec/stdlib/types';
3
6
  /**
4
7
  * Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle stores values of this
5
- * type in a `CapsuleArray`.
8
+ * type in a `EphemeralArray`.
6
9
  */
7
- export declare class LogRetrievalResponse {
10
+ export type LogRetrievalResponse = {
8
11
  logPayload: Fr[];
9
12
  txHash: TxHash;
10
13
  uniqueNoteHashesInTx: Fr[];
11
14
  firstNullifierInTx: Fr;
12
- constructor(logPayload: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
13
- toFields(): Fr[];
14
- static toEmptyFields(): Fr[];
15
- static toSerializedOption(response: LogRetrievalResponse | null): Fr[];
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXNwb25zZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvbG9nX3JldHJpZXZhbF9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJL0M7OztHQUdHO0FBQ0gscUJBQWEsb0JBQW9CO0lBRXRCLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDaEIsTUFBTSxFQUFFLE1BQU07SUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0JBQWtCLEVBQUUsRUFBRTtJQUovQixZQUNTLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFDaEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUMzQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FTZjtJQUVELE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxFQUFFLENBUzNCO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBTXJFO0NBQ0YifQ==
15
+ blockNumber: BlockNumber;
16
+ blockTimestamp: UInt64;
17
+ blockHash: BlockHash;
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXNwb25zZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvbG9nX3JldHJpZXZhbF9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzQixrQkFBa0IsRUFBRSxFQUFFLENBQUM7SUFDdkIsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLFNBQVMsRUFBRSxTQUFTLENBQUM7Q0FDdEIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"log_retrieval_response.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_response.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;;GAGG;AACH,qBAAa,oBAAoB;IAEtB,UAAU,EAAE,EAAE,EAAE;IAChB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAJ/B,YACS,UAAU,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CASf;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAS3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,EAAE,EAAE,CAMrE;CACF"}
1
+ {"version":3,"file":"log_retrieval_response.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,EAAE,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAC3B,kBAAkB,EAAE,EAAE,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC"}
@@ -1,63 +1,4 @@
1
- import { MAX_NOTE_HASHES_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN } from '@aztec/constants';
2
- import { range } from '@aztec/foundation/array';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- const MAX_LOG_CONTENT_LEN = PRIVATE_LOG_CIPHERTEXT_LEN;
5
1
  /**
6
2
  * Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle stores values of this
7
- * type in a `CapsuleArray`.
8
- */ export class LogRetrievalResponse {
9
- logPayload;
10
- txHash;
11
- uniqueNoteHashesInTx;
12
- firstNullifierInTx;
13
- constructor(logPayload, txHash, uniqueNoteHashesInTx, firstNullifierInTx){
14
- this.logPayload = logPayload;
15
- this.txHash = txHash;
16
- this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
17
- this.firstNullifierInTx = firstNullifierInTx;
18
- }
19
- toFields() {
20
- return [
21
- // We need to trim the payload since public logs can be larger than MAX_LOG_CONTENT_LEN.
22
- // This is currently not a problem since this class is only used with public logs for note completion.
23
- ...serializeBoundedVec(this.logPayload.slice(0, MAX_LOG_CONTENT_LEN), MAX_LOG_CONTENT_LEN),
24
- this.txHash.hash,
25
- ...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
26
- this.firstNullifierInTx
27
- ];
28
- }
29
- static toEmptyFields() {
30
- const serializationLen = MAX_LOG_CONTENT_LEN + 1 /* logPayload BVec */ + 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
31
- return range(serializationLen).map((_)=>Fr.zero());
32
- }
33
- static toSerializedOption(response) {
34
- if (response) {
35
- return [
36
- new Fr(1),
37
- ...response.toFields()
38
- ];
39
- } else {
40
- return [
41
- new Fr(0),
42
- ...LogRetrievalResponse.toEmptyFields()
43
- ];
44
- }
45
- }
46
- }
47
- /**
48
- * Helper function to serialize a bounded vector according to Noir's BoundedVec format
49
- * @param values - The values to serialize
50
- * @param maxLength - The maximum length of the bounded vector
51
- * @returns The serialized bounded vector as Fr[]
52
- */ function serializeBoundedVec(values, maxLength) {
53
- if (values.length > maxLength) {
54
- throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
55
- }
56
- const lengthDiff = maxLength - values.length;
57
- const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
58
- const storage = values.concat(zeroPaddingArray);
59
- return [
60
- ...storage,
61
- new Fr(values.length)
62
- ];
63
- }
3
+ * type in a `EphemeralArray`.
4
+ */ export { };
@@ -0,0 +1,27 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { Note } from '@aztec/stdlib/note';
4
+ /**
5
+ * Information about a note needed during execution.
6
+ */
7
+ export interface NoteData {
8
+ /** The actual note content (the fields of the Noir #[note] struct). */
9
+ note: Note;
10
+ /** The address of the contract that owns the note. */
11
+ contractAddress: AztecAddress;
12
+ /** The owner of the note. */
13
+ owner: AztecAddress;
14
+ /** The storage slot of the note. */
15
+ storageSlot: Fr;
16
+ /** The randomness injected to the note */
17
+ randomness: Fr;
18
+ /** The nonce injected into the note hash preimage by kernels. */
19
+ noteNonce: Fr;
20
+ /** A hash of the note as it gets stored in the note hash tree. */
21
+ noteHash: Fr;
22
+ /** True if the note is pending, false if settled. */
23
+ isPending: boolean;
24
+ /** The corresponding nullifier of the note. Undefined for pending notes. */
25
+ siloedNullifier?: Fr;
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9ub3RlX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLFdBQVcsUUFBUTtJQUN2Qix1RUFBdUU7SUFDdkUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNYLHNEQUFzRDtJQUN0RCxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLDZCQUE2QjtJQUM3QixLQUFLLEVBQUUsWUFBWSxDQUFDO0lBQ3BCLG9DQUFvQztJQUNwQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLDBDQUEwQztJQUMxQyxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2YsaUVBQWlFO0lBQ2pFLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDZCxrRUFBa0U7SUFDbEUsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUNiLHFEQUFxRDtJQUNyRCxTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ25CLDRFQUE0RTtJQUM1RSxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUM7Q0FDdEIifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note_data.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/note_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,IAAI,EAAE,IAAI,CAAC;IACX,sDAAsD;IACtD,eAAe,EAAE,YAAY,CAAC;IAC9B,6BAA6B;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,oCAAoC;IACpC,WAAW,EAAE,EAAE,CAAC;IAChB,0CAA0C;IAC1C,UAAU,EAAE,EAAE,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,EAAE,CAAC;IACd,kEAAkE;IAClE,QAAQ,EAAE,EAAE,CAAC;IACb,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,EAAE,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ /**
2
+ * Information about a note needed during execution.
3
+ */ export { };
@@ -1,9 +1,10 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FieldReader } from '@aztec/foundation/serialize';
2
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
4
  import { TxHash } from '@aztec/stdlib/tx';
4
5
  /**
5
6
  * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
6
- * expects for values of this type to be stored in a `CapsuleArray`.
7
+ * expects for values of this type to be stored in a `EphemeralArray`.
7
8
  */
8
9
  export declare class NoteValidationRequest {
9
10
  contractAddress: AztecAddress;
@@ -15,8 +16,7 @@ export declare class NoteValidationRequest {
15
16
  noteHash: Fr;
16
17
  nullifier: Fr;
17
18
  txHash: TxHash;
18
- recipient: AztecAddress;
19
- constructor(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteNonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash, recipient: AztecAddress);
20
- static fromFields(fields: Fr[], maxNotePackedLen: number): NoteValidationRequest;
19
+ constructor(contractAddress: AztecAddress, owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteNonce: Fr, content: Fr[], noteHash: Fr, nullifier: Fr, txHash: TxHash);
20
+ static fromFields(fields: Fr[] | FieldReader): NoteValidationRequest;
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV92YWxpZGF0aW9uX3JlcXVlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL25vdGVfdmFsaWRhdGlvbl9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDOzs7R0FHRztBQUNILHFCQUFhLHFCQUFxQjtJQUV2QixlQUFlLEVBQUUsWUFBWTtJQUM3QixLQUFLLEVBQUUsWUFBWTtJQUNuQixXQUFXLEVBQUUsRUFBRTtJQUNmLFVBQVUsRUFBRSxFQUFFO0lBQ2QsU0FBUyxFQUFFLEVBQUU7SUFDYixPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ2IsUUFBUSxFQUFFLEVBQUU7SUFDWixTQUFTLEVBQUUsRUFBRTtJQUNiLE1BQU0sRUFBRSxNQUFNO0lBQ2QsU0FBUyxFQUFFLFlBQVk7SUFWaEMsWUFDUyxlQUFlLEVBQUUsWUFBWSxFQUM3QixLQUFLLEVBQUUsWUFBWSxFQUNuQixXQUFXLEVBQUUsRUFBRSxFQUNmLFVBQVUsRUFBRSxFQUFFLEVBQ2QsU0FBUyxFQUFFLEVBQUUsRUFDYixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQ2IsUUFBUSxFQUFFLEVBQUUsRUFDWixTQUFTLEVBQUUsRUFBRSxFQUNiLE1BQU0sRUFBRSxNQUFNLEVBQ2QsU0FBUyxFQUFFLFlBQVksRUFDNUI7SUFFSixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcscUJBQXFCLENBb0MvRTtDQUNGIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV92YWxpZGF0aW9uX3JlcXVlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL25vdGVfdmFsaWRhdGlvbl9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxxQkFBYSxxQkFBcUI7SUFFdkIsZUFBZSxFQUFFLFlBQVk7SUFDN0IsS0FBSyxFQUFFLFlBQVk7SUFDbkIsV0FBVyxFQUFFLEVBQUU7SUFDZixVQUFVLEVBQUUsRUFBRTtJQUNkLFNBQVMsRUFBRSxFQUFFO0lBQ2IsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUNiLFFBQVEsRUFBRSxFQUFFO0lBQ1osU0FBUyxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsTUFBTTtJQVR2QixZQUNTLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEtBQUssRUFBRSxZQUFZLEVBQ25CLFdBQVcsRUFBRSxFQUFFLEVBQ2YsVUFBVSxFQUFFLEVBQUUsRUFDZCxTQUFTLEVBQUUsRUFBRSxFQUNiLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFDYixRQUFRLEVBQUUsRUFBRSxFQUNaLFNBQVMsRUFBRSxFQUFFLEVBQ2IsTUFBTSxFQUFFLE1BQU0sRUFDbkI7SUFFSixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcscUJBQXFCLENBbUNuRTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"note_validation_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/note_validation_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB;IAEvB,eAAe,EAAE,YAAY;IAC7B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,YAAY;IAVhC,YACS,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,EAAE,EACb,OAAO,EAAE,EAAE,EAAE,EACb,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EAC5B;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,qBAAqB,CAoC/E;CACF"}
1
+ {"version":3,"file":"note_validation_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/note_validation_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB;IAEvB,eAAe,EAAE,YAAY;IAC7B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,MAAM;IATvB,YACS,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,EAAE,EACb,OAAO,EAAE,EAAE,EAAE,EACb,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,MAAM,EACnB;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,qBAAqB,CAmCnE;CACF"}
@@ -3,7 +3,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import { TxHash } from '@aztec/stdlib/tx';
4
4
  /**
5
5
  * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
6
- * expects for values of this type to be stored in a `CapsuleArray`.
6
+ * expects for values of this type to be stored in a `EphemeralArray`.
7
7
  */ export class NoteValidationRequest {
8
8
  contractAddress;
9
9
  owner;
@@ -14,8 +14,7 @@ import { TxHash } from '@aztec/stdlib/tx';
14
14
  noteHash;
15
15
  nullifier;
16
16
  txHash;
17
- recipient;
18
- constructor(contractAddress, owner, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash, recipient){
17
+ constructor(contractAddress, owner, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash){
19
18
  this.contractAddress = contractAddress;
20
19
  this.owner = owner;
21
20
  this.storageSlot = storageSlot;
@@ -25,25 +24,24 @@ import { TxHash } from '@aztec/stdlib/tx';
25
24
  this.noteHash = noteHash;
26
25
  this.nullifier = nullifier;
27
26
  this.txHash = txHash;
28
- this.recipient = recipient;
29
27
  }
30
- static fromFields(fields, maxNotePackedLen) {
28
+ static fromFields(fields) {
31
29
  const reader = FieldReader.asReader(fields);
32
- const contractAddress = AztecAddress.fromField(reader.readField());
33
- const owner = AztecAddress.fromField(reader.readField());
30
+ const contractAddress = AztecAddress.fromFieldUnsafe(reader.readField());
31
+ const owner = AztecAddress.fromFieldUnsafe(reader.readField());
34
32
  const storageSlot = reader.readField();
35
33
  const randomness = reader.readField();
36
34
  const noteNonce = reader.readField();
35
+ const maxNotePackedLen = reader.readField().toNumber();
37
36
  const contentStorage = reader.readFieldArray(maxNotePackedLen);
38
37
  const contentLen = reader.readField().toNumber();
39
38
  const content = contentStorage.slice(0, contentLen);
40
39
  const noteHash = reader.readField();
41
40
  const nullifier = reader.readField();
42
41
  const txHash = TxHash.fromField(reader.readField());
43
- const recipient = AztecAddress.fromField(reader.readField());
44
42
  if (reader.remainingFields() !== 0) {
45
- throw new Error(`Error converting array of fields to NoteValidationRequest: expected ${reader.cursor} fields but received ${fields.length} (maxNotePackedLen=${maxNotePackedLen}).`);
43
+ throw new Error(`Error converting array of fields to NoteValidationRequest: expected ${reader.cursor} fields but received ${reader.cursor + reader.remainingFields()} (maxNotePackedLen=${maxNotePackedLen}).`);
46
44
  }
47
- return new NoteValidationRequest(contractAddress, owner, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash, recipient);
45
+ return new NoteValidationRequest(contractAddress, owner, storageSlot, randomness, noteNonce, content, noteHash, nullifier, txHash);
48
46
  }
49
47
  }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * TypeScript counterpart of Noir's `Option<T>`.
3
+ *
4
+ * Wraps a value that may or may not be present. Use {@link Option.some} to wrap a present value and
5
+ * {@link Option.none} for an absent one. The type guards {@link isSome} and {@link isNone} narrow
6
+ * `value` in conditional branches.
7
+ */
8
+ export declare class Option<T> {
9
+ readonly value: T | undefined;
10
+ readonly size: unknown;
11
+ private constructor();
12
+ /**
13
+ * Wrap a present value.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * return Option.some(values);
18
+ * ```
19
+ */
20
+ static some<T>(value: T): Option<T>;
21
+ /**
22
+ * Construct an absent Option.
23
+ *
24
+ * When serialized back to ACVM, the `None` case must produce the same number of fields as `Some`. For an inner type whose
25
+ * wire size varies per call site (`BoundedVec`, an array), pass a `size` descriptor so the inner type's shape can
26
+ * resolve how many zero fields to emit; fixed-size inners take no argument.
27
+ *
28
+ * @example None for a fixed-size type:
29
+ * ```ts
30
+ * return Option.none();
31
+ * ```
32
+ *
33
+ * @example None for a dynamic-size type:
34
+ * ```ts
35
+ * return Option.none({ maxLength: ciphertext.maxLength });
36
+ * ```
37
+ */
38
+ static none<T>(size?: unknown): Option<T>;
39
+ /**
40
+ * Type guard: narrows `value` to `T` in the truthy branch.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const opt = await handler.getSenderForTags();
45
+ * if (opt.isSome()) {
46
+ * console.log(opt.value); // narrowed to T
47
+ * }
48
+ * ```
49
+ */
50
+ isSome(): this is Option<T> & {
51
+ value: T;
52
+ };
53
+ /** Type guard: narrows `value` to `undefined` in the truthy branch. */
54
+ isNone(): this is Option<T> & {
55
+ value: undefined;
56
+ };
57
+ equals(other: Option<T>, innerEquals: (a: T, b: T) => boolean): boolean;
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9vcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gscUJBQWEsTUFBTSxDQUFDLENBQUM7YUFFRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVM7YUFHcEIsSUFBSSxFQUFFLE9BQU87SUFKL0IsT0FBTyxlQUtIO0lBRUo7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUVsQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FFeEM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQUUsQ0FFekM7SUFFRCx1RUFBdUU7SUFDdkUsTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFBO0tBQUUsQ0FFakQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHLE9BQU8sQ0FLdEU7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/option.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,MAAM,CAAC,CAAC;aAED,KAAK,EAAE,CAAC,GAAG,SAAS;aAGpB,IAAI,EAAE,OAAO;IAJ/B,OAAO,eAKH;IAEJ;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAElC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAExC;IAED;;;;;;;;;;OAUG;IACH,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAEzC;IAED,uEAAuE;IACvE,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,CAEjD;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAKtE;CACF"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * TypeScript counterpart of Noir's `Option<T>`.
3
+ *
4
+ * Wraps a value that may or may not be present. Use {@link Option.some} to wrap a present value and
5
+ * {@link Option.none} for an absent one. The type guards {@link isSome} and {@link isNone} narrow
6
+ * `value` in conditional branches.
7
+ */ export class Option {
8
+ value;
9
+ size;
10
+ constructor(value, // `unknown` (not the descriptor shape) keeps this generic Option decoupled from the serialization layer's
11
+ // `{ length }`/`{ maxLength }` size descriptors; only the None-serialization path inspects it.
12
+ size){
13
+ this.value = value;
14
+ this.size = size;
15
+ }
16
+ /**
17
+ * Wrap a present value.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * return Option.some(values);
22
+ * ```
23
+ */ static some(value) {
24
+ return new Option(value, undefined);
25
+ }
26
+ /**
27
+ * Construct an absent Option.
28
+ *
29
+ * When serialized back to ACVM, the `None` case must produce the same number of fields as `Some`. For an inner type whose
30
+ * wire size varies per call site (`BoundedVec`, an array), pass a `size` descriptor so the inner type's shape can
31
+ * resolve how many zero fields to emit; fixed-size inners take no argument.
32
+ *
33
+ * @example None for a fixed-size type:
34
+ * ```ts
35
+ * return Option.none();
36
+ * ```
37
+ *
38
+ * @example None for a dynamic-size type:
39
+ * ```ts
40
+ * return Option.none({ maxLength: ciphertext.maxLength });
41
+ * ```
42
+ */ static none(size) {
43
+ return new Option(undefined, size);
44
+ }
45
+ /**
46
+ * Type guard: narrows `value` to `T` in the truthy branch.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const opt = await handler.getSenderForTags();
51
+ * if (opt.isSome()) {
52
+ * console.log(opt.value); // narrowed to T
53
+ * }
54
+ * ```
55
+ */ isSome() {
56
+ return this.value !== undefined;
57
+ }
58
+ /** Type guard: narrows `value` to `undefined` in the truthy branch. */ isNone() {
59
+ return this.value === undefined;
60
+ }
61
+ equals(other, innerEquals) {
62
+ if (this.isSome() && other.isSome()) {
63
+ return innerEquals(this.value, other.value);
64
+ }
65
+ return this.isNone() && other.isNone();
66
+ }
67
+ }
@@ -0,0 +1,11 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ /**
3
+ * The block a retractable fact originates from.
4
+ *
5
+ * A TS version of the `OriginBlock` struct in `facts/mod.nr`.
6
+ */
7
+ export type OriginBlock = {
8
+ blockNumber: number;
9
+ blockHash: Fr;
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2luX2Jsb2NrLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9vcmlnaW5fYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQ7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQTtDQUFFLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin_block.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/origin_block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,EAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The block a retractable fact originates from.
3
+ *
4
+ * A TS version of the `OriginBlock` struct in `facts/mod.nr`.
5
+ */ export { };