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

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 (325) hide show
  1. package/dest/bin/check_oracle_version.js +105 -15
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +37 -0
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  4. package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +20 -22
  5. package/dest/block_synchronizer/index.d.ts +2 -0
  6. package/dest/block_synchronizer/index.d.ts.map +1 -0
  7. package/dest/block_synchronizer/index.js +1 -0
  8. package/dest/config/index.d.ts +4 -4
  9. package/dest/config/index.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/contract_function_simulator.d.ts +41 -12
  11. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  12. package/dest/contract_function_simulator/contract_function_simulator.js +46 -19
  13. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -3
  14. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  15. package/dest/contract_function_simulator/execution_note_cache.js +4 -3
  16. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +1 -1
  17. package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
  18. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  19. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
  21. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  23. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  24. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  25. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
  26. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  28. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -4
  29. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -3
  31. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +2 -2
  32. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -1
  34. package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -13
  35. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
  37. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  39. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +7 -3
  40. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/oracle/note_packing_utils.js +7 -3
  42. package/dest/contract_function_simulator/oracle/oracle.d.ts +3 -3
  43. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/oracle/oracle.js +27 -15
  45. package/dest/contract_function_simulator/oracle/private_execution.d.ts +9 -10
  46. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/oracle/private_execution.js +12 -12
  48. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +22 -11
  49. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  50. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +29 -17
  51. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +58 -16
  52. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +147 -40
  54. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  55. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/pick_notes.js +1 -1
  57. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  58. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  60. package/dest/debug/pxe_debug_utils.d.ts +31 -0
  61. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  62. package/dest/debug/pxe_debug_utils.js +37 -0
  63. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  64. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  65. package/dest/entrypoints/client/bundle/index.js +0 -1
  66. package/dest/entrypoints/client/bundle/utils.js +2 -2
  67. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  68. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  69. package/dest/entrypoints/client/lazy/index.js +0 -1
  70. package/dest/entrypoints/client/lazy/utils.js +2 -2
  71. package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
  72. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  73. package/dest/entrypoints/server/index.d.ts +2 -2
  74. package/dest/entrypoints/server/index.d.ts.map +1 -1
  75. package/dest/entrypoints/server/index.js +1 -1
  76. package/dest/entrypoints/server/utils.js +1 -1
  77. package/dest/error_enriching.d.ts +4 -4
  78. package/dest/error_enriching.d.ts.map +1 -1
  79. package/dest/error_enriching.js +6 -6
  80. package/dest/events/event_service.d.ts +15 -0
  81. package/dest/events/event_service.d.ts.map +1 -0
  82. package/dest/events/event_service.js +47 -0
  83. package/dest/events/index.d.ts +2 -0
  84. package/dest/events/index.d.ts.map +1 -0
  85. package/dest/events/index.js +1 -0
  86. package/dest/events/private_event_filter_validator.d.ts +9 -0
  87. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  88. package/dest/events/private_event_filter_validator.js +39 -0
  89. package/dest/logs/log_service.d.ts +26 -0
  90. package/dest/logs/log_service.d.ts.map +1 -0
  91. package/dest/logs/log_service.js +120 -0
  92. package/dest/notes/index.d.ts +2 -0
  93. package/dest/notes/index.d.ts.map +1 -0
  94. package/dest/notes/index.js +1 -0
  95. package/dest/notes/note_service.d.ts +48 -0
  96. package/dest/notes/note_service.d.ts.map +1 -0
  97. package/dest/notes/note_service.js +152 -0
  98. package/dest/oracle_version.d.ts +2 -2
  99. package/dest/oracle_version.js +2 -2
  100. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  101. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  102. package/dest/private_kernel/private_kernel_execution_prover.js +4 -4
  103. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
  104. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  105. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +7 -6
  106. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
  107. package/dest/private_kernel/private_kernel_oracle_impl.js +7 -7
  108. package/dest/public_storage/public_storage_service.d.ts +24 -0
  109. package/dest/public_storage/public_storage_service.d.ts.map +1 -0
  110. package/dest/public_storage/public_storage_service.js +26 -0
  111. package/dest/pxe.d.ts +38 -46
  112. package/dest/pxe.d.ts.map +1 -1
  113. package/dest/pxe.js +130 -141
  114. package/dest/storage/address_store/address_store.d.ts +11 -0
  115. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  116. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
  117. package/dest/storage/address_store/index.d.ts +2 -0
  118. package/dest/storage/address_store/index.d.ts.map +1 -0
  119. package/dest/storage/address_store/index.js +1 -0
  120. package/dest/storage/{sync_data_provider/sync_data_provider.d.ts → anchor_block_store/anchor_block_store.d.ts} +2 -3
  121. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  122. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
  123. package/dest/storage/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
  124. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  125. package/dest/storage/anchor_block_store/index.js +1 -0
  126. package/dest/storage/capsule_store/capsule_store.d.ts +57 -0
  127. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  128. package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +34 -6
  129. package/dest/storage/capsule_store/index.d.ts +2 -0
  130. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  131. package/dest/storage/capsule_store/index.js +1 -0
  132. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +7 -5
  133. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  134. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +34 -3
  135. package/dest/storage/contract_store/index.d.ts +2 -0
  136. package/dest/storage/contract_store/index.d.ts.map +1 -0
  137. package/dest/storage/contract_store/index.js +1 -0
  138. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  139. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  140. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  141. package/dest/storage/index.d.ts +8 -8
  142. package/dest/storage/index.d.ts.map +1 -1
  143. package/dest/storage/index.js +7 -7
  144. package/dest/storage/note_store/index.d.ts +3 -0
  145. package/dest/storage/note_store/index.d.ts.map +1 -0
  146. package/dest/storage/note_store/index.js +2 -0
  147. package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +13 -12
  148. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  149. package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +20 -9
  150. package/dest/storage/private_event_store/private_event_store.d.ts +51 -0
  151. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  152. package/dest/storage/{private_event_data_provider/private_event_data_provider.js → private_event_store/private_event_store.js} +37 -27
  153. package/dest/storage/tagging_store/index.d.ts +4 -0
  154. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  155. package/dest/storage/tagging_store/index.js +3 -0
  156. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
  157. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  158. package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
  159. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  160. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  161. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  162. package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
  163. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  164. package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
  165. package/dest/tagging/index.d.ts +15 -6
  166. package/dest/tagging/index.d.ts.map +1 -1
  167. package/dest/tagging/index.js +23 -5
  168. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
  169. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  170. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  171. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  172. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  173. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  174. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
  175. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  176. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
  177. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
  178. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  179. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  180. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  181. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  182. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
  183. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
  184. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  185. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
  186. package/dest/tree_membership/tree_membership_service.d.ts +52 -0
  187. package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
  188. package/dest/tree_membership/tree_membership_service.js +84 -0
  189. package/package.json +17 -17
  190. package/src/bin/check_oracle_version.ts +130 -20
  191. package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +19 -22
  192. package/src/block_synchronizer/index.ts +1 -0
  193. package/src/config/index.ts +3 -3
  194. package/src/contract_function_simulator/contract_function_simulator.ts +79 -17
  195. package/src/contract_function_simulator/execution_note_cache.ts +7 -3
  196. package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
  197. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  198. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  199. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  200. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -1
  201. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +5 -2
  202. package/src/contract_function_simulator/noir-structs/utility_context.ts +1 -1
  203. package/src/contract_function_simulator/oracle/interfaces.ts +15 -10
  204. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  205. package/src/contract_function_simulator/oracle/note_packing_utils.ts +17 -3
  206. package/src/contract_function_simulator/oracle/oracle.ts +33 -11
  207. package/src/contract_function_simulator/oracle/private_execution.ts +17 -15
  208. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +91 -22
  209. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +223 -47
  210. package/src/contract_function_simulator/pick_notes.ts +1 -1
  211. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  212. package/src/debug/pxe_debug_utils.ts +48 -0
  213. package/src/entrypoints/client/bundle/index.ts +0 -1
  214. package/src/entrypoints/client/bundle/utils.ts +2 -2
  215. package/src/entrypoints/client/lazy/index.ts +0 -1
  216. package/src/entrypoints/client/lazy/utils.ts +2 -2
  217. package/src/entrypoints/pxe_creation_options.ts +2 -0
  218. package/src/entrypoints/server/index.ts +1 -1
  219. package/src/entrypoints/server/utils.ts +1 -1
  220. package/src/error_enriching.ts +7 -15
  221. package/src/events/event_service.ts +77 -0
  222. package/src/events/index.ts +1 -0
  223. package/src/events/private_event_filter_validator.ts +48 -0
  224. package/src/logs/log_service.ts +202 -0
  225. package/src/notes/index.ts +1 -0
  226. package/src/notes/note_service.ts +200 -0
  227. package/src/oracle_version.ts +2 -2
  228. package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +1 -1
  229. package/src/private_kernel/private_kernel_execution_prover.ts +5 -4
  230. package/src/private_kernel/private_kernel_oracle.ts +2 -1
  231. package/src/private_kernel/private_kernel_oracle_impl.ts +10 -9
  232. package/src/public_storage/public_storage_service.ts +33 -0
  233. package/src/pxe.ts +151 -179
  234. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
  235. package/src/storage/address_store/index.ts +1 -0
  236. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
  237. package/src/storage/anchor_block_store/index.ts +1 -0
  238. package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +34 -2
  239. package/src/storage/capsule_store/index.ts +1 -0
  240. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +45 -3
  241. package/src/storage/contract_store/index.ts +1 -0
  242. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  243. package/src/storage/index.ts +7 -7
  244. package/src/storage/note_store/index.ts +2 -0
  245. package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +26 -13
  246. package/src/storage/{private_event_data_provider/private_event_data_provider.ts → private_event_store/private_event_store.ts} +60 -41
  247. package/src/storage/tagging_store/index.ts +3 -0
  248. package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
  249. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  250. package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
  251. package/src/tagging/index.ts +27 -5
  252. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +129 -0
  253. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  254. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
  255. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
  256. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -0
  257. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
  258. package/src/tree_membership/tree_membership_service.ts +112 -0
  259. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -265
  260. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  261. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  262. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  263. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  264. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -694
  265. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  266. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  267. package/dest/storage/address_data_provider/index.d.ts +0 -2
  268. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  269. package/dest/storage/address_data_provider/index.js +0 -1
  270. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  271. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  272. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  273. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  274. package/dest/storage/capsule_data_provider/index.js +0 -1
  275. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  276. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  277. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  278. package/dest/storage/contract_data_provider/index.js +0 -1
  279. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  280. package/dest/storage/note_data_provider/index.d.ts +0 -3
  281. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  282. package/dest/storage/note_data_provider/index.js +0 -2
  283. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  284. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  285. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  286. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  287. package/dest/storage/sync_data_provider/index.js +0 -1
  288. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  289. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  290. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  291. package/dest/storage/tagging_data_provider/index.js +0 -1
  292. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  293. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  294. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  295. package/dest/synchronizer/index.d.ts +0 -2
  296. package/dest/synchronizer/index.d.ts.map +0 -1
  297. package/dest/synchronizer/index.js +0 -1
  298. package/dest/synchronizer/synchronizer.d.ts +0 -35
  299. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  300. package/dest/tagging/constants.d.ts +0 -2
  301. package/dest/tagging/constants.d.ts.map +0 -1
  302. package/dest/tagging/constants.js +0 -2
  303. package/dest/tagging/siloed_tag.d.ts +0 -14
  304. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  305. package/dest/tagging/siloed_tag.js +0 -20
  306. package/dest/tagging/tag.d.ts +0 -12
  307. package/dest/tagging/tag.d.ts.map +0 -1
  308. package/dest/tagging/tag.js +0 -17
  309. package/dest/tagging/utils.d.ts +0 -18
  310. package/dest/tagging/utils.d.ts.map +0 -1
  311. package/dest/tagging/utils.js +0 -24
  312. package/src/contract_function_simulator/execution_data_provider.ts +0 -333
  313. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1008
  314. package/src/storage/address_data_provider/index.ts +0 -1
  315. package/src/storage/capsule_data_provider/index.ts +0 -1
  316. package/src/storage/contract_data_provider/index.ts +0 -1
  317. package/src/storage/note_data_provider/index.ts +0 -2
  318. package/src/storage/sync_data_provider/index.ts +0 -1
  319. package/src/storage/tagging_data_provider/index.ts +0 -1
  320. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  321. package/src/synchronizer/index.ts +0 -1
  322. package/src/tagging/constants.ts +0 -2
  323. package/src/tagging/siloed_tag.ts +0 -22
  324. package/src/tagging/tag.ts +0 -16
  325. package/src/tagging/utils.ts +0 -31
@@ -1,15 +1,16 @@
1
1
  import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
- import { Fr, Point } from '@aztec/foundation/fields';
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';
3
5
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
4
6
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
7
  import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
6
8
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
7
- import type { ContractClassLog } from '@aztec/stdlib/logs';
9
+ import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
8
10
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
9
11
  import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
10
12
  import type { BlockHeader } from '@aztec/stdlib/tx';
11
13
 
12
- import type { Tag } from '../../tagging/tag.js';
13
14
  import type { UtilityContext } from '../noir-structs/utility_context.js';
14
15
  import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
15
16
 
@@ -21,6 +22,8 @@ export interface NoteData {
21
22
  note: Note;
22
23
  /** The address of the contract that owns the note. */
23
24
  contractAddress: AztecAddress;
25
+ /** The owner of the note. */
26
+ owner: AztecAddress;
24
27
  /** The storage slot of the note. */
25
28
  storageSlot: Fr;
26
29
  /** The randomness injected to the note */
@@ -59,23 +62,24 @@ export interface IMiscOracle {
59
62
  export interface IUtilityExecutionOracle {
60
63
  isUtility: true;
61
64
 
62
- utilityGetUtilityContext(): Promise<UtilityContext>;
65
+ utilityGetUtilityContext(): UtilityContext;
63
66
  utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
64
67
  utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
65
- utilityGetMembershipWitness(blockNumber: number, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
68
+ utilityGetMembershipWitness(blockNumber: BlockNumber, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
66
69
  utilityGetNullifierMembershipWitness(
67
- blockNumber: number,
70
+ blockNumber: BlockNumber,
68
71
  nullifier: Fr,
69
72
  ): Promise<NullifierMembershipWitness | undefined>;
70
- utilityGetPublicDataWitness(blockNumber: number, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
73
+ utilityGetPublicDataWitness(blockNumber: BlockNumber, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
71
74
  utilityGetLowNullifierMembershipWitness(
72
- blockNumber: number,
75
+ blockNumber: BlockNumber,
73
76
  nullifier: Fr,
74
77
  ): Promise<NullifierMembershipWitness | undefined>;
75
- utilityGetBlockHeader(blockNumber: number): Promise<BlockHeader | undefined>;
78
+ utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
76
79
  utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
77
80
  utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
78
81
  utilityGetNotes(
82
+ owner: AztecAddress | undefined,
79
83
  storageSlot: Fr,
80
84
  numSelects: number,
81
85
  selectByIndexes: number[],
@@ -100,7 +104,7 @@ export interface IUtilityExecutionOracle {
100
104
  utilityStorageRead(
101
105
  contractAddress: AztecAddress,
102
106
  startStorageSlot: Fr,
103
- blockNumber: number,
107
+ blockNumber: BlockNumber,
104
108
  numberOfElements: number,
105
109
  ): Promise<Fr[]>;
106
110
  utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
@@ -132,6 +136,7 @@ export interface IPrivateExecutionOracle {
132
136
  privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
133
137
  privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
134
138
  privateNotifyCreatedNote(
139
+ owner: AztecAddress,
135
140
  storageSlot: Fr,
136
141
  randomness: Fr,
137
142
  noteTypeId: NoteSelector,
@@ -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
 
@@ -24,7 +24,9 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
24
24
  * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
25
25
  *
26
26
  * @param contractAddress - The address of the contract that owns the note
27
+ * @param owner - The owner of the note
27
28
  * @param randomness - The randomness injected into the note to get the hiding property of commitments
29
+ * @param storageSlot - The storage slot of the note
28
30
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
29
31
  * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
30
32
  * @param note - The note content containing the actual note data
@@ -32,13 +34,17 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
32
34
  */
33
35
  export function packAsRetrievedNote({
34
36
  contractAddress,
37
+ owner,
35
38
  randomness,
39
+ storageSlot,
36
40
  noteNonce,
37
41
  index,
38
42
  note,
39
43
  }: {
40
44
  contractAddress: AztecAddress;
45
+ owner: AztecAddress;
41
46
  randomness: Fr;
47
+ storageSlot: Fr;
42
48
  noteNonce: Fr;
43
49
  index?: bigint;
44
50
  note: Note;
@@ -49,6 +55,14 @@ export function packAsRetrievedNote({
49
55
  // To pack the note as retrieved note we first need to reconstruct the note metadata.
50
56
  const noteMetadata = fromRawData(nonzeroNoteHashCounter, noteNonce);
51
57
 
52
- // Pack metadata first (stage and maybe_note_nonce), followed by the rest
53
- return [...note.items, contractAddress, randomness, new Fr(noteMetadata.stage), noteMetadata.maybeNoteNonce];
58
+ // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
59
+ return [
60
+ ...note.items,
61
+ contractAddress,
62
+ owner,
63
+ randomness,
64
+ storageSlot,
65
+ new Fr(noteMetadata.stage),
66
+ noteMetadata.maybeNoteNonce,
67
+ ];
54
68
  }
@@ -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,
@@ -110,9 +112,9 @@ export class Oracle {
110
112
  return [values.map(toACVMField)];
111
113
  }
112
114
 
113
- async utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
114
- const context = await this.handlerAsUtility().utilityGetUtilityContext();
115
- return context.toNoirRepresentation();
115
+ utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
116
+ const context = this.handlerAsUtility().utilityGetUtilityContext();
117
+ return Promise.resolve(context.toNoirRepresentation());
116
118
  }
117
119
 
118
120
  async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
@@ -145,7 +147,7 @@ export class Oracle {
145
147
  const parsedLeafValue = Fr.fromString(leafValue);
146
148
 
147
149
  const witness = await this.handlerAsUtility().utilityGetMembershipWitness(
148
- parsedBlockNumber,
150
+ BlockNumber(parsedBlockNumber),
149
151
  parsedTreeId,
150
152
  parsedLeafValue,
151
153
  );
@@ -165,7 +167,7 @@ export class Oracle {
165
167
  const parsedNullifier = Fr.fromString(nullifier);
166
168
 
167
169
  const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
168
- parsedBlockNumber,
170
+ BlockNumber(parsedBlockNumber),
169
171
  parsedNullifier,
170
172
  );
171
173
  if (!witness) {
@@ -182,7 +184,7 @@ export class Oracle {
182
184
  const parsedNullifier = Fr.fromString(nullifier);
183
185
 
184
186
  const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
185
- parsedBlockNumber,
187
+ BlockNumber(parsedBlockNumber),
186
188
  parsedNullifier,
187
189
  );
188
190
  if (!witness) {
@@ -200,7 +202,10 @@ export class Oracle {
200
202
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
201
203
  const parsedLeafSlot = Fr.fromString(leafSlot);
202
204
 
203
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockNumber, parsedLeafSlot);
205
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(
206
+ BlockNumber(parsedBlockNumber),
207
+ parsedLeafSlot,
208
+ );
204
209
  if (!witness) {
205
210
  throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
206
211
  }
@@ -210,7 +215,7 @@ export class Oracle {
210
215
  async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
211
216
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
212
217
 
213
- const header = await this.handlerAsUtility().utilityGetBlockHeader(parsedBlockNumber);
218
+ const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
214
219
  if (!header) {
215
220
  throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
216
221
  }
@@ -235,6 +240,8 @@ export class Oracle {
235
240
  }
236
241
 
237
242
  async utilityGetNotes(
243
+ [ownerSome]: ACVMField[],
244
+ [ownerValue]: ACVMField[],
238
245
  [storageSlot]: ACVMField[],
239
246
  [numSelects]: ACVMField[],
240
247
  selectByIndexes: ACVMField[],
@@ -252,7 +259,10 @@ export class Oracle {
252
259
  [maxNotes]: ACVMField[],
253
260
  [packedRetrievedNoteLength]: ACVMField[],
254
261
  ): Promise<(ACVMField | ACVMField[])[]> {
262
+ // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
263
+ const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
255
264
  const noteDatas = await this.handlerAsUtility().utilityGetNotes(
265
+ owner,
256
266
  Fr.fromString(storageSlot),
257
267
  +numSelects,
258
268
  selectByIndexes.map(s => +s),
@@ -269,7 +279,17 @@ export class Oracle {
269
279
  +status,
270
280
  );
271
281
 
272
- const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(packAsRetrievedNote);
282
+ const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(noteData =>
283
+ packAsRetrievedNote({
284
+ contractAddress: noteData.contractAddress,
285
+ owner: noteData.owner,
286
+ randomness: noteData.randomness,
287
+ storageSlot: noteData.storageSlot,
288
+ noteNonce: noteData.noteNonce,
289
+ index: noteData.index,
290
+ note: noteData.note,
291
+ }),
292
+ );
273
293
 
274
294
  // Now we convert each sub-array to an array of ACVMField
275
295
  const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map(subArray =>
@@ -281,6 +301,7 @@ export class Oracle {
281
301
  }
282
302
 
283
303
  privateNotifyCreatedNote(
304
+ [owner]: ACVMField[],
284
305
  [storageSlot]: ACVMField[],
285
306
  [randomness]: ACVMField[],
286
307
  [noteTypeId]: ACVMField[],
@@ -289,6 +310,7 @@ export class Oracle {
289
310
  [counter]: ACVMField[],
290
311
  ): Promise<ACVMField[]> {
291
312
  this.handlerAsPrivate().privateNotifyCreatedNote(
313
+ AztecAddress.fromString(owner),
292
314
  Fr.fromString(storageSlot),
293
315
  Fr.fromString(randomness),
294
316
  NoteSelector.fromField(Fr.fromString(noteTypeId)),
@@ -344,7 +366,7 @@ export class Oracle {
344
366
  const values = await this.handlerAsUtility().utilityStorageRead(
345
367
  new AztecAddress(Fr.fromString(contractAddress)),
346
368
  Fr.fromString(startStorageSlot),
347
- +blockNumber,
369
+ BlockNumber(+blockNumber),
348
370
  +numberOfElements,
349
371
  );
350
372
  return [values.map(toACVMField)];
@@ -1,5 +1,6 @@
1
1
  import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { createLogger } from '@aztec/foundation/log';
4
5
  import { Timer } from '@aztec/foundation/timer';
5
6
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
@@ -26,7 +27,7 @@ import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
26
27
  import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
27
28
  import type { UInt64 } from '@aztec/stdlib/types';
28
29
 
29
- import type { ExecutionDataProvider } from '../execution_data_provider.js';
30
+ import { ContractStore } from '../../storage/contract_store/index.js';
30
31
  import { Oracle } from './oracle.js';
31
32
  import type { PrivateExecutionOracle } from './private_execution_oracle.js';
32
33
 
@@ -153,7 +154,7 @@ export function extractPrivateCircuitPublicInputs(
153
154
  * from the instance is used.
154
155
  * @param contractAddress - The address of the contract to read the class id for.
155
156
  * @param instance - The instance of the contract.
156
- * @param executionDataProvider - The execution data provider.
157
+ * @param executionStore - The execution data provider.
157
158
  * @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
158
159
  * @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
159
160
  * @returns The current class id.
@@ -161,13 +162,13 @@ export function extractPrivateCircuitPublicInputs(
161
162
  export async function readCurrentClassId(
162
163
  contractAddress: AztecAddress,
163
164
  instance: ContractInstance,
164
- executionDataProvider: ExecutionDataProvider | AztecNode,
165
- blockNumber: number,
165
+ aztecNode: AztecNode,
166
+ blockNumber: BlockNumber,
166
167
  timestamp: UInt64,
167
168
  ) {
168
169
  const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
169
170
  const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, slot =>
170
- executionDataProvider.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot),
171
+ aztecNode.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot),
171
172
  );
172
173
  let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
173
174
  if (currentClassId.isZero()) {
@@ -177,25 +178,26 @@ export async function readCurrentClassId(
177
178
  }
178
179
 
179
180
  /**
180
- * Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
181
- * provider (i.e. PXE).
182
- * @param contractAddress - The address of the contract to verify class id for.
183
- * @param executionDataProvider - The execution data provider.
181
+ * Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
182
+ * provider (i.e. PXE's own storage).
184
183
  * @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
185
184
  * header of the execution data provider is used.
186
185
  */
187
186
  export async function verifyCurrentClassId(
188
187
  contractAddress: AztecAddress,
189
- executionDataProvider: ExecutionDataProvider,
190
- header?: BlockHeader,
188
+ aztecNode: AztecNode,
189
+ contractStore: ContractStore,
190
+ header: BlockHeader,
191
191
  ) {
192
- header = header ?? (await executionDataProvider.getAnchorBlockHeader());
192
+ const instance = await contractStore.getContractInstance(contractAddress);
193
+ if (!instance) {
194
+ throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
195
+ }
193
196
 
194
- const instance = await executionDataProvider.getContractInstance(contractAddress);
195
197
  const currentClassId = await readCurrentClassId(
196
198
  contractAddress,
197
199
  instance,
198
- executionDataProvider,
200
+ aztecNode,
199
201
  header.globalVariables.blockNumber,
200
202
  header.globalVariables.timestamp,
201
203
  );
@@ -1,7 +1,8 @@
1
1
  import { MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { Timer } from '@aztec/foundation/timer';
5
+ import type { KeyStore } from '@aztec/key-store';
5
6
  import { type CircuitSimulator, toACVMWitness } from '@aztec/simulator/client';
6
7
  import {
7
8
  type FunctionAbi,
@@ -13,8 +14,10 @@ import {
13
14
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
14
15
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
15
16
  import { computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
17
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
16
18
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
17
- import type { ContractClassLog, DirectionalAppTaggingSecret, PreTag } from '@aztec/stdlib/logs';
19
+ import { type ContractClassLog, DirectionalAppTaggingSecret, type PreTag } from '@aztec/stdlib/logs';
20
+ import { Tag } from '@aztec/stdlib/logs';
18
21
  import { Note, type NoteStatus } from '@aztec/stdlib/note';
19
22
  import {
20
23
  type BlockHeader,
@@ -26,8 +29,17 @@ import {
26
29
  type TxContext,
27
30
  } from '@aztec/stdlib/tx';
28
31
 
29
- import { Tag } from '../../tagging/tag.js';
30
- import type { ExecutionDataProvider } from '../execution_data_provider.js';
32
+ import { NoteService } from '../../notes/note_service.js';
33
+ import type { AddressStore } from '../../storage/address_store/address_store.js';
34
+ import type { AnchorBlockStore } from '../../storage/anchor_block_store/anchor_block_store.js';
35
+ import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
36
+ import type { ContractStore } from '../../storage/contract_store/contract_store.js';
37
+ import type { NoteStore } from '../../storage/note_store/note_store.js';
38
+ import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js';
39
+ import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js';
40
+ import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js';
41
+ import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
42
+ import { syncSenderTaggingIndexes } from '../../tagging/index.js';
31
43
  import type { ExecutionNoteCache } from '../execution_note_cache.js';
32
44
  import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
33
45
  import type { HashedValuesCache } from '../hashed_values_cache.js';
@@ -71,14 +83,24 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
71
83
  private readonly txContext: TxContext,
72
84
  private readonly callContext: CallContext,
73
85
  /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
74
- protected readonly anchorBlockHeader: BlockHeader,
86
+ protected override readonly anchorBlockHeader: BlockHeader,
75
87
  /** List of transient auth witnesses to be used during this simulation */
76
88
  authWitnesses: AuthWitness[],
77
89
  capsules: Capsule[],
78
90
  private readonly executionCache: HashedValuesCache,
79
91
  private readonly noteCache: ExecutionNoteCache,
80
92
  private readonly taggingIndexCache: ExecutionTaggingIndexCache,
81
- executionDataProvider: ExecutionDataProvider,
93
+ contractStore: ContractStore,
94
+ noteStore: NoteStore,
95
+ keyStore: KeyStore,
96
+ addressStore: AddressStore,
97
+ aztecNode: AztecNode,
98
+ anchorBlockStore: AnchorBlockStore,
99
+ private readonly senderTaggingStore: SenderTaggingStore,
100
+ recipientTaggingStore: RecipientTaggingStore,
101
+ senderAddressBookStore: SenderAddressBookStore,
102
+ capsuleStore: CapsuleStore,
103
+ privateEventStore: PrivateEventStore,
82
104
  private totalPublicCalldataCount: number = 0,
83
105
  protected sideEffectCounter: number = 0,
84
106
  log = createLogger('simulator:client_execution_context'),
@@ -86,7 +108,24 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
86
108
  private senderForTags?: AztecAddress,
87
109
  private simulator?: CircuitSimulator,
88
110
  ) {
89
- super(callContext.contractAddress, authWitnesses, capsules, executionDataProvider, log, scopes);
111
+ super(
112
+ callContext.contractAddress,
113
+ authWitnesses,
114
+ capsules,
115
+ anchorBlockHeader,
116
+ contractStore,
117
+ noteStore,
118
+ keyStore,
119
+ addressStore,
120
+ aztecNode,
121
+ anchorBlockStore,
122
+ recipientTaggingStore,
123
+ senderAddressBookStore,
124
+ capsuleStore,
125
+ privateEventStore,
126
+ log,
127
+ scopes,
128
+ );
90
129
  }
91
130
 
92
131
  public getPrivateContextInputs(): PrivateContextInputs {
@@ -152,7 +191,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
152
191
  }
153
192
 
154
193
  /**
155
- * Returns the pre tags that were used in this execution (and that need to be stored in the db).
194
+ * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
156
195
  */
157
196
  public getUsedPreTags(): PreTag[] {
158
197
  return this.taggingIndexCache.getUsedPreTags();
@@ -202,11 +241,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
202
241
  * @returns An app tag to be used in a log.
203
242
  */
204
243
  public async privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag> {
205
- const secret = await this.executionDataProvider.calculateDirectionalAppTaggingSecret(
206
- this.contractAddress,
207
- sender,
208
- recipient,
209
- );
244
+ const secret = await this.#calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
210
245
 
211
246
  const index = await this.#getIndexToUseForSecret(secret);
212
247
  this.log.debug(
@@ -217,6 +252,22 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
217
252
  return Tag.compute({ secret, index });
218
253
  }
219
254
 
255
+ async #calculateDirectionalAppTaggingSecret(
256
+ contractAddress: AztecAddress,
257
+ sender: AztecAddress,
258
+ recipient: AztecAddress,
259
+ ) {
260
+ const senderCompleteAddress = await this.getCompleteAddress(sender);
261
+ const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
262
+ return DirectionalAppTaggingSecret.compute(
263
+ senderCompleteAddress,
264
+ senderIvsk,
265
+ recipient,
266
+ contractAddress,
267
+ recipient,
268
+ );
269
+ }
270
+
220
271
  async #getIndexToUseForSecret(secret: DirectionalAppTaggingSecret): Promise<number> {
221
272
  // If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
222
273
  const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
@@ -227,8 +278,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
227
278
  // This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
228
279
  // are up to date. We do this here because this store is not synced as part of the global sync because
229
280
  // that'd be wasteful as most tagging secrets are not used in each tx.
230
- await this.executionDataProvider.syncTaggedLogsAsSender(secret, this.contractAddress);
231
- const lastUsedIndex = await this.executionDataProvider.getLastUsedIndexAsSender(secret);
281
+ await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingStore);
282
+
283
+ const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret);
232
284
  // If lastUsedIndex is undefined, we've never used this secret, so start from 0
233
285
  // Otherwise, the next index to use is one past the last used index
234
286
  return lastUsedIndex === undefined ? 0 : lastUsedIndex + 1;
@@ -282,6 +334,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
282
334
  * Real notes coming from DB will have a leafIndex which
283
335
  * represents their index in the note hash tree.
284
336
  *
337
+ * @param owner - The owner of the notes. If undefined, returns notes for all owners.
285
338
  * @param storageSlot - The storage slot.
286
339
  * @param numSelects - The number of valid selects in selectBy and selectValues.
287
340
  * @param selectBy - An array of indices of the fields to selects.
@@ -295,6 +348,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
295
348
  * @returns Array of note data.
296
349
  */
297
350
  public override async utilityGetNotes(
351
+ owner: AztecAddress | undefined,
298
352
  storageSlot: Fr,
299
353
  numSelects: number,
300
354
  selectByIndexes: number[],
@@ -311,11 +365,14 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
311
365
  status: NoteStatus,
312
366
  ): Promise<NoteData[]> {
313
367
  // Nullified pending notes are already removed from the list.
314
- const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, storageSlot);
368
+ const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
315
369
 
316
370
  const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
317
- const dbNotes = await this.executionDataProvider.getNotes(
371
+
372
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
373
+ const dbNotes = await noteService.getNotes(
318
374
  this.callContext.contractAddress,
375
+ owner,
319
376
  storageSlot,
320
377
  status,
321
378
  this.scopes,
@@ -365,7 +422,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
365
422
  /**
366
423
  * Keep track of the new note created during execution.
367
424
  * It can be used in subsequent calls (or transactions when chaining txs is possible).
368
- * @param contractAddress - The contract address.
425
+ * @param owner - The owner of the note.
369
426
  * @param storageSlot - The storage slot.
370
427
  * @param randomness - The randomness injected into the note.
371
428
  * @param noteTypeId - The type ID of the note.
@@ -374,6 +431,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
374
431
  * @returns
375
432
  */
376
433
  public privateNotifyCreatedNote(
434
+ owner: AztecAddress,
377
435
  storageSlot: Fr,
378
436
  randomness: Fr,
379
437
  noteTypeId: NoteSelector,
@@ -393,6 +451,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
393
451
  this.noteCache.addNewNote(
394
452
  {
395
453
  contractAddress: this.callContext.contractAddress,
454
+ owner,
396
455
  storageSlot,
397
456
  randomness,
398
457
  noteNonce: Fr.ZERO, // Nonce cannot be known during private execution.
@@ -489,9 +548,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
489
548
 
490
549
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
491
550
 
492
- await verifyCurrentClassId(targetContractAddress, this.executionDataProvider, this.anchorBlockHeader);
551
+ await verifyCurrentClassId(targetContractAddress, this.aztecNode, this.contractStore, this.anchorBlockHeader);
493
552
 
494
- const targetArtifact = await this.executionDataProvider.getFunctionArtifact(
553
+ const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(
495
554
  targetContractAddress,
496
555
  functionSelector,
497
556
  );
@@ -510,7 +569,17 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
510
569
  this.executionCache,
511
570
  this.noteCache,
512
571
  this.taggingIndexCache,
513
- this.executionDataProvider,
572
+ this.contractStore,
573
+ this.noteStore,
574
+ this.keyStore,
575
+ this.addressStore,
576
+ this.aztecNode,
577
+ this.anchorBlockStore,
578
+ this.senderTaggingStore,
579
+ this.recipientTaggingStore,
580
+ this.senderAddressBookStore,
581
+ this.capsuleStore,
582
+ this.privateEventStore,
514
583
  this.totalPublicCalldataCount,
515
584
  sideEffectCounter,
516
585
  this.log,
@@ -623,7 +692,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
623
692
  }
624
693
 
625
694
  public getDebugFunctionName() {
626
- return this.executionDataProvider.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
695
+ return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
627
696
  }
628
697
 
629
698
  public utilityEmitOffchainEffect(data: Fr[]): Promise<void> {