@aztec/pxe 0.0.1-commit.1142ef1 → 0.0.1-commit.11bf3dd6e

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 (302) hide show
  1. package/dest/bin/check_oracle_version.js +5 -5
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +16 -6
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  4. package/dest/block_synchronizer/block_synchronizer.js +91 -22
  5. package/dest/config/index.d.ts +4 -2
  6. package/dest/config/index.d.ts.map +1 -1
  7. package/dest/config/index.js +12 -2
  8. package/dest/config/package_info.js +1 -1
  9. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  10. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  11. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  12. package/dest/contract_function_simulator/contract_function_simulator.d.ts +66 -36
  13. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  14. package/dest/contract_function_simulator/contract_function_simulator.js +230 -89
  15. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  16. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  17. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  18. package/dest/contract_function_simulator/execution_note_cache.d.ts +18 -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 +45 -28
  21. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -7
  22. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -11
  24. package/dest/contract_function_simulator/index.d.ts +3 -2
  25. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/index.js +2 -1
  27. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -7
  28. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  29. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +9 -11
  30. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +1 -1
  31. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +1 -1
  32. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
  33. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -4
  35. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -8
  36. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +7 -12
  38. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  39. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  41. package/dest/contract_function_simulator/oracle/interfaces.d.ts +67 -47
  42. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +9 -0
  44. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -0
  45. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +47 -0
  46. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -1
  47. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  48. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +6 -6
  49. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  50. package/dest/contract_function_simulator/oracle/note_packing_utils.js +8 -8
  51. package/dest/contract_function_simulator/oracle/oracle.d.ts +75 -42
  52. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/oracle/oracle.js +327 -119
  54. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -26
  55. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/oracle/private_execution.js +5 -38
  57. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +59 -76
  58. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +125 -90
  60. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +140 -73
  61. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +347 -162
  63. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  64. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  65. package/dest/contract_function_simulator/pick_notes.js +20 -3
  66. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
  67. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/proxied_contract_data_source.js +3 -0
  69. package/dest/contract_logging.d.ts +27 -0
  70. package/dest/contract_logging.d.ts.map +1 -0
  71. package/dest/contract_logging.js +38 -0
  72. package/dest/contract_sync/contract_sync_service.d.ts +44 -0
  73. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  74. package/dest/contract_sync/contract_sync_service.js +116 -0
  75. package/dest/contract_sync/helpers.d.ts +28 -0
  76. package/dest/contract_sync/helpers.d.ts.map +1 -0
  77. package/dest/contract_sync/helpers.js +60 -0
  78. package/dest/debug/pxe_debug_utils.d.ts +24 -10
  79. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  80. package/dest/debug/pxe_debug_utils.js +28 -17
  81. package/dest/entrypoints/client/bundle/index.d.ts +3 -1
  82. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  83. package/dest/entrypoints/client/bundle/index.js +2 -0
  84. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  85. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  86. package/dest/entrypoints/client/bundle/utils.js +23 -9
  87. package/dest/entrypoints/client/lazy/index.d.ts +3 -1
  88. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  89. package/dest/entrypoints/client/lazy/index.js +2 -0
  90. package/dest/entrypoints/client/lazy/utils.d.ts +3 -3
  91. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  92. package/dest/entrypoints/client/lazy/utils.js +24 -10
  93. package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
  94. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  95. package/dest/entrypoints/pxe_creation_options.js +3 -1
  96. package/dest/entrypoints/server/index.d.ts +5 -2
  97. package/dest/entrypoints/server/index.d.ts.map +1 -1
  98. package/dest/entrypoints/server/index.js +4 -1
  99. package/dest/entrypoints/server/utils.d.ts +2 -2
  100. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  101. package/dest/entrypoints/server/utils.js +30 -11
  102. package/dest/events/event_service.d.ts +7 -6
  103. package/dest/events/event_service.d.ts.map +1 -1
  104. package/dest/events/event_service.js +33 -24
  105. package/dest/events/private_event_filter_validator.d.ts +6 -5
  106. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  107. package/dest/events/private_event_filter_validator.js +20 -6
  108. package/dest/job_coordinator/job_coordinator.d.ts +3 -2
  109. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -1
  110. package/dest/job_coordinator/job_coordinator.js +3 -2
  111. package/dest/logs/log_service.d.ts +11 -9
  112. package/dest/logs/log_service.d.ts.map +1 -1
  113. package/dest/logs/log_service.js +52 -64
  114. package/dest/messages/message_context_service.d.ts +17 -0
  115. package/dest/messages/message_context_service.d.ts.map +1 -0
  116. package/dest/messages/message_context_service.js +36 -0
  117. package/dest/notes/note_service.d.ts +9 -9
  118. package/dest/notes/note_service.d.ts.map +1 -1
  119. package/dest/notes/note_service.js +45 -40
  120. package/dest/notes_filter.d.ts +24 -0
  121. package/dest/notes_filter.d.ts.map +1 -0
  122. package/dest/notes_filter.js +4 -0
  123. package/dest/oracle_version.d.ts +4 -3
  124. package/dest/oracle_version.d.ts.map +1 -1
  125. package/dest/oracle_version.js +20 -9
  126. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  127. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  128. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  129. package/dest/private_kernel/hints/index.d.ts +3 -3
  130. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  131. package/dest/private_kernel/hints/index.js +2 -2
  132. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
  133. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  134. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +140 -73
  135. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  136. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  137. package/dest/private_kernel/hints/test_utils.js +203 -0
  138. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  139. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  140. package/dest/private_kernel/private_kernel_execution_prover.js +21 -16
  141. package/dest/private_kernel/private_kernel_oracle.d.ts +24 -25
  142. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  143. package/dest/private_kernel/private_kernel_oracle.js +91 -2
  144. package/dest/pxe.d.ts +80 -59
  145. package/dest/pxe.d.ts.map +1 -1
  146. package/dest/pxe.js +163 -145
  147. package/dest/storage/address_store/address_store.d.ts +1 -1
  148. package/dest/storage/address_store/address_store.d.ts.map +1 -1
  149. package/dest/storage/address_store/address_store.js +12 -11
  150. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -1
  151. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  152. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -2
  153. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  154. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  155. package/dest/storage/capsule_store/capsule_service.js +50 -0
  156. package/dest/storage/capsule_store/capsule_store.d.ts +25 -10
  157. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  158. package/dest/storage/capsule_store/capsule_store.js +143 -28
  159. package/dest/storage/capsule_store/index.d.ts +2 -1
  160. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  161. package/dest/storage/capsule_store/index.js +1 -0
  162. package/dest/storage/contract_store/contract_store.d.ts +42 -16
  163. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  164. package/dest/storage/contract_store/contract_store.js +160 -85
  165. package/dest/storage/metadata.d.ts +1 -1
  166. package/dest/storage/metadata.js +1 -1
  167. package/dest/storage/note_store/note_store.d.ts +50 -51
  168. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  169. package/dest/storage/note_store/note_store.js +284 -263
  170. package/dest/storage/note_store/stored_note.d.ts +16 -0
  171. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  172. package/dest/storage/note_store/stored_note.js +43 -0
  173. package/dest/storage/private_event_store/private_event_store.d.ts +43 -8
  174. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  175. package/dest/storage/private_event_store/private_event_store.js +229 -111
  176. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  177. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  178. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  179. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +16 -9
  180. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  181. package/dest/storage/tagging_store/recipient_tagging_store.js +88 -19
  182. package/dest/storage/tagging_store/sender_address_book_store.d.ts +1 -1
  183. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -1
  184. package/dest/storage/tagging_store/sender_address_book_store.js +20 -14
  185. package/dest/storage/tagging_store/sender_tagging_store.d.ts +43 -32
  186. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  187. package/dest/storage/tagging_store/sender_tagging_store.js +300 -122
  188. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  189. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  190. package/dest/tagging/get_all_logs_by_tags.js +60 -0
  191. package/dest/tagging/index.d.ts +4 -3
  192. package/dest/tagging/index.d.ts.map +1 -1
  193. package/dest/tagging/index.js +2 -1
  194. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +5 -5
  195. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  196. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +12 -26
  197. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  198. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +7 -7
  199. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  200. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +16 -12
  201. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +5 -8
  202. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  203. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +18 -12
  204. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +4 -3
  205. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  206. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +23 -16
  207. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +8 -7
  208. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  209. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +44 -27
  210. package/package.json +27 -18
  211. package/src/bin/check_oracle_version.ts +5 -4
  212. package/src/block_synchronizer/block_synchronizer.ts +113 -35
  213. package/src/config/index.ts +9 -1
  214. package/src/config/package_info.ts +1 -1
  215. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  216. package/src/contract_function_simulator/contract_function_simulator.ts +392 -154
  217. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  218. package/src/contract_function_simulator/execution_note_cache.ts +44 -25
  219. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -14
  220. package/src/contract_function_simulator/index.ts +2 -1
  221. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -10
  222. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +1 -1
  223. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -5
  224. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +5 -11
  225. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  226. package/src/contract_function_simulator/oracle/interfaces.ts +97 -59
  227. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +104 -0
  228. package/src/contract_function_simulator/oracle/note_packing_utils.ts +10 -10
  229. package/src/contract_function_simulator/oracle/oracle.ts +422 -166
  230. package/src/contract_function_simulator/oracle/private_execution.ts +5 -71
  231. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +169 -185
  232. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +578 -193
  233. package/src/contract_function_simulator/pick_notes.ts +22 -3
  234. package/src/contract_function_simulator/proxied_contract_data_source.ts +8 -1
  235. package/src/contract_logging.ts +52 -0
  236. package/src/contract_sync/contract_sync_service.ts +176 -0
  237. package/src/contract_sync/helpers.ts +98 -0
  238. package/src/debug/pxe_debug_utils.ts +63 -18
  239. package/src/entrypoints/client/bundle/index.ts +2 -0
  240. package/src/entrypoints/client/bundle/utils.ts +18 -18
  241. package/src/entrypoints/client/lazy/index.ts +2 -0
  242. package/src/entrypoints/client/lazy/utils.ts +19 -18
  243. package/src/entrypoints/pxe_creation_options.ts +9 -1
  244. package/src/entrypoints/server/index.ts +4 -1
  245. package/src/entrypoints/server/utils.ts +24 -29
  246. package/src/events/event_service.ts +31 -26
  247. package/src/events/private_event_filter_validator.ts +23 -5
  248. package/src/job_coordinator/job_coordinator.ts +4 -3
  249. package/src/logs/log_service.ts +94 -104
  250. package/src/messages/message_context_service.ts +44 -0
  251. package/src/notes/note_service.ts +54 -48
  252. package/src/notes_filter.ts +24 -0
  253. package/src/oracle_version.ts +20 -9
  254. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  255. package/src/private_kernel/hints/index.ts +2 -2
  256. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +195 -136
  257. package/src/private_kernel/hints/test_utils.ts +325 -0
  258. package/src/private_kernel/private_kernel_execution_prover.ts +25 -20
  259. package/src/private_kernel/private_kernel_oracle.ts +116 -37
  260. package/src/pxe.ts +297 -223
  261. package/src/storage/address_store/address_store.ts +15 -15
  262. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -1
  263. package/src/storage/capsule_store/capsule_service.ts +90 -0
  264. package/src/storage/capsule_store/capsule_store.ts +183 -29
  265. package/src/storage/capsule_store/index.ts +1 -0
  266. package/src/storage/contract_store/contract_store.ts +193 -101
  267. package/src/storage/metadata.ts +1 -1
  268. package/src/storage/note_store/note_store.ts +323 -320
  269. package/src/storage/note_store/stored_note.ts +48 -0
  270. package/src/storage/private_event_store/private_event_store.ts +296 -124
  271. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  272. package/src/storage/tagging_store/recipient_tagging_store.ts +111 -21
  273. package/src/storage/tagging_store/sender_address_book_store.ts +20 -14
  274. package/src/storage/tagging_store/sender_tagging_store.ts +366 -134
  275. package/src/tagging/get_all_logs_by_tags.ts +92 -0
  276. package/src/tagging/index.ts +3 -2
  277. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +27 -29
  278. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  279. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +17 -16
  280. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +31 -15
  281. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +29 -26
  282. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +42 -29
  283. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  284. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  285. package/dest/contract_function_simulator/proxied_node.js +0 -27
  286. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  287. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  288. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  289. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  290. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -46
  291. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  292. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -85
  293. package/dest/public_storage/public_storage_service.d.ts +0 -24
  294. package/dest/public_storage/public_storage_service.d.ts.map +0 -1
  295. package/dest/public_storage/public_storage_service.js +0 -26
  296. package/dest/tree_membership/tree_membership_service.d.ts +0 -52
  297. package/dest/tree_membership/tree_membership_service.d.ts.map +0 -1
  298. package/dest/tree_membership/tree_membership_service.js +0 -84
  299. package/src/contract_function_simulator/proxied_node.ts +0 -33
  300. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -127
  301. package/src/public_storage/public_storage_service.ts +0 -33
  302. package/src/tree_membership/tree_membership_service.ts +0 -112
@@ -1,14 +1,17 @@
1
- import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
1
+ import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
2
  import type { BlockNumber } from '@aztec/foundation/branded-types';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Point } from '@aztec/foundation/curves/grumpkin';
5
+ import { MembershipWitness } from '@aztec/foundation/trees';
5
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
8
+ import { BlockHash } from '@aztec/stdlib/block';
9
+ import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
8
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
+ import type { PublicKeys } from '@aztec/stdlib/keys';
9
12
  import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
10
13
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
11
- import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
14
+ import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
12
15
  import type { BlockHeader } from '@aztec/stdlib/tx';
13
16
 
14
17
  import type { UtilityContext } from '../noir-structs/utility_context.js';
@@ -32,10 +35,10 @@ export interface NoteData {
32
35
  noteNonce: Fr;
33
36
  /** A hash of the note as it gets stored in the note hash tree. */
34
37
  noteHash: Fr;
38
+ /** True if the note is pending, false if settled. */
39
+ isPending: boolean;
35
40
  /** The corresponding nullifier of the note. Undefined for pending notes. */
36
41
  siloedNullifier?: Fr;
37
- /** The note's leaf index in the note hash tree. Undefined for pending notes. */
38
- index?: bigint;
39
42
  }
40
43
 
41
44
  // These interfaces contain the list of oracles required by aztec-nr in order to simulate and execute transactions, i.e.
@@ -50,9 +53,9 @@ export interface NoteData {
50
53
  export interface IMiscOracle {
51
54
  isMisc: true;
52
55
 
53
- utilityGetRandomField(): Fr;
54
- utilityAssertCompatibleOracleVersion(version: number): void;
55
- 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>;
56
59
  }
57
60
 
58
61
  /**
@@ -62,23 +65,32 @@ export interface IMiscOracle {
62
65
  export interface IUtilityExecutionOracle {
63
66
  isUtility: true;
64
67
 
65
- utilityGetUtilityContext(): UtilityContext;
66
- utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
67
- utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
68
- utilityGetMembershipWitness(blockNumber: BlockNumber, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
69
- utilityGetNullifierMembershipWitness(
70
- blockNumber: BlockNumber,
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,
71
81
  nullifier: Fr,
72
82
  ): Promise<NullifierMembershipWitness | undefined>;
73
- utilityGetPublicDataWitness(blockNumber: BlockNumber, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
74
- utilityGetLowNullifierMembershipWitness(
75
- blockNumber: BlockNumber,
83
+ getPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
84
+ getLowNullifierMembershipWitness(
85
+ anchorBlockHash: BlockHash,
76
86
  nullifier: Fr,
77
87
  ): Promise<NullifierMembershipWitness | undefined>;
78
- utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
79
- utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
80
- utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
81
- 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(
82
94
  owner: AztecAddress | undefined,
83
95
  storageSlot: Fr,
84
96
  numSelects: number,
@@ -95,35 +107,72 @@ export interface IUtilityExecutionOracle {
95
107
  offset: number,
96
108
  status: NoteStatus,
97
109
  ): Promise<NoteData[]>;
98
- utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
99
- utilityGetL1ToL2MembershipWitness(
110
+ doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
111
+ getL1ToL2MembershipWitness(
100
112
  contractAddress: AztecAddress,
101
113
  messageHash: Fr,
102
114
  secret: Fr,
103
115
  ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
104
- utilityStorageRead(
116
+ getFromPublicStorage(
117
+ anchorBlockHash: BlockHash,
105
118
  contractAddress: AztecAddress,
106
119
  startStorageSlot: Fr,
107
- blockNumber: BlockNumber,
108
120
  numberOfElements: number,
109
121
  ): Promise<Fr[]>;
110
- utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
111
- utilityValidateEnqueuedNotesAndEvents(
122
+ getPendingTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr, scope: AztecAddress): Promise<void>;
123
+ getPendingTaggedLogsV2(scope: AztecAddress): Promise<Fr>;
124
+ validateAndStoreEnqueuedNotesAndEvents(
112
125
  contractAddress: AztecAddress,
113
126
  noteValidationRequestsArrayBaseSlot: Fr,
114
127
  eventValidationRequestsArrayBaseSlot: Fr,
128
+ maxNotePackedLen: number,
129
+ maxEventSerializedLen: number,
130
+ scope: AztecAddress,
115
131
  ): Promise<void>;
116
- utilityBulkRetrieveLogs(
132
+ getLogsByTag(
117
133
  contractAddress: AztecAddress,
118
134
  logRetrievalRequestsArrayBaseSlot: Fr,
119
135
  logRetrievalResponsesArrayBaseSlot: Fr,
136
+ scope: AztecAddress,
120
137
  ): Promise<void>;
121
- utilityStoreCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
122
- utilityLoadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
123
- utilityDeleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
124
- utilityCopyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
125
- utilityAes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
126
- 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;
127
176
  }
128
177
 
129
178
  /**
@@ -133,9 +182,9 @@ export interface IUtilityExecutionOracle {
133
182
  export interface IPrivateExecutionOracle {
134
183
  isPrivate: true;
135
184
 
136
- privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
137
- privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
138
- privateNotifyCreatedNote(
185
+ setHashPreimage(values: Fr[], hash: Fr): void;
186
+ getHashPreimage(hash: Fr): Promise<Fr[]>;
187
+ notifyCreatedNote(
139
188
  owner: AztecAddress,
140
189
  storageSlot: Fr,
141
190
  randomness: Fr,
@@ -144,32 +193,21 @@ export interface IPrivateExecutionOracle {
144
193
  noteHash: Fr,
145
194
  counter: number,
146
195
  ): void;
147
- privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
148
- privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
149
- privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
150
- 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(
151
201
  targetContractAddress: AztecAddress,
152
202
  functionSelector: FunctionSelector,
153
203
  argsHash: Fr,
154
204
  sideEffectCounter: number,
155
205
  isStaticCall: boolean,
156
206
  ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
157
- privateNotifyEnqueuedPublicFunctionCall(
158
- targetContractAddress: AztecAddress,
159
- calldataHash: Fr,
160
- sideEffectCounter: number,
161
- isStaticCall: boolean,
162
- ): Promise<void>;
163
- privateNotifySetPublicTeardownFunctionCall(
164
- targetContractAddress: AztecAddress,
165
- calldataHash: Fr,
166
- sideEffectCounter: number,
167
- isStaticCall: boolean,
168
- ): Promise<void>;
169
- privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
170
- privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
171
- privateGetSenderForTags(): Promise<AztecAddress | undefined>;
172
- privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
173
- privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
174
- 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>;
175
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
+ }
@@ -18,27 +18,27 @@ 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
27
  * @param owner - The owner of the note
28
28
  * @param randomness - The randomness injected into the note to get the hiding property of commitments
29
29
  * @param storageSlot - The storage slot of the note
30
30
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
31
- * @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
32
32
  * @param note - The note content containing the actual note data
33
33
  * @returns The packed note as an array of field elements
34
34
  */
35
- export function packAsRetrievedNote({
35
+ export function packAsHintedNote({
36
36
  contractAddress,
37
37
  owner,
38
38
  randomness,
39
39
  storageSlot,
40
40
  noteNonce,
41
- index,
41
+ isPending,
42
42
  note,
43
43
  }: {
44
44
  contractAddress: AztecAddress;
@@ -46,14 +46,14 @@ export function packAsRetrievedNote({
46
46
  randomness: Fr;
47
47
  storageSlot: Fr;
48
48
  noteNonce: Fr;
49
- index?: bigint;
49
+ isPending: boolean;
50
50
  note: Note;
51
51
  }) {
52
- // If index is undefined, the note is transient which implies that the nonzero_note_hash_counter has to be true
53
- 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;
54
54
 
55
- // To pack the note as retrieved note we first need to reconstruct the note metadata.
56
- 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);
57
57
 
58
58
  // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
59
59
  return [