@aztec/pxe 0.0.0-test.1 → 0.0.1-commit.017a351

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 (573) hide show
  1. package/README.md +5 -5
  2. package/dest/bin/check_oracle_version.d.ts +2 -0
  3. package/dest/bin/check_oracle_version.d.ts.map +1 -0
  4. package/dest/bin/check_oracle_version.js +73 -0
  5. package/dest/bin/index.d.ts +2 -3
  6. package/dest/bin/index.d.ts.map +1 -1
  7. package/dest/bin/index.js +1 -28
  8. package/dest/bin/oracle_version_helpers.d.ts +26 -0
  9. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  10. package/dest/bin/oracle_version_helpers.js +93 -0
  11. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  12. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  13. package/dest/block_synchronizer/block_stream_source.js +62 -0
  14. package/dest/block_synchronizer/block_synchronizer.d.ts +49 -0
  15. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  16. package/dest/block_synchronizer/block_synchronizer.js +173 -0
  17. package/dest/block_synchronizer/index.d.ts +2 -0
  18. package/dest/block_synchronizer/index.d.ts.map +1 -0
  19. package/dest/block_synchronizer/index.js +1 -0
  20. package/dest/config/index.d.ts +20 -25
  21. package/dest/config/index.d.ts.map +1 -1
  22. package/dest/config/index.js +35 -35
  23. package/dest/config/package_info.d.ts +1 -1
  24. package/dest/config/package_info.js +1 -1
  25. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  26. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  27. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  28. package/dest/contract_function_simulator/contract_function_simulator.d.ts +119 -0
  29. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
  30. package/dest/contract_function_simulator/contract_function_simulator.js +480 -0
  31. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  32. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  33. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  34. package/dest/contract_function_simulator/execution_note_cache.d.ts +104 -0
  35. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
  36. package/dest/contract_function_simulator/execution_note_cache.js +208 -0
  37. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +12 -0
  38. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
  39. package/dest/contract_function_simulator/execution_tagging_index_cache.js +30 -0
  40. package/dest/contract_function_simulator/hashed_values_cache.d.ts +28 -0
  41. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -0
  42. package/dest/contract_function_simulator/hashed_values_cache.js +36 -0
  43. package/dest/contract_function_simulator/index.d.ts +26 -0
  44. package/dest/contract_function_simulator/index.d.ts.map +1 -0
  45. package/dest/contract_function_simulator/index.js +23 -0
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -0
  47. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  48. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +45 -0
  49. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  50. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  51. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  52. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +20 -0
  53. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -0
  54. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +39 -0
  55. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +26 -0
  56. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -0
  57. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +57 -0
  58. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +17 -0
  59. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -0
  60. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +63 -0
  61. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  62. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  63. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  64. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +22 -0
  65. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -0
  66. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +47 -0
  67. package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
  68. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  69. package/dest/contract_function_simulator/noir-structs/option.js +62 -0
  70. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -0
  71. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/noir-structs/provided_secret.js +24 -0
  73. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +16 -0
  74. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
  75. package/dest/contract_function_simulator/noir-structs/utility_context.js +22 -0
  76. package/dest/contract_function_simulator/oracle/index.d.ts +14 -0
  77. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -0
  78. package/dest/contract_function_simulator/oracle/index.js +2 -0
  79. package/dest/contract_function_simulator/oracle/interfaces.d.ts +25 -0
  80. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
  81. package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
  82. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +19 -0
  83. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -0
  84. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +24 -0
  85. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +28 -0
  86. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -0
  87. package/dest/contract_function_simulator/oracle/note_packing_utils.js +54 -0
  88. package/dest/contract_function_simulator/oracle/oracle.d.ts +89 -0
  89. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -0
  90. package/dest/contract_function_simulator/oracle/oracle.js +552 -0
  91. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
  92. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  93. package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
  94. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -0
  95. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  96. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +560 -0
  97. package/dest/contract_function_simulator/oracle/private_execution.d.ts +23 -0
  98. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
  99. package/dest/contract_function_simulator/oracle/private_execution.js +89 -0
  100. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +212 -0
  101. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -0
  102. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +457 -0
  103. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +283 -0
  104. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -0
  105. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +654 -0
  106. package/dest/contract_function_simulator/pick_notes.d.ts +85 -0
  107. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -0
  108. package/dest/contract_function_simulator/pick_notes.js +68 -0
  109. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +6 -0
  110. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -0
  111. package/dest/contract_function_simulator/proxied_contract_data_source.js +51 -0
  112. package/dest/contract_logging.d.ts +27 -0
  113. package/dest/contract_logging.d.ts.map +1 -0
  114. package/dest/contract_logging.js +38 -0
  115. package/dest/contract_sync/contract_sync_service.d.ts +42 -0
  116. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  117. package/dest/contract_sync/contract_sync_service.js +135 -0
  118. package/dest/contract_sync/helpers.d.ts +27 -0
  119. package/dest/contract_sync/helpers.d.ts.map +1 -0
  120. package/dest/contract_sync/helpers.js +53 -0
  121. package/dest/debug/pxe_debug_utils.d.ts +40 -0
  122. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  123. package/dest/debug/pxe_debug_utils.js +42 -0
  124. package/dest/entrypoints/client/bundle/index.d.ts +6 -3
  125. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  126. package/dest/entrypoints/client/bundle/index.js +4 -2
  127. package/dest/entrypoints/client/bundle/utils.d.ts +10 -10
  128. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  129. package/dest/entrypoints/client/bundle/utils.js +51 -14
  130. package/dest/entrypoints/client/lazy/index.d.ts +6 -3
  131. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  132. package/dest/entrypoints/client/lazy/index.js +4 -2
  133. package/dest/entrypoints/client/lazy/utils.d.ts +10 -10
  134. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  135. package/dest/entrypoints/client/lazy/utils.js +51 -14
  136. package/dest/entrypoints/pxe_creation_options.d.ts +26 -0
  137. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -0
  138. package/dest/entrypoints/pxe_creation_options.js +3 -0
  139. package/dest/entrypoints/server/index.d.ts +10 -4
  140. package/dest/entrypoints/server/index.d.ts.map +1 -1
  141. package/dest/entrypoints/server/index.js +8 -3
  142. package/dest/entrypoints/server/utils.d.ts +9 -16
  143. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  144. package/dest/entrypoints/server/utils.js +62 -36
  145. package/dest/error_enriching.d.ts +11 -0
  146. package/dest/error_enriching.d.ts.map +1 -0
  147. package/dest/{pxe_service/error_enriching.js → error_enriching.js} +30 -22
  148. package/dest/events/event_service.d.ts +24 -0
  149. package/dest/events/event_service.d.ts.map +1 -0
  150. package/dest/events/event_service.js +77 -0
  151. package/dest/events/index.d.ts +2 -0
  152. package/dest/events/index.d.ts.map +1 -0
  153. package/dest/events/index.js +1 -0
  154. package/dest/events/private_event_filter_validator.d.ts +10 -0
  155. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  156. package/dest/events/private_event_filter_validator.js +53 -0
  157. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  158. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  159. package/dest/hooks/authorize_utility_call.js +4 -0
  160. package/dest/hooks/execution_hooks.d.ts +42 -0
  161. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  162. package/dest/hooks/execution_hooks.js +9 -0
  163. package/dest/hooks/index.d.ts +4 -0
  164. package/dest/hooks/index.d.ts.map +1 -0
  165. package/dest/hooks/index.js +1 -0
  166. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  167. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  168. package/dest/job_coordinator/job_coordinator.js +94 -0
  169. package/dest/logs/log_service.d.ts +29 -0
  170. package/dest/logs/log_service.d.ts.map +1 -0
  171. package/dest/logs/log_service.js +172 -0
  172. package/dest/messages/message_context_service.d.ts +17 -0
  173. package/dest/messages/message_context_service.d.ts.map +1 -0
  174. package/dest/messages/message_context_service.js +55 -0
  175. package/dest/notes/index.d.ts +2 -0
  176. package/dest/notes/index.d.ts.map +1 -0
  177. package/dest/notes/index.js +1 -0
  178. package/dest/notes/note_service.d.ts +70 -0
  179. package/dest/notes/note_service.d.ts.map +1 -0
  180. package/dest/notes/note_service.js +172 -0
  181. package/dest/notes_filter.d.ts +24 -0
  182. package/dest/notes_filter.d.ts.map +1 -0
  183. package/dest/notes_filter.js +4 -0
  184. package/dest/oracle_version.d.ts +4 -0
  185. package/dest/oracle_version.d.ts.map +1 -0
  186. package/dest/oracle_version.js +21 -0
  187. package/dest/private_kernel/batch_planner.d.ts +47 -0
  188. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  189. package/dest/private_kernel/batch_planner.js +104 -0
  190. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  191. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  192. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.js +41 -0
  193. package/dest/private_kernel/hints/index.d.ts +3 -0
  194. package/dest/private_kernel/hints/index.d.ts.map +1 -0
  195. package/dest/private_kernel/hints/index.js +2 -0
  196. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
  197. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  198. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +338 -0
  199. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  200. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  201. package/dest/private_kernel/hints/test_utils.js +202 -0
  202. package/dest/private_kernel/index.d.ts +3 -0
  203. package/dest/private_kernel/index.d.ts.map +1 -0
  204. package/dest/private_kernel/index.js +2 -0
  205. package/dest/private_kernel/private_kernel_execution_prover.d.ts +49 -0
  206. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -0
  207. package/dest/private_kernel/private_kernel_execution_prover.js +386 -0
  208. package/dest/private_kernel/private_kernel_oracle.d.ts +63 -0
  209. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -0
  210. package/dest/private_kernel/private_kernel_oracle.js +98 -0
  211. package/dest/pxe.d.ts +300 -0
  212. package/dest/pxe.d.ts.map +1 -0
  213. package/dest/pxe.js +839 -0
  214. package/dest/storage/address_store/address_store.d.ts +11 -0
  215. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  216. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +13 -15
  217. package/dest/storage/address_store/index.d.ts +2 -0
  218. package/dest/storage/address_store/index.d.ts.map +1 -0
  219. package/dest/storage/address_store/index.js +1 -0
  220. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +17 -0
  221. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  222. package/dest/storage/anchor_block_store/anchor_block_store.js +26 -0
  223. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  224. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  225. package/dest/storage/anchor_block_store/index.js +1 -0
  226. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  227. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  228. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  229. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  230. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  231. package/dest/storage/backwards_compatibility_tests/schema_tests.js +591 -0
  232. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  233. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  234. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  235. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  236. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  237. package/dest/storage/capsule_store/capsule_service.js +50 -0
  238. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  239. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  240. package/dest/storage/capsule_store/capsule_store.js +261 -0
  241. package/dest/storage/capsule_store/index.d.ts +3 -0
  242. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  243. package/dest/storage/capsule_store/index.js +2 -0
  244. package/dest/storage/contract_store/contract_store.d.ts +93 -0
  245. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  246. package/dest/storage/contract_store/contract_store.js +292 -0
  247. package/dest/storage/contract_store/index.d.ts +2 -0
  248. package/dest/storage/contract_store/index.d.ts.map +1 -0
  249. package/dest/storage/contract_store/index.js +1 -0
  250. package/dest/storage/contract_store/private_functions_tree.d.ts +27 -0
  251. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  252. package/dest/storage/contract_store/private_functions_tree.js +47 -0
  253. package/dest/storage/index.d.ts +9 -10
  254. package/dest/storage/index.d.ts.map +1 -1
  255. package/dest/storage/index.js +8 -9
  256. package/dest/storage/metadata.d.ts +2 -0
  257. package/dest/storage/metadata.d.ts.map +1 -0
  258. package/dest/storage/metadata.js +1 -0
  259. package/dest/storage/note_store/index.d.ts +3 -0
  260. package/dest/storage/note_store/index.d.ts.map +1 -0
  261. package/dest/storage/note_store/index.js +2 -0
  262. package/dest/storage/note_store/note_store.d.ts +83 -0
  263. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  264. package/dest/storage/note_store/note_store.js +343 -0
  265. package/dest/storage/note_store/stored_note.d.ts +16 -0
  266. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  267. package/dest/storage/note_store/stored_note.js +43 -0
  268. package/dest/storage/open_pxe_stores.d.ts +33 -0
  269. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  270. package/dest/storage/open_pxe_stores.js +27 -0
  271. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  272. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  273. package/dest/storage/private_event_store/private_event_store.js +276 -0
  274. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  275. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  276. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  277. package/dest/storage/tagging_store/index.d.ts +4 -0
  278. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  279. package/dest/storage/tagging_store/index.js +3 -0
  280. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  281. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  282. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  283. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  284. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  285. package/dest/storage/tagging_store/sender_address_book_store.js +36 -0
  286. package/dest/storage/tagging_store/sender_tagging_store.d.ts +78 -0
  287. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  288. package/dest/storage/tagging_store/sender_tagging_store.js +374 -0
  289. package/dest/tagging/constants.d.ts +2 -0
  290. package/dest/tagging/constants.d.ts.map +1 -0
  291. package/dest/tagging/constants.js +10 -0
  292. package/dest/tagging/get_all_logs_by_tags.d.ts +48 -0
  293. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  294. package/dest/tagging/get_all_logs_by_tags.js +59 -0
  295. package/dest/tagging/index.d.ts +18 -0
  296. package/dest/tagging/index.d.ts.map +1 -0
  297. package/dest/tagging/index.js +16 -0
  298. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  299. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  300. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  301. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +56 -0
  302. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  303. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +163 -0
  304. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  305. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  306. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  307. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  308. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  309. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  310. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +16 -0
  311. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  312. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +92 -0
  313. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +17 -0
  314. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  315. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +60 -0
  316. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +19 -0
  317. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  318. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +72 -0
  319. package/package.json +48 -33
  320. package/src/bin/check_oracle_version.ts +88 -0
  321. package/src/bin/index.ts +1 -38
  322. package/src/bin/oracle_version_helpers.ts +121 -0
  323. package/src/block_synchronizer/block_stream_source.ts +81 -0
  324. package/src/block_synchronizer/block_synchronizer.ts +200 -0
  325. package/src/block_synchronizer/index.ts +1 -0
  326. package/src/config/index.ts +48 -56
  327. package/src/config/package_info.ts +1 -1
  328. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  329. package/src/contract_function_simulator/contract_function_simulator.ts +888 -0
  330. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  331. package/src/contract_function_simulator/execution_note_cache.ts +252 -0
  332. package/src/contract_function_simulator/execution_tagging_index_cache.ts +33 -0
  333. package/src/contract_function_simulator/hashed_values_cache.ts +47 -0
  334. package/src/contract_function_simulator/index.ts +63 -0
  335. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
  336. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  337. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +52 -0
  338. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +61 -0
  339. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +66 -0
  340. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  341. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +59 -0
  342. package/src/contract_function_simulator/noir-structs/option.ts +69 -0
  343. package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
  344. package/src/contract_function_simulator/noir-structs/utility_context.ts +23 -0
  345. package/src/contract_function_simulator/oracle/index.ts +16 -0
  346. package/src/contract_function_simulator/oracle/interfaces.ts +21 -0
  347. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +23 -0
  348. package/src/contract_function_simulator/oracle/note_packing_utils.ts +68 -0
  349. package/src/contract_function_simulator/oracle/oracle.ts +711 -0
  350. package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
  351. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
  352. package/src/contract_function_simulator/oracle/private_execution.ts +141 -0
  353. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +667 -0
  354. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +967 -0
  355. package/src/contract_function_simulator/pick_notes.ts +160 -0
  356. package/src/contract_function_simulator/proxied_contract_data_source.ts +60 -0
  357. package/src/contract_logging.ts +52 -0
  358. package/src/contract_sync/contract_sync_service.ts +189 -0
  359. package/src/contract_sync/helpers.ts +86 -0
  360. package/src/debug/pxe_debug_utils.ts +85 -0
  361. package/src/entrypoints/client/bundle/index.ts +5 -2
  362. package/src/entrypoints/client/bundle/utils.ts +47 -35
  363. package/src/entrypoints/client/lazy/index.ts +5 -2
  364. package/src/entrypoints/client/lazy/utils.ts +48 -31
  365. package/src/entrypoints/pxe_creation_options.ts +28 -0
  366. package/src/entrypoints/server/index.ts +9 -3
  367. package/src/entrypoints/server/utils.ts +65 -56
  368. package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +40 -39
  369. package/src/events/event_service.ts +119 -0
  370. package/src/events/index.ts +1 -0
  371. package/src/events/private_event_filter_validator.ts +66 -0
  372. package/src/hooks/authorize_utility_call.ts +44 -0
  373. package/src/hooks/execution_hooks.ts +48 -0
  374. package/src/hooks/index.ts +7 -0
  375. package/src/job_coordinator/job_coordinator.ts +150 -0
  376. package/src/logs/log_service.ts +237 -0
  377. package/src/messages/message_context_service.ts +62 -0
  378. package/src/notes/index.ts +1 -0
  379. package/src/notes/note_service.ts +230 -0
  380. package/src/notes_filter.ts +24 -0
  381. package/src/oracle_version.ts +22 -0
  382. package/src/private_kernel/batch_planner.ts +169 -0
  383. package/src/private_kernel/hints/compute_tx_expiration_timestamp.ts +58 -0
  384. package/src/private_kernel/hints/index.ts +2 -0
  385. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +542 -0
  386. package/src/private_kernel/hints/test_utils.ts +318 -0
  387. package/src/private_kernel/index.ts +2 -0
  388. package/src/private_kernel/private_kernel_execution_prover.ts +598 -0
  389. package/src/private_kernel/private_kernel_oracle.ts +162 -0
  390. package/src/pxe.ts +1305 -0
  391. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +15 -21
  392. package/src/storage/address_store/index.ts +1 -0
  393. package/src/storage/anchor_block_store/anchor_block_store.ts +33 -0
  394. package/src/storage/anchor_block_store/index.ts +1 -0
  395. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  396. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  397. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  398. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  399. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  400. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
  401. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -0
  402. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  403. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  404. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +16 -0
  405. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  406. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
  407. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  408. package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
  409. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  410. package/src/storage/capsule_store/capsule_service.ts +90 -0
  411. package/src/storage/capsule_store/capsule_store.ts +333 -0
  412. package/src/storage/capsule_store/index.ts +2 -0
  413. package/src/storage/contract_store/contract_store.ts +408 -0
  414. package/src/storage/contract_store/index.ts +1 -0
  415. package/src/storage/contract_store/private_functions_tree.ts +67 -0
  416. package/src/storage/index.ts +8 -10
  417. package/src/storage/metadata.ts +1 -0
  418. package/src/storage/note_store/index.ts +2 -0
  419. package/src/storage/note_store/note_store.ts +415 -0
  420. package/src/storage/note_store/stored_note.ts +48 -0
  421. package/src/storage/open_pxe_stores.ts +49 -0
  422. package/src/storage/private_event_store/private_event_store.ts +388 -0
  423. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  424. package/src/storage/tagging_store/index.ts +3 -0
  425. package/src/storage/tagging_store/recipient_tagging_store.ts +139 -0
  426. package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
  427. package/src/storage/tagging_store/sender_tagging_store.ts +476 -0
  428. package/src/tagging/constants.ts +10 -0
  429. package/src/tagging/get_all_logs_by_tags.ts +120 -0
  430. package/src/tagging/index.ts +20 -0
  431. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  432. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +240 -0
  433. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  434. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  435. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +134 -0
  436. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +66 -0
  437. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +84 -0
  438. package/dest/entrypoints/client/pxe_creation_options.d.ts +0 -11
  439. package/dest/entrypoints/client/pxe_creation_options.d.ts.map +0 -1
  440. package/dest/entrypoints/client/pxe_creation_options.js +0 -1
  441. package/dest/kernel_oracle/index.d.ts +0 -45
  442. package/dest/kernel_oracle/index.d.ts.map +0 -1
  443. package/dest/kernel_oracle/index.js +0 -76
  444. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  445. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  446. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +0 -270
  447. package/dest/kernel_prover/hints/index.d.ts +0 -2
  448. package/dest/kernel_prover/hints/index.d.ts.map +0 -1
  449. package/dest/kernel_prover/hints/index.js +0 -1
  450. package/dest/kernel_prover/index.d.ts +0 -3
  451. package/dest/kernel_prover/index.d.ts.map +0 -1
  452. package/dest/kernel_prover/index.js +0 -2
  453. package/dest/kernel_prover/kernel_prover.d.ts +0 -38
  454. package/dest/kernel_prover/kernel_prover.d.ts.map +0 -1
  455. package/dest/kernel_prover/kernel_prover.js +0 -217
  456. package/dest/kernel_prover/proving_data_oracle.d.ts +0 -73
  457. package/dest/kernel_prover/proving_data_oracle.d.ts.map +0 -1
  458. package/dest/kernel_prover/proving_data_oracle.js +0 -4
  459. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts +0 -11
  460. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts.map +0 -1
  461. package/dest/note_decryption_utils/add_public_values_to_payload.js +0 -47
  462. package/dest/pxe_http/index.d.ts +0 -2
  463. package/dest/pxe_http/index.d.ts.map +0 -1
  464. package/dest/pxe_http/index.js +0 -1
  465. package/dest/pxe_http/pxe_http_server.d.ts +0 -16
  466. package/dest/pxe_http/pxe_http_server.d.ts.map +0 -1
  467. package/dest/pxe_http/pxe_http_server.js +0 -27
  468. package/dest/pxe_oracle_interface/index.d.ts +0 -159
  469. package/dest/pxe_oracle_interface/index.d.ts.map +0 -1
  470. package/dest/pxe_oracle_interface/index.js +0 -692
  471. package/dest/pxe_oracle_interface/tagging_utils.d.ts +0 -17
  472. package/dest/pxe_oracle_interface/tagging_utils.d.ts.map +0 -1
  473. package/dest/pxe_oracle_interface/tagging_utils.js +0 -23
  474. package/dest/pxe_service/error_enriching.d.ts +0 -11
  475. package/dest/pxe_service/error_enriching.d.ts.map +0 -1
  476. package/dest/pxe_service/index.d.ts +0 -3
  477. package/dest/pxe_service/index.d.ts.map +0 -1
  478. package/dest/pxe_service/index.js +0 -2
  479. package/dest/pxe_service/pxe_service.d.ts +0 -111
  480. package/dest/pxe_service/pxe_service.d.ts.map +0 -1
  481. package/dest/pxe_service/pxe_service.js +0 -664
  482. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -13
  483. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  484. package/dest/storage/address_data_provider/index.d.ts +0 -2
  485. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  486. package/dest/storage/address_data_provider/index.js +0 -1
  487. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.d.ts +0 -11
  488. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.d.ts.map +0 -1
  489. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.js +0 -20
  490. package/dest/storage/auth_witness_data_provider/index.d.ts +0 -2
  491. package/dest/storage/auth_witness_data_provider/index.d.ts.map +0 -1
  492. package/dest/storage/auth_witness_data_provider/index.js +0 -1
  493. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -16
  494. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  495. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -57
  496. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  497. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  498. package/dest/storage/capsule_data_provider/index.js +0 -1
  499. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -109
  500. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  501. package/dest/storage/contract_data_provider/contract_data_provider.js +0 -183
  502. package/dest/storage/contract_data_provider/index.d.ts +0 -3
  503. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  504. package/dest/storage/contract_data_provider/index.js +0 -2
  505. package/dest/storage/contract_data_provider/private_functions_tree.d.ts +0 -66
  506. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  507. package/dest/storage/contract_data_provider/private_functions_tree.js +0 -99
  508. package/dest/storage/data_provider.d.ts +0 -4
  509. package/dest/storage/data_provider.d.ts.map +0 -1
  510. package/dest/storage/data_provider.js +0 -1
  511. package/dest/storage/note_data_provider/index.d.ts +0 -3
  512. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  513. package/dest/storage/note_data_provider/index.js +0 -2
  514. package/dest/storage/note_data_provider/note_dao.d.ts +0 -106
  515. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  516. package/dest/storage/note_data_provider/note_dao.js +0 -106
  517. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -20
  518. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  519. package/dest/storage/note_data_provider/note_data_provider.js +0 -249
  520. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  521. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  522. package/dest/storage/sync_data_provider/index.js +0 -1
  523. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -12
  524. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  525. package/dest/storage/sync_data_provider/sync_data_provider.js +0 -29
  526. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  527. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  528. package/dest/storage/tagging_data_provider/index.js +0 -1
  529. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -18
  530. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  531. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -65
  532. package/dest/synchronizer/index.d.ts +0 -2
  533. package/dest/synchronizer/index.d.ts.map +0 -1
  534. package/dest/synchronizer/index.js +0 -1
  535. package/dest/synchronizer/synchronizer.d.ts +0 -37
  536. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  537. package/dest/synchronizer/synchronizer.js +0 -103
  538. package/dest/test/pxe_test_suite.d.ts +0 -3
  539. package/dest/test/pxe_test_suite.d.ts.map +0 -1
  540. package/dest/test/pxe_test_suite.js +0 -97
  541. package/src/entrypoints/client/pxe_creation_options.ts +0 -7
  542. package/src/kernel_oracle/index.ts +0 -117
  543. package/src/kernel_prover/hints/build_private_kernel_reset_private_inputs.ts +0 -472
  544. package/src/kernel_prover/hints/index.ts +0 -1
  545. package/src/kernel_prover/index.ts +0 -2
  546. package/src/kernel_prover/kernel_prover.ts +0 -351
  547. package/src/kernel_prover/proving_data_oracle.ts +0 -83
  548. package/src/note_decryption_utils/add_public_values_to_payload.ts +0 -64
  549. package/src/pxe_http/index.ts +0 -1
  550. package/src/pxe_http/pxe_http_server.ts +0 -29
  551. package/src/pxe_oracle_interface/index.ts +0 -925
  552. package/src/pxe_oracle_interface/tagging_utils.ts +0 -32
  553. package/src/pxe_service/index.ts +0 -2
  554. package/src/pxe_service/pxe_service.ts +0 -949
  555. package/src/storage/address_data_provider/index.ts +0 -1
  556. package/src/storage/auth_witness_data_provider/auth_witness_data_provider.ts +0 -34
  557. package/src/storage/auth_witness_data_provider/index.ts +0 -1
  558. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -80
  559. package/src/storage/capsule_data_provider/index.ts +0 -1
  560. package/src/storage/contract_data_provider/contract_data_provider.ts +0 -261
  561. package/src/storage/contract_data_provider/index.ts +0 -2
  562. package/src/storage/contract_data_provider/private_functions_tree.ts +0 -131
  563. package/src/storage/data_provider.ts +0 -3
  564. package/src/storage/note_data_provider/index.ts +0 -2
  565. package/src/storage/note_data_provider/note_dao.ts +0 -162
  566. package/src/storage/note_data_provider/note_data_provider.ts +0 -345
  567. package/src/storage/sync_data_provider/index.ts +0 -1
  568. package/src/storage/sync_data_provider/sync_data_provider.ts +0 -40
  569. package/src/storage/tagging_data_provider/index.ts +0 -1
  570. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -92
  571. package/src/synchronizer/index.ts +0 -1
  572. package/src/synchronizer/synchronizer.ts +0 -121
  573. package/src/test/pxe_test_suite.ts +0 -111
@@ -1,472 +0,0 @@
1
- import {
2
- MAX_KEY_VALIDATION_REQUESTS_PER_TX,
3
- MAX_NOTE_HASHES_PER_TX,
4
- MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
5
- MAX_NULLIFIERS_PER_TX,
6
- MAX_NULLIFIER_READ_REQUESTS_PER_TX,
7
- NULLIFIER_TREE_HEIGHT,
8
- VK_TREE_HEIGHT,
9
- } from '@aztec/constants';
10
- import { makeTuple } from '@aztec/foundation/array';
11
- import { padArrayEnd } from '@aztec/foundation/collection';
12
- import type { Fr } from '@aztec/foundation/fields';
13
- import { type Tuple, assertLength } from '@aztec/foundation/serialize';
14
- import { MembershipWitness } from '@aztec/foundation/trees';
15
- import { privateKernelResetDimensionsConfig } from '@aztec/noir-protocol-circuits-types/client';
16
- import {
17
- KeyValidationHint,
18
- type PrivateCircuitPublicInputs,
19
- type PrivateKernelCircuitPublicInputs,
20
- PrivateKernelData,
21
- PrivateKernelResetCircuitPrivateInputs,
22
- PrivateKernelResetDimensions,
23
- PrivateKernelResetHints,
24
- type PrivateKernelSimulateOutput,
25
- type ReadRequest,
26
- ReadRequestResetStates,
27
- ReadRequestState,
28
- type ScopedKeyValidationRequestAndGenerator,
29
- ScopedNoteHash,
30
- ScopedNullifier,
31
- ScopedReadRequest,
32
- TransientDataIndexHint,
33
- buildNoteHashReadRequestHintsFromResetStates,
34
- buildNullifierReadRequestHintsFromResetStates,
35
- buildTransientDataHints,
36
- countAccumulatedItems,
37
- findPrivateKernelResetDimensions,
38
- getNonEmptyItems,
39
- getNoteHashReadRequestResetStates,
40
- getNullifierReadRequestResetStates,
41
- privateKernelResetDimensionNames,
42
- } from '@aztec/stdlib/kernel';
43
- import { type PrivateCallExecutionResult, collectNested } from '@aztec/stdlib/tx';
44
-
45
- import type { ProvingDataOracle } from '../proving_data_oracle.js';
46
-
47
- function collectNestedReadRequests(
48
- executionStack: PrivateCallExecutionResult[],
49
- extractReadRequests: (execution: PrivateCallExecutionResult) => ReadRequest[],
50
- ): ScopedReadRequest[] {
51
- return collectNested(executionStack, executionResult => {
52
- const nonEmptyReadRequests = getNonEmptyItems(extractReadRequests(executionResult));
53
- return nonEmptyReadRequests.map(
54
- readRequest => new ScopedReadRequest(readRequest, executionResult.publicInputs.callContext.contractAddress),
55
- );
56
- });
57
- }
58
-
59
- function getNullifierMembershipWitnessResolver(oracle: ProvingDataOracle) {
60
- return async (nullifier: Fr) => {
61
- const res = await oracle.getNullifierMembershipWitness(nullifier);
62
- if (!res) {
63
- throw new Error(`Cannot find the leaf for nullifier ${nullifier}.`);
64
- }
65
-
66
- const { index, siblingPath, leafPreimage } = res;
67
- return {
68
- membershipWitness: new MembershipWitness(NULLIFIER_TREE_HEIGHT, index, siblingPath.toTuple()),
69
- leafPreimage,
70
- };
71
- };
72
- }
73
-
74
- async function getMasterSecretKeysAndAppKeyGenerators(
75
- keyValidationRequests: Tuple<ScopedKeyValidationRequestAndGenerator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>,
76
- oracle: ProvingDataOracle,
77
- ) {
78
- const keysHints = [];
79
- for (let i = 0; i < keyValidationRequests.length; ++i) {
80
- const request = keyValidationRequests[i].request;
81
- if (request.isEmpty()) {
82
- break;
83
- }
84
- const secretKeys = await oracle.getMasterSecretKey(request.request.pkM);
85
- keysHints.push(new KeyValidationHint(secretKeys, i));
86
- }
87
- return padArrayEnd(
88
- keysHints,
89
- KeyValidationHint.nada(MAX_KEY_VALIDATION_REQUESTS_PER_TX),
90
- MAX_KEY_VALIDATION_REQUESTS_PER_TX,
91
- );
92
- }
93
-
94
- export class PrivateKernelResetPrivateInputsBuilder {
95
- private previousKernel: PrivateKernelCircuitPublicInputs;
96
- // If there's no next iteration, it's the final reset.
97
- private nextIteration?: PrivateCircuitPublicInputs;
98
-
99
- private noteHashResetStates: ReadRequestResetStates<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>;
100
- private nullifierResetStates: ReadRequestResetStates<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>;
101
- private numTransientData?: number;
102
- private transientDataIndexHints: Tuple<TransientDataIndexHint, typeof MAX_NULLIFIERS_PER_TX>;
103
- private requestedDimensions: PrivateKernelResetDimensions;
104
-
105
- constructor(
106
- private previousKernelOutput: PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>,
107
- private executionStack: PrivateCallExecutionResult[],
108
- private noteHashNullifierCounterMap: Map<number, number>,
109
- private validationRequestsSplitCounter: number,
110
- ) {
111
- this.previousKernel = previousKernelOutput.publicInputs;
112
- this.requestedDimensions = PrivateKernelResetDimensions.empty();
113
- this.noteHashResetStates = ReadRequestResetStates.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
114
- this.nullifierResetStates = ReadRequestResetStates.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
115
- this.transientDataIndexHints = makeTuple(
116
- MAX_NULLIFIERS_PER_TX,
117
- () => new TransientDataIndexHint(MAX_NULLIFIERS_PER_TX, MAX_NOTE_HASHES_PER_TX),
118
- );
119
- this.nextIteration = executionStack[this.executionStack.length - 1]?.publicInputs;
120
- }
121
-
122
- needsReset(): boolean {
123
- const fns: (() => boolean)[] = [
124
- () => this.needsResetNoteHashReadRequests(),
125
- () => this.needsResetNullifierReadRequests(),
126
- () => this.needsResetNullifierKeys(),
127
- () => this.needsResetTransientData(),
128
- ];
129
-
130
- if (this.nextIteration) {
131
- // If there's a next iteration, reset is needed only when data of a dimension is about to overflow.
132
- // fns are executed until a dimension that needs reset is found.
133
- return fns.some(fn => fn());
134
- } else {
135
- // Siloing is only needed after processing all iterations.
136
- fns.push(
137
- ...[() => this.needsSiloNoteHashes(), () => this.needsSiloNullifiers(), () => this.needsSiloPrivateLogs()],
138
- );
139
- // If there's no next iteration, reset is needed when any of the dimension has non empty data.
140
- // All the fns should to be executed so that data in all dimensions will be reset.
141
- const result = fns.map(fn => fn());
142
- return result.some(r => r);
143
- }
144
- }
145
-
146
- async build(oracle: ProvingDataOracle, noteHashLeafIndexMap: Map<bigint, bigint>) {
147
- if (privateKernelResetDimensionNames.every(name => !this.requestedDimensions[name])) {
148
- throw new Error('Reset is not required.');
149
- }
150
-
151
- const isInner = !!this.nextIteration;
152
-
153
- // "final" reset must be done at most once.
154
- // Because the code that silo note hashes can't be run repeatedly.
155
- // The dimensions found must be big enough to reset all values, i.e. empty remainder.
156
- const allowRemainder = isInner;
157
-
158
- const dimensions = findPrivateKernelResetDimensions(
159
- this.requestedDimensions,
160
- privateKernelResetDimensionsConfig,
161
- isInner,
162
- allowRemainder,
163
- );
164
-
165
- const previousVkMembershipWitness = await oracle.getVkMembershipWitness(this.previousKernelOutput.verificationKey);
166
- const previousKernelData = new PrivateKernelData(
167
- this.previousKernelOutput.publicInputs,
168
- this.previousKernelOutput.verificationKey,
169
- Number(previousVkMembershipWitness.leafIndex),
170
- assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
171
- );
172
-
173
- this.reduceReadRequestStates(
174
- this.noteHashResetStates,
175
- dimensions.NOTE_HASH_PENDING_AMOUNT,
176
- dimensions.NOTE_HASH_SETTLED_AMOUNT,
177
- );
178
- this.reduceReadRequestStates(
179
- this.nullifierResetStates,
180
- dimensions.NULLIFIER_PENDING_AMOUNT,
181
- dimensions.NULLIFIER_SETTLED_AMOUNT,
182
- );
183
-
184
- return new PrivateKernelResetCircuitPrivateInputs(
185
- previousKernelData,
186
- new PrivateKernelResetHints(
187
- await buildNoteHashReadRequestHintsFromResetStates(
188
- oracle,
189
- this.previousKernel.validationRequests.noteHashReadRequests,
190
- this.previousKernel.end.noteHashes,
191
- this.noteHashResetStates,
192
- noteHashLeafIndexMap,
193
- ),
194
- await buildNullifierReadRequestHintsFromResetStates(
195
- { getNullifierMembershipWitness: getNullifierMembershipWitnessResolver(oracle) },
196
- this.previousKernel.validationRequests.nullifierReadRequests,
197
- this.nullifierResetStates,
198
- ),
199
- await getMasterSecretKeysAndAppKeyGenerators(
200
- this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators,
201
- oracle,
202
- ),
203
- this.transientDataIndexHints,
204
- this.validationRequestsSplitCounter,
205
- ),
206
- dimensions,
207
- );
208
- }
209
-
210
- private reduceReadRequestStates<NUM_READS extends number>(
211
- resetStates: ReadRequestResetStates<NUM_READS>,
212
- maxPending: number,
213
- maxSettled: number,
214
- ) {
215
- let numPending = 0;
216
- let numSettled = 0;
217
- for (let i = 0; i < resetStates.states.length; i++) {
218
- const state = resetStates.states[i];
219
- if (state === ReadRequestState.PENDING) {
220
- if (numPending < maxPending) {
221
- numPending++;
222
- } else {
223
- resetStates.states[i] = ReadRequestState.NADA;
224
- }
225
- } else if (state === ReadRequestState.SETTLED) {
226
- if (numSettled < maxSettled) {
227
- numSettled++;
228
- } else {
229
- resetStates.states[i] = ReadRequestState.NADA;
230
- }
231
- }
232
- }
233
-
234
- resetStates.pendingReadHints = resetStates.pendingReadHints.slice(0, maxPending);
235
- }
236
-
237
- private needsResetNoteHashReadRequests(forceResetAll = false) {
238
- const numCurr = countAccumulatedItems(this.previousKernel.validationRequests.noteHashReadRequests);
239
- const numNext = this.nextIteration ? countAccumulatedItems(this.nextIteration.noteHashReadRequests) : 0;
240
- const maxAmountToKeep = !this.nextIteration || forceResetAll ? 0 : MAX_NOTE_HASH_READ_REQUESTS_PER_TX;
241
- if (numCurr + numNext <= maxAmountToKeep) {
242
- return false;
243
- }
244
-
245
- const futureNoteHashes = collectNested(this.executionStack, executionResult => {
246
- const nonEmptyNoteHashes = getNonEmptyItems(executionResult.publicInputs.noteHashes);
247
- return nonEmptyNoteHashes.map(
248
- noteHash => new ScopedNoteHash(noteHash, executionResult.publicInputs.callContext.contractAddress),
249
- );
250
- });
251
-
252
- const resetStates = getNoteHashReadRequestResetStates(
253
- this.previousKernel.validationRequests.noteHashReadRequests,
254
- this.previousKernel.end.noteHashes,
255
- futureNoteHashes,
256
- );
257
-
258
- const numPendingReads = resetStates.pendingReadHints.length;
259
- const numSettledReads = resetStates.states.reduce(
260
- (accum, state) => accum + (state === ReadRequestState.SETTLED ? 1 : 0),
261
- 0,
262
- );
263
-
264
- if (!this.nextIteration) {
265
- this.noteHashResetStates = resetStates;
266
- this.requestedDimensions.NOTE_HASH_PENDING_AMOUNT = numPendingReads;
267
- this.requestedDimensions.NOTE_HASH_SETTLED_AMOUNT = numSettledReads;
268
- } else {
269
- // Pick only one dimension to reset if next iteration is not empty.
270
- if (numPendingReads > numSettledReads) {
271
- this.requestedDimensions.NOTE_HASH_PENDING_AMOUNT = numPendingReads;
272
- this.noteHashResetStates.states = assertLength(
273
- resetStates.states.map(state => (state === ReadRequestState.PENDING ? state : ReadRequestState.NADA)),
274
- MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
275
- );
276
- this.noteHashResetStates.pendingReadHints = resetStates.pendingReadHints;
277
- } else {
278
- this.requestedDimensions.NOTE_HASH_SETTLED_AMOUNT = numSettledReads;
279
- this.noteHashResetStates.states = assertLength(
280
- resetStates.states.map(state => (state === ReadRequestState.SETTLED ? state : ReadRequestState.NADA)),
281
- MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
282
- );
283
- }
284
- }
285
-
286
- return true;
287
- }
288
-
289
- private needsResetNullifierReadRequests(forceResetAll = false) {
290
- const numCurr = countAccumulatedItems(this.previousKernel.validationRequests.nullifierReadRequests);
291
- const numNext = this.nextIteration ? countAccumulatedItems(this.nextIteration.nullifierReadRequests) : 0;
292
- const maxAmountToKeep = !this.nextIteration || forceResetAll ? 0 : MAX_NULLIFIER_READ_REQUESTS_PER_TX;
293
- if (numCurr + numNext <= maxAmountToKeep) {
294
- return false;
295
- }
296
-
297
- const futureNullifiers = collectNested(this.executionStack, executionResult => {
298
- const nonEmptyNullifiers = getNonEmptyItems(executionResult.publicInputs.nullifiers);
299
- return nonEmptyNullifiers.map(
300
- nullifier => new ScopedNullifier(nullifier, executionResult.publicInputs.callContext.contractAddress),
301
- );
302
- });
303
-
304
- const resetStates = getNullifierReadRequestResetStates(
305
- this.previousKernel.validationRequests.nullifierReadRequests,
306
- this.previousKernel.end.nullifiers,
307
- futureNullifiers,
308
- );
309
-
310
- const numPendingReads = resetStates.pendingReadHints.length;
311
- const numSettledReads = resetStates.states.reduce(
312
- (accum, state) => accum + (state === ReadRequestState.SETTLED ? 1 : 0),
313
- 0,
314
- );
315
-
316
- if (!this.nextIteration) {
317
- this.nullifierResetStates = resetStates;
318
- this.requestedDimensions.NULLIFIER_PENDING_AMOUNT = numPendingReads;
319
- this.requestedDimensions.NULLIFIER_SETTLED_AMOUNT = numSettledReads;
320
- } else {
321
- // Pick only one dimension to reset if next iteration is not empty.
322
- if (numPendingReads > numSettledReads) {
323
- this.requestedDimensions.NULLIFIER_PENDING_AMOUNT = numPendingReads;
324
- this.nullifierResetStates.states = assertLength(
325
- resetStates.states.map(state => (state === ReadRequestState.PENDING ? state : ReadRequestState.NADA)),
326
- MAX_NULLIFIER_READ_REQUESTS_PER_TX,
327
- );
328
- this.nullifierResetStates.pendingReadHints = resetStates.pendingReadHints;
329
- } else {
330
- this.requestedDimensions.NULLIFIER_SETTLED_AMOUNT = numSettledReads;
331
- this.nullifierResetStates.states = assertLength(
332
- resetStates.states.map(state => (state === ReadRequestState.SETTLED ? state : ReadRequestState.NADA)),
333
- MAX_NULLIFIER_READ_REQUESTS_PER_TX,
334
- );
335
- }
336
- }
337
-
338
- return true;
339
- }
340
-
341
- private needsResetNullifierKeys() {
342
- const numCurr = countAccumulatedItems(
343
- this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators,
344
- );
345
- const numNext = this.nextIteration
346
- ? countAccumulatedItems(this.nextIteration.keyValidationRequestsAndGenerators)
347
- : 0;
348
- const maxAmountToKeep = !this.nextIteration ? 0 : MAX_KEY_VALIDATION_REQUESTS_PER_TX;
349
- if (numCurr + numNext <= maxAmountToKeep) {
350
- return false;
351
- }
352
-
353
- this.requestedDimensions.NULLIFIER_KEYS = numCurr;
354
-
355
- return true;
356
- }
357
-
358
- private needsResetTransientData() {
359
- // Initialize this to 0 so that needsSilo can be run.
360
- this.numTransientData = 0;
361
-
362
- const nextAccumNoteHashes =
363
- countAccumulatedItems(this.previousKernel.end.noteHashes) +
364
- countAccumulatedItems(this.nextIteration?.noteHashes ?? []);
365
- const noteHashWillOverflow = nextAccumNoteHashes > MAX_NOTE_HASHES_PER_TX;
366
- const nextAccumNullifiers =
367
- countAccumulatedItems(this.previousKernel.end.nullifiers) +
368
- countAccumulatedItems(this.nextIteration?.nullifiers ?? []);
369
- const nullifierWillOverflow = nextAccumNullifiers > MAX_NULLIFIERS_PER_TX;
370
- if (this.nextIteration && !noteHashWillOverflow && !nullifierWillOverflow) {
371
- return false;
372
- }
373
-
374
- const futureNoteHashReads = collectNestedReadRequests(
375
- this.executionStack,
376
- executionResult => executionResult.publicInputs.noteHashReadRequests,
377
- );
378
- const futureNullifierReads = collectNestedReadRequests(
379
- this.executionStack,
380
- executionResult => executionResult.publicInputs.nullifierReadRequests,
381
- );
382
- if (this.nextIteration) {
383
- // If it's not the final reset, only one dimension will be reset at a time.
384
- // The note hashes and nullifiers for the remaining read requests can't be squashed.
385
- futureNoteHashReads.push(
386
- ...this.previousKernel.validationRequests.noteHashReadRequests.filter(r => !r.isEmpty()),
387
- );
388
- futureNullifierReads.push(
389
- ...this.previousKernel.validationRequests.nullifierReadRequests.filter(r => !r.isEmpty()),
390
- );
391
- }
392
-
393
- const { numTransientData, hints: transientDataIndexHints } = buildTransientDataHints(
394
- this.previousKernel.end.noteHashes,
395
- this.previousKernel.end.nullifiers,
396
- futureNoteHashReads,
397
- futureNullifierReads,
398
- this.noteHashNullifierCounterMap,
399
- this.validationRequestsSplitCounter,
400
- MAX_NOTE_HASHES_PER_TX,
401
- MAX_NULLIFIERS_PER_TX,
402
- );
403
-
404
- if (this.nextIteration && !numTransientData) {
405
- const forceResetAll = true;
406
- const canClearReadRequests =
407
- (noteHashWillOverflow && this.needsResetNoteHashReadRequests(forceResetAll)) ||
408
- (nullifierWillOverflow && this.needsResetNullifierReadRequests(forceResetAll));
409
- if (!canClearReadRequests) {
410
- const overflownData = noteHashWillOverflow ? 'note hashes' : 'nullifiers';
411
- throw new Error(`Number of ${overflownData} exceeds the limit.`);
412
- }
413
- // Clearing the read requests might not be enough to squash the overflown data.
414
- // In this case, the next iteration will fail at the above check.
415
- return true;
416
- }
417
-
418
- this.numTransientData = numTransientData;
419
- this.transientDataIndexHints = transientDataIndexHints;
420
- this.requestedDimensions.TRANSIENT_DATA_AMOUNT = numTransientData;
421
-
422
- return numTransientData > 0;
423
- }
424
-
425
- private needsSiloNoteHashes() {
426
- if (this.numTransientData === undefined) {
427
- throw new Error('`needsResetTransientData` must be run before `needsSiloNoteHashes`.');
428
- }
429
-
430
- const numNoteHashes = this.previousKernel.end.noteHashes.filter(n => !n.contractAddress.isZero()).length;
431
- const numToSilo = Math.max(0, numNoteHashes - this.numTransientData);
432
- this.requestedDimensions.NOTE_HASH_SILOING_AMOUNT = numToSilo;
433
-
434
- return numToSilo > 0;
435
- }
436
-
437
- private needsSiloNullifiers() {
438
- if (this.numTransientData === undefined) {
439
- throw new Error('`needsResetTransientData` must be run before `needsSiloNullifiers`.');
440
- }
441
-
442
- const numNullifiers = this.previousKernel.end.nullifiers.filter(n => !n.contractAddress.isZero()).length;
443
- const numToSilo = Math.max(0, numNullifiers - this.numTransientData);
444
- // Include the first nullifier if there's something to silo.
445
- // The reset circuit checks that capped_size must be greater than or equal to all non-empty nullifiers.
446
- // Which includes the first nullifier, even though its contract address is always zero and doesn't need siloing.
447
- const cappedSize = numToSilo ? numToSilo + 1 : 0;
448
- this.requestedDimensions.NULLIFIER_SILOING_AMOUNT = cappedSize;
449
-
450
- return numToSilo > 0;
451
- }
452
-
453
- private needsSiloPrivateLogs() {
454
- if (this.numTransientData === undefined) {
455
- throw new Error('`needsResetTransientData` must be run before `needsSiloPrivateLogs`.');
456
- }
457
-
458
- const privateLogs = this.previousKernel.end.privateLogs;
459
- const numLogs = privateLogs.filter(l => !l.contractAddress.isZero()).length;
460
-
461
- const noteHashes = this.previousKernel.end.noteHashes;
462
- const squashedNoteHashCounters = this.transientDataIndexHints
463
- .filter(h => h.noteHashIndex < noteHashes.length)
464
- .map(h => noteHashes[h.noteHashIndex].counter);
465
- const numSquashedLogs = privateLogs.filter(l => squashedNoteHashCounters.includes(l.inner.noteHashCounter)).length;
466
-
467
- const numToSilo = numLogs - numSquashedLogs;
468
- this.requestedDimensions.PRIVATE_LOG_SILOING_AMOUNT = numToSilo;
469
-
470
- return numToSilo > 0;
471
- }
472
- }
@@ -1 +0,0 @@
1
- export * from './build_private_kernel_reset_private_inputs.js';
@@ -1,2 +0,0 @@
1
- export * from './kernel_prover.js';
2
- export * from './proving_data_oracle.js';