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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/dest/bin/check_oracle_version.js +41 -112
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +34 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +46 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +22 -16
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +71 -28
  14. package/dest/config/index.d.ts +9 -2
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +14 -15
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +24 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +36 -0
  21. package/dest/contract/contract_sync_service.d.ts +48 -0
  22. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  23. package/dest/contract/contract_sync_service.js +119 -0
  24. package/dest/contract/helpers.d.ts +7 -0
  25. package/dest/contract/helpers.d.ts.map +1 -0
  26. package/dest/contract/helpers.js +20 -0
  27. package/dest/contract/skip_sync_contracts.d.ts +11 -0
  28. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  29. package/dest/contract/skip_sync_contracts.js +18 -0
  30. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  31. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  32. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  33. package/dest/contract_function_simulator/contract_function_simulator.d.ts +72 -43
  34. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/contract_function_simulator.js +266 -114
  36. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  37. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  38. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  40. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_note_cache.js +10 -29
  42. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  43. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
  45. package/dest/contract_function_simulator/index.d.ts +26 -5
  46. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/index.js +11 -3
  48. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  49. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  51. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  52. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  55. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  57. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  58. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  59. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  60. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -4
  61. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +9 -10
  63. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  64. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  66. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  67. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  68. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  72. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  73. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  74. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
  75. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  76. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  77. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  78. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -5
  79. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  80. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -12
  81. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  82. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  84. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  87. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  88. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  90. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  91. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  97. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  99. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  100. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  101. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  102. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  103. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  104. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  105. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  106. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  107. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  108. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  109. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/index.js +1 -1
  111. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -98
  112. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  113. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  114. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  115. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  116. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  117. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  118. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  120. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  121. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  122. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  123. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
  124. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
  126. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
  127. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  128. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  129. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  130. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
  132. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -98
  133. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +263 -117
  135. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +206 -83
  136. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +688 -188
  138. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  139. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  140. package/dest/contract_function_simulator/pick_notes.js +20 -3
  141. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  142. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  143. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  144. package/dest/contract_logging.d.ts +27 -0
  145. package/dest/contract_logging.d.ts.map +1 -0
  146. package/dest/contract_logging.js +38 -0
  147. package/dest/debug/pxe_debug_utils.d.ts +5 -9
  148. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  149. package/dest/debug/pxe_debug_utils.js +4 -10
  150. package/dest/entrypoints/client/bundle/index.d.ts +4 -1
  151. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/index.js +3 -0
  153. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  154. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  155. package/dest/entrypoints/client/bundle/utils.js +29 -8
  156. package/dest/entrypoints/client/lazy/index.d.ts +4 -1
  157. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/index.js +3 -0
  159. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  160. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  161. package/dest/entrypoints/client/lazy/utils.js +29 -8
  162. package/dest/entrypoints/client/store.d.ts +14 -0
  163. package/dest/entrypoints/client/store.d.ts.map +1 -0
  164. package/dest/entrypoints/client/store.js +42 -0
  165. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  166. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  167. package/dest/entrypoints/pxe_creation_options.js +3 -1
  168. package/dest/entrypoints/server/index.d.ts +8 -3
  169. package/dest/entrypoints/server/index.d.ts.map +1 -1
  170. package/dest/entrypoints/server/index.js +6 -2
  171. package/dest/entrypoints/server/store.d.ts +18 -0
  172. package/dest/entrypoints/server/store.d.ts.map +1 -0
  173. package/dest/entrypoints/server/store.js +28 -0
  174. package/dest/entrypoints/server/utils.d.ts +4 -3
  175. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  176. package/dest/entrypoints/server/utils.js +30 -8
  177. package/dest/error_enriching.d.ts +5 -3
  178. package/dest/error_enriching.d.ts.map +1 -1
  179. package/dest/error_enriching.js +15 -12
  180. package/dest/events/event_service.d.ts +21 -5
  181. package/dest/events/event_service.d.ts.map +1 -1
  182. package/dest/events/event_service.js +51 -17
  183. package/dest/events/private_event_filter_validator.d.ts +3 -2
  184. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  185. package/dest/events/private_event_filter_validator.js +15 -0
  186. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  187. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  188. package/dest/hooks/authorize_utility_call.js +4 -0
  189. package/dest/hooks/execution_hooks.d.ts +62 -0
  190. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  191. package/dest/hooks/execution_hooks.js +9 -0
  192. package/dest/hooks/index.d.ts +5 -0
  193. package/dest/hooks/index.d.ts.map +1 -0
  194. package/dest/hooks/index.js +2 -0
  195. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  196. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  197. package/dest/hooks/resolve_custom_request.js +3 -0
  198. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  199. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  200. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  201. package/dest/logs/log_service.d.ts +21 -10
  202. package/dest/logs/log_service.d.ts.map +1 -1
  203. package/dest/logs/log_service.js +184 -90
  204. package/dest/messages/tx_resolver_service.d.ts +28 -0
  205. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  206. package/dest/messages/tx_resolver_service.js +62 -0
  207. package/dest/node/benchmarked_node.d.ts +20 -0
  208. package/dest/node/benchmarked_node.d.ts.map +1 -0
  209. package/dest/node/benchmarked_node.js +94 -0
  210. package/dest/node/caching_aztec_node.d.ts +24 -0
  211. package/dest/node/caching_aztec_node.d.ts.map +1 -0
  212. package/dest/node/caching_aztec_node.js +268 -0
  213. package/dest/notes/note_service.d.ts +34 -6
  214. package/dest/notes/note_service.d.ts.map +1 -1
  215. package/dest/notes/note_service.js +85 -59
  216. package/dest/notes_filter.d.ts +24 -0
  217. package/dest/notes_filter.d.ts.map +1 -0
  218. package/dest/notes_filter.js +4 -0
  219. package/dest/oracle_version.d.ts +4 -3
  220. package/dest/oracle_version.d.ts.map +1 -1
  221. package/dest/oracle_version.js +20 -10
  222. package/dest/private_kernel/batch_planner.d.ts +47 -0
  223. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  224. package/dest/private_kernel/batch_planner.js +104 -0
  225. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  226. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  227. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  228. package/dest/private_kernel/hints/index.d.ts +1 -1
  229. package/dest/private_kernel/hints/index.js +1 -1
  230. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  231. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  232. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +138 -72
  233. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  234. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  235. package/dest/private_kernel/hints/test_utils.js +202 -0
  236. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  237. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  238. package/dest/private_kernel/private_kernel_execution_prover.js +165 -82
  239. package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
  240. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  241. package/dest/private_kernel/private_kernel_oracle.js +47 -29
  242. package/dest/pxe.d.ts +219 -68
  243. package/dest/pxe.d.ts.map +1 -1
  244. package/dest/pxe.js +423 -243
  245. package/dest/storage/address_store/address_store.d.ts +1 -1
  246. package/dest/storage/address_store/address_store.d.ts.map +1 -1
  247. package/dest/storage/address_store/address_store.js +2 -1
  248. package/dest/storage/allowed_scopes.d.ts +6 -0
  249. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  250. package/dest/storage/allowed_scopes.js +7 -0
  251. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  252. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  253. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  254. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  255. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  256. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  257. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  258. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  259. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  260. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  261. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  262. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  263. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  264. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  265. package/dest/storage/capsule_store/capsule_service.js +47 -0
  266. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  267. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  268. package/dest/storage/capsule_store/capsule_store.js +37 -29
  269. package/dest/storage/capsule_store/index.d.ts +2 -1
  270. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  271. package/dest/storage/capsule_store/index.js +1 -0
  272. package/dest/storage/contract_store/contract_store.d.ts +63 -33
  273. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  274. package/dest/storage/contract_store/contract_store.js +179 -130
  275. package/dest/storage/contract_store/private_functions_tree.d.ts +1 -1
  276. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -1
  277. package/dest/storage/contract_store/private_functions_tree.js +2 -1
  278. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  279. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  280. package/dest/storage/fact_store/fact_service.js +45 -0
  281. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  282. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  283. package/dest/storage/fact_store/fact_store.js +411 -0
  284. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  285. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  286. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  287. package/dest/storage/fact_store/index.d.ts +6 -0
  288. package/dest/storage/fact_store/index.d.ts.map +1 -0
  289. package/dest/storage/fact_store/index.js +4 -0
  290. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  291. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  292. package/dest/storage/fact_store/origin_state.js +60 -0
  293. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  294. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  295. package/dest/storage/fact_store/stored_fact.js +64 -0
  296. package/dest/storage/index.d.ts +3 -2
  297. package/dest/storage/index.d.ts.map +1 -1
  298. package/dest/storage/index.js +2 -1
  299. package/dest/storage/metadata.d.ts +2 -2
  300. package/dest/storage/metadata.d.ts.map +1 -1
  301. package/dest/storage/metadata.js +1 -1
  302. package/dest/storage/note_store/note_store.d.ts +44 -35
  303. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  304. package/dest/storage/note_store/note_store.js +203 -174
  305. package/dest/storage/note_store/stored_note.d.ts +3 -8
  306. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  307. package/dest/storage/note_store/stored_note.js +4 -20
  308. package/dest/storage/open_pxe_stores.d.ts +35 -0
  309. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  310. package/dest/storage/open_pxe_stores.js +29 -0
  311. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  312. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  313. package/dest/storage/private_event_store/private_event_store.js +48 -45
  314. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  315. package/dest/storage/store_identity.d.ts +35 -0
  316. package/dest/storage/store_identity.d.ts.map +1 -0
  317. package/dest/storage/store_identity.js +44 -0
  318. package/dest/storage/tagging_store/index.d.ts +2 -2
  319. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  320. package/dest/storage/tagging_store/index.js +1 -1
  321. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  322. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  323. package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
  324. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  325. package/dest/storage/tagging_store/sender_tagging_store.js +210 -129
  326. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  327. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  328. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  329. package/dest/tagging/constants.d.ts +11 -2
  330. package/dest/tagging/constants.d.ts.map +1 -1
  331. package/dest/tagging/constants.js +38 -10
  332. package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
  333. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  334. package/dest/tagging/get_all_logs_by_tags.js +65 -32
  335. package/dest/tagging/index.d.ts +8 -7
  336. package/dest/tagging/index.d.ts.map +1 -1
  337. package/dest/tagging/index.js +6 -5
  338. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  339. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  340. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  341. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
  342. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  343. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +235 -0
  344. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  345. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  346. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  347. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  348. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  349. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  350. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +8 -10
  351. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  352. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -22
  353. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
  354. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
  355. package/dest/tagging/sender_sync/utils/classify_pending_txs.js +62 -0
  356. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -9
  357. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  358. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +53 -39
  359. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
  360. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
  361. package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +42 -0
  362. package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
  363. package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
  364. package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
  365. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  366. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  367. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  368. package/package.json +20 -17
  369. package/src/bin/check_oracle_version.ts +46 -135
  370. package/src/bin/index.ts +1 -0
  371. package/src/bin/oracle_version_helpers.ts +54 -0
  372. package/src/block_synchronizer/block_stream_source.ts +42 -0
  373. package/src/block_synchronizer/block_synchronizer.ts +86 -40
  374. package/src/config/index.ts +16 -9
  375. package/src/config/package_info.ts +1 -1
  376. package/src/contract/contract_class_service.ts +45 -0
  377. package/src/contract/contract_sync_service.ts +179 -0
  378. package/src/contract/helpers.ts +35 -0
  379. package/src/contract/skip_sync_contracts.ts +23 -0
  380. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  381. package/src/contract_function_simulator/contract_function_simulator.ts +468 -180
  382. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  383. package/src/contract_function_simulator/execution_note_cache.ts +10 -30
  384. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  385. package/src/contract_function_simulator/index.ts +89 -4
  386. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  387. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  388. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  389. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  390. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
  391. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  392. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  393. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  394. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  395. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  396. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
  397. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  398. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  399. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  400. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  401. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  402. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  403. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  404. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  405. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  406. package/src/contract_function_simulator/oracle/index.ts +1 -15
  407. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  408. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  409. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  410. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  411. package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
  412. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
  413. package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
  414. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +320 -210
  415. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1028 -268
  416. package/src/contract_function_simulator/pick_notes.ts +22 -3
  417. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  418. package/src/contract_logging.ts +52 -0
  419. package/src/debug/pxe_debug_utils.ts +11 -17
  420. package/src/entrypoints/client/bundle/index.ts +3 -0
  421. package/src/entrypoints/client/bundle/utils.ts +35 -9
  422. package/src/entrypoints/client/lazy/index.ts +3 -0
  423. package/src/entrypoints/client/lazy/utils.ts +35 -9
  424. package/src/entrypoints/client/store.ts +54 -0
  425. package/src/entrypoints/pxe_creation_options.ts +21 -1
  426. package/src/entrypoints/server/index.ts +8 -2
  427. package/src/entrypoints/server/store.ts +47 -0
  428. package/src/entrypoints/server/utils.ts +46 -21
  429. package/src/error_enriching.ts +30 -13
  430. package/src/events/event_service.ts +85 -26
  431. package/src/events/private_event_filter_validator.ts +21 -1
  432. package/src/hooks/authorize_utility_call.ts +44 -0
  433. package/src/hooks/execution_hooks.ts +68 -0
  434. package/src/hooks/index.ts +13 -0
  435. package/src/hooks/resolve_custom_request.ts +24 -0
  436. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  437. package/src/logs/log_service.ts +231 -157
  438. package/src/messages/tx_resolver_service.ts +81 -0
  439. package/src/node/benchmarked_node.ts +140 -0
  440. package/src/node/caching_aztec_node.ts +407 -0
  441. package/src/notes/note_service.ts +128 -86
  442. package/src/notes_filter.ts +24 -0
  443. package/src/oracle_version.ts +20 -10
  444. package/src/private_kernel/batch_planner.ts +169 -0
  445. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  446. package/src/private_kernel/hints/index.ts +1 -1
  447. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +179 -121
  448. package/src/private_kernel/hints/test_utils.ts +318 -0
  449. package/src/private_kernel/private_kernel_execution_prover.ts +252 -116
  450. package/src/private_kernel/private_kernel_oracle.ts +65 -36
  451. package/src/pxe.ts +698 -311
  452. package/src/storage/address_store/address_store.ts +2 -1
  453. package/src/storage/allowed_scopes.ts +14 -0
  454. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  455. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  456. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  457. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  458. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  459. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  460. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  461. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  462. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  463. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  464. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  465. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  466. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  467. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  468. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  469. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  470. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  471. package/src/storage/capsule_store/capsule_service.ts +85 -0
  472. package/src/storage/capsule_store/capsule_store.ts +45 -27
  473. package/src/storage/capsule_store/index.ts +1 -0
  474. package/src/storage/contract_store/contract_store.ts +238 -166
  475. package/src/storage/contract_store/private_functions_tree.ts +2 -1
  476. package/src/storage/fact_store/fact_service.ts +69 -0
  477. package/src/storage/fact_store/fact_store.ts +488 -0
  478. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  479. package/src/storage/fact_store/index.ts +15 -0
  480. package/src/storage/fact_store/origin_state.ts +84 -0
  481. package/src/storage/fact_store/stored_fact.ts +80 -0
  482. package/src/storage/index.ts +2 -1
  483. package/src/storage/metadata.ts +1 -1
  484. package/src/storage/note_store/note_store.ts +236 -194
  485. package/src/storage/note_store/stored_note.ts +5 -27
  486. package/src/storage/open_pxe_stores.ts +52 -0
  487. package/src/storage/private_event_store/private_event_store.ts +55 -56
  488. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  489. package/src/storage/store_identity.ts +72 -0
  490. package/src/storage/tagging_store/index.ts +1 -1
  491. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
  492. package/src/storage/tagging_store/sender_tagging_store.ts +278 -158
  493. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  494. package/src/tagging/constants.ts +42 -10
  495. package/src/tagging/get_all_logs_by_tags.ts +125 -36
  496. package/src/tagging/index.ts +12 -6
  497. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  498. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +356 -0
  499. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
  500. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  501. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -27
  502. package/src/tagging/sender_sync/utils/classify_pending_txs.ts +92 -0
  503. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +57 -50
  504. package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +65 -0
  505. package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
  506. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  507. package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
  508. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
  509. package/dest/contract_function_simulator/benchmarked_node.js +0 -77
  510. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
  511. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  512. package/dest/contract_function_simulator/oracle/oracle.js +0 -368
  513. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  514. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  515. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  516. package/dest/contract_sync/contract_sync_service.d.ts +0 -41
  517. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  518. package/dest/contract_sync/contract_sync_service.js +0 -82
  519. package/dest/contract_sync/helpers.d.ts +0 -28
  520. package/dest/contract_sync/helpers.d.ts.map +0 -1
  521. package/dest/contract_sync/helpers.js +0 -55
  522. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  523. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  524. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  525. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  526. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  527. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
  528. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  529. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  530. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
  531. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  532. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
  533. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
  534. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  535. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
  536. package/src/contract_function_simulator/benchmarked_node.ts +0 -103
  537. package/src/contract_function_simulator/oracle/oracle.ts +0 -637
  538. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  539. package/src/contract_sync/contract_sync_service.ts +0 -129
  540. package/src/contract_sync/helpers.ts +0 -93
  541. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  542. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
  543. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
  544. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
@@ -1,17 +1,13 @@
1
1
  import { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { padArrayEnd } from '@aztec/foundation/collection';
4
+ import { allToCompletion } from '@aztec/foundation/promise';
4
5
  import { assertLength } from '@aztec/foundation/serialize';
5
6
  import { MembershipWitness } from '@aztec/foundation/trees';
6
7
  import { privateKernelResetDimensionsConfig } from '@aztec/noir-protocol-circuits-types/client';
7
- import { KeyValidationHint, PaddedSideEffects, PrivateKernelData, PrivateKernelResetCircuitPrivateInputs, PrivateKernelResetDimensions, PrivateKernelResetHints, ReadRequestActionEnum, ReadRequestResetActions, ScopedNoteHash, ScopedNullifier, TransientDataSquashingHint, buildNoteHashReadRequestHintsFromResetActions, buildNullifierReadRequestHintsFromResetActions, buildTransientDataHints, findPrivateKernelResetDimensions, getNoteHashReadRequestResetActions, getNullifierReadRequestResetActions, privateKernelResetDimensionNames } from '@aztec/stdlib/kernel';
8
+ import { KeyValidationHint, PaddedSideEffects, PrivateKernelData, PrivateKernelResetCircuitPrivateInputs, PrivateKernelResetDimensions, PrivateKernelResetHints, ReadRequestActionEnum, ReadRequestResetActions, TransientDataSquashingHint, buildNoteHashReadRequestHintsFromResetActions, buildNullifierReadRequestHintsFromResetActions, buildTransientDataHints, countSquashedLogs, findPrivateKernelResetDimensions, getNoteHashReadRequestResetActions, getNullifierReadRequestResetActions, kernelStateIsForPublic, privateKernelResetDimensionNames } from '@aztec/stdlib/kernel';
8
9
  import { collectNested } from '@aztec/stdlib/tx';
9
10
  import { VkData } from '@aztec/stdlib/vks';
10
- function collectNestedReadRequests(executionStack, extractReadRequests) {
11
- return collectNested(executionStack, (executionResult)=>{
12
- return extractReadRequests(executionResult).getActiveItems();
13
- });
14
- }
15
11
  function getNullifierMembershipWitnessResolver(oracle) {
16
12
  return async (nullifier)=>{
17
13
  const res = await oracle.getNullifierMembershipWitness(nullifier);
@@ -25,10 +21,10 @@ function getNullifierMembershipWitnessResolver(oracle) {
25
21
  };
26
22
  };
27
23
  }
28
- async function getMasterSecretKeysAndAppKeyGenerators(keyValidationRequests, numRequestsToVerify, oracle) {
24
+ async function getMasterSecretKeysAndKeyTypeDomainSeparators(keyValidationRequests, numRequestsToVerify, oracle) {
29
25
  const numRequestsToProcess = Math.min(keyValidationRequests.claimedLength, numRequestsToVerify);
30
- const keysHints = await Promise.all(keyValidationRequests.array.slice(0, numRequestsToProcess).map(async ({ request })=>{
31
- const secretKeys = await oracle.getMasterSecretKey(request.request.pkM);
26
+ const keysHints = await allToCompletion(keyValidationRequests.array.slice(0, numRequestsToProcess).map(async ({ request })=>{
27
+ const secretKeys = await oracle.getMasterSecretKey(request.request.pkMHash);
32
28
  return new KeyValidationHint(secretKeys);
33
29
  }));
34
30
  return padArrayEnd(keysHints, KeyValidationHint.empty(), MAX_KEY_VALIDATION_REQUESTS_PER_TX);
@@ -51,18 +47,21 @@ export class PrivateKernelResetPrivateInputsBuilder {
51
47
  this.executionStack = executionStack;
52
48
  this.noteHashNullifierCounterMap = noteHashNullifierCounterMap;
53
49
  this.splitCounter = splitCounter;
54
- this.previousKernel = previousKernelOutput.publicInputs;
55
- this.requestedDimensions = PrivateKernelResetDimensions.empty();
56
50
  this.noteHashResetActions = ReadRequestResetActions.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
57
51
  this.nullifierResetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
58
52
  this.transientDataSquashingHints = makeTuple(MAX_NULLIFIERS_PER_TX, ()=>new TransientDataSquashingHint(MAX_NULLIFIERS_PER_TX, MAX_NOTE_HASHES_PER_TX));
53
+ this.requestedDimensions = PrivateKernelResetDimensions.empty();
54
+ this.previousKernel = previousKernelOutput.publicInputs;
59
55
  this.nextIteration = executionStack[this.executionStack.length - 1]?.publicInputs;
60
56
  }
57
+ getRequestedDimensions() {
58
+ return this.requestedDimensions;
59
+ }
61
60
  needsReset() {
62
61
  const fns = [
63
62
  ()=>this.needsResetNoteHashReadRequests(),
64
63
  ()=>this.needsResetNullifierReadRequests(),
65
- ()=>this.needsResetNullifierKeys(),
64
+ ()=>this.needsResetKeyValidationRequests(),
66
65
  ()=>this.needsResetTransientData()
67
66
  ];
68
67
  if (this.nextIteration) {
@@ -87,21 +86,24 @@ export class PrivateKernelResetPrivateInputsBuilder {
87
86
  throw new Error('Reset is not required.');
88
87
  }
89
88
  const isInner = !!this.nextIteration;
90
- // "final" reset must be done at most once.
91
- // Because the code that silo note hashes can't be run repeatedly.
89
+ // "final" reset must be done exactly once, because siloing can't be run repeatedly.
92
90
  // The dimensions found must be big enough to reset all values, i.e. empty remainder.
93
91
  const allowRemainder = isInner;
94
- const dimensions = findPrivateKernelResetDimensions(this.requestedDimensions, privateKernelResetDimensionsConfig, isInner, allowRemainder);
92
+ // Terminal reset picks from the finalTail / finalTailToPublic catalogs; mid-tx resets always
93
+ // use the inner catalog. The public/private decision must match `kernelStateIsForPublic` - the
94
+ // same predicate the circuit inputs and the orchestrator use.
95
+ const mode = isInner ? 'inner' : kernelStateIsForPublic(this.previousKernel) ? 'finalTailToPublic' : 'finalTail';
96
+ const dimensions = findPrivateKernelResetDimensions(this.requestedDimensions, privateKernelResetDimensionsConfig, mode, allowRemainder);
95
97
  this.reduceReadRequestActions(this.noteHashResetActions, dimensions.NOTE_HASH_PENDING_READ, dimensions.NOTE_HASH_SETTLED_READ);
96
98
  this.reduceReadRequestActions(this.nullifierResetActions, dimensions.NULLIFIER_PENDING_READ, dimensions.NULLIFIER_SETTLED_READ);
97
99
  // Execute all the expensive node querying operations in parallel.
98
- const [previousVkMembershipWitness, noteHashReadRequestHints, nullifierReadRequestHints, keyValidationHints] = await Promise.all([
100
+ const [previousVkMembershipWitness, noteHashReadRequestHints, nullifierReadRequestHints, keyValidationHints] = await allToCompletion([
99
101
  oracle.getVkMembershipWitness(this.previousKernelOutput.verificationKey.keyAsFields),
100
102
  buildNoteHashReadRequestHintsFromResetActions(oracle, this.previousKernel.validationRequests.noteHashReadRequests, this.previousKernel.end.noteHashes, this.noteHashResetActions),
101
103
  buildNullifierReadRequestHintsFromResetActions({
102
104
  getNullifierMembershipWitness: getNullifierMembershipWitnessResolver(oracle)
103
105
  }, this.previousKernel.validationRequests.nullifierReadRequests, this.nullifierResetActions),
104
- getMasterSecretKeysAndAppKeyGenerators(this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators, dimensions.KEY_VALIDATION, oracle)
106
+ getMasterSecretKeysAndKeyTypeDomainSeparators(this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators, dimensions.KEY_VALIDATION, oracle)
105
107
  ]);
106
108
  const vkData = new VkData(this.previousKernelOutput.verificationKey, Number(previousVkMembershipWitness.leafIndex), previousVkMembershipWitness.siblingPath);
107
109
  const previousKernelData = new PrivateKernelData(this.previousKernelOutput.publicInputs, vkData);
@@ -130,69 +132,112 @@ export class PrivateKernelResetPrivateInputsBuilder {
130
132
  }
131
133
  resetActions.pendingReadHints = resetActions.pendingReadHints.slice(0, maxPending);
132
134
  }
133
- needsResetNoteHashReadRequests(forceResetAll = false) {
135
+ needsResetNoteHashReadRequests(forceReset = false) {
134
136
  const numCurr = this.previousKernel.validationRequests.noteHashReadRequests.claimedLength;
135
137
  const numNext = this.nextIteration ? this.nextIteration.noteHashReadRequests.claimedLength : 0;
136
- const maxAmountToKeep = !this.nextIteration || forceResetAll ? 0 : MAX_NOTE_HASH_READ_REQUESTS_PER_TX;
138
+ const maxAmountToKeep = !this.nextIteration || forceReset ? 0 : MAX_NOTE_HASH_READ_REQUESTS_PER_TX;
137
139
  if (numCurr + numNext <= maxAmountToKeep) {
138
140
  return false;
139
141
  }
140
- const futureNoteHashes = collectNested(this.executionStack, (executionResult)=>{
141
- return executionResult.publicInputs.noteHashes.getActiveItems().map((noteHash)=>new ScopedNoteHash(noteHash, executionResult.publicInputs.callContext.contractAddress));
142
- });
143
- const resetActions = getNoteHashReadRequestResetActions(this.previousKernel.validationRequests.noteHashReadRequests, this.previousKernel.end.noteHashes, futureNoteHashes);
142
+ const resetActions = getNoteHashReadRequestResetActions(this.previousKernel.validationRequests.noteHashReadRequests, this.previousKernel.end.noteHashes);
144
143
  const numPendingReads = resetActions.pendingReadHints.length;
145
144
  const numSettledReads = resetActions.actions.reduce((accum, action)=>accum + (action === ReadRequestActionEnum.READ_AS_SETTLED ? 1 : 0), 0);
145
+ const totalReadsToReset = numPendingReads + numSettledReads;
146
+ const minResetNeeded = numCurr + numNext - maxAmountToKeep;
147
+ if (totalReadsToReset < minResetNeeded) {
148
+ if (!this.nextIteration) {
149
+ // In the final reset, all note hashes have been emitted. So if we can't reset all requests, at least one
150
+ // pending read request doesn't match any of them.
151
+ throw new Error('No matching note hash found for note hash read request.');
152
+ } else if (!forceReset) {
153
+ // A pending read request can only be reset if its note hash has already been included (e.g. a parent call might
154
+ // be reading a note hash emitted by a child call. The read request of the parent call is included before the note
155
+ // hash of the child call).
156
+ // If we can't clear enough read requests to make room for the next iteration's reads, we're stuck.
157
+ throw new Error('Number of note hash read requests exceeds the limit.');
158
+ } else if (totalReadsToReset == 0) {
159
+ // It's transient data squashing asking for the read requests to be reset first (forceReset == true), and
160
+ // there's nothing to reset, returns false and let needsResetTransientData throw a more descriptive error.
161
+ return false;
162
+ }
163
+ // Otherwise, forceReset is true, we should proceed to reset as many as we can.
164
+ }
146
165
  if (!this.nextIteration) {
166
+ // If there's no next iteration, we need to reset all the read requests.
147
167
  this.noteHashResetActions = resetActions;
148
168
  this.requestedDimensions.NOTE_HASH_PENDING_READ = numPendingReads;
149
169
  this.requestedDimensions.NOTE_HASH_SETTLED_READ = numSettledReads;
150
170
  } else {
151
- // Pick only one dimension to reset if next iteration is not empty.
171
+ // If there's a next iteration, only one dimension can be reset at a time.
172
+ // So we pick the dimension that has more read requests to reset.
152
173
  if (numPendingReads > numSettledReads) {
174
+ // Reset the pending read requests.
175
+ const pendingOnlyActions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP), MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
176
+ this.noteHashResetActions = new ReadRequestResetActions(pendingOnlyActions, resetActions.pendingReadHints);
153
177
  this.requestedDimensions.NOTE_HASH_PENDING_READ = numPendingReads;
154
- this.noteHashResetActions.actions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP), MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
155
- this.noteHashResetActions.pendingReadHints = resetActions.pendingReadHints;
156
178
  } else {
179
+ // Reset the settled read requests.
180
+ const settledOnlyActions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP), MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
181
+ this.noteHashResetActions = new ReadRequestResetActions(settledOnlyActions, []);
157
182
  this.requestedDimensions.NOTE_HASH_SETTLED_READ = numSettledReads;
158
- this.noteHashResetActions.actions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP), MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
159
183
  }
160
184
  }
161
185
  return true;
162
186
  }
163
- needsResetNullifierReadRequests(forceResetAll = false) {
187
+ needsResetNullifierReadRequests(forceReset = false) {
164
188
  const numCurr = this.previousKernel.validationRequests.nullifierReadRequests.claimedLength;
165
189
  const numNext = this.nextIteration ? this.nextIteration.nullifierReadRequests.claimedLength : 0;
166
- const maxAmountToKeep = !this.nextIteration || forceResetAll ? 0 : MAX_NULLIFIER_READ_REQUESTS_PER_TX;
190
+ const maxAmountToKeep = !this.nextIteration || forceReset ? 0 : MAX_NULLIFIER_READ_REQUESTS_PER_TX;
167
191
  if (numCurr + numNext <= maxAmountToKeep) {
168
192
  return false;
169
193
  }
170
- const futureNullifiers = collectNested(this.executionStack, (executionResult)=>{
171
- return executionResult.publicInputs.nullifiers.getActiveItems().map((nullifier)=>new ScopedNullifier(nullifier, executionResult.publicInputs.callContext.contractAddress));
172
- });
173
- const resetActions = getNullifierReadRequestResetActions(this.previousKernel.validationRequests.nullifierReadRequests, this.previousKernel.end.nullifiers, futureNullifiers);
194
+ const resetActions = getNullifierReadRequestResetActions(this.previousKernel.validationRequests.nullifierReadRequests, this.previousKernel.end.nullifiers);
174
195
  const numPendingReads = resetActions.pendingReadHints.length;
175
196
  const numSettledReads = resetActions.actions.reduce((accum, action)=>accum + (action === ReadRequestActionEnum.READ_AS_SETTLED ? 1 : 0), 0);
197
+ const totalReadsToReset = numPendingReads + numSettledReads;
198
+ const minResetNeeded = numCurr + numNext - maxAmountToKeep;
199
+ if (totalReadsToReset < minResetNeeded) {
200
+ if (!this.nextIteration) {
201
+ // In the final reset, all nullifiers have been emitted. So if we can't reset all requests, at least one pending
202
+ // read request doesn't match any of them.
203
+ throw new Error('No matching nullifier found for nullifier read request.');
204
+ } else if (!forceReset) {
205
+ // A pending read request can only be reset if its nullifier has already been included (e.g. a parent call might
206
+ // be reading a nullifier emitted by a child call. The read request of the parent call is included before the
207
+ // nullifier of the child call).
208
+ // If we can't clear enough read requests to make room for the next iteration's reads, we're stuck.
209
+ throw new Error('Number of nullifier read requests exceeds the limit.');
210
+ } else if (totalReadsToReset == 0) {
211
+ // It's transient data squashing asking for the read requests to be reset first (forceReset == true), and
212
+ // there's nothing to reset, returns false and let needsResetTransientData throw a more descriptive error.
213
+ return false;
214
+ }
215
+ // Otherwise, forceReset is true, we should proceed to reset as many as we can.
216
+ }
176
217
  if (!this.nextIteration) {
218
+ // If there's no next iteration, we need to reset all the read requests.
177
219
  this.nullifierResetActions = resetActions;
178
220
  this.requestedDimensions.NULLIFIER_PENDING_READ = numPendingReads;
179
221
  this.requestedDimensions.NULLIFIER_SETTLED_READ = numSettledReads;
180
222
  } else {
181
- // Pick only one dimension to reset if next iteration is not empty.
223
+ // If there's a next iteration, we can only reset one dimension at a time.
182
224
  if (numPendingReads > numSettledReads) {
225
+ // Reset the pending read requests.
226
+ const pendingOnlyActions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP), MAX_NULLIFIER_READ_REQUESTS_PER_TX);
227
+ this.nullifierResetActions = new ReadRequestResetActions(pendingOnlyActions, resetActions.pendingReadHints);
183
228
  this.requestedDimensions.NULLIFIER_PENDING_READ = numPendingReads;
184
- this.nullifierResetActions.actions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP), MAX_NULLIFIER_READ_REQUESTS_PER_TX);
185
- this.nullifierResetActions.pendingReadHints = resetActions.pendingReadHints;
186
229
  } else {
230
+ // Reset the settled read requests.
231
+ const settledOnlyActions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP), MAX_NULLIFIER_READ_REQUESTS_PER_TX);
232
+ this.nullifierResetActions = new ReadRequestResetActions(settledOnlyActions, []);
187
233
  this.requestedDimensions.NULLIFIER_SETTLED_READ = numSettledReads;
188
- this.nullifierResetActions.actions = assertLength(resetActions.actions.map((action)=>action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP), MAX_NULLIFIER_READ_REQUESTS_PER_TX);
189
234
  }
190
235
  }
191
236
  return true;
192
237
  }
193
- needsResetNullifierKeys() {
194
- const numCurr = this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators.claimedLength;
195
- const numNext = this.nextIteration ? this.nextIteration.keyValidationRequestsAndGenerators.claimedLength : 0;
238
+ needsResetKeyValidationRequests() {
239
+ const numCurr = this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators.claimedLength;
240
+ const numNext = this.nextIteration ? this.nextIteration.keyValidationRequestsAndSeparators.claimedLength : 0;
196
241
  const maxAmountToKeep = !this.nextIteration ? 0 : MAX_KEY_VALIDATION_REQUESTS_PER_TX;
197
242
  if (numCurr + numNext <= maxAmountToKeep) {
198
243
  return false;
@@ -201,8 +246,6 @@ export class PrivateKernelResetPrivateInputsBuilder {
201
246
  return true;
202
247
  }
203
248
  needsResetTransientData() {
204
- // Initialize this to 0 so that needsSilo can be run.
205
- this.numTransientData = 0;
206
249
  const nextAccumNoteHashes = this.previousKernel.end.noteHashes.claimedLength + (this.nextIteration?.noteHashes.claimedLength ?? 0);
207
250
  const noteHashWillOverflow = nextAccumNoteHashes > MAX_NOTE_HASHES_PER_TX;
208
251
  const nextAccumNullifiers = this.previousKernel.end.nullifiers.claimedLength + (this.nextIteration?.nullifiers.claimedLength ?? 0);
@@ -212,27 +255,45 @@ export class PrivateKernelResetPrivateInputsBuilder {
212
255
  if (this.nextIteration && !noteHashWillOverflow && !nullifierWillOverflow && !logsWillOverflow) {
213
256
  return false;
214
257
  }
215
- const futureNoteHashReads = collectNestedReadRequests(this.executionStack, (executionResult)=>executionResult.publicInputs.noteHashReadRequests);
216
- const futureNullifierReads = collectNestedReadRequests(this.executionStack, (executionResult)=>executionResult.publicInputs.nullifierReadRequests);
217
- // TODO(#15902): Collect future logs and only allow squashing a note hash when all its logs have been emitted
218
- // (i.e. none of the future logs are linked to the to-be-squashed note hashes).
258
+ const futureNoteHashReads = collectNested(this.executionStack, (executionResult)=>executionResult.publicInputs.noteHashReadRequests.getActiveItems());
259
+ const futureNullifierReads = collectNested(this.executionStack, (executionResult)=>executionResult.publicInputs.nullifierReadRequests.getActiveItems());
260
+ const futureLogs = collectNested(this.executionStack, (executionResult)=>executionResult.publicInputs.privateLogs.getActiveItems());
219
261
  if (this.nextIteration) {
220
- // If it's not the final reset, only one dimension will be reset at a time.
221
- // The note hashes and nullifiers for the remaining read requests can't be squashed.
262
+ // If it's not the final reset, only one dimension will be reset at a time. Since we are resetting the transient
263
+ // data, the note hash and nullifier read requests in the previous kernel won't be squashed and need to be
264
+ // included in the future read requests.
222
265
  futureNoteHashReads.push(...this.previousKernel.validationRequests.noteHashReadRequests.getActiveItems());
223
266
  futureNullifierReads.push(...this.previousKernel.validationRequests.nullifierReadRequests.getActiveItems());
224
267
  }
225
- const { numTransientData, hints: transientDataSquashingHints } = buildTransientDataHints(this.previousKernel.end.noteHashes, this.previousKernel.end.nullifiers, futureNoteHashReads, futureNullifierReads, this.noteHashNullifierCounterMap, this.splitCounter);
226
- if (this.nextIteration && !numTransientData) {
227
- const forceResetAll = true;
228
- const canClearReadRequests = noteHashWillOverflow && this.needsResetNoteHashReadRequests(forceResetAll) || nullifierWillOverflow && this.needsResetNullifierReadRequests(forceResetAll) || logsWillOverflow && this.needsResetNoteHashReadRequests(forceResetAll);
229
- if (!canClearReadRequests) {
230
- const overflownData = noteHashWillOverflow ? 'note hashes' : nullifierWillOverflow ? 'nullifiers' : 'private logs';
231
- throw new Error(`Number of ${overflownData} exceeds the limit.`);
268
+ const { numTransientData, hints: transientDataSquashingHints } = buildTransientDataHints(this.previousKernel.end.noteHashes, this.previousKernel.end.nullifiers, futureNoteHashReads, futureNullifierReads, futureLogs, this.noteHashNullifierCounterMap, this.splitCounter);
269
+ if (this.nextIteration) {
270
+ const noteHashOverflowBy = noteHashWillOverflow ? nextAccumNoteHashes - MAX_NOTE_HASHES_PER_TX - numTransientData : 0;
271
+ const nullifierOverflowBy = nullifierWillOverflow ? nextAccumNullifiers - MAX_NULLIFIERS_PER_TX - numTransientData : 0;
272
+ const numSquashedLogs = logsWillOverflow ? countSquashedLogs(this.previousKernel.end.noteHashes, this.previousKernel.end.privateLogs, transientDataSquashingHints.slice(0, numTransientData)) : 0;
273
+ const logsOverflowBy = logsWillOverflow ? nextAccumLogs - MAX_PRIVATE_LOGS_PER_TX - numSquashedLogs : 0;
274
+ if (noteHashOverflowBy > 0 || nullifierOverflowBy > 0 || logsOverflowBy > 0) {
275
+ // There's not enough transient data to squash to clear space for the overflow. It may be because some data is
276
+ // still required for read requests. Force a reset of the read requests first, and return to transient data
277
+ // squashing in the next round of reset.
278
+ // Note that clearing the read requests might not be enough to clear more space for the overflow. In this case,
279
+ // running the next reset will fail at the following check.
280
+ // Only one dimension can be reset at a time for an inner reset, so we try the note hash read requests first
281
+ // (which also helps with log overflow), then fall back to nullifier read requests.
282
+ const forceReset = true;
283
+ if ((noteHashOverflowBy > 0 || logsOverflowBy > 0) && this.needsResetNoteHashReadRequests(forceReset)) {
284
+ return true;
285
+ }
286
+ if (nullifierOverflowBy > 0 && this.needsResetNullifierReadRequests(forceReset)) {
287
+ return true;
288
+ }
289
+ if (noteHashWillOverflow) {
290
+ throw new Error('Number of note hashes exceeds the limit.');
291
+ }
292
+ if (nullifierWillOverflow) {
293
+ throw new Error('Number of nullifiers exceeds the limit.');
294
+ }
295
+ throw new Error('Number of private logs exceeds the limit.');
232
296
  }
233
- // Clearing the read requests might not be enough to squash the overflown data.
234
- // In this case, the next iteration will fail at the above check.
235
- return true;
236
297
  }
237
298
  this.numTransientData = numTransientData;
238
299
  this.transientDataSquashingHints = transientDataSquashingHints;
@@ -243,8 +304,12 @@ export class PrivateKernelResetPrivateInputsBuilder {
243
304
  if (this.numTransientData === undefined) {
244
305
  throw new Error('`needsResetTransientData` must be run before `needsSiloNoteHashes`.');
245
306
  }
246
- const numNoteHashes = this.previousKernel.end.noteHashes.getActiveItems().filter((n)=>!n.contractAddress.isZero()).length;
247
- const numToSilo = Math.max(0, numNoteHashes - this.numTransientData);
307
+ const noteHashes = this.previousKernel.end.noteHashes;
308
+ if (noteHashes.claimedLength > 0 && noteHashes.array[0].contractAddress.isZero()) {
309
+ // Already siloed.
310
+ return false;
311
+ }
312
+ const numToSilo = noteHashes.claimedLength - this.numTransientData;
248
313
  this.requestedDimensions.NOTE_HASH_SILOING = numToSilo;
249
314
  return numToSilo > 0;
250
315
  }
@@ -252,13 +317,13 @@ export class PrivateKernelResetPrivateInputsBuilder {
252
317
  if (this.numTransientData === undefined) {
253
318
  throw new Error('`needsResetTransientData` must be run before `needsSiloNullifiers`.');
254
319
  }
255
- const numNullifiers = this.previousKernel.end.nullifiers.getActiveItems().filter((n)=>!n.contractAddress.isZero()).length;
256
- const numToSilo = Math.max(0, numNullifiers - this.numTransientData);
257
- // Include the first nullifier if there's something to silo.
258
- // The reset circuit checks that capped_size must be greater than or equal to all non-empty nullifiers.
259
- // Which includes the first nullifier, even though its contract address is always zero and doesn't need siloing.
260
- const cappedSize = numToSilo ? numToSilo + 1 : 0;
261
- this.requestedDimensions.NULLIFIER_SILOING = cappedSize;
320
+ const nullifiers = this.previousKernel.end.nullifiers;
321
+ if (nullifiers.claimedLength > 0 && nullifiers.array[0].contractAddress.isZero()) {
322
+ // Already siloed.
323
+ return false;
324
+ }
325
+ const numToSilo = nullifiers.claimedLength - this.numTransientData;
326
+ this.requestedDimensions.NULLIFIER_SILOING = numToSilo;
262
327
  return numToSilo > 0;
263
328
  }
264
329
  needsSiloPrivateLogs() {
@@ -266,11 +331,12 @@ export class PrivateKernelResetPrivateInputsBuilder {
266
331
  throw new Error('`needsResetTransientData` must be run before `needsSiloPrivateLogs`.');
267
332
  }
268
333
  const privateLogs = this.previousKernel.end.privateLogs;
269
- const numLogs = privateLogs.getActiveItems().filter((l)=>!l.contractAddress.isZero()).length;
270
- const noteHashes = this.previousKernel.end.noteHashes;
271
- const squashedNoteHashCounters = this.transientDataSquashingHints.filter((h)=>h.noteHashIndex < noteHashes.claimedLength).map((h)=>noteHashes.array[h.noteHashIndex].counter);
272
- const numSquashedLogs = privateLogs.getActiveItems().filter((l)=>squashedNoteHashCounters.includes(l.inner.noteHashCounter)).length;
273
- const numToSilo = numLogs - numSquashedLogs;
334
+ if (privateLogs.claimedLength > 0 && privateLogs.array[0].contractAddress.isZero()) {
335
+ // Already siloed.
336
+ return false;
337
+ }
338
+ const numSquashedLogs = countSquashedLogs(this.previousKernel.end.noteHashes, privateLogs, this.transientDataSquashingHints.slice(0, this.numTransientData));
339
+ const numToSilo = privateLogs.claimedLength - numSquashedLogs;
274
340
  this.requestedDimensions.PRIVATE_LOG_SILOING = numToSilo;
275
341
  return numToSilo > 0;
276
342
  }
@@ -0,0 +1,122 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import { PrivateCircuitPublicInputs, PrivateKernelCircuitPublicInputs, type PrivateKernelSimulateOutput } from '@aztec/stdlib/kernel';
4
+ import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
5
+ /** Builder for PrivateKernelCircuitPublicInputs with fluent API for adding side effects. */
6
+ export declare class PrivateKernelCircuitPublicInputsBuilder {
7
+ private contractAddress;
8
+ private noteHashes;
9
+ private nullifiers;
10
+ private noteHashReadRequests;
11
+ private nullifierReadRequests;
12
+ private keyValidationRequests;
13
+ private privateLogs;
14
+ private nextCounter;
15
+ constructor(contractAddress?: AztecAddress, startCounter?: number);
16
+ private getCounter;
17
+ /** Adds a note hash to the accumulated data. Defaults are generated randomly. */
18
+ addNoteHash(opts?: {
19
+ value?: Fr;
20
+ counter?: number;
21
+ contractAddress?: AztecAddress;
22
+ }): this;
23
+ /** Adds a nullifier to the accumulated data. Defaults are generated randomly. */
24
+ addNullifier(opts?: {
25
+ value?: Fr;
26
+ noteHash?: Fr;
27
+ counter?: number;
28
+ contractAddress?: AztecAddress;
29
+ }): this;
30
+ /** Adds a pending note hash read request (non-empty contract address, can match a pending note hash). */
31
+ addPendingNoteHashReadRequest(opts?: {
32
+ value?: Fr;
33
+ counter?: number;
34
+ contractAddress?: AztecAddress;
35
+ }): this;
36
+ /** Adds a settled note hash read request (empty contract address, resolved against the note hash tree). */
37
+ addSettledNoteHashReadRequest(opts?: {
38
+ value?: Fr;
39
+ counter?: number;
40
+ }): this;
41
+ /** Adds a pending nullifier read request (non-empty contract address, can match a pending nullifier). */
42
+ addPendingNullifierReadRequest(opts?: {
43
+ value?: Fr;
44
+ counter?: number;
45
+ contractAddress?: AztecAddress;
46
+ }): this;
47
+ /** Adds a settled nullifier read request (empty contract address, resolved against the nullifier tree). */
48
+ addSettledNullifierReadRequest(opts?: {
49
+ value?: Fr;
50
+ counter?: number;
51
+ }): this;
52
+ /** Adds a key validation request to validation requests. */
53
+ addKeyValidationRequest(opts?: {
54
+ contractAddress?: AztecAddress;
55
+ }): this;
56
+ /** Adds a private log to the accumulated data. Defaults are generated randomly. */
57
+ addPrivateLog(opts?: {
58
+ noteHashCounter?: number;
59
+ counter?: number;
60
+ contractAddress?: AztecAddress;
61
+ }): this;
62
+ /** Builds the PrivateKernelCircuitPublicInputs with all added side effects. */
63
+ build(): PrivateKernelCircuitPublicInputs;
64
+ }
65
+ /** Builder for PrivateCircuitPublicInputs (call-level) with fluent API for adding side effects. */
66
+ export declare class PrivateCircuitPublicInputsBuilder {
67
+ private contractAddress;
68
+ private noteHashes;
69
+ private nullifiers;
70
+ private noteHashReadRequests;
71
+ private nullifierReadRequests;
72
+ private keyValidationRequests;
73
+ private privateLogs;
74
+ private nextCounter;
75
+ constructor(contractAddress?: AztecAddress, startCounter?: number);
76
+ private getCounter;
77
+ /** Adds a note hash. Defaults are generated randomly. */
78
+ addNoteHash(opts?: {
79
+ value?: Fr;
80
+ counter?: number;
81
+ }): this;
82
+ /** Adds a nullifier. Defaults are generated randomly. */
83
+ addNullifier(opts?: {
84
+ value?: Fr;
85
+ noteHash?: Fr;
86
+ counter?: number;
87
+ }): this;
88
+ /** Adds a pending note hash read request (non-empty contract address, can match a pending note hash). */
89
+ addPendingNoteHashReadRequest(opts?: {
90
+ value?: Fr;
91
+ counter?: number;
92
+ }): this;
93
+ /** Adds a settled note hash read request (empty contract address, resolved against the note hash tree). */
94
+ addSettledNoteHashReadRequest(opts?: {
95
+ value?: Fr;
96
+ counter?: number;
97
+ }): this;
98
+ /** Adds a pending nullifier read request (non-empty contract address, can match a pending nullifier). */
99
+ addPendingNullifierReadRequest(opts?: {
100
+ value?: Fr;
101
+ counter?: number;
102
+ }): this;
103
+ /** Adds a settled nullifier read request (empty contract address, resolved against the nullifier tree). */
104
+ addSettledNullifierReadRequest(opts?: {
105
+ value?: Fr;
106
+ counter?: number;
107
+ }): this;
108
+ /** Adds a key validation request. */
109
+ addKeyValidationRequest(): this;
110
+ /** Adds a private log. Defaults are generated randomly. */
111
+ addPrivateLog(opts?: {
112
+ noteHashCounter?: number;
113
+ counter?: number;
114
+ }): this;
115
+ /** Builds the PrivateCircuitPublicInputs with all added side effects. */
116
+ build(): PrivateCircuitPublicInputs;
117
+ }
118
+ /** Wraps a PrivateKernelCircuitPublicInputs in a PrivateKernelSimulateOutput. */
119
+ export declare function makeKernelOutput(publicInputs?: PrivateKernelCircuitPublicInputs): PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>;
120
+ /** Wraps a PrivateCircuitPublicInputs in a PrivateCallExecutionResult. */
121
+ export declare function makeExecutionResult(publicInputs?: PrivateCircuitPublicInputs): PrivateCallExecutionResult;
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ByaXZhdGVfa2VybmVsL2hpbnRzL3Rlc3RfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBTUwsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxLQUFLLDJCQUEyQixFQU1qQyxNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBYTlELDRGQUE0RjtBQUM1RixxQkFBYSx1Q0FBdUM7SUFVaEQsT0FBTyxDQUFDLGVBQWU7SUFUekIsT0FBTyxDQUFDLFVBQVUsQ0FBd0I7SUFDMUMsT0FBTyxDQUFDLFVBQVUsQ0FBeUI7SUFDM0MsT0FBTyxDQUFDLG9CQUFvQixDQUEyQjtJQUN2RCxPQUFPLENBQUMscUJBQXFCLENBQTJCO0lBQ3hELE9BQU8sQ0FBQyxxQkFBcUIsQ0FBZ0Q7SUFDN0UsT0FBTyxDQUFDLFdBQVcsQ0FBOEI7SUFDakQsT0FBTyxDQUFDLFdBQVcsQ0FBUztJQUU1QixZQUNVLGVBQWUsR0FBRSxZQUF1QyxFQUNoRSxZQUFZLFNBQUksRUFHakI7SUFFRCxPQUFPLENBQUMsVUFBVTtJQVFsQixpRkFBaUY7SUFDakYsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxDQUFBO0tBQUUsR0FBRyxJQUFJLENBTXpGO0lBRUQsaUZBQWlGO0lBQ2pGLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUFDLFFBQVEs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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/private_kernel/hints/test_utils.ts"],"names":[],"mappings":"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"}