@aztec/pxe 0.0.1-fake-ceab37513c → 0.0.6-commit.a2d1860fe9

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 (442) hide show
  1. package/README.md +5 -5
  2. package/dest/access_scopes.d.ts +9 -0
  3. package/dest/access_scopes.d.ts.map +1 -0
  4. package/dest/access_scopes.js +6 -0
  5. package/dest/bin/check_oracle_version.d.ts +1 -1
  6. package/dest/bin/check_oracle_version.js +110 -10
  7. package/dest/block_synchronizer/block_synchronizer.d.ts +45 -0
  8. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  9. package/dest/block_synchronizer/block_synchronizer.js +153 -0
  10. package/dest/block_synchronizer/index.d.ts +2 -0
  11. package/dest/block_synchronizer/index.d.ts.map +1 -0
  12. package/dest/block_synchronizer/index.js +1 -0
  13. package/dest/config/index.d.ts +11 -17
  14. package/dest/config/index.d.ts.map +1 -1
  15. package/dest/config/index.js +27 -16
  16. package/dest/config/package_info.d.ts +1 -1
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  19. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  20. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  21. package/dest/contract_function_simulator/contract_function_simulator.d.ts +79 -27
  22. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/contract_function_simulator.js +287 -87
  24. package/dest/contract_function_simulator/execution_note_cache.d.ts +26 -15
  25. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/execution_note_cache.js +65 -37
  27. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +16 -0
  28. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
  29. package/dest/contract_function_simulator/execution_tagging_index_cache.js +26 -0
  30. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  31. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/index.d.ts +5 -3
  33. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  34. package/dest/contract_function_simulator/index.js +3 -2
  35. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -4
  36. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +7 -4
  38. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  39. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  41. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  42. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +8 -4
  44. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +7 -4
  45. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +13 -4
  47. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +16 -0
  48. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
  49. package/dest/contract_function_simulator/noir-structs/utility_context.js +22 -0
  50. package/dest/contract_function_simulator/oracle/index.d.ts +2 -2
  51. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  52. package/dest/contract_function_simulator/oracle/index.js +1 -1
  53. package/dest/contract_function_simulator/oracle/interfaces.d.ts +107 -0
  54. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
  55. package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
  56. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
  57. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  58. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  59. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +14 -8
  60. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  61. package/dest/contract_function_simulator/oracle/note_packing_utils.js +16 -11
  62. package/dest/contract_function_simulator/oracle/oracle.d.ts +26 -22
  63. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  64. package/dest/contract_function_simulator/oracle/oracle.js +156 -113
  65. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -27
  66. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  67. package/dest/contract_function_simulator/oracle/private_execution.js +3 -48
  68. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +72 -52
  69. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  70. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +173 -68
  71. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +116 -53
  72. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  73. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +217 -94
  74. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  75. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  76. package/dest/contract_function_simulator/pick_notes.js +1 -1
  77. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  78. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  79. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  80. package/dest/contract_logging.d.ts +22 -0
  81. package/dest/contract_logging.d.ts.map +1 -0
  82. package/dest/contract_logging.js +23 -0
  83. package/dest/contract_sync/contract_sync_service.d.ts +43 -0
  84. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  85. package/dest/contract_sync/contract_sync_service.js +97 -0
  86. package/dest/contract_sync/helpers.d.ts +29 -0
  87. package/dest/contract_sync/helpers.d.ts.map +1 -0
  88. package/dest/contract_sync/helpers.js +55 -0
  89. package/dest/debug/pxe_debug_utils.d.ts +45 -0
  90. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  91. package/dest/debug/pxe_debug_utils.js +48 -0
  92. package/dest/entrypoints/client/bundle/index.d.ts +7 -3
  93. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  94. package/dest/entrypoints/client/bundle/index.js +5 -2
  95. package/dest/entrypoints/client/bundle/utils.d.ts +9 -9
  96. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  97. package/dest/entrypoints/client/bundle/utils.js +40 -17
  98. package/dest/entrypoints/client/lazy/index.d.ts +7 -3
  99. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  100. package/dest/entrypoints/client/lazy/index.js +5 -2
  101. package/dest/entrypoints/client/lazy/utils.d.ts +9 -9
  102. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  103. package/dest/entrypoints/client/lazy/utils.js +40 -17
  104. package/dest/entrypoints/pxe_creation_options.d.ts +7 -3
  105. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  106. package/dest/entrypoints/server/index.d.ts +9 -3
  107. package/dest/entrypoints/server/index.d.ts.map +1 -1
  108. package/dest/entrypoints/server/index.js +7 -2
  109. package/dest/entrypoints/server/utils.d.ts +5 -24
  110. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  111. package/dest/entrypoints/server/utils.js +42 -51
  112. package/dest/error_enriching.d.ts +11 -0
  113. package/dest/error_enriching.d.ts.map +1 -0
  114. package/dest/{pxe_service/error_enriching.js → error_enriching.js} +9 -6
  115. package/dest/events/event_service.d.ts +15 -0
  116. package/dest/events/event_service.d.ts.map +1 -0
  117. package/dest/events/event_service.js +44 -0
  118. package/dest/events/index.d.ts +2 -0
  119. package/dest/events/index.d.ts.map +1 -0
  120. package/dest/events/index.js +1 -0
  121. package/dest/events/private_event_filter_validator.d.ts +9 -0
  122. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  123. package/dest/events/private_event_filter_validator.js +38 -0
  124. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  125. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  126. package/dest/job_coordinator/job_coordinator.js +94 -0
  127. package/dest/logs/log_service.d.ts +29 -0
  128. package/dest/logs/log_service.d.ts.map +1 -0
  129. package/dest/logs/log_service.js +118 -0
  130. package/dest/notes/index.d.ts +2 -0
  131. package/dest/notes/index.d.ts.map +1 -0
  132. package/dest/notes/index.js +1 -0
  133. package/dest/notes/note_service.d.ts +49 -0
  134. package/dest/notes/note_service.d.ts.map +1 -0
  135. package/dest/notes/note_service.js +148 -0
  136. package/dest/notes_filter.d.ts +25 -0
  137. package/dest/notes_filter.d.ts.map +1 -0
  138. package/dest/notes_filter.js +4 -0
  139. package/dest/oracle_version.d.ts +3 -3
  140. package/dest/oracle_version.d.ts.map +1 -1
  141. package/dest/oracle_version.js +4 -3
  142. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  143. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  144. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.js +41 -0
  145. package/dest/private_kernel/hints/index.d.ts +3 -3
  146. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  147. package/dest/private_kernel/hints/index.js +2 -2
  148. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
  149. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  150. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +22 -16
  151. package/dest/private_kernel/index.d.ts +1 -1
  152. package/dest/private_kernel/private_kernel_execution_prover.d.ts +11 -3
  153. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  154. package/dest/private_kernel/private_kernel_execution_prover.js +48 -43
  155. package/dest/private_kernel/private_kernel_oracle.d.ts +26 -25
  156. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  157. package/dest/private_kernel/private_kernel_oracle.js +94 -2
  158. package/dest/pxe.d.ts +250 -0
  159. package/dest/pxe.d.ts.map +1 -0
  160. package/dest/pxe.js +774 -0
  161. package/dest/storage/address_store/address_store.d.ts +11 -0
  162. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  163. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +13 -15
  164. package/dest/storage/address_store/index.d.ts +2 -0
  165. package/dest/storage/address_store/index.d.ts.map +1 -0
  166. package/dest/storage/address_store/index.js +1 -0
  167. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +17 -0
  168. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  169. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +10 -13
  170. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  171. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  172. package/dest/storage/anchor_block_store/index.js +1 -0
  173. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  174. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  175. package/dest/storage/capsule_store/capsule_store.js +253 -0
  176. package/dest/storage/capsule_store/index.d.ts +2 -0
  177. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  178. package/dest/storage/capsule_store/index.js +1 -0
  179. package/dest/storage/contract_store/contract_store.d.ts +93 -0
  180. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  181. package/dest/storage/contract_store/contract_store.js +309 -0
  182. package/dest/storage/contract_store/index.d.ts +2 -0
  183. package/dest/storage/contract_store/index.d.ts.map +1 -0
  184. package/dest/storage/contract_store/index.js +1 -0
  185. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  186. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  187. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  188. package/dest/storage/index.d.ts +8 -9
  189. package/dest/storage/index.d.ts.map +1 -1
  190. package/dest/storage/index.js +7 -8
  191. package/dest/storage/metadata.d.ts +2 -2
  192. package/dest/storage/metadata.js +1 -1
  193. package/dest/storage/note_store/index.d.ts +3 -0
  194. package/dest/storage/note_store/index.d.ts.map +1 -0
  195. package/dest/storage/note_store/index.js +2 -0
  196. package/dest/storage/note_store/note_store.d.ts +83 -0
  197. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  198. package/dest/storage/note_store/note_store.js +343 -0
  199. package/dest/storage/note_store/stored_note.d.ts +16 -0
  200. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  201. package/dest/storage/note_store/stored_note.js +43 -0
  202. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  203. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  204. package/dest/storage/private_event_store/private_event_store.js +273 -0
  205. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  206. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  207. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  208. package/dest/storage/tagging_store/index.d.ts +4 -0
  209. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  210. package/dest/storage/tagging_store/index.js +3 -0
  211. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  212. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  213. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  214. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  215. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  216. package/dest/storage/tagging_store/sender_address_book_store.js +36 -0
  217. package/dest/storage/tagging_store/sender_tagging_store.d.ts +77 -0
  218. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  219. package/dest/storage/tagging_store/sender_tagging_store.js +348 -0
  220. package/dest/tagging/constants.d.ts +2 -0
  221. package/dest/tagging/constants.d.ts.map +1 -0
  222. package/dest/tagging/constants.js +10 -0
  223. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  224. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  225. package/dest/tagging/get_all_logs_by_tags.js +60 -0
  226. package/dest/tagging/index.d.ts +17 -0
  227. package/dest/tagging/index.d.ts.map +1 -0
  228. package/dest/tagging/index.js +15 -0
  229. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +15 -0
  230. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  231. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  232. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  233. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  234. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  235. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +15 -0
  236. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  237. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +32 -0
  238. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +21 -0
  239. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  240. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  241. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  242. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  243. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +29 -0
  244. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +21 -0
  245. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  246. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +60 -0
  247. package/package.json +30 -23
  248. package/src/access_scopes.ts +9 -0
  249. package/src/bin/check_oracle_version.ts +135 -10
  250. package/src/block_synchronizer/block_synchronizer.ts +178 -0
  251. package/src/block_synchronizer/index.ts +1 -0
  252. package/src/config/index.ts +32 -32
  253. package/src/config/package_info.ts +1 -1
  254. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  255. package/src/contract_function_simulator/contract_function_simulator.ts +505 -140
  256. package/src/contract_function_simulator/execution_note_cache.ts +67 -32
  257. package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
  258. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  259. package/src/contract_function_simulator/index.ts +4 -2
  260. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +7 -3
  261. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  262. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +10 -5
  263. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +15 -3
  264. package/src/contract_function_simulator/noir-structs/utility_context.ts +23 -0
  265. package/src/contract_function_simulator/oracle/index.ts +1 -1
  266. package/src/contract_function_simulator/oracle/interfaces.ts +185 -0
  267. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  268. package/src/contract_function_simulator/oracle/note_packing_utils.ts +30 -14
  269. package/src/contract_function_simulator/oracle/oracle.ts +197 -110
  270. package/src/contract_function_simulator/oracle/private_execution.ts +4 -78
  271. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +248 -122
  272. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +372 -138
  273. package/src/contract_function_simulator/pick_notes.ts +1 -1
  274. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  275. package/src/contract_logging.ts +39 -0
  276. package/src/contract_sync/contract_sync_service.ts +152 -0
  277. package/src/contract_sync/helpers.ts +98 -0
  278. package/src/debug/pxe_debug_utils.ts +93 -0
  279. package/src/entrypoints/client/bundle/index.ts +6 -2
  280. package/src/entrypoints/client/bundle/utils.ts +31 -32
  281. package/src/entrypoints/client/lazy/index.ts +6 -2
  282. package/src/entrypoints/client/lazy/utils.ts +31 -32
  283. package/src/entrypoints/pxe_creation_options.ts +6 -2
  284. package/src/entrypoints/server/index.ts +8 -2
  285. package/src/entrypoints/server/utils.ts +39 -91
  286. package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +11 -15
  287. package/src/events/event_service.ts +71 -0
  288. package/src/events/index.ts +1 -0
  289. package/src/events/private_event_filter_validator.ts +46 -0
  290. package/src/job_coordinator/job_coordinator.ts +150 -0
  291. package/src/logs/log_service.ts +208 -0
  292. package/src/notes/index.ts +1 -0
  293. package/src/notes/note_service.ts +196 -0
  294. package/src/notes_filter.ts +26 -0
  295. package/src/oracle_version.ts +4 -3
  296. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +16 -16
  297. package/src/private_kernel/hints/index.ts +2 -2
  298. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +44 -37
  299. package/src/private_kernel/private_kernel_execution_prover.ts +64 -55
  300. package/src/private_kernel/private_kernel_oracle.ts +118 -37
  301. package/src/pxe.ts +1137 -0
  302. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +15 -21
  303. package/src/storage/address_store/index.ts +1 -0
  304. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +10 -17
  305. package/src/storage/anchor_block_store/index.ts +1 -0
  306. package/src/storage/capsule_store/capsule_store.ts +315 -0
  307. package/src/storage/capsule_store/index.ts +1 -0
  308. package/src/storage/contract_store/contract_store.ts +429 -0
  309. package/src/storage/contract_store/index.ts +1 -0
  310. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  311. package/src/storage/index.ts +7 -8
  312. package/src/storage/metadata.ts +1 -1
  313. package/src/storage/note_store/index.ts +2 -0
  314. package/src/storage/note_store/note_store.ts +418 -0
  315. package/src/storage/note_store/stored_note.ts +48 -0
  316. package/src/storage/private_event_store/private_event_store.ts +384 -0
  317. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  318. package/src/storage/tagging_store/index.ts +3 -0
  319. package/src/storage/tagging_store/recipient_tagging_store.ts +139 -0
  320. package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
  321. package/src/storage/tagging_store/sender_tagging_store.ts +429 -0
  322. package/src/tagging/constants.ts +10 -0
  323. package/src/tagging/get_all_logs_by_tags.ts +92 -0
  324. package/src/tagging/index.ts +19 -0
  325. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +143 -0
  326. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  327. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +49 -0
  328. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +99 -0
  329. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +36 -0
  330. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +84 -0
  331. package/dest/bin/index.d.ts +0 -3
  332. package/dest/bin/index.d.ts.map +0 -1
  333. package/dest/bin/index.js +0 -48
  334. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -285
  335. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  336. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  337. package/dest/contract_function_simulator/oracle/typed_oracle.d.ts +0 -87
  338. package/dest/contract_function_simulator/oracle/typed_oracle.d.ts.map +0 -1
  339. package/dest/contract_function_simulator/oracle/typed_oracle.js +0 -146
  340. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  341. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  342. package/dest/contract_function_simulator/proxied_node.js +0 -27
  343. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -158
  344. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  345. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
  346. package/dest/contract_function_simulator/tagging_utils.d.ts +0 -17
  347. package/dest/contract_function_simulator/tagging_utils.d.ts.map +0 -1
  348. package/dest/contract_function_simulator/tagging_utils.js +0 -23
  349. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  350. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  351. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  352. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  353. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +0 -41
  354. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  355. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  356. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  357. package/dest/pxe_service/error_enriching.d.ts +0 -11
  358. package/dest/pxe_service/error_enriching.d.ts.map +0 -1
  359. package/dest/pxe_service/index.d.ts +0 -3
  360. package/dest/pxe_service/index.d.ts.map +0 -1
  361. package/dest/pxe_service/index.js +0 -2
  362. package/dest/pxe_service/pxe_service.d.ts +0 -101
  363. package/dest/pxe_service/pxe_service.d.ts.map +0 -1
  364. package/dest/pxe_service/pxe_service.js +0 -791
  365. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -13
  366. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  367. package/dest/storage/address_data_provider/index.d.ts +0 -2
  368. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  369. package/dest/storage/address_data_provider/index.js +0 -1
  370. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -27
  371. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  372. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -122
  373. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  374. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  375. package/dest/storage/capsule_data_provider/index.js +0 -1
  376. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -75
  377. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  378. package/dest/storage/contract_data_provider/contract_data_provider.js +0 -208
  379. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  380. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  381. package/dest/storage/contract_data_provider/index.js +0 -1
  382. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  383. package/dest/storage/data_provider.d.ts +0 -4
  384. package/dest/storage/data_provider.d.ts.map +0 -1
  385. package/dest/storage/data_provider.js +0 -1
  386. package/dest/storage/note_data_provider/index.d.ts +0 -3
  387. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  388. package/dest/storage/note_data_provider/index.js +0 -2
  389. package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
  390. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  391. package/dest/storage/note_data_provider/note_dao.js +0 -102
  392. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -20
  393. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  394. package/dest/storage/note_data_provider/note_data_provider.js +0 -260
  395. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  396. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  397. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -96
  398. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  399. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  400. package/dest/storage/sync_data_provider/index.js +0 -1
  401. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -12
  402. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  403. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  404. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  405. package/dest/storage/tagging_data_provider/index.js +0 -1
  406. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -18
  407. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  408. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -82
  409. package/dest/synchronizer/index.d.ts +0 -2
  410. package/dest/synchronizer/index.d.ts.map +0 -1
  411. package/dest/synchronizer/index.js +0 -1
  412. package/dest/synchronizer/synchronizer.d.ts +0 -35
  413. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  414. package/dest/synchronizer/synchronizer.js +0 -102
  415. package/dest/test/pxe_test_suite.d.ts +0 -3
  416. package/dest/test/pxe_test_suite.d.ts.map +0 -1
  417. package/dest/test/pxe_test_suite.js +0 -97
  418. package/src/bin/index.ts +0 -62
  419. package/src/contract_function_simulator/execution_data_provider.ts +0 -361
  420. package/src/contract_function_simulator/oracle/typed_oracle.ts +0 -289
  421. package/src/contract_function_simulator/proxied_node.ts +0 -33
  422. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1020
  423. package/src/contract_function_simulator/tagging_utils.ts +0 -32
  424. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  425. package/src/pxe_service/index.ts +0 -2
  426. package/src/pxe_service/pxe_service.ts +0 -1139
  427. package/src/storage/address_data_provider/index.ts +0 -1
  428. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -157
  429. package/src/storage/capsule_data_provider/index.ts +0 -1
  430. package/src/storage/contract_data_provider/contract_data_provider.ts +0 -300
  431. package/src/storage/contract_data_provider/index.ts +0 -1
  432. package/src/storage/data_provider.ts +0 -3
  433. package/src/storage/note_data_provider/index.ts +0 -2
  434. package/src/storage/note_data_provider/note_dao.ts +0 -154
  435. package/src/storage/note_data_provider/note_data_provider.ts +0 -350
  436. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -134
  437. package/src/storage/sync_data_provider/index.ts +0 -1
  438. package/src/storage/tagging_data_provider/index.ts +0 -1
  439. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -123
  440. package/src/synchronizer/index.ts +0 -1
  441. package/src/synchronizer/synchronizer.ts +0 -121
  442. package/src/test/pxe_test_suite.ts +0 -113
@@ -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,24 +12,57 @@ 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
- import { packAsRetrievedNote } from './note_packing_utils.js';
17
- import type { TypedOracle } from './typed_oracle.js';
18
+ import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
19
+ import { packAsHintedNote } from './note_packing_utils.js';
20
+
21
+ export class UnavailableOracleError extends Error {
22
+ constructor(oracleName: string) {
23
+ super(`${oracleName} oracles not available with the current handler`);
24
+ }
25
+ }
18
26
 
19
27
  /**
20
28
  * A data source that has all the apis required by Aztec.nr.
21
29
  */
22
30
  export class Oracle {
23
- private typedOracle: TypedOracle;
31
+ constructor(private handler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle) {}
32
+
33
+ private handlerAsMisc(): IMiscOracle {
34
+ if (!('isMisc' in this.handler)) {
35
+ throw new UnavailableOracleError('Misc');
36
+ }
37
+
38
+ return this.handler;
39
+ }
40
+
41
+ private handlerAsUtility(): IUtilityExecutionOracle {
42
+ if (!('isUtility' in this.handler)) {
43
+ throw new UnavailableOracleError('Utility');
44
+ }
24
45
 
25
- constructor(typedOracle: TypedOracle) {
26
- this.typedOracle = typedOracle;
46
+ return this.handler;
47
+ }
48
+
49
+ private handlerAsPrivate(): IPrivateExecutionOracle {
50
+ if (!('isPrivate' in this.handler)) {
51
+ throw new UnavailableOracleError('Private');
52
+ }
53
+
54
+ return this.handler;
27
55
  }
28
56
 
29
57
  toACIRCallback(): ACIRCallback {
30
- const excludedProps = ['typedOracle', 'constructor', 'toACIRCallback'] as const;
58
+ const excludedProps = [
59
+ 'handler',
60
+ 'constructor',
61
+ 'toACIRCallback',
62
+ 'handlerAsMisc',
63
+ 'handlerAsUtility',
64
+ 'handlerAsPrivate',
65
+ ] as const;
31
66
 
32
67
  // Get all the oracle function names
33
68
  const oracleNames = Object.getOwnPropertyNames(Oracle.prototype).filter(
@@ -58,54 +93,40 @@ export class Oracle {
58
93
  }
59
94
 
60
95
  utilityAssertCompatibleOracleVersion([version]: ACVMField[]) {
61
- this.typedOracle.utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
96
+ this.handlerAsMisc().utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
62
97
  return Promise.resolve([]);
63
98
  }
64
99
 
65
100
  utilityGetRandomField(): Promise<ACVMField[]> {
66
- const val = this.typedOracle.utilityGetRandomField();
101
+ const val = this.handlerAsMisc().utilityGetRandomField();
67
102
  return Promise.resolve([toACVMField(val)]);
68
103
  }
69
104
 
70
- // Since the argument is a slice, noir automatically adds a length field to oracle call.
71
- privateStoreInExecutionCache(_length: ACVMField[], values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
72
- this.typedOracle.privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
105
+ privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
106
+ this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
73
107
  return Promise.resolve([]);
74
108
  }
75
109
 
76
110
  async privateLoadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[][]> {
77
- const values = await this.typedOracle.privateLoadFromExecutionCache(Fr.fromString(returnsHash));
111
+ const values = await this.handlerAsPrivate().privateLoadFromExecutionCache(Fr.fromString(returnsHash));
78
112
  return [values.map(toACVMField)];
79
113
  }
80
114
 
81
- async utilityGetBlockNumber(): Promise<ACVMField[]> {
82
- return [toACVMField(await this.typedOracle.utilityGetBlockNumber())];
83
- }
84
-
85
- async utilityGetTimestamp(): Promise<ACVMField[]> {
86
- return [toACVMField(await this.typedOracle.utilityGetTimestamp())];
87
- }
88
-
89
- async utilityGetContractAddress(): Promise<ACVMField[]> {
90
- return [toACVMField(await this.typedOracle.utilityGetContractAddress())];
91
- }
92
-
93
- async utilityGetVersion(): Promise<ACVMField[]> {
94
- return [toACVMField(await this.typedOracle.utilityGetVersion())];
95
- }
96
-
97
- async utilityGetChainId(): Promise<ACVMField[]> {
98
- return [toACVMField(await this.typedOracle.utilityGetChainId())];
115
+ utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
116
+ const context = this.handlerAsUtility().utilityGetUtilityContext();
117
+ return Promise.resolve(context.toNoirRepresentation());
99
118
  }
100
119
 
101
120
  async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
102
- const keyValidationRequest = await this.typedOracle.utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
121
+ const keyValidationRequest = await this.handlerAsUtility().utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
103
122
 
104
123
  return keyValidationRequest.toFields().map(toACVMField);
105
124
  }
106
125
 
107
126
  async utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]> {
108
- const instance = await this.typedOracle.utilityGetContractInstance(AztecAddress.fromField(Fr.fromString(address)));
127
+ const instance = await this.handlerAsUtility().utilityGetContractInstance(
128
+ AztecAddress.fromField(Fr.fromString(address)),
129
+ );
109
130
 
110
131
  return [
111
132
  instance.salt,
@@ -116,68 +137,94 @@ export class Oracle {
116
137
  ].map(toACVMField);
117
138
  }
118
139
 
119
- async utilityGetMembershipWitness(
120
- [blockNumber]: ACVMField[],
121
- [treeId]: ACVMField[],
122
- [leafValue]: ACVMField[],
140
+ async utilityGetNoteHashMembershipWitness(
141
+ [anchorBlockHash]: ACVMField[],
142
+ [noteHash]: ACVMField[],
123
143
  ): Promise<(ACVMField | ACVMField[])[]> {
124
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
125
- const parsedTreeId = Fr.fromString(treeId).toNumber();
126
- const parsedLeafValue = Fr.fromString(leafValue);
144
+ const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
145
+ const parsedNoteHash = Fr.fromString(noteHash);
146
+
147
+ const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(
148
+ parsedAnchorBlockHash,
149
+ parsedNoteHash,
150
+ );
151
+ if (!witness) {
152
+ throw new Error(
153
+ `Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`,
154
+ );
155
+ }
156
+ return witness.toNoirRepresentation();
157
+ }
158
+
159
+ async utilityGetBlockHashMembershipWitness(
160
+ [anchorBlockHash]: ACVMField[],
161
+ [blockHash]: ACVMField[],
162
+ ): Promise<(ACVMField | ACVMField[])[]> {
163
+ const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
164
+ const parsedBlockHash = BlockHash.fromString(blockHash);
127
165
 
128
- const witness = await this.typedOracle.utilityGetMembershipWitness(
129
- parsedBlockNumber,
130
- parsedTreeId,
131
- parsedLeafValue,
166
+ const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(
167
+ parsedAnchorBlockHash,
168
+ parsedBlockHash,
132
169
  );
133
170
  if (!witness) {
134
171
  throw new Error(
135
- `Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`,
172
+ `Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`,
136
173
  );
137
174
  }
138
- return [toACVMField(witness[0]), witness.slice(1).map(toACVMField)];
175
+ return witness.toNoirRepresentation();
139
176
  }
140
177
 
141
178
  async utilityGetNullifierMembershipWitness(
142
- [blockNumber]: ACVMField[],
179
+ [blockHash]: ACVMField[],
143
180
  [nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
144
181
  ): Promise<(ACVMField | ACVMField[])[]> {
145
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
182
+ const parsedBlockHash = BlockHash.fromString(blockHash);
146
183
  const parsedNullifier = Fr.fromString(nullifier);
147
184
 
148
- const witness = await this.typedOracle.utilityGetNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
185
+ const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
186
+ parsedBlockHash,
187
+ parsedNullifier,
188
+ );
149
189
  if (!witness) {
150
- throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
190
+ throw new Error(
191
+ `Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
192
+ );
151
193
  }
152
194
  return witness.toNoirRepresentation();
153
195
  }
154
196
 
155
197
  async utilityGetLowNullifierMembershipWitness(
156
- [blockNumber]: ACVMField[],
198
+ [blockHash]: ACVMField[],
157
199
  [nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
158
200
  ): Promise<(ACVMField | ACVMField[])[]> {
159
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
201
+ const parsedBlockHash = BlockHash.fromString(blockHash);
160
202
  const parsedNullifier = Fr.fromString(nullifier);
161
203
 
162
- const witness = await this.typedOracle.utilityGetLowNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
204
+ const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
205
+ parsedBlockHash,
206
+ parsedNullifier,
207
+ );
163
208
  if (!witness) {
164
209
  throw new Error(
165
- `Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`,
210
+ `Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
166
211
  );
167
212
  }
168
213
  return witness.toNoirRepresentation();
169
214
  }
170
215
 
171
216
  async utilityGetPublicDataWitness(
172
- [blockNumber]: ACVMField[],
217
+ [blockHash]: ACVMField[],
173
218
  [leafSlot]: ACVMField[],
174
219
  ): Promise<(ACVMField | ACVMField[])[]> {
175
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
220
+ const parsedBlockHash = BlockHash.fromString(blockHash);
176
221
  const parsedLeafSlot = Fr.fromString(leafSlot);
177
222
 
178
- const witness = await this.typedOracle.utilityGetPublicDataWitness(parsedBlockNumber, parsedLeafSlot);
223
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
179
224
  if (!witness) {
180
- throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
225
+ throw new Error(
226
+ `Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
227
+ );
181
228
  }
182
229
  return witness.toNoirRepresentation();
183
230
  }
@@ -185,7 +232,7 @@ export class Oracle {
185
232
  async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
186
233
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
187
234
 
188
- const header = await this.typedOracle.utilityGetBlockHeader(parsedBlockNumber);
235
+ const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
189
236
  if (!header) {
190
237
  throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
191
238
  }
@@ -194,22 +241,31 @@ export class Oracle {
194
241
 
195
242
  async utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]> {
196
243
  const messageHashField = Fr.fromString(messageHash);
197
- const witness = await this.typedOracle.utilityGetAuthWitness(messageHashField);
244
+ const witness = await this.handlerAsUtility().utilityGetAuthWitness(messageHashField);
198
245
  if (!witness) {
199
246
  throw new Error(`Unknown auth witness for message hash ${messageHashField}`);
200
247
  }
201
248
  return [witness.map(toACVMField)];
202
249
  }
203
250
 
204
- // TODO(benesjan): This doesn't map to the underlying oracle name which is just ugly.
205
- async utilityGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]> {
251
+ async utilityTryGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]> {
206
252
  const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
207
- const { publicKeys, partialAddress } = await this.typedOracle.utilityGetCompleteAddress(parsedAddress);
253
+ const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(parsedAddress);
208
254
 
209
- return [[...publicKeys.toFields(), partialAddress].map(toACVMField)];
255
+ // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
256
+ // with two fields: `some` (a boolean) and `value` (a field array in this case).
257
+ if (result === undefined) {
258
+ // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
259
+ return [toACVMField(0), Array(13).fill(toACVMField(0))];
260
+ } else {
261
+ // Data was found so we set `some` to 1 and return it along with `value`.
262
+ return [toACVMField(1), [...result.publicKeys.toFields(), result.partialAddress].map(toACVMField)];
263
+ }
210
264
  }
211
265
 
212
266
  async utilityGetNotes(
267
+ [ownerSome]: ACVMField[],
268
+ [ownerValue]: ACVMField[],
213
269
  [storageSlot]: ACVMField[],
214
270
  [numSelects]: ACVMField[],
215
271
  selectByIndexes: ACVMField[],
@@ -225,9 +281,12 @@ export class Oracle {
225
281
  [offset]: ACVMField[],
226
282
  [status]: ACVMField[],
227
283
  [maxNotes]: ACVMField[],
228
- [packedRetrievedNoteLength]: ACVMField[],
284
+ [packedHintedNoteLength]: ACVMField[],
229
285
  ): Promise<(ACVMField | ACVMField[])[]> {
230
- const noteDatas = await this.typedOracle.utilityGetNotes(
286
+ // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
287
+ const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
288
+ const noteDatas = await this.handlerAsUtility().utilityGetNotes(
289
+ owner,
231
290
  Fr.fromString(storageSlot),
232
291
  +numSelects,
233
292
  selectByIndexes.map(s => +s),
@@ -244,26 +303,40 @@ export class Oracle {
244
303
  +status,
245
304
  );
246
305
 
247
- const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(packAsRetrievedNote);
306
+ const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
307
+ packAsHintedNote({
308
+ contractAddress: noteData.contractAddress,
309
+ owner: noteData.owner,
310
+ randomness: noteData.randomness,
311
+ storageSlot: noteData.storageSlot,
312
+ noteNonce: noteData.noteNonce,
313
+ isPending: noteData.isPending,
314
+ note: noteData.note,
315
+ }),
316
+ );
248
317
 
249
318
  // Now we convert each sub-array to an array of ACVMField
250
- const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map(subArray =>
319
+ const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
251
320
  subArray.map(toACVMField),
252
321
  );
253
322
 
254
323
  // At last we convert the array of arrays to a bounded vec of arrays
255
- return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedRetrievedNoteLength);
324
+ return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
256
325
  }
257
326
 
258
327
  privateNotifyCreatedNote(
328
+ [owner]: ACVMField[],
259
329
  [storageSlot]: ACVMField[],
330
+ [randomness]: ACVMField[],
260
331
  [noteTypeId]: ACVMField[],
261
332
  note: ACVMField[],
262
333
  [noteHash]: ACVMField[],
263
334
  [counter]: ACVMField[],
264
335
  ): Promise<ACVMField[]> {
265
- this.typedOracle.privateNotifyCreatedNote(
336
+ this.handlerAsPrivate().privateNotifyCreatedNote(
337
+ AztecAddress.fromString(owner),
266
338
  Fr.fromString(storageSlot),
339
+ Fr.fromString(randomness),
267
340
  NoteSelector.fromField(Fr.fromString(noteTypeId)),
268
341
  note.map(Fr.fromString),
269
342
  Fr.fromString(noteHash),
@@ -277,17 +350,29 @@ export class Oracle {
277
350
  [noteHash]: ACVMField[],
278
351
  [counter]: ACVMField[],
279
352
  ): Promise<ACVMField[]> {
280
- await this.typedOracle.privateNotifyNullifiedNote(Fr.fromString(innerNullifier), Fr.fromString(noteHash), +counter);
353
+ await this.handlerAsPrivate().privateNotifyNullifiedNote(
354
+ Fr.fromString(innerNullifier),
355
+ Fr.fromString(noteHash),
356
+ +counter,
357
+ );
281
358
  return [];
282
359
  }
283
360
 
284
361
  async privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
285
- await this.typedOracle.privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
362
+ await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
286
363
  return [];
287
364
  }
288
365
 
366
+ async privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]> {
367
+ const isPending = await this.handlerAsPrivate().privateIsNullifierPending(
368
+ Fr.fromString(innerNullifier),
369
+ AztecAddress.fromString(contractAddress),
370
+ );
371
+ return [toACVMField(isPending)];
372
+ }
373
+
289
374
  async utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
290
- const exists = await this.typedOracle.utilityCheckNullifierExists(Fr.fromString(innerNullifier));
375
+ const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
291
376
  return [toACVMField(exists)];
292
377
  }
293
378
 
@@ -296,7 +381,7 @@ export class Oracle {
296
381
  [messageHash]: ACVMField[],
297
382
  [secret]: ACVMField[],
298
383
  ): Promise<(ACVMField | ACVMField[])[]> {
299
- const message = await this.typedOracle.utilityGetL1ToL2MembershipWitness(
384
+ const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(
300
385
  AztecAddress.fromString(contractAddress),
301
386
  Fr.fromString(messageHash),
302
387
  Fr.fromString(secret),
@@ -305,15 +390,15 @@ export class Oracle {
305
390
  }
306
391
 
307
392
  async utilityStorageRead(
393
+ [blockHash]: ACVMField[],
308
394
  [contractAddress]: ACVMField[],
309
395
  [startStorageSlot]: ACVMField[],
310
- [blockNumber]: ACVMField[],
311
396
  [numberOfElements]: ACVMField[],
312
397
  ): Promise<ACVMField[][]> {
313
- const values = await this.typedOracle.utilityStorageRead(
398
+ const values = await this.handlerAsUtility().utilityStorageRead(
399
+ BlockHash.fromString(blockHash),
314
400
  new AztecAddress(Fr.fromString(contractAddress)),
315
401
  Fr.fromString(startStorageSlot),
316
- +blockNumber,
317
402
  +numberOfElements,
318
403
  );
319
404
  return [values.map(toACVMField)];
@@ -328,15 +413,21 @@ export class Oracle {
328
413
  const logFields = new ContractClassLogFields(message.map(Fr.fromString));
329
414
  const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
330
415
 
331
- this.typedOracle.privateNotifyCreatedContractClassLog(log, +counter);
416
+ this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
332
417
  return Promise.resolve([]);
333
418
  }
334
419
 
335
- utilityDebugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]> {
420
+ async utilityLog(
421
+ level: ACVMField[],
422
+ message: ACVMField[],
423
+ _ignoredFieldsSize: ACVMField[],
424
+ fields: ACVMField[],
425
+ ): Promise<ACVMField[]> {
426
+ const levelFr = Fr.fromString(level[0]);
336
427
  const messageStr = message.map(acvmField => String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
337
428
  const fieldsFr = fields.map(Fr.fromString);
338
- this.typedOracle.utilityDebugLog(messageStr, fieldsFr);
339
- return Promise.resolve([]);
429
+ await this.handlerAsMisc().utilityLog(levelFr.toNumber(), messageStr, fieldsFr);
430
+ return [];
340
431
  }
341
432
 
342
433
  // This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
@@ -348,7 +439,7 @@ export class Oracle {
348
439
  [sideEffectCounter]: ACVMField[],
349
440
  [isStaticCall]: ACVMField[],
350
441
  ): Promise<ACVMField[][]> {
351
- const { endSideEffectCounter, returnsHash } = await this.typedOracle.privateCallPrivateFunction(
442
+ const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(
352
443
  AztecAddress.fromField(Fr.fromString(contractAddress)),
353
444
  FunctionSelector.fromField(Fr.fromString(functionSelector)),
354
445
  Fr.fromString(argsHash),
@@ -364,7 +455,7 @@ export class Oracle {
364
455
  [sideEffectCounter]: ACVMField[],
365
456
  [isStaticCall]: ACVMField[],
366
457
  ): Promise<ACVMField[]> {
367
- await this.typedOracle.privateNotifyEnqueuedPublicFunctionCall(
458
+ await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(
368
459
  AztecAddress.fromString(contractAddress),
369
460
  Fr.fromString(calldataHash),
370
461
  Fr.fromString(sideEffectCounter).toNumber(),
@@ -379,7 +470,7 @@ export class Oracle {
379
470
  [sideEffectCounter]: ACVMField[],
380
471
  [isStaticCall]: ACVMField[],
381
472
  ): Promise<ACVMField[]> {
382
- await this.typedOracle.privateNotifySetPublicTeardownFunctionCall(
473
+ await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(
383
474
  AztecAddress.fromString(contractAddress),
384
475
  Fr.fromString(calldataHash),
385
476
  Fr.fromString(sideEffectCounter).toNumber(),
@@ -391,42 +482,38 @@ export class Oracle {
391
482
  async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<
392
483
  ACVMField[]
393
484
  > {
394
- await this.typedOracle.privateNotifySetMinRevertibleSideEffectCounter(
485
+ await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(
395
486
  Fr.fromString(minRevertibleSideEffectCounter).toNumber(),
396
487
  );
397
488
  return Promise.resolve([]);
398
489
  }
399
490
 
400
- async utilityGetIndexedTaggingSecretAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
401
- const taggingSecret = await this.typedOracle.utilityGetIndexedTaggingSecretAsSender(
402
- AztecAddress.fromString(sender),
403
- AztecAddress.fromString(recipient),
491
+ async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
492
+ const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
493
+ Fr.fromString(sideEffectCounter).toNumber(),
404
494
  );
405
- return taggingSecret.toFields().map(toACVMField);
495
+ return Promise.resolve([toACVMField(isRevertible)]);
406
496
  }
407
497
 
408
- async privateIncrementAppTaggingSecretIndexAsSender(
409
- [sender]: ACVMField[],
410
- [recipient]: ACVMField[],
411
- ): Promise<ACVMField[]> {
412
- await this.typedOracle.privateIncrementAppTaggingSecretIndexAsSender(
498
+ async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
499
+ const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
413
500
  AztecAddress.fromString(sender),
414
501
  AztecAddress.fromString(recipient),
415
502
  );
416
- return [];
503
+ return [toACVMField(tag.value)];
417
504
  }
418
505
 
419
506
  async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]> {
420
- await this.typedOracle.utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
507
+ await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
421
508
  return [];
422
509
  }
423
510
 
424
- async utilityValidateEnqueuedNotesAndEvents(
511
+ async utilityValidateAndStoreEnqueuedNotesAndEvents(
425
512
  [contractAddress]: ACVMField[],
426
513
  [noteValidationRequestsArrayBaseSlot]: ACVMField[],
427
514
  [eventValidationRequestsArrayBaseSlot]: ACVMField[],
428
515
  ): Promise<ACVMField[]> {
429
- await this.typedOracle.utilityValidateEnqueuedNotesAndEvents(
516
+ await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(
430
517
  AztecAddress.fromString(contractAddress),
431
518
  Fr.fromString(noteValidationRequestsArrayBaseSlot),
432
519
  Fr.fromString(eventValidationRequestsArrayBaseSlot),
@@ -440,7 +527,7 @@ export class Oracle {
440
527
  [logRetrievalRequestsArrayBaseSlot]: ACVMField[],
441
528
  [logRetrievalResponsesArrayBaseSlot]: ACVMField[],
442
529
  ): Promise<ACVMField[]> {
443
- await this.typedOracle.utilityBulkRetrieveLogs(
530
+ await this.handlerAsUtility().utilityBulkRetrieveLogs(
444
531
  AztecAddress.fromString(contractAddress),
445
532
  Fr.fromString(logRetrievalRequestsArrayBaseSlot),
446
533
  Fr.fromString(logRetrievalResponsesArrayBaseSlot),
@@ -453,7 +540,7 @@ export class Oracle {
453
540
  [slot]: ACVMField[],
454
541
  capsule: ACVMField[],
455
542
  ): Promise<ACVMField[]> {
456
- await this.typedOracle.utilityStoreCapsule(
543
+ await this.handlerAsUtility().utilityStoreCapsule(
457
544
  AztecAddress.fromField(Fr.fromString(contractAddress)),
458
545
  Fr.fromString(slot),
459
546
  capsule.map(Fr.fromString),
@@ -466,7 +553,7 @@ export class Oracle {
466
553
  [slot]: ACVMField[],
467
554
  [tSize]: ACVMField[],
468
555
  ): Promise<(ACVMField | ACVMField[])[]> {
469
- const values = await this.typedOracle.utilityLoadCapsule(
556
+ const values = await this.handlerAsUtility().utilityLoadCapsule(
470
557
  AztecAddress.fromField(Fr.fromString(contractAddress)),
471
558
  Fr.fromString(slot),
472
559
  );
@@ -483,7 +570,7 @@ export class Oracle {
483
570
  }
484
571
 
485
572
  async utilityDeleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]> {
486
- await this.typedOracle.utilityDeleteCapsule(
573
+ await this.handlerAsUtility().utilityDeleteCapsule(
487
574
  AztecAddress.fromField(Fr.fromString(contractAddress)),
488
575
  Fr.fromString(slot),
489
576
  );
@@ -496,7 +583,7 @@ export class Oracle {
496
583
  [dstSlot]: ACVMField[],
497
584
  [numEntries]: ACVMField[],
498
585
  ): Promise<ACVMField[]> {
499
- await this.typedOracle.utilityCopyCapsule(
586
+ await this.handlerAsUtility().utilityCopyCapsule(
500
587
  AztecAddress.fromField(Fr.fromString(contractAddress)),
501
588
  Fr.fromString(srcSlot),
502
589
  Fr.fromString(dstSlot),
@@ -515,7 +602,7 @@ export class Oracle {
515
602
  const ivBuffer = fromUintArray(iv, 8);
516
603
  const symKeyBuffer = fromUintArray(symKey, 8);
517
604
 
518
- const plaintext = await this.typedOracle.utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
605
+ const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
519
606
  return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
520
607
  }
521
608
 
@@ -525,7 +612,7 @@ export class Oracle {
525
612
  [ephPKField1]: ACVMField[],
526
613
  [ephPKField2]: ACVMField[],
527
614
  ): Promise<ACVMField[]> {
528
- const secret = await this.typedOracle.utilityGetSharedSecret(
615
+ const secret = await this.handlerAsUtility().utilityGetSharedSecret(
529
616
  AztecAddress.fromField(Fr.fromString(address)),
530
617
  Point.fromFields([ephPKField0, ephPKField1, ephPKField2].map(Fr.fromString)),
531
618
  );
@@ -533,18 +620,18 @@ export class Oracle {
533
620
  }
534
621
 
535
622
  async utilityEmitOffchainEffect(data: ACVMField[]) {
536
- await this.typedOracle.utilityEmitOffchainEffect(data.map(Fr.fromString));
623
+ await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
537
624
  return [];
538
625
  }
539
626
 
540
627
  async privateGetSenderForTags(): Promise<ACVMField[]> {
541
- const sender = await this.typedOracle.privateGetSenderForTags();
628
+ const sender = await this.handlerAsPrivate().privateGetSenderForTags();
542
629
  // Return [1, address] for Some(address), [0, 0] for None
543
630
  return sender ? [toACVMField(1n), toACVMField(sender)] : [toACVMField(0n), toACVMField(0n)];
544
631
  }
545
632
 
546
633
  async privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]> {
547
- await this.typedOracle.privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
634
+ await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
548
635
  return [];
549
636
  }
550
637
  }