@aztec/pxe 0.0.1-commit.9b94fc1 → 0.0.1-commit.9badcec54

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 (427) hide show
  1. package/dest/bin/check_oracle_version.js +107 -17
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +49 -0
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  4. package/dest/block_synchronizer/block_synchronizer.js +171 -0
  5. package/dest/block_synchronizer/index.d.ts +2 -0
  6. package/dest/block_synchronizer/index.d.ts.map +1 -0
  7. package/dest/block_synchronizer/index.js +1 -0
  8. package/dest/config/index.d.ts +7 -5
  9. package/dest/config/index.d.ts.map +1 -1
  10. package/dest/config/index.js +12 -2
  11. package/dest/config/package_info.js +1 -1
  12. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  13. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  14. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  15. package/dest/contract_function_simulator/contract_function_simulator.d.ts +84 -24
  16. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/contract_function_simulator.js +252 -82
  18. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  19. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  20. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  21. package/dest/contract_function_simulator/execution_note_cache.d.ts +21 -11
  22. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/execution_note_cache.js +49 -31
  24. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -7
  25. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -11
  27. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  28. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  29. package/dest/contract_function_simulator/index.d.ts +3 -2
  30. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/index.js +2 -1
  32. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +7 -8
  33. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  34. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +12 -11
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +6 -5
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +8 -7
  38. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  39. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +3 -5
  41. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +7 -9
  42. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +10 -12
  44. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  45. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  47. package/dest/contract_function_simulator/oracle/interfaces.d.ts +73 -50
  48. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  49. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +9 -0
  50. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -0
  51. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +47 -0
  52. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +4 -2
  53. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  55. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +11 -7
  56. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  57. package/dest/contract_function_simulator/oracle/note_packing_utils.js +14 -10
  58. package/dest/contract_function_simulator/oracle/oracle.d.ts +75 -42
  59. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  60. package/dest/contract_function_simulator/oracle/oracle.js +340 -120
  61. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -27
  62. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/oracle/private_execution.js +6 -40
  64. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +66 -82
  65. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  66. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +145 -119
  67. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +168 -58
  68. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +402 -108
  70. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  71. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  72. package/dest/contract_function_simulator/pick_notes.js +21 -4
  73. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  74. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  75. package/dest/contract_function_simulator/proxied_contract_data_source.js +26 -5
  76. package/dest/contract_logging.d.ts +27 -0
  77. package/dest/contract_logging.d.ts.map +1 -0
  78. package/dest/contract_logging.js +38 -0
  79. package/dest/contract_sync/contract_sync_service.d.ts +44 -0
  80. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  81. package/dest/contract_sync/contract_sync_service.js +116 -0
  82. package/dest/contract_sync/helpers.d.ts +28 -0
  83. package/dest/contract_sync/helpers.d.ts.map +1 -0
  84. package/dest/contract_sync/helpers.js +60 -0
  85. package/dest/debug/pxe_debug_utils.d.ts +45 -0
  86. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  87. package/dest/debug/pxe_debug_utils.js +48 -0
  88. package/dest/entrypoints/client/bundle/index.d.ts +3 -2
  89. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  90. package/dest/entrypoints/client/bundle/index.js +2 -1
  91. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  92. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  93. package/dest/entrypoints/client/bundle/utils.js +32 -9
  94. package/dest/entrypoints/client/lazy/index.d.ts +3 -2
  95. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  96. package/dest/entrypoints/client/lazy/index.js +2 -1
  97. package/dest/entrypoints/client/lazy/utils.d.ts +3 -3
  98. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  99. package/dest/entrypoints/client/lazy/utils.js +33 -10
  100. package/dest/entrypoints/pxe_creation_options.d.ts +9 -3
  101. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  102. package/dest/entrypoints/pxe_creation_options.js +3 -1
  103. package/dest/entrypoints/server/index.d.ts +6 -3
  104. package/dest/entrypoints/server/index.d.ts.map +1 -1
  105. package/dest/entrypoints/server/index.js +5 -2
  106. package/dest/entrypoints/server/utils.d.ts +2 -2
  107. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  108. package/dest/entrypoints/server/utils.js +39 -16
  109. package/dest/error_enriching.d.ts +4 -4
  110. package/dest/error_enriching.d.ts.map +1 -1
  111. package/dest/error_enriching.js +6 -6
  112. package/dest/events/event_service.d.ts +16 -0
  113. package/dest/events/event_service.d.ts.map +1 -0
  114. package/dest/events/event_service.js +65 -0
  115. package/dest/events/index.d.ts +2 -0
  116. package/dest/events/index.d.ts.map +1 -0
  117. package/dest/events/index.js +1 -0
  118. package/dest/events/private_event_filter_validator.d.ts +10 -0
  119. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  120. package/dest/events/private_event_filter_validator.js +53 -0
  121. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  122. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  123. package/dest/job_coordinator/job_coordinator.js +94 -0
  124. package/dest/logs/log_service.d.ts +28 -0
  125. package/dest/logs/log_service.d.ts.map +1 -0
  126. package/dest/logs/log_service.js +108 -0
  127. package/dest/messages/message_context_service.d.ts +17 -0
  128. package/dest/messages/message_context_service.d.ts.map +1 -0
  129. package/dest/messages/message_context_service.js +36 -0
  130. package/dest/notes/index.d.ts +2 -0
  131. package/dest/notes/index.d.ts.map +1 -0
  132. package/dest/notes/index.js +1 -0
  133. package/dest/notes/note_service.d.ts +48 -0
  134. package/dest/notes/note_service.d.ts.map +1 -0
  135. package/dest/notes/note_service.js +157 -0
  136. package/dest/notes_filter.d.ts +24 -0
  137. package/dest/notes_filter.d.ts.map +1 -0
  138. package/dest/notes_filter.js +4 -0
  139. package/dest/oracle_version.d.ts +4 -3
  140. package/dest/oracle_version.d.ts.map +1 -1
  141. package/dest/oracle_version.js +20 -9
  142. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  143. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  144. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  145. package/dest/private_kernel/hints/index.d.ts +3 -3
  146. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  147. package/dest/private_kernel/hints/index.js +2 -2
  148. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
  149. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  150. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +141 -74
  151. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  152. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  153. package/dest/private_kernel/hints/test_utils.js +203 -0
  154. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  155. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  156. package/dest/private_kernel/private_kernel_execution_prover.js +27 -23
  157. package/dest/private_kernel/private_kernel_oracle.d.ts +27 -26
  158. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  159. package/dest/private_kernel/private_kernel_oracle.js +91 -2
  160. package/dest/pxe.d.ts +117 -103
  161. package/dest/pxe.d.ts.map +1 -1
  162. package/dest/pxe.js +291 -262
  163. package/dest/storage/address_store/address_store.d.ts +11 -0
  164. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  165. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +13 -12
  166. package/dest/storage/address_store/index.d.ts +2 -0
  167. package/dest/storage/address_store/index.d.ts.map +1 -0
  168. package/dest/storage/address_store/index.js +1 -0
  169. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +17 -0
  170. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  171. package/dest/storage/anchor_block_store/anchor_block_store.js +26 -0
  172. package/dest/storage/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
  173. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  174. package/dest/storage/anchor_block_store/index.js +1 -0
  175. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  176. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  177. package/dest/storage/capsule_store/capsule_service.js +50 -0
  178. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  179. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  180. package/dest/storage/capsule_store/capsule_store.js +261 -0
  181. package/dest/storage/capsule_store/index.d.ts +3 -0
  182. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  183. package/dest/storage/capsule_store/index.js +2 -0
  184. package/dest/storage/contract_store/contract_store.d.ts +93 -0
  185. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  186. package/dest/storage/contract_store/contract_store.js +311 -0
  187. package/dest/storage/contract_store/index.d.ts +2 -0
  188. package/dest/storage/contract_store/index.d.ts.map +1 -0
  189. package/dest/storage/contract_store/index.js +1 -0
  190. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  191. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  192. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  193. package/dest/storage/index.d.ts +8 -8
  194. package/dest/storage/index.d.ts.map +1 -1
  195. package/dest/storage/index.js +7 -7
  196. package/dest/storage/metadata.d.ts +1 -1
  197. package/dest/storage/metadata.js +1 -1
  198. package/dest/storage/note_store/index.d.ts +3 -0
  199. package/dest/storage/note_store/index.d.ts.map +1 -0
  200. package/dest/storage/note_store/index.js +2 -0
  201. package/dest/storage/note_store/note_store.d.ts +83 -0
  202. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  203. package/dest/storage/note_store/note_store.js +343 -0
  204. package/dest/storage/note_store/stored_note.d.ts +16 -0
  205. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  206. package/dest/storage/note_store/stored_note.js +43 -0
  207. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  208. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  209. package/dest/storage/private_event_store/private_event_store.js +276 -0
  210. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  211. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  212. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  213. package/dest/storage/tagging_store/index.d.ts +4 -0
  214. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  215. package/dest/storage/tagging_store/index.js +3 -0
  216. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  217. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  218. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  219. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  220. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  221. package/dest/storage/tagging_store/sender_address_book_store.js +36 -0
  222. package/dest/storage/tagging_store/sender_tagging_store.d.ts +78 -0
  223. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  224. package/dest/storage/tagging_store/sender_tagging_store.js +374 -0
  225. package/dest/tagging/constants.d.ts +2 -2
  226. package/dest/tagging/constants.d.ts.map +1 -1
  227. package/dest/tagging/constants.js +10 -2
  228. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  229. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  230. package/dest/tagging/get_all_logs_by_tags.js +60 -0
  231. package/dest/tagging/index.d.ts +17 -7
  232. package/dest/tagging/index.d.ts.map +1 -1
  233. package/dest/tagging/index.js +15 -5
  234. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
  235. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  236. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +85 -0
  237. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  238. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  239. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  240. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
  241. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  242. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +33 -0
  243. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +17 -0
  244. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  245. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +80 -0
  246. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +12 -0
  247. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  248. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +39 -0
  249. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +19 -0
  250. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  251. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +72 -0
  252. package/package.json +28 -19
  253. package/src/bin/check_oracle_version.ts +133 -22
  254. package/src/block_synchronizer/block_synchronizer.ts +198 -0
  255. package/src/block_synchronizer/index.ts +1 -0
  256. package/src/config/index.ts +12 -4
  257. package/src/config/package_info.ts +1 -1
  258. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  259. package/src/contract_function_simulator/contract_function_simulator.ts +424 -114
  260. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  261. package/src/contract_function_simulator/execution_note_cache.ts +51 -28
  262. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -14
  263. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  264. package/src/contract_function_simulator/index.ts +2 -1
  265. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +15 -11
  266. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +7 -6
  267. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +3 -6
  268. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +9 -12
  269. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  270. package/src/contract_function_simulator/oracle/interfaces.ts +105 -62
  271. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +104 -0
  272. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  273. package/src/contract_function_simulator/oracle/note_packing_utils.ts +27 -13
  274. package/src/contract_function_simulator/oracle/oracle.ts +441 -163
  275. package/src/contract_function_simulator/oracle/private_execution.ts +6 -72
  276. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +201 -167
  277. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +676 -113
  278. package/src/contract_function_simulator/pick_notes.ts +23 -4
  279. package/src/contract_function_simulator/proxied_contract_data_source.ts +32 -8
  280. package/src/contract_logging.ts +52 -0
  281. package/src/contract_sync/contract_sync_service.ts +176 -0
  282. package/src/contract_sync/helpers.ts +98 -0
  283. package/src/debug/pxe_debug_utils.ts +93 -0
  284. package/src/entrypoints/client/bundle/index.ts +2 -1
  285. package/src/entrypoints/client/bundle/utils.ts +24 -18
  286. package/src/entrypoints/client/lazy/index.ts +2 -1
  287. package/src/entrypoints/client/lazy/utils.ts +25 -19
  288. package/src/entrypoints/pxe_creation_options.ts +13 -2
  289. package/src/entrypoints/server/index.ts +5 -2
  290. package/src/entrypoints/server/utils.ts +33 -42
  291. package/src/error_enriching.ts +7 -15
  292. package/src/events/event_service.ts +96 -0
  293. package/src/events/index.ts +1 -0
  294. package/src/events/private_event_filter_validator.ts +66 -0
  295. package/src/job_coordinator/job_coordinator.ts +150 -0
  296. package/src/logs/log_service.ts +192 -0
  297. package/src/messages/message_context_service.ts +44 -0
  298. package/src/notes/index.ts +1 -0
  299. package/src/notes/note_service.ts +206 -0
  300. package/src/notes_filter.ts +24 -0
  301. package/src/oracle_version.ts +20 -9
  302. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  303. package/src/private_kernel/hints/index.ts +2 -2
  304. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +197 -139
  305. package/src/private_kernel/hints/test_utils.ts +325 -0
  306. package/src/private_kernel/private_kernel_execution_prover.ts +31 -27
  307. package/src/private_kernel/private_kernel_oracle.ts +118 -37
  308. package/src/pxe.ts +454 -354
  309. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +16 -16
  310. package/src/storage/address_store/index.ts +1 -0
  311. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +11 -12
  312. package/src/storage/anchor_block_store/index.ts +1 -0
  313. package/src/storage/capsule_store/capsule_service.ts +90 -0
  314. package/src/storage/capsule_store/capsule_store.ts +333 -0
  315. package/src/storage/capsule_store/index.ts +2 -0
  316. package/src/storage/contract_store/contract_store.ts +431 -0
  317. package/src/storage/contract_store/index.ts +1 -0
  318. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  319. package/src/storage/index.ts +7 -7
  320. package/src/storage/metadata.ts +1 -1
  321. package/src/storage/note_store/index.ts +2 -0
  322. package/src/storage/note_store/note_store.ts +415 -0
  323. package/src/storage/note_store/stored_note.ts +48 -0
  324. package/src/storage/private_event_store/private_event_store.ts +388 -0
  325. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  326. package/src/storage/tagging_store/index.ts +3 -0
  327. package/src/storage/tagging_store/recipient_tagging_store.ts +143 -0
  328. package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
  329. package/src/storage/tagging_store/sender_tagging_store.ts +476 -0
  330. package/src/tagging/constants.ts +10 -2
  331. package/src/tagging/get_all_logs_by_tags.ts +92 -0
  332. package/src/tagging/index.ts +19 -6
  333. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +130 -0
  334. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  335. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +44 -0
  336. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +112 -0
  337. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +51 -0
  338. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +85 -0
  339. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -265
  340. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  341. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  342. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  343. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  344. package/dest/contract_function_simulator/proxied_node.js +0 -27
  345. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  346. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  347. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -694
  348. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  349. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  350. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  351. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  352. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  353. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  354. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  355. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  356. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  357. package/dest/storage/address_data_provider/index.d.ts +0 -2
  358. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  359. package/dest/storage/address_data_provider/index.js +0 -1
  360. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  361. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  362. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
  363. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  364. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  365. package/dest/storage/capsule_data_provider/index.js +0 -1
  366. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -64
  367. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  368. package/dest/storage/contract_data_provider/contract_data_provider.js +0 -193
  369. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  370. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  371. package/dest/storage/contract_data_provider/index.js +0 -1
  372. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  373. package/dest/storage/note_data_provider/index.d.ts +0 -3
  374. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  375. package/dest/storage/note_data_provider/index.js +0 -2
  376. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -83
  377. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  378. package/dest/storage/note_data_provider/note_data_provider.js +0 -311
  379. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  380. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  381. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -105
  382. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  383. package/dest/storage/sync_data_provider/index.js +0 -1
  384. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
  385. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  386. package/dest/storage/sync_data_provider/sync_data_provider.js +0 -26
  387. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  388. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  389. package/dest/storage/tagging_data_provider/index.js +0 -1
  390. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  391. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  392. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  393. package/dest/synchronizer/index.d.ts +0 -2
  394. package/dest/synchronizer/index.d.ts.map +0 -1
  395. package/dest/synchronizer/index.js +0 -1
  396. package/dest/synchronizer/synchronizer.d.ts +0 -35
  397. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  398. package/dest/synchronizer/synchronizer.js +0 -101
  399. package/dest/tagging/siloed_tag.d.ts +0 -14
  400. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  401. package/dest/tagging/siloed_tag.js +0 -20
  402. package/dest/tagging/tag.d.ts +0 -12
  403. package/dest/tagging/tag.d.ts.map +0 -1
  404. package/dest/tagging/tag.js +0 -17
  405. package/dest/tagging/utils.d.ts +0 -18
  406. package/dest/tagging/utils.d.ts.map +0 -1
  407. package/dest/tagging/utils.js +0 -24
  408. package/src/contract_function_simulator/execution_data_provider.ts +0 -333
  409. package/src/contract_function_simulator/proxied_node.ts +0 -33
  410. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1008
  411. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  412. package/src/storage/address_data_provider/index.ts +0 -1
  413. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
  414. package/src/storage/capsule_data_provider/index.ts +0 -1
  415. package/src/storage/contract_data_provider/contract_data_provider.ts +0 -277
  416. package/src/storage/contract_data_provider/index.ts +0 -1
  417. package/src/storage/note_data_provider/index.ts +0 -2
  418. package/src/storage/note_data_provider/note_data_provider.ts +0 -399
  419. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -143
  420. package/src/storage/sync_data_provider/index.ts +0 -1
  421. package/src/storage/tagging_data_provider/index.ts +0 -1
  422. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  423. package/src/synchronizer/index.ts +0 -1
  424. package/src/synchronizer/synchronizer.ts +0 -120
  425. package/src/tagging/siloed_tag.ts +0 -22
  426. package/src/tagging/tag.ts +0 -16
  427. package/src/tagging/utils.ts +0 -31
@@ -1,15 +1,19 @@
1
- import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
- import { Fr, Point } from '@aztec/foundation/fields';
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';
3
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
4
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
8
+ import { BlockHash } from '@aztec/stdlib/block';
9
+ import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
6
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
7
- import type { ContractClassLog } from '@aztec/stdlib/logs';
11
+ import type { PublicKeys } from '@aztec/stdlib/keys';
12
+ import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
8
13
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
9
- import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
14
+ import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
10
15
  import type { BlockHeader } from '@aztec/stdlib/tx';
11
16
 
12
- import type { Tag } from '../../tagging/tag.js';
13
17
  import type { UtilityContext } from '../noir-structs/utility_context.js';
14
18
  import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
15
19
 
@@ -21,6 +25,8 @@ export interface NoteData {
21
25
  note: Note;
22
26
  /** The address of the contract that owns the note. */
23
27
  contractAddress: AztecAddress;
28
+ /** The owner of the note. */
29
+ owner: AztecAddress;
24
30
  /** The storage slot of the note. */
25
31
  storageSlot: Fr;
26
32
  /** The randomness injected to the note */
@@ -29,10 +35,10 @@ export interface NoteData {
29
35
  noteNonce: Fr;
30
36
  /** A hash of the note as it gets stored in the note hash tree. */
31
37
  noteHash: Fr;
38
+ /** True if the note is pending, false if settled. */
39
+ isPending: boolean;
32
40
  /** The corresponding nullifier of the note. Undefined for pending notes. */
33
41
  siloedNullifier?: Fr;
34
- /** The note's leaf index in the note hash tree. Undefined for pending notes. */
35
- index?: bigint;
36
42
  }
37
43
 
38
44
  // These interfaces contain the list of oracles required by aztec-nr in order to simulate and execute transactions, i.e.
@@ -47,9 +53,9 @@ export interface NoteData {
47
53
  export interface IMiscOracle {
48
54
  isMisc: true;
49
55
 
50
- utilityGetRandomField(): Fr;
51
- utilityAssertCompatibleOracleVersion(version: number): void;
52
- utilityDebugLog(level: number, message: string, fields: Fr[]): void;
56
+ getRandomField(): Fr;
57
+ assertCompatibleOracleVersion(major: number, minor: number): void;
58
+ log(level: number, message: string, fields: Fr[]): Promise<void>;
53
59
  }
54
60
 
55
61
  /**
@@ -59,23 +65,33 @@ export interface IMiscOracle {
59
65
  export interface IUtilityExecutionOracle {
60
66
  isUtility: true;
61
67
 
62
- utilityGetUtilityContext(): Promise<UtilityContext>;
63
- utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
64
- utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
65
- utilityGetMembershipWitness(blockNumber: number, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
66
- utilityGetNullifierMembershipWitness(
67
- blockNumber: number,
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,
68
81
  nullifier: Fr,
69
82
  ): Promise<NullifierMembershipWitness | undefined>;
70
- utilityGetPublicDataWitness(blockNumber: number, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
71
- utilityGetLowNullifierMembershipWitness(
72
- blockNumber: number,
83
+ getPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
84
+ getLowNullifierMembershipWitness(
85
+ anchorBlockHash: BlockHash,
73
86
  nullifier: Fr,
74
87
  ): Promise<NullifierMembershipWitness | undefined>;
75
- utilityGetBlockHeader(blockNumber: number): Promise<BlockHeader | undefined>;
76
- utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
77
- utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
78
- utilityGetNotes(
88
+ getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
89
+ getPublicKeysAndPartialAddress(
90
+ account: AztecAddress,
91
+ ): Promise<{ publicKeys: PublicKeys; partialAddress: PartialAddress } | undefined>;
92
+ getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
93
+ getNotes(
94
+ owner: AztecAddress | undefined,
79
95
  storageSlot: Fr,
80
96
  numSelects: number,
81
97
  selectByIndexes: number[],
@@ -91,35 +107,72 @@ export interface IUtilityExecutionOracle {
91
107
  offset: number,
92
108
  status: NoteStatus,
93
109
  ): Promise<NoteData[]>;
94
- utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
95
- utilityGetL1ToL2MembershipWitness(
110
+ doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
111
+ getL1ToL2MembershipWitness(
96
112
  contractAddress: AztecAddress,
97
113
  messageHash: Fr,
98
114
  secret: Fr,
99
115
  ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
100
- utilityStorageRead(
116
+ getFromPublicStorage(
117
+ anchorBlockHash: BlockHash,
101
118
  contractAddress: AztecAddress,
102
119
  startStorageSlot: Fr,
103
- blockNumber: number,
104
120
  numberOfElements: number,
105
121
  ): Promise<Fr[]>;
106
- utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
107
- utilityValidateEnqueuedNotesAndEvents(
122
+ getPendingTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr, scope: AztecAddress): Promise<void>;
123
+ getPendingTaggedLogsV2(scope: AztecAddress): Promise<Fr>;
124
+ validateAndStoreEnqueuedNotesAndEvents(
108
125
  contractAddress: AztecAddress,
109
126
  noteValidationRequestsArrayBaseSlot: Fr,
110
127
  eventValidationRequestsArrayBaseSlot: Fr,
128
+ maxNotePackedLen: number,
129
+ maxEventSerializedLen: number,
130
+ scope: AztecAddress,
111
131
  ): Promise<void>;
112
- utilityBulkRetrieveLogs(
132
+ getLogsByTag(
113
133
  contractAddress: AztecAddress,
114
134
  logRetrievalRequestsArrayBaseSlot: Fr,
115
135
  logRetrievalResponsesArrayBaseSlot: Fr,
136
+ scope: AztecAddress,
116
137
  ): Promise<void>;
117
- utilityStoreCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
118
- utilityLoadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
119
- utilityDeleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
120
- utilityCopyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
121
- utilityAes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
122
- utilityGetSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
138
+ validateAndStoreEnqueuedNotesAndEventsV2(
139
+ noteValidationRequestsArrayBaseSlot: Fr,
140
+ eventValidationRequestsArrayBaseSlot: Fr,
141
+ maxNotePackedLen: number,
142
+ maxEventSerializedLen: number,
143
+ scope: AztecAddress,
144
+ ): Promise<void>;
145
+ getLogsByTagV2(requestArrayBaseSlot: Fr): Promise<Fr>;
146
+ getMessageContextsByTxHashV2(requestArrayBaseSlot: Fr): Promise<Fr>;
147
+ getMessageContextsByTxHash(
148
+ contractAddress: AztecAddress,
149
+ messageContextRequestsArrayBaseSlot: Fr,
150
+ messageContextResponsesArrayBaseSlot: Fr,
151
+ scope: AztecAddress,
152
+ ): Promise<void>;
153
+ setCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[], scope: AztecAddress): void;
154
+ getCapsule(contractAddress: AztecAddress, key: Fr, scope: AztecAddress): Promise<Fr[] | null>;
155
+ deleteCapsule(contractAddress: AztecAddress, key: Fr, scope: AztecAddress): void;
156
+ copyCapsule(
157
+ contractAddress: AztecAddress,
158
+ srcKey: Fr,
159
+ dstKey: Fr,
160
+ numEntries: number,
161
+ scope: AztecAddress,
162
+ ): Promise<void>;
163
+ decryptAes128(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
164
+ getSharedSecret(address: AztecAddress, ephPk: Point, contractAddress: AztecAddress): Promise<Fr>;
165
+ setContractSyncCacheInvalid(contractAddress: AztecAddress, scopes: AztecAddress[]): void;
166
+ emitOffchainEffect(data: Fr[]): Promise<void>;
167
+
168
+ // Ephemeral array methods
169
+ pushEphemeral(slot: Fr, elements: Fr[]): number;
170
+ popEphemeral(slot: Fr): Fr[];
171
+ getEphemeral(slot: Fr, index: number): Fr[];
172
+ setEphemeral(slot: Fr, index: number, elements: Fr[]): void;
173
+ getEphemeralLen(slot: Fr): number;
174
+ removeEphemeral(slot: Fr, index: number): void;
175
+ clearEphemeral(slot: Fr): void;
123
176
  }
124
177
 
125
178
  /**
@@ -129,9 +182,10 @@ export interface IUtilityExecutionOracle {
129
182
  export interface IPrivateExecutionOracle {
130
183
  isPrivate: true;
131
184
 
132
- privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
133
- privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
134
- privateNotifyCreatedNote(
185
+ setHashPreimage(values: Fr[], hash: Fr): void;
186
+ getHashPreimage(hash: Fr): Promise<Fr[]>;
187
+ notifyCreatedNote(
188
+ owner: AztecAddress,
135
189
  storageSlot: Fr,
136
190
  randomness: Fr,
137
191
  noteTypeId: NoteSelector,
@@ -139,32 +193,21 @@ export interface IPrivateExecutionOracle {
139
193
  noteHash: Fr,
140
194
  counter: number,
141
195
  ): void;
142
- privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
143
- privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
144
- privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
145
- privateCallPrivateFunction(
196
+ notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
197
+ notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
198
+ isNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
199
+ notifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
200
+ callPrivateFunction(
146
201
  targetContractAddress: AztecAddress,
147
202
  functionSelector: FunctionSelector,
148
203
  argsHash: Fr,
149
204
  sideEffectCounter: number,
150
205
  isStaticCall: boolean,
151
206
  ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
152
- privateNotifyEnqueuedPublicFunctionCall(
153
- targetContractAddress: AztecAddress,
154
- calldataHash: Fr,
155
- sideEffectCounter: number,
156
- isStaticCall: boolean,
157
- ): Promise<void>;
158
- privateNotifySetPublicTeardownFunctionCall(
159
- targetContractAddress: AztecAddress,
160
- calldataHash: Fr,
161
- sideEffectCounter: number,
162
- isStaticCall: boolean,
163
- ): Promise<void>;
164
- privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
165
- privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
166
- privateGetSenderForTags(): Promise<AztecAddress | undefined>;
167
- privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
168
- privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
169
- utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
207
+ assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
208
+ notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
209
+ isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
210
+ getSenderForTags(): Promise<AztecAddress | undefined>;
211
+ setSenderForTags(senderForTags: AztecAddress): Promise<void>;
212
+ getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
170
213
  }
@@ -0,0 +1,104 @@
1
+ import { toACVMField } from '@aztec/simulator/client';
2
+ import type { ACIRCallback, ACVMField } from '@aztec/simulator/client';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+
5
+ import type { Oracle } from './oracle.js';
6
+
7
+ /**
8
+ * Builds legacy oracle name callbacks for pinned protocol contracts whose artifacts are committed and cannot be
9
+ * changed.
10
+ * TODO(F-416): Remove these aliases on v5 when protocol contracts are redeployed.
11
+ */
12
+ export function buildLegacyOracleCallbacks(oracle: Oracle): ACIRCallback {
13
+ // If you are about to add a new mapping ensure that the old oracle name is different from the new one - this can
14
+ // commonly occur when only the args are getting modified.
15
+ return {
16
+ // Simple prefix renames (privateXxx/utilityXxx → aztec_prv_/aztec_utl_)
17
+ utilityLog: (
18
+ level: ACVMField[],
19
+ message: ACVMField[],
20
+ _ignoredFieldsSize: ACVMField[],
21
+ fields: ACVMField[],
22
+ ): Promise<ACVMField[]> => oracle.aztec_utl_log(level, message, _ignoredFieldsSize, fields),
23
+ utilityAssertCompatibleOracleVersion: (version: ACVMField[]): Promise<ACVMField[]> =>
24
+ oracle.aztec_utl_assertCompatibleOracleVersionV2(version, [toACVMField(0)]),
25
+ // Old 1-arg oracle before minor/major split. Maps to V2 with minor=0.
26
+ // eslint-disable-next-line camelcase
27
+ aztec_utl_assertCompatibleOracleVersion: (version: ACVMField[]): Promise<ACVMField[]> =>
28
+ oracle.aztec_utl_assertCompatibleOracleVersionV2(version, [toACVMField(0)]),
29
+ utilityLoadCapsule: (
30
+ contractAddress: ACVMField[],
31
+ slot: ACVMField[],
32
+ tSize: ACVMField[],
33
+ ): Promise<(ACVMField | ACVMField[])[]> =>
34
+ oracle.aztec_utl_getCapsule(contractAddress, slot, tSize, [toACVMField(AztecAddress.ZERO)]),
35
+ privateStoreInExecutionCache: (values: ACVMField[], hash: ACVMField[]): Promise<ACVMField[]> =>
36
+ oracle.aztec_prv_setHashPreimage(values, hash),
37
+ privateLoadFromExecutionCache: (returnsHash: ACVMField[]): Promise<ACVMField[][]> =>
38
+ oracle.aztec_prv_getHashPreimage(returnsHash),
39
+ privateCallPrivateFunction: (
40
+ contractAddress: ACVMField[],
41
+ functionSelector: ACVMField[],
42
+ argsHash: ACVMField[],
43
+ sideEffectCounter: ACVMField[],
44
+ isStaticCall: ACVMField[],
45
+ ): Promise<ACVMField[][]> =>
46
+ oracle.aztec_prv_callPrivateFunction(
47
+ contractAddress,
48
+ functionSelector,
49
+ argsHash,
50
+ sideEffectCounter,
51
+ isStaticCall,
52
+ ),
53
+ privateIsNullifierPending: (innerNullifier: ACVMField[], contractAddress: ACVMField[]): Promise<ACVMField[]> =>
54
+ oracle.aztec_prv_isNullifierPending(innerNullifier, contractAddress),
55
+ privateNotifyCreatedNullifier: (innerNullifier: ACVMField[]): Promise<ACVMField[]> =>
56
+ oracle.aztec_prv_notifyCreatedNullifier(innerNullifier),
57
+ privateNotifyCreatedContractClassLog: (
58
+ contractAddress: ACVMField[],
59
+ message: ACVMField[],
60
+ length: ACVMField[],
61
+ counter: ACVMField[],
62
+ ): Promise<ACVMField[]> =>
63
+ oracle.aztec_prv_notifyCreatedContractClassLog(contractAddress, message, length, counter),
64
+ utilityGetUtilityContext: (): Promise<(ACVMField | ACVMField[])[]> => oracle.aztec_utl_getUtilityContext(),
65
+ utilityStorageRead: (
66
+ blockHash: ACVMField[],
67
+ contractAddress: ACVMField[],
68
+ startStorageSlot: ACVMField[],
69
+ numberOfElements: ACVMField[],
70
+ ): Promise<ACVMField[][]> =>
71
+ oracle.aztec_utl_getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements),
72
+ utilityStoreCapsule: (
73
+ contractAddress: ACVMField[],
74
+ slot: ACVMField[],
75
+ capsule: ACVMField[],
76
+ ): Promise<ACVMField[]> =>
77
+ oracle.aztec_utl_setCapsule(contractAddress, slot, capsule, [toACVMField(AztecAddress.ZERO)]),
78
+ utilityCopyCapsule: (
79
+ contractAddress: ACVMField[],
80
+ srcSlot: ACVMField[],
81
+ dstSlot: ACVMField[],
82
+ numEntries: ACVMField[],
83
+ ): Promise<ACVMField[]> =>
84
+ oracle.aztec_utl_copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, [toACVMField(AztecAddress.ZERO)]),
85
+ utilityDeleteCapsule: (contractAddress: ACVMField[], slot: ACVMField[]): Promise<ACVMField[]> =>
86
+ oracle.aztec_utl_deleteCapsule(contractAddress, slot, [toACVMField(AztecAddress.ZERO)]),
87
+ utilityGetL1ToL2MembershipWitness: (
88
+ contractAddress: ACVMField[],
89
+ messageHash: ACVMField[],
90
+ secret: ACVMField[],
91
+ ): Promise<(ACVMField | ACVMField[])[]> =>
92
+ oracle.aztec_utl_getL1ToL2MembershipWitness(contractAddress, messageHash, secret),
93
+ // Renames (same signature, different oracle name)
94
+ privateNotifySetMinRevertibleSideEffectCounter: (counter: ACVMField[]): Promise<ACVMField[]> =>
95
+ oracle.aztec_prv_notifyRevertiblePhaseStart(counter),
96
+ // Signature changes: old 4-param oracles → new 1-param validatePublicCalldata
97
+ privateNotifyEnqueuedPublicFunctionCall: (
98
+ _contractAddress: ACVMField[],
99
+ calldataHash: ACVMField[],
100
+ _sideEffectCounter: ACVMField[],
101
+ _isStaticCall: ACVMField[],
102
+ ): Promise<ACVMField[]> => oracle.aztec_prv_assertValidPublicCalldata(calldataHash),
103
+ };
104
+ }
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { SiblingPath } from '@aztec/foundation/trees';
3
3
 
4
4
  export class MessageLoadOracleInputs<N extends number> {
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { Note } from '@aztec/stdlib/note';
4
4
 
@@ -18,37 +18,51 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
18
18
  }
19
19
 
20
20
  /**
21
- * Packs a note in a format that is compatible with the default Packable implementation of the retrieved note.
21
+ * Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
22
22
  *
23
23
  * @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
24
- * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
24
+ * and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
25
25
  *
26
26
  * @param contractAddress - The address of the contract that owns the note
27
+ * @param owner - The owner of the note
27
28
  * @param randomness - The randomness injected into the note to get the hiding property of commitments
29
+ * @param storageSlot - The storage slot of the note
28
30
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
29
- * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
31
+ * @param isPending - True if the note is pending, false if settled
30
32
  * @param note - The note content containing the actual note data
31
33
  * @returns The packed note as an array of field elements
32
34
  */
33
- export function packAsRetrievedNote({
35
+ export function packAsHintedNote({
34
36
  contractAddress,
37
+ owner,
35
38
  randomness,
39
+ storageSlot,
36
40
  noteNonce,
37
- index,
41
+ isPending,
38
42
  note,
39
43
  }: {
40
44
  contractAddress: AztecAddress;
45
+ owner: AztecAddress;
41
46
  randomness: Fr;
47
+ storageSlot: Fr;
42
48
  noteNonce: Fr;
43
- index?: bigint;
49
+ isPending: boolean;
44
50
  note: Note;
45
51
  }) {
46
- // If index is undefined, the note is transient which implies that the nonzero_note_hash_counter has to be true
47
- const nonzeroNoteHashCounter = index === undefined;
52
+ // If the note is pending it means it has a non-zero note hash counter associated with it.
53
+ const nonZeroNoteHashCounter = isPending;
48
54
 
49
- // To pack the note as retrieved note we first need to reconstruct the note metadata.
50
- const noteMetadata = fromRawData(nonzeroNoteHashCounter, noteNonce);
55
+ // To pack the note as hinted note we first need to reconstruct the note metadata.
56
+ const noteMetadata = fromRawData(nonZeroNoteHashCounter, noteNonce);
51
57
 
52
- // Pack metadata first (stage and maybe_note_nonce), followed by the rest
53
- return [...note.items, contractAddress, randomness, new Fr(noteMetadata.stage), noteMetadata.maybeNoteNonce];
58
+ // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
59
+ return [
60
+ ...note.items,
61
+ contractAddress,
62
+ owner,
63
+ randomness,
64
+ storageSlot,
65
+ new Fr(noteMetadata.stage),
66
+ noteMetadata.maybeNoteNonce,
67
+ ];
54
68
  }