@aztec/pxe 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108

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 (379) hide show
  1. package/README.md +5 -5
  2. package/dest/bin/check_oracle_version.d.ts +1 -1
  3. package/dest/bin/check_oracle_version.js +110 -10
  4. package/dest/block_synchronizer/block_synchronizer.d.ts +39 -0
  5. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  6. package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +23 -23
  7. package/dest/block_synchronizer/index.d.ts +2 -0
  8. package/dest/block_synchronizer/index.d.ts.map +1 -0
  9. package/dest/block_synchronizer/index.js +1 -0
  10. package/dest/config/index.d.ts +9 -17
  11. package/dest/config/index.d.ts.map +1 -1
  12. package/dest/config/index.js +10 -16
  13. package/dest/config/package_info.d.ts +1 -1
  14. package/dest/config/package_info.js +1 -1
  15. package/dest/contract_function_simulator/contract_function_simulator.d.ts +44 -15
  16. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/contract_function_simulator.js +142 -57
  18. package/dest/contract_function_simulator/execution_note_cache.d.ts +11 -9
  19. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/execution_note_cache.js +28 -17
  21. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +16 -0
  22. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
  23. package/dest/contract_function_simulator/execution_tagging_index_cache.js +26 -0
  24. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  25. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/index.d.ts +4 -2
  27. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/index.js +2 -1
  29. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
  30. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  32. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +8 -4
  37. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -3
  38. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  39. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +12 -3
  40. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +22 -0
  41. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
  42. package/dest/contract_function_simulator/noir-structs/utility_context.js +33 -0
  43. package/dest/contract_function_simulator/oracle/index.d.ts +2 -2
  44. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/oracle/index.js +1 -1
  46. package/dest/contract_function_simulator/oracle/interfaces.d.ts +103 -0
  47. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
  48. package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
  49. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -4
  50. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  51. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  52. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +10 -4
  53. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/oracle/note_packing_utils.js +10 -5
  55. package/dest/contract_function_simulator/oracle/oracle.d.ts +17 -15
  56. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  57. package/dest/contract_function_simulator/oracle/oracle.js +101 -81
  58. package/dest/contract_function_simulator/oracle/private_execution.d.ts +11 -12
  59. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  60. package/dest/contract_function_simulator/oracle/private_execution.js +15 -24
  61. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +51 -25
  62. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +103 -27
  64. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +65 -36
  65. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  66. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +171 -69
  67. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  68. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/pick_notes.js +1 -1
  70. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  71. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  72. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  73. package/dest/contract_function_simulator/proxied_node.d.ts +1 -1
  74. package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -1
  75. package/dest/debug/pxe_debug_utils.d.ts +31 -0
  76. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  77. package/dest/debug/pxe_debug_utils.js +37 -0
  78. package/dest/entrypoints/client/bundle/index.d.ts +4 -3
  79. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  80. package/dest/entrypoints/client/bundle/index.js +2 -2
  81. package/dest/entrypoints/client/bundle/utils.d.ts +9 -9
  82. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  83. package/dest/entrypoints/client/bundle/utils.js +21 -12
  84. package/dest/entrypoints/client/lazy/index.d.ts +4 -3
  85. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  86. package/dest/entrypoints/client/lazy/index.js +2 -2
  87. package/dest/entrypoints/client/lazy/utils.d.ts +8 -8
  88. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  89. package/dest/entrypoints/client/lazy/utils.js +20 -11
  90. package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
  91. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  92. package/dest/entrypoints/server/index.d.ts +5 -3
  93. package/dest/entrypoints/server/index.d.ts.map +1 -1
  94. package/dest/entrypoints/server/index.js +3 -2
  95. package/dest/entrypoints/server/utils.d.ts +5 -24
  96. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  97. package/dest/entrypoints/server/utils.js +17 -45
  98. package/dest/error_enriching.d.ts +11 -0
  99. package/dest/error_enriching.d.ts.map +1 -0
  100. package/dest/{pxe_service/error_enriching.js → error_enriching.js} +9 -6
  101. package/dest/events/event_service.d.ts +15 -0
  102. package/dest/events/event_service.d.ts.map +1 -0
  103. package/dest/events/event_service.js +47 -0
  104. package/dest/events/index.d.ts +2 -0
  105. package/dest/events/index.d.ts.map +1 -0
  106. package/dest/events/index.js +1 -0
  107. package/dest/events/private_event_filter_validator.d.ts +9 -0
  108. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  109. package/dest/events/private_event_filter_validator.js +39 -0
  110. package/dest/logs/log_service.d.ts +26 -0
  111. package/dest/logs/log_service.d.ts.map +1 -0
  112. package/dest/logs/log_service.js +120 -0
  113. package/dest/notes/index.d.ts +2 -0
  114. package/dest/notes/index.d.ts.map +1 -0
  115. package/dest/notes/index.js +1 -0
  116. package/dest/notes/note_service.d.ts +48 -0
  117. package/dest/notes/note_service.d.ts.map +1 -0
  118. package/dest/notes/note_service.js +152 -0
  119. package/dest/oracle_version.d.ts +3 -3
  120. package/dest/oracle_version.js +2 -2
  121. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +3 -3
  122. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
  123. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +7 -7
  124. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
  125. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +6 -6
  126. package/dest/private_kernel/hints/index.d.ts +1 -1
  127. package/dest/private_kernel/index.d.ts +1 -1
  128. package/dest/private_kernel/private_kernel_execution_prover.d.ts +9 -2
  129. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  130. package/dest/private_kernel/private_kernel_execution_prover.js +38 -32
  131. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
  132. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  133. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +10 -9
  134. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
  135. package/dest/private_kernel/private_kernel_oracle_impl.js +7 -7
  136. package/dest/public_storage/public_storage_service.d.ts +24 -0
  137. package/dest/public_storage/public_storage_service.d.ts.map +1 -0
  138. package/dest/public_storage/public_storage_service.js +26 -0
  139. package/dest/pxe.d.ts +232 -0
  140. package/dest/pxe.d.ts.map +1 -0
  141. package/dest/{pxe_service/pxe_service.js → pxe.js} +299 -324
  142. package/dest/storage/address_store/address_store.d.ts +11 -0
  143. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  144. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -4
  145. package/dest/storage/address_store/index.d.ts +2 -0
  146. package/dest/storage/address_store/index.d.ts.map +1 -0
  147. package/dest/storage/address_store/index.js +1 -0
  148. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
  149. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  150. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -12
  151. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  152. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  153. package/dest/storage/anchor_block_store/index.js +1 -0
  154. package/dest/storage/capsule_store/capsule_store.d.ts +57 -0
  155. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  156. package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +34 -10
  157. package/dest/storage/capsule_store/index.d.ts +2 -0
  158. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  159. package/dest/storage/capsule_store/index.js +1 -0
  160. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +10 -18
  161. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  162. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +46 -18
  163. package/dest/storage/contract_store/index.d.ts +2 -0
  164. package/dest/storage/contract_store/index.d.ts.map +1 -0
  165. package/dest/storage/contract_store/index.js +1 -0
  166. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  167. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  168. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  169. package/dest/storage/index.d.ts +8 -9
  170. package/dest/storage/index.d.ts.map +1 -1
  171. package/dest/storage/index.js +7 -8
  172. package/dest/storage/metadata.d.ts +1 -1
  173. package/dest/storage/note_store/index.d.ts +3 -0
  174. package/dest/storage/note_store/index.d.ts.map +1 -0
  175. package/dest/storage/note_store/index.js +2 -0
  176. package/dest/storage/note_store/note_store.d.ts +84 -0
  177. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  178. package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +144 -82
  179. package/dest/storage/private_event_store/private_event_store.d.ts +56 -0
  180. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  181. package/dest/storage/private_event_store/private_event_store.js +157 -0
  182. package/dest/storage/tagging_store/index.d.ts +4 -0
  183. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  184. package/dest/storage/tagging_store/index.js +3 -0
  185. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
  186. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  187. package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
  188. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  189. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  190. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  191. package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
  192. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  193. package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
  194. package/dest/tagging/index.d.ts +16 -0
  195. package/dest/tagging/index.d.ts.map +1 -0
  196. package/dest/tagging/index.js +23 -0
  197. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
  198. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  199. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  200. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  201. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  202. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  203. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
  204. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  205. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
  206. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
  207. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  208. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  209. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  210. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  211. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
  212. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
  213. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  214. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
  215. package/dest/tree_membership/tree_membership_service.d.ts +52 -0
  216. package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
  217. package/dest/tree_membership/tree_membership_service.js +84 -0
  218. package/package.json +22 -24
  219. package/src/bin/check_oracle_version.ts +134 -10
  220. package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +22 -23
  221. package/src/block_synchronizer/index.ts +1 -0
  222. package/src/config/index.ts +18 -32
  223. package/src/config/package_info.ts +1 -1
  224. package/src/contract_function_simulator/contract_function_simulator.ts +233 -75
  225. package/src/contract_function_simulator/execution_note_cache.ts +33 -17
  226. package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
  227. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  228. package/src/contract_function_simulator/index.ts +3 -1
  229. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  230. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  231. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +10 -5
  232. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
  233. package/src/contract_function_simulator/noir-structs/utility_context.ts +42 -0
  234. package/src/contract_function_simulator/oracle/index.ts +1 -1
  235. package/src/contract_function_simulator/oracle/interfaces.ts +175 -0
  236. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  237. package/src/contract_function_simulator/oracle/note_packing_utils.ts +21 -5
  238. package/src/contract_function_simulator/oracle/oracle.ts +135 -80
  239. package/src/contract_function_simulator/oracle/private_execution.ts +22 -28
  240. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +200 -56
  241. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +260 -109
  242. package/src/contract_function_simulator/pick_notes.ts +1 -1
  243. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  244. package/src/debug/pxe_debug_utils.ts +48 -0
  245. package/src/entrypoints/client/bundle/index.ts +3 -2
  246. package/src/entrypoints/client/bundle/utils.ts +21 -23
  247. package/src/entrypoints/client/lazy/index.ts +3 -2
  248. package/src/entrypoints/client/lazy/utils.ts +20 -23
  249. package/src/entrypoints/pxe_creation_options.ts +4 -1
  250. package/src/entrypoints/server/index.ts +4 -2
  251. package/src/entrypoints/server/utils.ts +20 -68
  252. package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +11 -15
  253. package/src/events/event_service.ts +77 -0
  254. package/src/events/index.ts +1 -0
  255. package/src/events/private_event_filter_validator.ts +48 -0
  256. package/src/logs/log_service.ts +202 -0
  257. package/src/notes/index.ts +1 -0
  258. package/src/notes/note_service.ts +200 -0
  259. package/src/oracle_version.ts +2 -2
  260. package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +5 -9
  261. package/src/private_kernel/hints/compute_tx_include_by_timestamp.ts +6 -6
  262. package/src/private_kernel/private_kernel_execution_prover.ts +51 -43
  263. package/src/private_kernel/private_kernel_oracle.ts +2 -1
  264. package/src/private_kernel/private_kernel_oracle_impl.ts +10 -9
  265. package/src/public_storage/public_storage_service.ts +33 -0
  266. package/src/{pxe_service/pxe_service.ts → pxe.ts} +349 -410
  267. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -7
  268. package/src/storage/address_store/index.ts +1 -0
  269. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -17
  270. package/src/storage/anchor_block_store/index.ts +1 -0
  271. package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +34 -12
  272. package/src/storage/capsule_store/index.ts +1 -0
  273. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +67 -28
  274. package/src/storage/contract_store/index.ts +1 -0
  275. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  276. package/src/storage/index.ts +7 -8
  277. package/src/storage/note_store/index.ts +2 -0
  278. package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +173 -111
  279. package/src/storage/private_event_store/private_event_store.ts +213 -0
  280. package/src/storage/tagging_store/index.ts +3 -0
  281. package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
  282. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  283. package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
  284. package/src/tagging/index.ts +28 -0
  285. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +129 -0
  286. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  287. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
  288. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
  289. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -0
  290. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
  291. package/src/tree_membership/tree_membership_service.ts +112 -0
  292. package/dest/bin/index.d.ts +0 -3
  293. package/dest/bin/index.d.ts.map +0 -1
  294. package/dest/bin/index.js +0 -48
  295. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -285
  296. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  297. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  298. package/dest/contract_function_simulator/oracle/typed_oracle.d.ts +0 -87
  299. package/dest/contract_function_simulator/oracle/typed_oracle.d.ts.map +0 -1
  300. package/dest/contract_function_simulator/oracle/typed_oracle.js +0 -146
  301. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -158
  302. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  303. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
  304. package/dest/contract_function_simulator/tagging_utils.d.ts +0 -17
  305. package/dest/contract_function_simulator/tagging_utils.d.ts.map +0 -1
  306. package/dest/contract_function_simulator/tagging_utils.js +0 -23
  307. package/dest/pxe_service/error_enriching.d.ts +0 -11
  308. package/dest/pxe_service/error_enriching.d.ts.map +0 -1
  309. package/dest/pxe_service/index.d.ts +0 -3
  310. package/dest/pxe_service/index.d.ts.map +0 -1
  311. package/dest/pxe_service/index.js +0 -2
  312. package/dest/pxe_service/pxe_service.d.ts +0 -100
  313. package/dest/pxe_service/pxe_service.d.ts.map +0 -1
  314. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -13
  315. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  316. package/dest/storage/address_data_provider/index.d.ts +0 -2
  317. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  318. package/dest/storage/address_data_provider/index.js +0 -1
  319. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -27
  320. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  321. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  322. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  323. package/dest/storage/capsule_data_provider/index.js +0 -1
  324. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  325. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  326. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  327. package/dest/storage/contract_data_provider/index.js +0 -1
  328. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  329. package/dest/storage/data_provider.d.ts +0 -4
  330. package/dest/storage/data_provider.d.ts.map +0 -1
  331. package/dest/storage/data_provider.js +0 -1
  332. package/dest/storage/note_data_provider/index.d.ts +0 -3
  333. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  334. package/dest/storage/note_data_provider/index.js +0 -2
  335. package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
  336. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  337. package/dest/storage/note_data_provider/note_dao.js +0 -102
  338. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -20
  339. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  340. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  341. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  342. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -96
  343. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  344. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  345. package/dest/storage/sync_data_provider/index.js +0 -1
  346. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -12
  347. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  348. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  349. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  350. package/dest/storage/tagging_data_provider/index.js +0 -1
  351. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -18
  352. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  353. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -82
  354. package/dest/synchronizer/index.d.ts +0 -2
  355. package/dest/synchronizer/index.d.ts.map +0 -1
  356. package/dest/synchronizer/index.js +0 -1
  357. package/dest/synchronizer/synchronizer.d.ts +0 -35
  358. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  359. package/dest/test/pxe_test_suite.d.ts +0 -3
  360. package/dest/test/pxe_test_suite.d.ts.map +0 -1
  361. package/dest/test/pxe_test_suite.js +0 -97
  362. package/src/bin/index.ts +0 -62
  363. package/src/contract_function_simulator/execution_data_provider.ts +0 -361
  364. package/src/contract_function_simulator/oracle/typed_oracle.ts +0 -289
  365. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1020
  366. package/src/contract_function_simulator/tagging_utils.ts +0 -32
  367. package/src/pxe_service/index.ts +0 -2
  368. package/src/storage/address_data_provider/index.ts +0 -1
  369. package/src/storage/capsule_data_provider/index.ts +0 -1
  370. package/src/storage/contract_data_provider/index.ts +0 -1
  371. package/src/storage/data_provider.ts +0 -3
  372. package/src/storage/note_data_provider/index.ts +0 -2
  373. package/src/storage/note_data_provider/note_dao.ts +0 -154
  374. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -134
  375. package/src/storage/sync_data_provider/index.ts +0 -1
  376. package/src/storage/tagging_data_provider/index.ts +0 -1
  377. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -123
  378. package/src/synchronizer/index.ts +0 -1
  379. package/src/test/pxe_test_suite.ts +0 -113
@@ -1,96 +0,0 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { createLogger } from '@aztec/foundation/log';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
- /**
5
- * Stores decrypted private event logs.
6
- */ export class PrivateEventDataProvider {
7
- #store;
8
- /** Array storing the actual private event log entries containing the log content and block number */ #eventLogs;
9
- /** Map from contract_address_recipient_eventSelector to array of indices into #eventLogs for efficient lookup */ #eventLogIndex;
10
- /** Map from eventCommitmentIndex to boolean indicating if log has been seen. */ #seenLogs;
11
- logger = createLogger('private_event_data_provider');
12
- constructor(store){
13
- this.#store = store;
14
- this.#eventLogs = this.#store.openArray('private_event_logs');
15
- this.#eventLogIndex = this.#store.openMap('private_event_log_index');
16
- this.#seenLogs = this.#store.openMap('seen_logs');
17
- }
18
- /**
19
- * Store a private event log.
20
- * @param contractAddress - The address of the contract that emitted the event.
21
- * @param recipient - The recipient of the event.
22
- * @param eventSelector - The event selector of the event.
23
- * @param msgContent - The content of the event.
24
- * @param txHash - The transaction hash of the event log.
25
- * @param eventCommitmentIndex - The index of the event commitment in the nullifier tree.
26
- * @param blockNumber - The block number in which the event was emitted.
27
- */ storePrivateEventLog(contractAddress, recipient, eventSelector, msgContent, txHash, eventCommitmentIndex, blockNumber) {
28
- return this.#store.transactionAsync(async ()=>{
29
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
30
- // Check if this exact log has already been stored using eventCommitmentIndex as unique identifier
31
- const hasBeenSeen = await this.#seenLogs.getAsync(eventCommitmentIndex);
32
- if (hasBeenSeen) {
33
- this.logger.verbose('Ignoring duplicate event log', {
34
- txHash: txHash.toString(),
35
- eventCommitmentIndex
36
- });
37
- return;
38
- }
39
- this.logger.verbose('storing private event log', {
40
- contractAddress,
41
- recipient,
42
- msgContent,
43
- blockNumber
44
- });
45
- const index = await this.#eventLogs.lengthAsync();
46
- await this.#eventLogs.push({
47
- msgContent: serializeToBuffer(msgContent),
48
- blockNumber,
49
- eventCommitmentIndex
50
- });
51
- const existingIndices = await this.#eventLogIndex.getAsync(key) || [];
52
- await this.#eventLogIndex.set(key, [
53
- ...existingIndices,
54
- index
55
- ]);
56
- // Mark this log as seen using eventCommitmentIndex
57
- await this.#seenLogs.set(eventCommitmentIndex, true);
58
- });
59
- }
60
- /**
61
- * Returns the private events given search parameters.
62
- * @param contractAddress - The address of the contract to get events from.
63
- * @param from - The block number to search from.
64
- * @param numBlocks - The amount of blocks to search.
65
- * @param recipients - The addresses that decrypted the logs.
66
- * @param eventSelector - The event selector to filter by.
67
- * @returns - The event log contents.
68
- */ async getPrivateEvents(contractAddress, from, numBlocks, recipients, eventSelector) {
69
- const events = [];
70
- for (const recipient of recipients){
71
- const key = `${contractAddress.toString()}_${recipient.toString()}_${eventSelector.toString()}`;
72
- const indices = await this.#eventLogIndex.getAsync(key) || [];
73
- for (const index of indices){
74
- const entry = await this.#eventLogs.atAsync(index);
75
- if (!entry || entry.blockNumber < from || entry.blockNumber >= from + numBlocks) {
76
- continue;
77
- }
78
- // Convert buffer back to Fr array
79
- const reader = BufferReader.asReader(entry.msgContent);
80
- const numFields = entry.msgContent.length / Fr.SIZE_IN_BYTES;
81
- const msgContent = reader.readArray(numFields, Fr);
82
- events.push({
83
- msgContent,
84
- blockNumber: entry.blockNumber,
85
- eventCommitmentIndex: entry.eventCommitmentIndex
86
- });
87
- }
88
- }
89
- // Sort by eventCommitmentIndex only
90
- events.sort((a, b)=>a.eventCommitmentIndex - b.eventCommitmentIndex);
91
- return events.map((e)=>e.msgContent);
92
- }
93
- getSize() {
94
- return this.#eventLogs.lengthAsync();
95
- }
96
- }
@@ -1,2 +0,0 @@
1
- export { SyncDataProvider } from './sync_data_provider.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/sync_data_provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- export { SyncDataProvider } from './sync_data_provider.js';
@@ -1,12 +0,0 @@
1
- import type { AztecAsyncKVStore } from '@aztec/kv-store';
2
- import { BlockHeader } from '@aztec/stdlib/tx';
3
- import type { DataProvider } from '../data_provider.js';
4
- export declare class SyncDataProvider implements DataProvider {
5
- #private;
6
- constructor(store: AztecAsyncKVStore);
7
- setHeader(header: BlockHeader): Promise<void>;
8
- getBlockNumber(): Promise<number>;
9
- getBlockHeader(): Promise<BlockHeader>;
10
- getSize(): Promise<number>;
11
- }
12
- //# sourceMappingURL=sync_data_provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/sync_data_provider/sync_data_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,gBAAiB,YAAW,YAAY;;gBAIvC,KAAK,EAAE,iBAAiB;IAK9B,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IASjC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAStC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAGjC"}
@@ -1,2 +0,0 @@
1
- export { TaggingDataProvider } from './tagging_data_provider.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_data_provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +0,0 @@
1
- export { TaggingDataProvider } from './tagging_data_provider.js';
@@ -1,18 +0,0 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
- import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
- import type { IndexedTaggingSecret } from '@aztec/stdlib/logs';
5
- export declare class TaggingDataProvider {
6
- #private;
7
- constructor(store: AztecAsyncKVStore);
8
- setTaggingSecretsIndexesAsSender(indexedSecrets: IndexedTaggingSecret[], sender: AztecAddress): Promise<void[]>;
9
- setTaggingSecretsIndexesAsRecipient(indexedSecrets: IndexedTaggingSecret[], recipient: AztecAddress): Promise<void[]>;
10
- getTaggingSecretsIndexesAsRecipient(appTaggingSecrets: Fr[], recipient: AztecAddress): Promise<number[]>;
11
- getTaggingSecretsIndexesAsSender(appTaggingSecrets: Fr[], sender: AztecAddress): Promise<number[]>;
12
- resetNoteSyncData(): Promise<void>;
13
- addSenderAddress(address: AztecAddress): Promise<boolean>;
14
- getSenderAddresses(): Promise<AztecAddress[]>;
15
- removeSenderAddress(address: AztecAddress): Promise<boolean>;
16
- getSize(): Promise<number>;
17
- }
18
- //# sourceMappingURL=tagging_data_provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tagging_data_provider.d.ts","sourceRoot":"","sources":["../../../src/storage/tagging_data_provider/tagging_data_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,qBAAa,mBAAmB;;gBAUlB,KAAK,EAAE,iBAAiB;IASpC,gCAAgC,CAAC,cAAc,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,YAAY;IAI7F,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,EAAE,EAAE,SAAS,EAAE,YAAY;IAyBnG,mCAAmC,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY;IAIpF,gCAAgC,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY;IA0B9E,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7C,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5D,OAAO;CAKd"}
@@ -1,82 +0,0 @@
1
- import { toArray } from '@aztec/foundation/iterable';
2
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- export class TaggingDataProvider {
4
- #store;
5
- #addressBook;
6
- // Stores the last index used for each tagging secret, taking direction into account
7
- // This is necessary to avoid reusing the same index for the same secret, which happens if
8
- // sender and recipient are the same
9
- #taggingSecretIndexesForSenders;
10
- #taggingSecretIndexesForRecipients;
11
- constructor(store){
12
- this.#store = store;
13
- this.#addressBook = this.#store.openMap('address_book');
14
- this.#taggingSecretIndexesForSenders = this.#store.openMap('tagging_secret_indexes_for_senders');
15
- this.#taggingSecretIndexesForRecipients = this.#store.openMap('tagging_secret_indexes_for_recipients');
16
- }
17
- setTaggingSecretsIndexesAsSender(indexedSecrets, sender) {
18
- return this.#setTaggingSecretsIndexes(indexedSecrets, this.#taggingSecretIndexesForSenders, sender);
19
- }
20
- setTaggingSecretsIndexesAsRecipient(indexedSecrets, recipient) {
21
- return this.#setTaggingSecretsIndexes(indexedSecrets, this.#taggingSecretIndexesForRecipients, recipient);
22
- }
23
- /**
24
- * Sets the indexes of the tagging secrets for the given app tagging secrets in the direction of the given address.
25
- * @dev We need to specify the direction because app tagging secrets are direction-less due to the way they are generated
26
- * but we need to guarantee that the index is stored under a uni-directional key because the tags are themselves
27
- * uni-directional.
28
- * @param indexedSecrets - The app tagging secrets and indexes to set.
29
- * @param storageMap - The storage map to set the indexes in.
30
- * @param inDirectionOf - The address that the secrets are in the direction of.
31
- */ #setTaggingSecretsIndexes(indexedSecrets, storageMap, inDirectionOf) {
32
- return Promise.all(indexedSecrets.map((indexedSecret)=>storageMap.set(`${indexedSecret.appTaggingSecret.toString()}_${inDirectionOf.toString()}`, indexedSecret.index)));
33
- }
34
- getTaggingSecretsIndexesAsRecipient(appTaggingSecrets, recipient) {
35
- return this.#getTaggingSecretsIndexes(appTaggingSecrets, this.#taggingSecretIndexesForRecipients, recipient);
36
- }
37
- getTaggingSecretsIndexesAsSender(appTaggingSecrets, sender) {
38
- return this.#getTaggingSecretsIndexes(appTaggingSecrets, this.#taggingSecretIndexesForSenders, sender);
39
- }
40
- /**
41
- * Returns the indexes of the tagging secrets for the given app tagging secrets in the direction of the given address.
42
- * @dev We need to specify the direction because app tagging secrets are direction-less due to the way they are generated
43
- * but we need to guarantee that the index is stored under a uni-directional key because the tags are themselves
44
- * uni-directional.
45
- * @param appTaggingSecrets - The app tagging secrets to get the indexes for.
46
- * @param storageMap - The storage map to get the indexes from.
47
- * @param inDirectionOf - The address that the secrets are in the direction of.
48
- * @returns The indexes of the tagging secrets.
49
- */ #getTaggingSecretsIndexes(appTaggingSecrets, storageMap, inDirectionOf) {
50
- return Promise.all(appTaggingSecrets.map(async (secret)=>await storageMap.getAsync(`${secret.toString()}_${inDirectionOf.toString()}`) ?? 0));
51
- }
52
- resetNoteSyncData() {
53
- return this.#store.transactionAsync(async ()=>{
54
- const recipients = await toArray(this.#taggingSecretIndexesForRecipients.keysAsync());
55
- await Promise.all(recipients.map((recipient)=>this.#taggingSecretIndexesForRecipients.delete(recipient)));
56
- const senders = await toArray(this.#taggingSecretIndexesForSenders.keysAsync());
57
- await Promise.all(senders.map((sender)=>this.#taggingSecretIndexesForSenders.delete(sender)));
58
- });
59
- }
60
- async addSenderAddress(address) {
61
- if (await this.#addressBook.hasAsync(address.toString())) {
62
- return false;
63
- }
64
- await this.#addressBook.set(address.toString(), true);
65
- return true;
66
- }
67
- async getSenderAddresses() {
68
- return (await toArray(this.#addressBook.keysAsync())).map(AztecAddress.fromString);
69
- }
70
- async removeSenderAddress(address) {
71
- if (!await this.#addressBook.hasAsync(address.toString())) {
72
- return false;
73
- }
74
- await this.#addressBook.delete(address.toString());
75
- return true;
76
- }
77
- async getSize() {
78
- const addressesCount = (await toArray(this.#addressBook.keysAsync())).length;
79
- // All keys are addresses
80
- return 3 * addressesCount * AztecAddress.SIZE_IN_BYTES;
81
- }
82
- }
@@ -1,2 +0,0 @@
1
- export * from './synchronizer.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/synchronizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- export * from './synchronizer.js';
@@ -1,35 +0,0 @@
1
- import { type Logger } from '@aztec/foundation/log';
2
- import type { L2TipsKVStore } from '@aztec/kv-store/stores';
3
- import { L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
4
- import type { AztecNode } from '@aztec/stdlib/interfaces/client';
5
- import type { PXEConfig } from '../config/index.js';
6
- import type { NoteDataProvider } from '../storage/note_data_provider/note_data_provider.js';
7
- import type { SyncDataProvider } from '../storage/sync_data_provider/sync_data_provider.js';
8
- import type { TaggingDataProvider } from '../storage/tagging_data_provider/tagging_data_provider.js';
9
- /**
10
- * The Synchronizer class orchestrates synchronization between the PXE and Aztec node, maintaining an up-to-date
11
- * view of the L2 chain state. It handles block header retrieval, chain reorganizations, and provides an interface
12
- * for querying sync status.
13
- */
14
- export declare class Synchronizer implements L2BlockStreamEventHandler {
15
- private node;
16
- private syncDataProvider;
17
- private noteDataProvider;
18
- private taggingDataProvider;
19
- private l2TipsStore;
20
- private log;
21
- private isSyncing;
22
- protected readonly blockStream: L2BlockStream;
23
- constructor(node: AztecNode, syncDataProvider: SyncDataProvider, noteDataProvider: NoteDataProvider, taggingDataProvider: TaggingDataProvider, l2TipsStore: L2TipsKVStore, config?: Partial<Pick<PXEConfig, 'l2BlockBatchSize'>>, loggerOrSuffix?: string | Logger);
24
- protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2BlockBatchSize'>>): L2BlockStream;
25
- /** Handle events emitted by the block stream. */
26
- handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
27
- /**
28
- * Syncs PXE and the node by downloading the metadata of the latest blocks, allowing simulations to use
29
- * recent data (e.g. notes), and handling any reorgs that might have occurred.
30
- */
31
- sync(): Promise<void>;
32
- private doSync;
33
- getSynchedBlockNumber(): Promise<number>;
34
- }
35
- //# sourceMappingURL=synchronizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAErG;;;;GAIG;AACH,qBAAa,YAAa,YAAW,yBAAyB;IAM1D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,WAAW;IATrB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,aAAa,EAClC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAM,EACzD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IASlC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAShF,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7E;;;OAGG;IACU,IAAI;YAiBH,MAAM;IAeb,qBAAqB;CAG7B"}
@@ -1,3 +0,0 @@
1
- import type { PXE } from '@aztec/stdlib/interfaces/client';
2
- export declare const pxeTestSuite: (testName: string, pxeSetup: () => Promise<PXE>) => void;
3
- //# sourceMappingURL=pxe_test_suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pxe_test_suite.d.ts","sourceRoot":"","sources":["../../src/test/pxe_test_suite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAS3D,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,OAAO,CAAC,GAAG,CAAC,SAmG1E,CAAC"}
@@ -1,97 +0,0 @@
1
- import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
3
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
- import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
5
- import { randomContractArtifact, randomContractInstanceWithAddress, randomDeployedContract } from '@aztec/stdlib/testing';
6
- import omit from 'lodash.omit';
7
- export const pxeTestSuite = (testName, pxeSetup)=>{
8
- describe(testName, ()=>{
9
- let pxe;
10
- beforeAll(async ()=>{
11
- pxe = await pxeSetup();
12
- }, 120_000);
13
- it('registers an account and returns it as an account only and not as a recipient', async ()=>{
14
- const randomSecretKey = Fr.random();
15
- const randomPartialAddress = Fr.random();
16
- const completeAddress = await pxe.registerAccount(randomSecretKey, randomPartialAddress);
17
- // Check that the account is correctly registered using the getAccounts and getRecipients methods
18
- const accounts = await pxe.getRegisteredAccounts();
19
- expect(accounts).toContainEqual(completeAddress);
20
- });
21
- it('does not throw when registering the same account twice (just ignores the second attempt)', async ()=>{
22
- const randomSecretKey = Fr.random();
23
- const randomPartialAddress = Fr.random();
24
- await pxe.registerAccount(randomSecretKey, randomPartialAddress);
25
- await pxe.registerAccount(randomSecretKey, randomPartialAddress);
26
- });
27
- it('successfully adds a contract', async ()=>{
28
- const contracts = await Promise.all([
29
- randomDeployedContract(),
30
- randomDeployedContract()
31
- ]);
32
- for (const contract of contracts){
33
- await pxe.registerContract(contract);
34
- }
35
- const expectedContractAddresses = contracts.map((contract)=>contract.instance.address);
36
- const contractAddresses = await pxe.getContracts();
37
- expect(contractAddresses).toEqual(expect.arrayContaining(expectedContractAddresses));
38
- });
39
- it('registers a class and adds a contract for it', async ()=>{
40
- const artifact = randomContractArtifact();
41
- const contractClass = await getContractClassFromArtifact(artifact);
42
- const contractClassId = contractClass.id;
43
- const instance = await randomContractInstanceWithAddress({
44
- contractClassId
45
- });
46
- await pxe.registerContractClass(artifact);
47
- expect((await pxe.getContractClassMetadata(contractClassId)).contractClass).toMatchObject(omit(contractClass, 'privateFunctionsRoot', 'publicBytecodeCommitment'));
48
- await pxe.registerContract({
49
- instance
50
- });
51
- expect((await pxe.getContractMetadata(instance.address)).contractInstance).toEqual(instance);
52
- });
53
- it('refuses to register a class with a mismatched address', async ()=>{
54
- const artifact = randomContractArtifact();
55
- const contractClass = await getContractClassFromArtifact(artifact);
56
- const contractClassId = contractClass.id;
57
- const instance = await randomContractInstanceWithAddress({
58
- contractClassId
59
- });
60
- await expect(pxe.registerContract({
61
- instance: {
62
- ...instance,
63
- address: await AztecAddress.random()
64
- },
65
- artifact
66
- })).rejects.toThrow(/Added a contract in which the address does not match the contract instance./);
67
- });
68
- it('refuses to register a contract with a class that has not been registered', async ()=>{
69
- const instance = await randomContractInstanceWithAddress();
70
- await expect(pxe.registerContract({
71
- instance
72
- })).rejects.toThrow(/Artifact not found when registering an instance/);
73
- });
74
- it('refuses to register a contract with an artifact with mismatching class id', async ()=>{
75
- const artifact = randomContractArtifact();
76
- const instance = await randomContractInstanceWithAddress();
77
- await expect(pxe.registerContract({
78
- instance,
79
- artifact
80
- })).rejects.toThrow(/Artifact does not match/i);
81
- });
82
- // Note: Not testing a successful run of `proveTx`, `sendTx`, `getTxReceipt` and `simulateUtility` here as it
83
- // requires a larger setup and it's sufficiently tested in the e2e tests.
84
- // Note: Not testing `getContractData`, `getPublicLogs` and `getPublicStorageAt` here as these
85
- // functions only call AztecNode and these methods are frequently used by the e2e tests.
86
- it('successfully gets a block number', async ()=>{
87
- const blockNum = await pxe.getBlockNumber();
88
- expect(blockNum).toBeGreaterThanOrEqual(INITIAL_L2_BLOCK_NUM);
89
- });
90
- it('successfully gets node info', async ()=>{
91
- const nodeInfo = await pxe.getNodeInfo();
92
- expect(typeof nodeInfo.rollupVersion).toEqual('number');
93
- expect(typeof nodeInfo.l1ChainId).toEqual('number');
94
- expect(nodeInfo.l1ContractAddresses.rollupAddress.toString()).toMatch(/0x[a-fA-F0-9]+/);
95
- });
96
- });
97
- };
package/src/bin/index.ts DELETED
@@ -1,62 +0,0 @@
1
- #!/usr/bin/env -S node --no-warnings
2
- import { type SafeJsonRpcServerOptions, createNamespacedSafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
3
- import { createLogger } from '@aztec/foundation/log';
4
- import { type PXE, PXESchema, createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
5
-
6
- import http from 'http';
7
-
8
- import { getPXEServiceConfig } from '../config/index.js';
9
- import { createPXEService } from '../entrypoints/server/utils.js';
10
-
11
- const { PXE_PORT = 8080, AZTEC_NODE_URL = 'http://localhost:8079' } = process.env;
12
-
13
- const logger = createLogger('pxe:service');
14
-
15
- /**
16
- * Creates an http server that forwards calls to the PXE and starts it on the given port.
17
- * @param pxeService - PXE that answers queries to the created HTTP server.
18
- * @param port - Port to listen in.
19
- * @param maxBatchSize - Maximum allowed batch size for JSON RPC batch requests.
20
- * @returns A running http server.
21
- */
22
- function startPXEHttpServer(
23
- pxeService: PXE,
24
- port: string | number,
25
- opts: Pick<SafeJsonRpcServerOptions, 'maxBatchSize'> = {},
26
- ): http.Server {
27
- const rpcServer = createNamespacedSafeJsonRpcServer({ pxe: [pxeService, PXESchema] }, opts);
28
-
29
- const app = rpcServer.getApp();
30
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
31
- const httpServer = http.createServer(app.callback());
32
- httpServer.listen(port);
33
-
34
- return httpServer;
35
- }
36
-
37
- /**
38
- * Create and start a new PXE HTTP Server
39
- */
40
- async function main() {
41
- logger.info(`Setting up PXE...`);
42
-
43
- const pxeConfig = getPXEServiceConfig();
44
- const nodeRpcClient = createAztecNodeClient(AZTEC_NODE_URL, {});
45
- const pxeService = await createPXEService(nodeRpcClient, pxeConfig);
46
-
47
- const shutdown = () => {
48
- logger.info('Shutting down...');
49
- process.exit(0);
50
- };
51
-
52
- process.once('SIGINT', shutdown);
53
- process.once('SIGTERM', shutdown);
54
-
55
- startPXEHttpServer(pxeService, PXE_PORT);
56
- logger.info(`PXE listening on port ${PXE_PORT}`);
57
- }
58
-
59
- main().catch(err => {
60
- logger.error(err);
61
- process.exit(1);
62
- });