@aztec/pxe 0.0.1-commit.b655e406 → 0.0.1-commit.bf2612ae

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 (392) hide show
  1. package/dest/bin/check_oracle_version.d.ts +1 -1
  2. package/dest/bin/check_oracle_version.js +105 -15
  3. package/dest/block_synchronizer/block_synchronizer.d.ts +43 -0
  4. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  5. package/dest/block_synchronizer/block_synchronizer.js +147 -0
  6. package/dest/block_synchronizer/index.d.ts +2 -0
  7. package/dest/block_synchronizer/index.d.ts.map +1 -0
  8. package/dest/block_synchronizer/index.js +1 -0
  9. package/dest/config/index.d.ts +6 -12
  10. package/dest/config/index.d.ts.map +1 -1
  11. package/dest/config/index.js +24 -13
  12. package/dest/config/package_info.d.ts +1 -1
  13. package/dest/config/package_info.js +1 -1
  14. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  15. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  16. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  17. package/dest/contract_function_simulator/contract_function_simulator.d.ts +44 -16
  18. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/contract_function_simulator.js +78 -38
  20. package/dest/contract_function_simulator/execution_note_cache.d.ts +25 -14
  21. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/execution_note_cache.js +59 -34
  23. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
  24. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
  26. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  27. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/index.d.ts +2 -2
  29. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/index.js +1 -1
  31. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -4
  32. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +6 -3
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  37. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  38. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  39. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  40. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +7 -5
  41. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +13 -4
  43. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  44. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  46. package/dest/contract_function_simulator/oracle/index.d.ts +1 -1
  47. package/dest/contract_function_simulator/oracle/interfaces.d.ts +28 -18
  48. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  49. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
  50. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  51. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  52. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +14 -8
  53. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/oracle/note_packing_utils.js +16 -11
  55. package/dest/contract_function_simulator/oracle/oracle.d.ts +13 -10
  56. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  57. package/dest/contract_function_simulator/oracle/oracle.js +69 -41
  58. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -27
  59. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  60. package/dest/contract_function_simulator/oracle/private_execution.js +2 -38
  61. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +37 -33
  62. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +58 -49
  64. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +77 -26
  65. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  66. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +171 -64
  67. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  68. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/pick_notes.js +1 -1
  70. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  71. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  72. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  73. package/dest/contract_sync/index.d.ts +23 -0
  74. package/dest/contract_sync/index.d.ts.map +1 -0
  75. package/dest/contract_sync/index.js +54 -0
  76. package/dest/debug/pxe_debug_utils.d.ts +31 -0
  77. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  78. package/dest/debug/pxe_debug_utils.js +38 -0
  79. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  80. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  81. package/dest/entrypoints/client/bundle/index.js +0 -1
  82. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  83. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  84. package/dest/entrypoints/client/bundle/utils.js +13 -4
  85. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  86. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  87. package/dest/entrypoints/client/lazy/index.js +0 -1
  88. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  89. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  90. package/dest/entrypoints/client/lazy/utils.js +13 -4
  91. package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
  92. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  93. package/dest/entrypoints/server/index.d.ts +4 -2
  94. package/dest/entrypoints/server/index.d.ts.map +1 -1
  95. package/dest/entrypoints/server/index.js +3 -1
  96. package/dest/entrypoints/server/utils.d.ts +1 -1
  97. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  98. package/dest/entrypoints/server/utils.js +13 -20
  99. package/dest/error_enriching.d.ts +4 -4
  100. package/dest/error_enriching.d.ts.map +1 -1
  101. package/dest/error_enriching.js +6 -6
  102. package/dest/events/event_service.d.ts +16 -0
  103. package/dest/events/event_service.d.ts.map +1 -0
  104. package/dest/events/event_service.js +45 -0
  105. package/dest/events/index.d.ts +2 -0
  106. package/dest/events/index.d.ts.map +1 -0
  107. package/dest/events/index.js +1 -0
  108. package/dest/events/private_event_filter_validator.d.ts +9 -0
  109. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  110. package/dest/events/private_event_filter_validator.js +38 -0
  111. package/dest/job_coordinator/job_coordinator.d.ts +74 -0
  112. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  113. package/dest/job_coordinator/job_coordinator.js +93 -0
  114. package/dest/logs/log_service.d.ts +27 -0
  115. package/dest/logs/log_service.d.ts.map +1 -0
  116. package/dest/logs/log_service.js +128 -0
  117. package/dest/notes/index.d.ts +2 -0
  118. package/dest/notes/index.d.ts.map +1 -0
  119. package/dest/notes/index.js +1 -0
  120. package/dest/notes/note_service.d.ts +49 -0
  121. package/dest/notes/note_service.d.ts.map +1 -0
  122. package/dest/notes/note_service.js +148 -0
  123. package/dest/oracle_version.d.ts +3 -3
  124. package/dest/oracle_version.d.ts.map +1 -1
  125. package/dest/oracle_version.js +4 -3
  126. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
  127. package/dest/private_kernel/hints/index.d.ts +2 -2
  128. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  129. package/dest/private_kernel/hints/index.js +1 -1
  130. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
  131. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  132. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +19 -13
  133. package/dest/private_kernel/index.d.ts +1 -1
  134. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  135. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  136. package/dest/private_kernel/private_kernel_execution_prover.js +15 -15
  137. package/dest/private_kernel/private_kernel_oracle.d.ts +26 -29
  138. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  139. package/dest/private_kernel/private_kernel_oracle.js +90 -2
  140. package/dest/pxe.d.ts +54 -83
  141. package/dest/pxe.d.ts.map +1 -1
  142. package/dest/pxe.js +192 -241
  143. package/dest/storage/address_store/address_store.d.ts +11 -0
  144. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  145. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
  146. package/dest/storage/address_store/index.d.ts +2 -0
  147. package/dest/storage/address_store/index.d.ts.map +1 -0
  148. package/dest/storage/address_store/index.js +1 -0
  149. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
  150. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  151. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
  152. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  153. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  154. package/dest/storage/anchor_block_store/index.js +1 -0
  155. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  156. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  157. package/dest/storage/capsule_store/capsule_store.js +255 -0
  158. package/dest/storage/capsule_store/index.d.ts +2 -0
  159. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  160. package/dest/storage/capsule_store/index.js +1 -0
  161. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +7 -15
  162. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  163. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +34 -15
  164. package/dest/storage/contract_store/index.d.ts +2 -0
  165. package/dest/storage/contract_store/index.d.ts.map +1 -0
  166. package/dest/storage/contract_store/index.js +1 -0
  167. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  168. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  169. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  170. package/dest/storage/index.d.ts +8 -8
  171. package/dest/storage/index.d.ts.map +1 -1
  172. package/dest/storage/index.js +7 -7
  173. package/dest/storage/metadata.d.ts +1 -1
  174. package/dest/storage/note_store/index.d.ts +3 -0
  175. package/dest/storage/note_store/index.d.ts.map +1 -0
  176. package/dest/storage/note_store/index.js +2 -0
  177. package/dest/storage/note_store/note_store.d.ts +73 -0
  178. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  179. package/dest/storage/note_store/note_store.js +303 -0
  180. package/dest/storage/note_store/stored_note.d.ts +16 -0
  181. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  182. package/dest/storage/note_store/stored_note.js +43 -0
  183. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  184. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  185. package/dest/storage/private_event_store/private_event_store.js +250 -0
  186. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  187. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  188. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  189. package/dest/storage/tagging_store/index.d.ts +4 -0
  190. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  191. package/dest/storage/tagging_store/index.js +3 -0
  192. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  193. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  194. package/dest/storage/tagging_store/recipient_tagging_store.js +99 -0
  195. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  196. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  197. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  198. package/dest/storage/tagging_store/sender_tagging_store.d.ts +77 -0
  199. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  200. package/dest/storage/tagging_store/sender_tagging_store.js +278 -0
  201. package/dest/tagging/constants.d.ts +2 -2
  202. package/dest/tagging/constants.d.ts.map +1 -1
  203. package/dest/tagging/constants.js +10 -2
  204. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  205. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  206. package/dest/tagging/get_all_logs_by_tags.js +46 -0
  207. package/dest/tagging/index.d.ts +16 -6
  208. package/dest/tagging/index.d.ts.map +1 -1
  209. package/dest/tagging/index.js +15 -5
  210. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +15 -0
  211. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  212. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  213. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  214. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  215. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  216. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +15 -0
  217. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  218. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +32 -0
  219. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +21 -0
  220. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  221. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  222. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  223. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  224. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +29 -0
  225. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +21 -0
  226. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  227. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +60 -0
  228. package/package.json +20 -19
  229. package/src/bin/check_oracle_version.ts +131 -20
  230. package/src/block_synchronizer/block_synchronizer.ts +169 -0
  231. package/src/block_synchronizer/index.ts +1 -0
  232. package/src/config/index.ts +24 -25
  233. package/src/config/package_info.ts +1 -1
  234. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  235. package/src/contract_function_simulator/contract_function_simulator.ts +127 -42
  236. package/src/contract_function_simulator/execution_note_cache.ts +58 -28
  237. package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
  238. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  239. package/src/contract_function_simulator/index.ts +1 -1
  240. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +6 -2
  241. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  242. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -2
  243. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +15 -3
  244. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  245. package/src/contract_function_simulator/oracle/interfaces.ts +41 -16
  246. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  247. package/src/contract_function_simulator/oracle/note_packing_utils.ts +30 -14
  248. package/src/contract_function_simulator/oracle/oracle.ts +88 -43
  249. package/src/contract_function_simulator/oracle/private_execution.ts +2 -68
  250. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +138 -60
  251. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +261 -71
  252. package/src/contract_function_simulator/pick_notes.ts +1 -1
  253. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  254. package/src/contract_sync/index.ts +98 -0
  255. package/src/debug/pxe_debug_utils.ts +49 -0
  256. package/src/entrypoints/client/bundle/index.ts +0 -1
  257. package/src/entrypoints/client/bundle/utils.ts +10 -4
  258. package/src/entrypoints/client/lazy/index.ts +0 -1
  259. package/src/entrypoints/client/lazy/utils.ts +10 -5
  260. package/src/entrypoints/pxe_creation_options.ts +4 -1
  261. package/src/entrypoints/server/index.ts +3 -1
  262. package/src/entrypoints/server/utils.ts +13 -31
  263. package/src/error_enriching.ts +7 -15
  264. package/src/events/event_service.ts +73 -0
  265. package/src/events/index.ts +1 -0
  266. package/src/events/private_event_filter_validator.ts +46 -0
  267. package/src/job_coordinator/job_coordinator.ts +149 -0
  268. package/src/logs/log_service.ts +220 -0
  269. package/src/notes/index.ts +1 -0
  270. package/src/notes/note_service.ts +197 -0
  271. package/src/oracle_version.ts +4 -3
  272. package/src/private_kernel/hints/index.ts +1 -1
  273. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +38 -31
  274. package/src/private_kernel/private_kernel_execution_prover.ts +15 -21
  275. package/src/private_kernel/private_kernel_oracle.ts +118 -37
  276. package/src/pxe.ts +262 -313
  277. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
  278. package/src/storage/address_store/index.ts +1 -0
  279. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
  280. package/src/storage/anchor_block_store/index.ts +1 -0
  281. package/src/storage/capsule_store/capsule_store.ts +315 -0
  282. package/src/storage/capsule_store/index.ts +1 -0
  283. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +45 -20
  284. package/src/storage/contract_store/index.ts +1 -0
  285. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  286. package/src/storage/index.ts +7 -7
  287. package/src/storage/note_store/index.ts +2 -0
  288. package/src/storage/note_store/note_store.ts +381 -0
  289. package/src/storage/note_store/stored_note.ts +48 -0
  290. package/src/storage/private_event_store/private_event_store.ts +363 -0
  291. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  292. package/src/storage/tagging_store/index.ts +3 -0
  293. package/src/storage/tagging_store/recipient_tagging_store.ts +129 -0
  294. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  295. package/src/storage/tagging_store/sender_tagging_store.ts +345 -0
  296. package/src/tagging/constants.ts +10 -2
  297. package/src/tagging/get_all_logs_by_tags.ts +68 -0
  298. package/src/tagging/index.ts +18 -5
  299. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +143 -0
  300. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  301. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +49 -0
  302. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +99 -0
  303. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +36 -0
  304. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +84 -0
  305. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -274
  306. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  307. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  308. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  309. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  310. package/dest/contract_function_simulator/proxied_node.js +0 -27
  311. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  312. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  313. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
  314. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  315. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  316. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  317. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  318. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  319. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  320. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  321. package/dest/storage/address_data_provider/index.d.ts +0 -2
  322. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  323. package/dest/storage/address_data_provider/index.js +0 -1
  324. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  325. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  326. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
  327. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  328. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  329. package/dest/storage/capsule_data_provider/index.js +0 -1
  330. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  331. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  332. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  333. package/dest/storage/contract_data_provider/index.js +0 -1
  334. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  335. package/dest/storage/note_data_provider/index.d.ts +0 -3
  336. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  337. package/dest/storage/note_data_provider/index.js +0 -2
  338. package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
  339. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  340. package/dest/storage/note_data_provider/note_dao.js +0 -102
  341. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -83
  342. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  343. package/dest/storage/note_data_provider/note_data_provider.js +0 -308
  344. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -43
  345. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  346. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -104
  347. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  348. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  349. package/dest/storage/sync_data_provider/index.js +0 -1
  350. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
  351. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  352. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  353. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  354. package/dest/storage/tagging_data_provider/index.js +0 -1
  355. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  356. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  357. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  358. package/dest/synchronizer/index.d.ts +0 -2
  359. package/dest/synchronizer/index.d.ts.map +0 -1
  360. package/dest/synchronizer/index.js +0 -1
  361. package/dest/synchronizer/synchronizer.d.ts +0 -35
  362. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  363. package/dest/synchronizer/synchronizer.js +0 -101
  364. package/dest/tagging/siloed_tag.d.ts +0 -14
  365. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  366. package/dest/tagging/siloed_tag.js +0 -20
  367. package/dest/tagging/tag.d.ts +0 -12
  368. package/dest/tagging/tag.d.ts.map +0 -1
  369. package/dest/tagging/tag.js +0 -17
  370. package/dest/tagging/utils.d.ts +0 -18
  371. package/dest/tagging/utils.d.ts.map +0 -1
  372. package/dest/tagging/utils.js +0 -24
  373. package/src/contract_function_simulator/execution_data_provider.ts +0 -343
  374. package/src/contract_function_simulator/proxied_node.ts +0 -33
  375. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
  376. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  377. package/src/storage/address_data_provider/index.ts +0 -1
  378. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
  379. package/src/storage/capsule_data_provider/index.ts +0 -1
  380. package/src/storage/contract_data_provider/index.ts +0 -1
  381. package/src/storage/note_data_provider/index.ts +0 -2
  382. package/src/storage/note_data_provider/note_dao.ts +0 -154
  383. package/src/storage/note_data_provider/note_data_provider.ts +0 -393
  384. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -148
  385. package/src/storage/sync_data_provider/index.ts +0 -1
  386. package/src/storage/tagging_data_provider/index.ts +0 -1
  387. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  388. package/src/synchronizer/index.ts +0 -1
  389. package/src/synchronizer/synchronizer.ts +0 -120
  390. package/src/tagging/siloed_tag.ts +0 -22
  391. package/src/tagging/tag.ts +0 -16
  392. package/src/tagging/utils.ts +0 -31
@@ -1,19 +1,21 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { FieldReader } from '@aztec/foundation/serialize';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import { TxHash } from '@aztec/stdlib/tx';
5
5
 
6
6
  // TODO(#14617): should we compute this from constants? This value is aztec-nr specific.
7
- export const MAX_NOTE_PACKED_LEN = 12;
7
+ export const MAX_NOTE_PACKED_LEN = 10;
8
8
 
9
9
  /**
10
- * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateEnqueuedNotesAndEvents` oracle
10
+ * Intermediate struct used to perform batch note validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
11
11
  * expects for values of this type to be stored in a `CapsuleArray`.
12
12
  */
13
13
  export class NoteValidationRequest {
14
14
  constructor(
15
15
  public contractAddress: AztecAddress,
16
+ public owner: AztecAddress,
16
17
  public storageSlot: Fr,
18
+ public randomness: Fr,
17
19
  public noteNonce: Fr,
18
20
  public content: Fr[],
19
21
  public noteHash: Fr,
@@ -26,7 +28,9 @@ export class NoteValidationRequest {
26
28
  const reader = FieldReader.asReader(fields);
27
29
 
28
30
  const contractAddress = AztecAddress.fromField(reader.readField());
31
+ const owner = AztecAddress.fromField(reader.readField());
29
32
  const storageSlot = reader.readField();
33
+ const randomness = reader.readField();
30
34
  const noteNonce = reader.readField();
31
35
 
32
36
  const contentStorage = reader.readFieldArray(MAX_NOTE_PACKED_LEN);
@@ -38,9 +42,17 @@ export class NoteValidationRequest {
38
42
  const txHash = TxHash.fromField(reader.readField());
39
43
  const recipient = AztecAddress.fromField(reader.readField());
40
44
 
45
+ if (reader.remainingFields() !== 0) {
46
+ throw new Error(
47
+ `Error converting array of fields to NoteValidationRequest. Hint: check that MAX_NOTE_PACKED_LEN is consistent with private_notes::MAX_NOTE_PACKED_LEN in Aztec-nr.`,
48
+ );
49
+ }
50
+
41
51
  return new NoteValidationRequest(
42
52
  contractAddress,
53
+ owner,
43
54
  storageSlot,
55
+ randomness,
44
56
  noteNonce,
45
57
  content,
46
58
  noteHash,
@@ -1,42 +1,23 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import type { FieldsOf } from '@aztec/foundation/types';
1
+ import { toACVMField } from '@aztec/simulator/client';
3
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
- import type { UInt64 } from '@aztec/stdlib/types';
3
+ import type { BlockHeader } from '@aztec/stdlib/tx';
5
4
 
6
5
  /**
7
6
  * TypeScript counterpart of utility_context.nr. Used only as a return value for the utilityGetUtilityContext oracle.
8
7
  */
9
8
  export class UtilityContext {
10
- private constructor(
11
- public readonly blockNumber: number,
12
- public readonly timestamp: UInt64,
9
+ constructor(
10
+ public readonly blockHeader: BlockHeader,
13
11
  public readonly contractAddress: AztecAddress,
14
- public readonly version: Fr,
15
- public readonly chainId: Fr,
16
12
  ) {}
17
13
 
18
- static from(fields: FieldsOf<UtilityContext>) {
19
- return new UtilityContext(
20
- fields.blockNumber,
21
- fields.timestamp,
22
- fields.contractAddress,
23
- fields.version,
24
- fields.chainId,
25
- );
26
- }
27
-
28
14
  /**
29
15
  * Returns a representation of the utility context as expected by intrinsic Noir deserialization.
30
16
  * The order of the fields has to be the same as the order of the fields in the utility_context.nr.
31
17
  */
32
18
  public toNoirRepresentation(): (string | string[])[] {
33
19
  // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
34
- return [
35
- new Fr(this.blockNumber).toString() as string,
36
- new Fr(this.timestamp).toString() as string,
37
- this.contractAddress.toString() as string,
38
- this.version.toString() as string,
39
- this.chainId.toString() as string,
40
- ];
20
+ const blockHeaderFields = this.blockHeader.toFields().map(toACVMField);
21
+ return [...blockHeaderFields, this.contractAddress.toString() as string];
41
22
  }
42
23
  }
@@ -1,15 +1,18 @@
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';
8
+ import { BlockHash } from '@aztec/stdlib/block';
5
9
  import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
6
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
7
- import type { ContractClassLog } from '@aztec/stdlib/logs';
11
+ import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
8
12
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
9
- import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
13
+ import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
10
14
  import type { BlockHeader } from '@aztec/stdlib/tx';
11
15
 
12
- import type { Tag } from '../../tagging/tag.js';
13
16
  import type { UtilityContext } from '../noir-structs/utility_context.js';
14
17
  import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
15
18
 
@@ -21,16 +24,20 @@ export interface NoteData {
21
24
  note: Note;
22
25
  /** The address of the contract that owns the note. */
23
26
  contractAddress: AztecAddress;
27
+ /** The owner of the note. */
28
+ owner: AztecAddress;
24
29
  /** The storage slot of the note. */
25
30
  storageSlot: Fr;
31
+ /** The randomness injected to the note */
32
+ randomness: Fr;
26
33
  /** The nonce injected into the note hash preimage by kernels. */
27
34
  noteNonce: Fr;
28
35
  /** A hash of the note as it gets stored in the note hash tree. */
29
36
  noteHash: Fr;
37
+ /** True if the note is pending, false if settled. */
38
+ isPending: boolean;
30
39
  /** The corresponding nullifier of the note. Undefined for pending notes. */
31
40
  siloedNullifier?: Fr;
32
- /** The note's leaf index in the note hash tree. Undefined for pending notes. */
33
- index?: bigint;
34
41
  }
35
42
 
36
43
  // These interfaces contain the list of oracles required by aztec-nr in order to simulate and execute transactions, i.e.
@@ -57,23 +64,31 @@ export interface IMiscOracle {
57
64
  export interface IUtilityExecutionOracle {
58
65
  isUtility: true;
59
66
 
60
- utilityGetUtilityContext(): Promise<UtilityContext>;
67
+ utilityGetUtilityContext(): UtilityContext;
61
68
  utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
62
69
  utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
63
- utilityGetMembershipWitness(blockNumber: number, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
70
+ utilityGetNoteHashMembershipWitness(
71
+ blockHash: BlockHash,
72
+ leafValue: Fr,
73
+ ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
74
+ utilityGetArchiveMembershipWitness(
75
+ blockHash: BlockHash,
76
+ leafValue: Fr,
77
+ ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
64
78
  utilityGetNullifierMembershipWitness(
65
- blockNumber: number,
79
+ blockHash: BlockHash,
66
80
  nullifier: Fr,
67
81
  ): Promise<NullifierMembershipWitness | undefined>;
68
- utilityGetPublicDataWitness(blockNumber: number, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
82
+ utilityGetPublicDataWitness(blockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
69
83
  utilityGetLowNullifierMembershipWitness(
70
- blockNumber: number,
84
+ blockHash: BlockHash,
71
85
  nullifier: Fr,
72
86
  ): Promise<NullifierMembershipWitness | undefined>;
73
- utilityGetBlockHeader(blockNumber: number): Promise<BlockHeader | undefined>;
87
+ utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
74
88
  utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
75
89
  utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
76
90
  utilityGetNotes(
91
+ owner: AztecAddress | undefined,
77
92
  storageSlot: Fr,
78
93
  numSelects: number,
79
94
  selectByIndexes: number[],
@@ -96,13 +111,13 @@ export interface IUtilityExecutionOracle {
96
111
  secret: Fr,
97
112
  ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
98
113
  utilityStorageRead(
114
+ blockHash: BlockHash,
99
115
  contractAddress: AztecAddress,
100
116
  startStorageSlot: Fr,
101
- blockNumber: number,
102
117
  numberOfElements: number,
103
118
  ): Promise<Fr[]>;
104
119
  utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
105
- utilityValidateEnqueuedNotesAndEvents(
120
+ utilityValidateAndStoreEnqueuedNotesAndEvents(
106
121
  contractAddress: AztecAddress,
107
122
  noteValidationRequestsArrayBaseSlot: Fr,
108
123
  eventValidationRequestsArrayBaseSlot: Fr,
@@ -129,9 +144,18 @@ export interface IPrivateExecutionOracle {
129
144
 
130
145
  privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
131
146
  privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
132
- privateNotifyCreatedNote(storageSlot: Fr, noteTypeId: NoteSelector, note: Fr[], noteHash: Fr, counter: number): void;
147
+ privateNotifyCreatedNote(
148
+ owner: AztecAddress,
149
+ storageSlot: Fr,
150
+ randomness: Fr,
151
+ noteTypeId: NoteSelector,
152
+ note: Fr[],
153
+ noteHash: Fr,
154
+ counter: number,
155
+ ): void;
133
156
  privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
134
157
  privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
158
+ privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
135
159
  privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
136
160
  privateCallPrivateFunction(
137
161
  targetContractAddress: AztecAddress,
@@ -153,6 +177,7 @@ export interface IPrivateExecutionOracle {
153
177
  isStaticCall: boolean,
154
178
  ): Promise<void>;
155
179
  privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
180
+ privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
156
181
  privateGetSenderForTags(): Promise<AztecAddress | undefined>;
157
182
  privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
158
183
  privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
@@ -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,35 +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
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
27
30
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
28
- * @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
29
32
  * @param note - The note content containing the actual note data
30
33
  * @returns The packed note as an array of field elements
31
34
  */
32
- export function packAsRetrievedNote({
35
+ export function packAsHintedNote({
33
36
  contractAddress,
37
+ owner,
38
+ randomness,
39
+ storageSlot,
34
40
  noteNonce,
35
- index,
41
+ isPending,
36
42
  note,
37
43
  }: {
38
44
  contractAddress: AztecAddress;
45
+ owner: AztecAddress;
46
+ randomness: Fr;
47
+ storageSlot: Fr;
39
48
  noteNonce: Fr;
40
- index?: bigint;
49
+ isPending: boolean;
41
50
  note: Note;
42
51
  }) {
43
- // If index is undefined, the note is transient which implies that the nonzero_note_hash_counter has to be true
44
- const noteIsTransient = index === undefined;
45
- const nonzeroNoteHashCounter = noteIsTransient ? true : false;
52
+ // If the note is pending it means it has a non-zero note hash counter associated with it.
53
+ const nonZeroNoteHashCounter = isPending;
46
54
 
47
- // To pack the note as retrieved note we first need to reconstruct the note metadata.
48
- 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);
49
57
 
50
- // Pack metadata first (stage and maybe_note_nonce), followed by the rest
51
- return [...note.items, contractAddress, 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
+ ];
52
68
  }
@@ -1,4 +1,6 @@
1
- import { Fr, Point } from '@aztec/foundation/fields';
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
2
4
  import {
3
5
  type ACIRCallback,
4
6
  type ACVMField,
@@ -10,11 +12,11 @@ import {
10
12
  } from '@aztec/simulator/client';
11
13
  import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
12
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
15
+ import { BlockHash } from '@aztec/stdlib/block';
13
16
  import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
14
- import { MerkleTreeId } from '@aztec/stdlib/trees';
15
17
 
16
18
  import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
17
- import { packAsRetrievedNote } from './note_packing_utils.js';
19
+ import { packAsHintedNote } from './note_packing_utils.js';
18
20
 
19
21
  export class UnavailableOracleError extends Error {
20
22
  constructor(oracleName: string) {
@@ -100,8 +102,7 @@ export class Oracle {
100
102
  return Promise.resolve([toACVMField(val)]);
101
103
  }
102
104
 
103
- // Since the argument is a slice, noir automatically adds a length field to oracle call.
104
- privateStoreInExecutionCache(_length: ACVMField[], values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
105
+ privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
105
106
  this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
106
107
  return Promise.resolve([]);
107
108
  }
@@ -111,9 +112,9 @@ export class Oracle {
111
112
  return [values.map(toACVMField)];
112
113
  }
113
114
 
114
- async utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
115
- const context = await this.handlerAsUtility().utilityGetUtilityContext();
116
- return context.toNoirRepresentation();
115
+ utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
116
+ const context = this.handlerAsUtility().utilityGetUtilityContext();
117
+ return Promise.resolve(context.toNoirRepresentation());
117
118
  }
118
119
 
119
120
  async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
@@ -136,74 +137,84 @@ export class Oracle {
136
137
  ].map(toACVMField);
137
138
  }
138
139
 
139
- async utilityGetMembershipWitness(
140
- [blockNumber]: ACVMField[],
141
- [treeId]: ACVMField[],
140
+ async utilityGetNoteHashMembershipWitness(
141
+ [blockHash]: ACVMField[],
142
142
  [leafValue]: ACVMField[],
143
143
  ): Promise<(ACVMField | ACVMField[])[]> {
144
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
145
- const parsedTreeId = Fr.fromString(treeId).toNumber();
144
+ const parsedBlockHash = BlockHash.fromString(blockHash);
146
145
  const parsedLeafValue = Fr.fromString(leafValue);
147
146
 
148
- const witness = await this.handlerAsUtility().utilityGetMembershipWitness(
149
- parsedBlockNumber,
150
- parsedTreeId,
151
- parsedLeafValue,
152
- );
147
+ const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(parsedBlockHash, parsedLeafValue);
153
148
  if (!witness) {
154
- throw new Error(
155
- `Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`,
156
- );
149
+ throw new Error(`Leaf ${leafValue} not found in the note hash tree at block hash ${parsedBlockHash.toString()}.`);
150
+ }
151
+ return witness.toNoirRepresentation();
152
+ }
153
+
154
+ async utilityGetArchiveMembershipWitness(
155
+ [blockHash]: ACVMField[],
156
+ [leafValue]: ACVMField[],
157
+ ): Promise<(ACVMField | ACVMField[])[]> {
158
+ const parsedBlockHash = BlockHash.fromString(blockHash);
159
+ const parsedLeafValue = Fr.fromString(leafValue);
160
+
161
+ const witness = await this.handlerAsUtility().utilityGetArchiveMembershipWitness(parsedBlockHash, parsedLeafValue);
162
+ if (!witness) {
163
+ throw new Error(`Leaf ${leafValue} not found in the archive tree at block hash ${parsedBlockHash.toString()}.`);
157
164
  }
158
- return [toACVMField(witness[0]), witness.slice(1).map(toACVMField)];
165
+ return witness.toNoirRepresentation();
159
166
  }
160
167
 
161
168
  async utilityGetNullifierMembershipWitness(
162
- [blockNumber]: ACVMField[],
169
+ [blockHash]: ACVMField[],
163
170
  [nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
164
171
  ): Promise<(ACVMField | ACVMField[])[]> {
165
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
172
+ const parsedBlockHash = BlockHash.fromString(blockHash);
166
173
  const parsedNullifier = Fr.fromString(nullifier);
167
174
 
168
175
  const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
169
- parsedBlockNumber,
176
+ parsedBlockHash,
170
177
  parsedNullifier,
171
178
  );
172
179
  if (!witness) {
173
- throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
180
+ throw new Error(
181
+ `Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
182
+ );
174
183
  }
175
184
  return witness.toNoirRepresentation();
176
185
  }
177
186
 
178
187
  async utilityGetLowNullifierMembershipWitness(
179
- [blockNumber]: ACVMField[],
188
+ [blockHash]: ACVMField[],
180
189
  [nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
181
190
  ): Promise<(ACVMField | ACVMField[])[]> {
182
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
191
+ const parsedBlockHash = BlockHash.fromString(blockHash);
183
192
  const parsedNullifier = Fr.fromString(nullifier);
184
193
 
185
194
  const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
186
- parsedBlockNumber,
195
+ parsedBlockHash,
187
196
  parsedNullifier,
188
197
  );
189
198
  if (!witness) {
190
199
  throw new Error(
191
- `Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`,
200
+ `Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
192
201
  );
193
202
  }
194
203
  return witness.toNoirRepresentation();
195
204
  }
196
205
 
197
206
  async utilityGetPublicDataWitness(
198
- [blockNumber]: ACVMField[],
207
+ [blockHash]: ACVMField[],
199
208
  [leafSlot]: ACVMField[],
200
209
  ): Promise<(ACVMField | ACVMField[])[]> {
201
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
210
+ const parsedBlockHash = BlockHash.fromString(blockHash);
202
211
  const parsedLeafSlot = Fr.fromString(leafSlot);
203
212
 
204
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockNumber, parsedLeafSlot);
213
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
205
214
  if (!witness) {
206
- throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
215
+ throw new Error(
216
+ `Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
217
+ );
207
218
  }
208
219
  return witness.toNoirRepresentation();
209
220
  }
@@ -211,7 +222,7 @@ export class Oracle {
211
222
  async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
212
223
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
213
224
 
214
- const header = await this.handlerAsUtility().utilityGetBlockHeader(parsedBlockNumber);
225
+ const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
215
226
  if (!header) {
216
227
  throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
217
228
  }
@@ -236,6 +247,8 @@ export class Oracle {
236
247
  }
237
248
 
238
249
  async utilityGetNotes(
250
+ [ownerSome]: ACVMField[],
251
+ [ownerValue]: ACVMField[],
239
252
  [storageSlot]: ACVMField[],
240
253
  [numSelects]: ACVMField[],
241
254
  selectByIndexes: ACVMField[],
@@ -251,9 +264,12 @@ export class Oracle {
251
264
  [offset]: ACVMField[],
252
265
  [status]: ACVMField[],
253
266
  [maxNotes]: ACVMField[],
254
- [packedRetrievedNoteLength]: ACVMField[],
267
+ [packedHintedNoteLength]: ACVMField[],
255
268
  ): Promise<(ACVMField | ACVMField[])[]> {
269
+ // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
270
+ const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
256
271
  const noteDatas = await this.handlerAsUtility().utilityGetNotes(
272
+ owner,
257
273
  Fr.fromString(storageSlot),
258
274
  +numSelects,
259
275
  selectByIndexes.map(s => +s),
@@ -270,26 +286,40 @@ export class Oracle {
270
286
  +status,
271
287
  );
272
288
 
273
- const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(packAsRetrievedNote);
289
+ const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
290
+ packAsHintedNote({
291
+ contractAddress: noteData.contractAddress,
292
+ owner: noteData.owner,
293
+ randomness: noteData.randomness,
294
+ storageSlot: noteData.storageSlot,
295
+ noteNonce: noteData.noteNonce,
296
+ isPending: noteData.isPending,
297
+ note: noteData.note,
298
+ }),
299
+ );
274
300
 
275
301
  // Now we convert each sub-array to an array of ACVMField
276
- const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map(subArray =>
302
+ const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
277
303
  subArray.map(toACVMField),
278
304
  );
279
305
 
280
306
  // At last we convert the array of arrays to a bounded vec of arrays
281
- return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedRetrievedNoteLength);
307
+ return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
282
308
  }
283
309
 
284
310
  privateNotifyCreatedNote(
311
+ [owner]: ACVMField[],
285
312
  [storageSlot]: ACVMField[],
313
+ [randomness]: ACVMField[],
286
314
  [noteTypeId]: ACVMField[],
287
315
  note: ACVMField[],
288
316
  [noteHash]: ACVMField[],
289
317
  [counter]: ACVMField[],
290
318
  ): Promise<ACVMField[]> {
291
319
  this.handlerAsPrivate().privateNotifyCreatedNote(
320
+ AztecAddress.fromString(owner),
292
321
  Fr.fromString(storageSlot),
322
+ Fr.fromString(randomness),
293
323
  NoteSelector.fromField(Fr.fromString(noteTypeId)),
294
324
  note.map(Fr.fromString),
295
325
  Fr.fromString(noteHash),
@@ -316,6 +346,14 @@ export class Oracle {
316
346
  return [];
317
347
  }
318
348
 
349
+ async privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]> {
350
+ const isPending = await this.handlerAsPrivate().privateIsNullifierPending(
351
+ Fr.fromString(innerNullifier),
352
+ AztecAddress.fromString(contractAddress),
353
+ );
354
+ return [toACVMField(isPending)];
355
+ }
356
+
319
357
  async utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
320
358
  const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
321
359
  return [toACVMField(exists)];
@@ -335,15 +373,15 @@ export class Oracle {
335
373
  }
336
374
 
337
375
  async utilityStorageRead(
376
+ [blockHash]: ACVMField[],
338
377
  [contractAddress]: ACVMField[],
339
378
  [startStorageSlot]: ACVMField[],
340
- [blockNumber]: ACVMField[],
341
379
  [numberOfElements]: ACVMField[],
342
380
  ): Promise<ACVMField[][]> {
343
381
  const values = await this.handlerAsUtility().utilityStorageRead(
382
+ BlockHash.fromString(blockHash),
344
383
  new AztecAddress(Fr.fromString(contractAddress)),
345
384
  Fr.fromString(startStorageSlot),
346
- +blockNumber,
347
385
  +numberOfElements,
348
386
  );
349
387
  return [values.map(toACVMField)];
@@ -433,6 +471,13 @@ export class Oracle {
433
471
  return Promise.resolve([]);
434
472
  }
435
473
 
474
+ async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
475
+ const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
476
+ Fr.fromString(sideEffectCounter).toNumber(),
477
+ );
478
+ return Promise.resolve([toACVMField(isRevertible)]);
479
+ }
480
+
436
481
  async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
437
482
  const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
438
483
  AztecAddress.fromString(sender),
@@ -446,12 +491,12 @@ export class Oracle {
446
491
  return [];
447
492
  }
448
493
 
449
- async utilityValidateEnqueuedNotesAndEvents(
494
+ async utilityValidateAndStoreEnqueuedNotesAndEvents(
450
495
  [contractAddress]: ACVMField[],
451
496
  [noteValidationRequestsArrayBaseSlot]: ACVMField[],
452
497
  [eventValidationRequestsArrayBaseSlot]: ACVMField[],
453
498
  ): Promise<ACVMField[]> {
454
- await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(
499
+ await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(
455
500
  AztecAddress.fromString(contractAddress),
456
501
  Fr.fromString(noteValidationRequestsArrayBaseSlot),
457
502
  Fr.fromString(eventValidationRequestsArrayBaseSlot),