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

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 (343) hide show
  1. package/dest/bin/check_oracle_version.js +43 -99
  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 +26 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +93 -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 +62 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +6 -2
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +30 -10
  14. package/dest/config/index.d.ts +7 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +12 -14
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract_function_simulator/contract_function_simulator.d.ts +9 -4
  19. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/contract_function_simulator.js +26 -13
  21. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  22. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  23. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  24. package/dest/contract_function_simulator/execution_note_cache.d.ts +2 -2
  25. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  27. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  29. package/dest/contract_function_simulator/index.d.ts +13 -2
  30. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/index.js +10 -0
  32. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -0
  33. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  34. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +45 -0
  35. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  36. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  37. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  38. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -5
  39. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +6 -8
  41. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +13 -3
  42. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +35 -4
  44. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +1 -1
  45. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  46. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  47. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  48. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  49. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -5
  50. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  51. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -8
  52. package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
  53. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  54. package/dest/contract_function_simulator/noir-structs/option.js +62 -0
  55. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -0
  56. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  57. package/dest/contract_function_simulator/noir-structs/provided_secret.js +24 -0
  58. package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -103
  59. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  60. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  61. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  62. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  64. package/dest/contract_function_simulator/oracle/oracle.d.ts +74 -46
  65. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  66. package/dest/contract_function_simulator/oracle/oracle.js +407 -292
  67. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
  68. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  69. package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
  70. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -0
  71. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +560 -0
  73. package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
  74. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +33 -36
  75. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  76. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +70 -52
  77. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +95 -59
  78. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  79. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +365 -162
  80. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  81. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  82. package/dest/contract_function_simulator/pick_notes.js +20 -3
  83. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
  84. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  85. package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -64
  86. package/dest/contract_logging.d.ts +9 -4
  87. package/dest/contract_logging.d.ts.map +1 -1
  88. package/dest/contract_logging.js +21 -6
  89. package/dest/contract_sync/contract_sync_service.d.ts +6 -9
  90. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
  91. package/dest/contract_sync/contract_sync_service.js +71 -50
  92. package/dest/contract_sync/helpers.d.ts +2 -4
  93. package/dest/contract_sync/helpers.d.ts.map +1 -1
  94. package/dest/contract_sync/helpers.js +12 -14
  95. package/dest/debug/pxe_debug_utils.d.ts +3 -8
  96. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  97. package/dest/debug/pxe_debug_utils.js +0 -6
  98. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  99. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  100. package/dest/entrypoints/client/bundle/index.js +0 -1
  101. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  102. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  103. package/dest/entrypoints/client/bundle/utils.js +13 -5
  104. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  105. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  106. package/dest/entrypoints/client/lazy/index.js +0 -1
  107. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  108. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  109. package/dest/entrypoints/client/lazy/utils.js +13 -5
  110. package/dest/entrypoints/pxe_creation_options.d.ts +9 -1
  111. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  112. package/dest/entrypoints/pxe_creation_options.js +3 -1
  113. package/dest/entrypoints/server/index.d.ts +3 -3
  114. package/dest/entrypoints/server/index.d.ts.map +1 -1
  115. package/dest/entrypoints/server/index.js +2 -2
  116. package/dest/entrypoints/server/utils.d.ts +4 -3
  117. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  118. package/dest/entrypoints/server/utils.js +13 -5
  119. package/dest/events/event_service.d.ts +15 -6
  120. package/dest/events/event_service.d.ts.map +1 -1
  121. package/dest/events/event_service.js +44 -11
  122. package/dest/events/private_event_filter_validator.d.ts +3 -2
  123. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  124. package/dest/events/private_event_filter_validator.js +15 -0
  125. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  126. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  127. package/dest/hooks/authorize_utility_call.js +4 -0
  128. package/dest/hooks/execution_hooks.d.ts +42 -0
  129. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  130. package/dest/hooks/execution_hooks.js +9 -0
  131. package/dest/hooks/index.d.ts +4 -0
  132. package/dest/hooks/index.d.ts.map +1 -0
  133. package/dest/hooks/index.js +1 -0
  134. package/dest/logs/log_service.d.ts +9 -9
  135. package/dest/logs/log_service.d.ts.map +1 -1
  136. package/dest/logs/log_service.js +126 -72
  137. package/dest/messages/message_context_service.d.ts +3 -3
  138. package/dest/messages/message_context_service.d.ts.map +1 -1
  139. package/dest/messages/message_context_service.js +30 -11
  140. package/dest/notes/note_service.d.ts +27 -6
  141. package/dest/notes/note_service.d.ts.map +1 -1
  142. package/dest/notes/note_service.js +80 -56
  143. package/dest/notes_filter.d.ts +2 -3
  144. package/dest/notes_filter.d.ts.map +1 -1
  145. package/dest/oracle_version.d.ts +4 -3
  146. package/dest/oracle_version.d.ts.map +1 -1
  147. package/dest/oracle_version.js +20 -10
  148. package/dest/private_kernel/batch_planner.d.ts +47 -0
  149. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  150. package/dest/private_kernel/batch_planner.js +104 -0
  151. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +1 -1
  152. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  153. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  154. package/dest/private_kernel/hints/test_utils.js +2 -3
  155. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  156. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  157. package/dest/private_kernel/private_kernel_execution_prover.js +152 -59
  158. package/dest/private_kernel/private_kernel_oracle.d.ts +10 -10
  159. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  160. package/dest/private_kernel/private_kernel_oracle.js +24 -22
  161. package/dest/pxe.d.ts +56 -10
  162. package/dest/pxe.d.ts.map +1 -1
  163. package/dest/pxe.js +138 -91
  164. package/dest/storage/anchor_block_store/anchor_block_store.js +1 -1
  165. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  166. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  167. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  168. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  169. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  170. package/dest/storage/backwards_compatibility_tests/schema_tests.js +591 -0
  171. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  172. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  173. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  174. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  175. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  176. package/dest/storage/capsule_store/capsule_service.js +50 -0
  177. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  178. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  179. package/dest/storage/capsule_store/capsule_store.js +36 -28
  180. package/dest/storage/capsule_store/index.d.ts +2 -1
  181. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  182. package/dest/storage/capsule_store/index.js +1 -0
  183. package/dest/storage/contract_store/contract_store.d.ts +1 -1
  184. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  185. package/dest/storage/contract_store/contract_store.js +9 -26
  186. package/dest/storage/metadata.d.ts +1 -1
  187. package/dest/storage/metadata.js +1 -1
  188. package/dest/storage/note_store/note_store.d.ts +1 -1
  189. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  190. package/dest/storage/note_store/note_store.js +2 -2
  191. package/dest/storage/open_pxe_stores.d.ts +33 -0
  192. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  193. package/dest/storage/open_pxe_stores.js +27 -0
  194. package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
  195. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  196. package/dest/storage/private_event_store/private_event_store.js +3 -0
  197. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  198. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  199. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  200. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  201. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  202. package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
  203. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  204. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  205. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  206. package/dest/tagging/index.d.ts +5 -4
  207. package/dest/tagging/index.d.ts.map +1 -1
  208. package/dest/tagging/index.js +4 -3
  209. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  210. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  211. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  212. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +56 -0
  213. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  214. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +163 -0
  215. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  216. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  217. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  218. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  219. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  220. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  221. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  222. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  223. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  224. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  225. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  226. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  227. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  228. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +2 -2
  229. package/package.json +20 -17
  230. package/src/bin/check_oracle_version.ts +49 -122
  231. package/src/bin/index.ts +1 -0
  232. package/src/bin/oracle_version_helpers.ts +121 -0
  233. package/src/block_synchronizer/block_stream_source.ts +81 -0
  234. package/src/block_synchronizer/block_synchronizer.ts +33 -11
  235. package/src/config/index.ts +14 -8
  236. package/src/config/package_info.ts +1 -1
  237. package/src/contract_function_simulator/contract_function_simulator.ts +44 -16
  238. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  239. package/src/contract_function_simulator/execution_note_cache.ts +1 -1
  240. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  241. package/src/contract_function_simulator/index.ts +50 -1
  242. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
  243. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  244. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +4 -6
  245. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +36 -3
  246. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -1
  247. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  248. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -6
  249. package/src/contract_function_simulator/noir-structs/option.ts +69 -0
  250. package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
  251. package/src/contract_function_simulator/oracle/interfaces.ts +12 -176
  252. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  253. package/src/contract_function_simulator/oracle/oracle.ts +498 -462
  254. package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
  255. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
  256. package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
  257. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +93 -71
  258. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +534 -267
  259. package/src/contract_function_simulator/pick_notes.ts +22 -3
  260. package/src/contract_function_simulator/proxied_contract_data_source.ts +41 -64
  261. package/src/contract_logging.ts +18 -5
  262. package/src/contract_sync/contract_sync_service.ts +97 -89
  263. package/src/contract_sync/helpers.ts +13 -25
  264. package/src/debug/pxe_debug_utils.ts +3 -11
  265. package/src/entrypoints/client/bundle/index.ts +0 -1
  266. package/src/entrypoints/client/bundle/utils.ts +10 -5
  267. package/src/entrypoints/client/lazy/index.ts +0 -1
  268. package/src/entrypoints/client/lazy/utils.ts +10 -5
  269. package/src/entrypoints/pxe_creation_options.ts +14 -0
  270. package/src/entrypoints/server/index.ts +2 -2
  271. package/src/entrypoints/server/utils.ts +15 -6
  272. package/src/events/event_service.ts +69 -21
  273. package/src/events/private_event_filter_validator.ts +21 -1
  274. package/src/hooks/authorize_utility_call.ts +44 -0
  275. package/src/hooks/execution_hooks.ts +48 -0
  276. package/src/hooks/index.ts +7 -0
  277. package/src/logs/log_service.ts +158 -134
  278. package/src/messages/message_context_service.ts +43 -26
  279. package/src/notes/note_service.ts +119 -85
  280. package/src/notes_filter.ts +1 -3
  281. package/src/oracle_version.ts +20 -10
  282. package/src/private_kernel/batch_planner.ts +169 -0
  283. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +1 -1
  284. package/src/private_kernel/hints/test_utils.ts +2 -9
  285. package/src/private_kernel/private_kernel_execution_prover.ts +240 -82
  286. package/src/private_kernel/private_kernel_oracle.ts +35 -25
  287. package/src/pxe.ts +226 -95
  288. package/src/storage/anchor_block_store/anchor_block_store.ts +1 -1
  289. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  290. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  291. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  292. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  293. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  294. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
  295. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -0
  296. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  297. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  298. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +16 -0
  299. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  300. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
  301. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  302. package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
  303. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  304. package/src/storage/capsule_store/capsule_service.ts +90 -0
  305. package/src/storage/capsule_store/capsule_store.ts +44 -26
  306. package/src/storage/capsule_store/index.ts +1 -0
  307. package/src/storage/contract_store/contract_store.ts +14 -35
  308. package/src/storage/metadata.ts +1 -1
  309. package/src/storage/note_store/note_store.ts +2 -5
  310. package/src/storage/open_pxe_stores.ts +49 -0
  311. package/src/storage/private_event_store/private_event_store.ts +4 -0
  312. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  313. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  314. package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
  315. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  316. package/src/tagging/index.ts +4 -3
  317. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  318. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +240 -0
  319. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  320. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  321. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  322. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  323. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
  324. package/dest/access_scopes.d.ts +0 -9
  325. package/dest/access_scopes.d.ts.map +0 -1
  326. package/dest/access_scopes.js +0 -6
  327. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts +0 -16
  328. package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts.map +0 -1
  329. package/dest/contract_function_simulator/noir-structs/message_tx_context.js +0 -57
  330. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  331. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  332. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -42
  333. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  334. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  335. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  336. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  337. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  338. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  339. package/src/access_scopes.ts +0 -9
  340. package/src/contract_function_simulator/noir-structs/message_tx_context.ts +0 -55
  341. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -135
  342. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  343. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -0,0 +1,27 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { Note } from '@aztec/stdlib/note';
4
+
5
+ /**
6
+ * Information about a note needed during execution.
7
+ */
8
+ export interface NoteData {
9
+ /** The actual note content (the fields of the Noir #[note] struct). */
10
+ note: Note;
11
+ /** The address of the contract that owns the note. */
12
+ contractAddress: AztecAddress;
13
+ /** The owner of the note. */
14
+ owner: AztecAddress;
15
+ /** The storage slot of the note. */
16
+ storageSlot: Fr;
17
+ /** The randomness injected to the note */
18
+ randomness: Fr;
19
+ /** The nonce injected into the note hash preimage by kernels. */
20
+ noteNonce: Fr;
21
+ /** A hash of the note as it gets stored in the note hash tree. */
22
+ noteHash: Fr;
23
+ /** True if the note is pending, false if settled. */
24
+ isPending: boolean;
25
+ /** The corresponding nullifier of the note. Undefined for pending notes. */
26
+ siloedNullifier?: Fr;
27
+ }
@@ -5,7 +5,7 @@ import { TxHash } from '@aztec/stdlib/tx';
5
5
 
6
6
  /**
7
7
  * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
8
- * expects for values of this type to be stored in a `CapsuleArray`.
8
+ * expects for values of this type to be stored in a `EphemeralArray`.
9
9
  */
10
10
  export class NoteValidationRequest {
11
11
  constructor(
@@ -18,10 +18,9 @@ export class NoteValidationRequest {
18
18
  public noteHash: Fr,
19
19
  public nullifier: Fr,
20
20
  public txHash: TxHash,
21
- public recipient: AztecAddress,
22
21
  ) {}
23
22
 
24
- static fromFields(fields: Fr[], maxNotePackedLen: number): NoteValidationRequest {
23
+ static fromFields(fields: Fr[] | FieldReader): NoteValidationRequest {
25
24
  const reader = FieldReader.asReader(fields);
26
25
 
27
26
  const contractAddress = AztecAddress.fromField(reader.readField());
@@ -30,6 +29,7 @@ export class NoteValidationRequest {
30
29
  const randomness = reader.readField();
31
30
  const noteNonce = reader.readField();
32
31
 
32
+ const maxNotePackedLen = reader.readField().toNumber();
33
33
  const contentStorage = reader.readFieldArray(maxNotePackedLen);
34
34
  const contentLen = reader.readField().toNumber();
35
35
  const content = contentStorage.slice(0, contentLen);
@@ -37,11 +37,10 @@ export class NoteValidationRequest {
37
37
  const noteHash = reader.readField();
38
38
  const nullifier = reader.readField();
39
39
  const txHash = TxHash.fromField(reader.readField());
40
- const recipient = AztecAddress.fromField(reader.readField());
41
40
 
42
41
  if (reader.remainingFields() !== 0) {
43
42
  throw new Error(
44
- `Error converting array of fields to NoteValidationRequest: expected ${reader.cursor} fields but received ${fields.length} (maxNotePackedLen=${maxNotePackedLen}).`,
43
+ `Error converting array of fields to NoteValidationRequest: expected ${reader.cursor} fields but received ${reader.cursor + reader.remainingFields()} (maxNotePackedLen=${maxNotePackedLen}).`,
45
44
  );
46
45
  }
47
46
 
@@ -55,7 +54,6 @@ export class NoteValidationRequest {
55
54
  noteHash,
56
55
  nullifier,
57
56
  txHash,
58
- recipient,
59
57
  );
60
58
  }
61
59
  }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * TypeScript counterpart of Noir's `Option<T>`.
3
+ *
4
+ * Wraps a value that may or may not be present. Use {@link Option.some} to wrap a present value and
5
+ * {@link Option.none} for an absent one. The type guards {@link isSome} and {@link isNone} narrow
6
+ * `value` in conditional branches.
7
+ */
8
+ export class Option<T> {
9
+ private constructor(
10
+ public readonly value: T | undefined,
11
+ public readonly template: T | undefined,
12
+ ) {}
13
+
14
+ /**
15
+ * Wrap a present value.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * return Option.some(values);
20
+ * ```
21
+ */
22
+ static some<T>(value: T): Option<T> {
23
+ return new Option<T>(value, undefined);
24
+ }
25
+
26
+ /**
27
+ * Construct an absent Option.
28
+ *
29
+ * When serialized back to ACVM, the `None` case must produce the same number of fields as `Some`.
30
+ * For types whose wire size varies per call site (`BoundedVec`, `FixedArray`), pass a `template` so the
31
+ * serializer knows how many zero fields to emit. Omit the template when the Option will not be
32
+ * re-serialized (e.g. deserialized input params).
33
+ *
34
+ * @param template - A representative empty `T` whose serialization determines the zero-filled wire format.
35
+ *
36
+ * @example None for a fixed-size type:
37
+ * ```ts
38
+ * return Option.none(AztecAddress.ZERO);
39
+ * ```
40
+ *
41
+ * @example None for a dynamic-size type:
42
+ * ```ts
43
+ * return Option.none(BoundedVec.empty<number>({ maxLength: ciphertext.maxLength }));
44
+ * ```
45
+ */
46
+ static none<T>(template?: T): Option<T> {
47
+ return new Option<T>(undefined, template);
48
+ }
49
+
50
+ /**
51
+ * Type guard: narrows `value` to `T` in the truthy branch.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const opt = await handler.getSenderForTags();
56
+ * if (opt.isSome()) {
57
+ * console.log(opt.value); // narrowed to T
58
+ * }
59
+ * ```
60
+ */
61
+ isSome(): this is Option<T> & { value: T } {
62
+ return this.value !== undefined;
63
+ }
64
+
65
+ /** Type guard: narrows `value` to `undefined` in the truthy branch. */
66
+ isNone(): this is Option<T> & { value: undefined } {
67
+ return this.value === undefined;
68
+ }
69
+ }
@@ -0,0 +1,27 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FieldReader } from '@aztec/foundation/serialize';
3
+ import { AppTaggingSecretKind } from '@aztec/stdlib/logs';
4
+
5
+ /** A tagging secret an app supplies explicitly to `getPendingTaggedLogs` when PXE cannot derive it internally. */
6
+ export class ProvidedSecret {
7
+ constructor(
8
+ public secret: Fr,
9
+ public mode: AppTaggingSecretKind,
10
+ ) {}
11
+
12
+ static fromFields(fields: Fr[] | FieldReader): ProvidedSecret {
13
+ const reader = FieldReader.asReader(fields);
14
+ return new ProvidedSecret(reader.readField(), kindFromField(reader.readField()));
15
+ }
16
+ }
17
+
18
+ function kindFromField(mode: Fr): AppTaggingSecretKind {
19
+ switch (mode.toBigInt()) {
20
+ case 0n:
21
+ return AppTaggingSecretKind.UNCONSTRAINED;
22
+ case 1n:
23
+ return AppTaggingSecretKind.CONSTRAINED;
24
+ default:
25
+ throw new Error(`Invalid app tagging secret kind: ${mode.toString()}`);
26
+ }
27
+ }
@@ -1,185 +1,21 @@
1
- import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
- import type { BlockNumber } from '@aztec/foundation/branded-types';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- import { Point } from '@aztec/foundation/curves/grumpkin';
5
- import { MembershipWitness } from '@aztec/foundation/trees';
6
- import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
7
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
8
- import { BlockHash } from '@aztec/stdlib/block';
9
- import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
10
- import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
- import type { PublicKeys } from '@aztec/stdlib/keys';
12
- import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
13
- import type { Note, NoteStatus } from '@aztec/stdlib/note';
14
- import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
15
- import type { BlockHeader } from '@aztec/stdlib/tx';
16
-
17
- import type { UtilityContext } from '../noir-structs/utility_context.js';
18
- import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
19
-
20
- /**
21
- * Information about a note needed during execution.
22
- */
23
- export interface NoteData {
24
- /** The actual note content (the fields of the Noir #[note] struct). */
25
- note: Note;
26
- /** The address of the contract that owns the note. */
27
- contractAddress: AztecAddress;
28
- /** The owner of the note. */
29
- owner: AztecAddress;
30
- /** The storage slot of the note. */
31
- storageSlot: Fr;
32
- /** The randomness injected to the note */
33
- randomness: Fr;
34
- /** The nonce injected into the note hash preimage by kernels. */
35
- noteNonce: Fr;
36
- /** A hash of the note as it gets stored in the note hash tree. */
37
- noteHash: Fr;
38
- /** True if the note is pending, false if settled. */
39
- isPending: boolean;
40
- /** The corresponding nullifier of the note. Undefined for pending notes. */
41
- siloedNullifier?: Fr;
42
- }
43
-
44
- // These interfaces contain the list of oracles required by aztec-nr in order to simulate and execute transactions, i.e.
45
- // in order to call #[external("utility")] and #[external("private")] contract functions.
46
- // The full list of aztec-nr oracles is larger and includes the oracles also required to run Noir tests - these reside
47
- // in the TXE package.
1
+ import type { HandlersForPrefix } from './oracle_registry.js';
2
+ import type { ORACLE_REGISTRY } from './oracle_registry.js';
48
3
 
49
4
  /**
50
- * Miscellaneous oracle methods, not very Aztec-specific and expected to be available all scenarios in which aztec-nr
51
- * code runs, except #[external("public")] functions (since those are transpiled to AVM bytecode, where there are no oracles).
5
+ * Miscellaneous oracle methods, not very Aztec-specific and expected to be available in all scenarios in which aztec-nr
6
+ * code runs, except #[external("public")] functions (since those are transpiled to AVM bytecode, where there are no
7
+ * oracles).
52
8
  */
53
- export interface IMiscOracle {
54
- isMisc: true;
55
-
56
- getRandomField(): Fr;
57
- assertCompatibleOracleVersion(version: number): void;
58
- log(level: number, message: string, fields: Fr[]): Promise<void>;
59
- }
9
+ export type IMiscOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'misc'> & { isMisc: true };
60
10
 
61
11
  /**
62
- * Oracle methods associated with the execution of an Aztec #[external("utility")] function. Note that the IMiscOracles are also
63
- * expected to be available in these contexts.
12
+ * Oracle methods associated with the execution of an Aztec #[external("utility")] function. Note that the IMiscOracle
13
+ * methods are also expected to be available in these contexts.
64
14
  */
65
- export interface IUtilityExecutionOracle {
66
- isUtility: true;
67
-
68
- getUtilityContext(): UtilityContext;
69
- getKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
70
- getContractInstance(address: AztecAddress): Promise<ContractInstance>;
71
- getNoteHashMembershipWitness(
72
- anchorBlockHash: BlockHash,
73
- noteHash: Fr,
74
- ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
75
- getBlockHashMembershipWitness(
76
- anchorBlockHash: BlockHash,
77
- blockHash: BlockHash,
78
- ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
79
- getNullifierMembershipWitness(
80
- anchorBlockHash: BlockHash,
81
- nullifier: Fr,
82
- ): Promise<NullifierMembershipWitness | undefined>;
83
- getPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
84
- getLowNullifierMembershipWitness(
85
- anchorBlockHash: BlockHash,
86
- nullifier: Fr,
87
- ): Promise<NullifierMembershipWitness | undefined>;
88
- getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
89
- tryGetPublicKeysAndPartialAddress(
90
- account: AztecAddress,
91
- ): Promise<{ publicKeys: PublicKeys; partialAddress: PartialAddress } | undefined>;
92
- getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
93
- getNotes(
94
- owner: AztecAddress | undefined,
95
- storageSlot: Fr,
96
- numSelects: number,
97
- selectByIndexes: number[],
98
- selectByOffsets: number[],
99
- selectByLengths: number[],
100
- selectValues: Fr[],
101
- selectComparators: number[],
102
- sortByIndexes: number[],
103
- sortByOffsets: number[],
104
- sortByLengths: number[],
105
- sortOrder: number[],
106
- limit: number,
107
- offset: number,
108
- status: NoteStatus,
109
- ): Promise<NoteData[]>;
110
- checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
111
- getL1ToL2MembershipWitness(
112
- contractAddress: AztecAddress,
113
- messageHash: Fr,
114
- secret: Fr,
115
- ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
116
- storageRead(
117
- anchorBlockHash: BlockHash,
118
- contractAddress: AztecAddress,
119
- startStorageSlot: Fr,
120
- numberOfElements: number,
121
- ): Promise<Fr[]>;
122
- fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
123
- validateAndStoreEnqueuedNotesAndEvents(
124
- contractAddress: AztecAddress,
125
- noteValidationRequestsArrayBaseSlot: Fr,
126
- eventValidationRequestsArrayBaseSlot: Fr,
127
- maxNotePackedLen: number,
128
- maxEventSerializedLen: number,
129
- ): Promise<void>;
130
- bulkRetrieveLogs(
131
- contractAddress: AztecAddress,
132
- logRetrievalRequestsArrayBaseSlot: Fr,
133
- logRetrievalResponsesArrayBaseSlot: Fr,
134
- ): Promise<void>;
135
- utilityResolveMessageContexts(
136
- contractAddress: AztecAddress,
137
- messageContextRequestsArrayBaseSlot: Fr,
138
- messageContextResponsesArrayBaseSlot: Fr,
139
- ): Promise<void>;
140
- storeCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
141
- loadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
142
- deleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
143
- copyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
144
- aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
145
- getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
146
- invalidateContractSyncCache(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
147
- emitOffchainEffect(data: Fr[]): Promise<void>;
148
- }
15
+ export type IUtilityExecutionOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'utl'> & { isUtility: true };
149
16
 
150
17
  /**
151
- * Oracle methods associated with the execution of an Aztec #[external("private")] function. Note that both the IMiscOracles and
152
- * IUtilityExecutionOracle are also expected to be available in these contexts.
18
+ * Oracle methods associated with the execution of an Aztec #[external("private")] function. Note that both the
19
+ * IMiscOracle and IUtilityExecutionOracle methods are also expected to be available in these contexts.
153
20
  */
154
- export interface IPrivateExecutionOracle {
155
- isPrivate: true;
156
-
157
- storeInExecutionCache(values: Fr[], hash: Fr): void;
158
- loadFromExecutionCache(hash: Fr): Promise<Fr[]>;
159
- notifyCreatedNote(
160
- owner: AztecAddress,
161
- storageSlot: Fr,
162
- randomness: Fr,
163
- noteTypeId: NoteSelector,
164
- note: Fr[],
165
- noteHash: Fr,
166
- counter: number,
167
- ): void;
168
- notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
169
- notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
170
- isNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
171
- notifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
172
- callPrivateFunction(
173
- targetContractAddress: AztecAddress,
174
- functionSelector: FunctionSelector,
175
- argsHash: Fr,
176
- sideEffectCounter: number,
177
- isStaticCall: boolean,
178
- ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
179
- validatePublicCalldata(calldataHash: Fr): Promise<void>;
180
- notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
181
- inRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
182
- getSenderForTags(): Promise<AztecAddress | undefined>;
183
- setSenderForTags(senderForTags: AztecAddress): Promise<void>;
184
- getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
185
- }
21
+ export type IPrivateExecutionOracle = HandlersForPrefix<typeof ORACLE_REGISTRY, 'prv'> & { isPrivate: true };
@@ -48,7 +48,7 @@ export function packAsHintedNote({
48
48
  noteNonce: Fr;
49
49
  isPending: boolean;
50
50
  note: Note;
51
- }) {
51
+ }): Fr[] {
52
52
  // If the note is pending it means it has a non-zero note hash counter associated with it.
53
53
  const nonZeroNoteHashCounter = isPending;
54
54
 
@@ -58,8 +58,8 @@ export function packAsHintedNote({
58
58
  // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
59
59
  return [
60
60
  ...note.items,
61
- contractAddress,
62
- owner,
61
+ contractAddress.toField(),
62
+ owner.toField(),
63
63
  randomness,
64
64
  storageSlot,
65
65
  new Fr(noteMetadata.stage),