@aztec/pxe 0.0.1-commit.b655e406 → 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 (350) hide show
  1. package/dest/bin/check_oracle_version.d.ts +1 -1
  2. package/dest/bin/check_oracle_version.js +105 -15
  3. package/dest/block_synchronizer/block_synchronizer.d.ts +37 -0
  4. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  5. package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +20 -22
  6. package/dest/block_synchronizer/index.d.ts +2 -0
  7. package/dest/block_synchronizer/index.d.ts.map +1 -0
  8. package/dest/block_synchronizer/index.js +1 -0
  9. package/dest/config/index.d.ts +4 -12
  10. package/dest/config/index.d.ts.map +1 -1
  11. package/dest/config/index.js +7 -13
  12. package/dest/config/package_info.d.ts +1 -1
  13. package/dest/contract_function_simulator/contract_function_simulator.d.ts +43 -14
  14. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  15. package/dest/contract_function_simulator/contract_function_simulator.js +55 -29
  16. package/dest/contract_function_simulator/execution_note_cache.d.ts +9 -7
  17. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  18. package/dest/contract_function_simulator/execution_note_cache.js +21 -13
  19. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
  20. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  21. package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
  22. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  23. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  24. package/dest/contract_function_simulator/index.d.ts +1 -1
  25. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
  26. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  28. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  29. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  30. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  31. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  33. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -4
  34. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +12 -3
  36. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +2 -2
  37. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -1
  39. package/dest/contract_function_simulator/oracle/index.d.ts +1 -1
  40. package/dest/contract_function_simulator/oracle/interfaces.d.ts +19 -13
  41. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -4
  43. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  45. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +10 -4
  46. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/oracle/note_packing_utils.js +10 -5
  48. package/dest/contract_function_simulator/oracle/oracle.d.ts +5 -4
  49. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  50. package/dest/contract_function_simulator/oracle/oracle.js +34 -17
  51. package/dest/contract_function_simulator/oracle/private_execution.d.ts +9 -10
  52. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/oracle/private_execution.js +12 -12
  54. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +24 -18
  55. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +41 -18
  57. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +58 -17
  58. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +147 -40
  60. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  61. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/pick_notes.js +1 -1
  63. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  64. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  65. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  66. package/dest/contract_function_simulator/proxied_node.d.ts +1 -1
  67. package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -1
  68. package/dest/debug/pxe_debug_utils.d.ts +31 -0
  69. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  70. package/dest/debug/pxe_debug_utils.js +37 -0
  71. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  72. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  73. package/dest/entrypoints/client/bundle/index.js +0 -1
  74. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  75. package/dest/entrypoints/client/bundle/utils.js +4 -4
  76. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  77. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  78. package/dest/entrypoints/client/lazy/index.js +0 -1
  79. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  80. package/dest/entrypoints/client/lazy/utils.js +4 -4
  81. package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
  82. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  83. package/dest/entrypoints/server/index.d.ts +2 -2
  84. package/dest/entrypoints/server/index.d.ts.map +1 -1
  85. package/dest/entrypoints/server/index.js +1 -1
  86. package/dest/entrypoints/server/utils.d.ts +1 -1
  87. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  88. package/dest/entrypoints/server/utils.js +5 -16
  89. package/dest/error_enriching.d.ts +4 -4
  90. package/dest/error_enriching.d.ts.map +1 -1
  91. package/dest/error_enriching.js +6 -6
  92. package/dest/events/event_service.d.ts +15 -0
  93. package/dest/events/event_service.d.ts.map +1 -0
  94. package/dest/events/event_service.js +47 -0
  95. package/dest/events/index.d.ts +2 -0
  96. package/dest/events/index.d.ts.map +1 -0
  97. package/dest/events/index.js +1 -0
  98. package/dest/events/private_event_filter_validator.d.ts +9 -0
  99. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  100. package/dest/events/private_event_filter_validator.js +39 -0
  101. package/dest/logs/log_service.d.ts +26 -0
  102. package/dest/logs/log_service.d.ts.map +1 -0
  103. package/dest/logs/log_service.js +120 -0
  104. package/dest/notes/index.d.ts +2 -0
  105. package/dest/notes/index.d.ts.map +1 -0
  106. package/dest/notes/index.js +1 -0
  107. package/dest/notes/note_service.d.ts +48 -0
  108. package/dest/notes/note_service.d.ts.map +1 -0
  109. package/dest/notes/note_service.js +152 -0
  110. package/dest/oracle_version.d.ts +3 -3
  111. package/dest/oracle_version.js +2 -2
  112. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +3 -3
  113. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -1
  114. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +7 -7
  115. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
  116. package/dest/private_kernel/hints/index.d.ts +1 -1
  117. package/dest/private_kernel/index.d.ts +1 -1
  118. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  119. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  120. package/dest/private_kernel/private_kernel_execution_prover.js +11 -10
  121. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
  122. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  123. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +8 -7
  124. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
  125. package/dest/private_kernel/private_kernel_oracle_impl.js +7 -7
  126. package/dest/public_storage/public_storage_service.d.ts +24 -0
  127. package/dest/public_storage/public_storage_service.d.ts.map +1 -0
  128. package/dest/public_storage/public_storage_service.js +26 -0
  129. package/dest/pxe.d.ts +47 -48
  130. package/dest/pxe.d.ts.map +1 -1
  131. package/dest/pxe.js +142 -171
  132. package/dest/storage/address_store/address_store.d.ts +11 -0
  133. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  134. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
  135. package/dest/storage/address_store/index.d.ts +2 -0
  136. package/dest/storage/address_store/index.d.ts.map +1 -0
  137. package/dest/storage/address_store/index.js +1 -0
  138. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
  139. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  140. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
  141. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  142. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  143. package/dest/storage/anchor_block_store/index.js +1 -0
  144. package/dest/storage/capsule_store/capsule_store.d.ts +57 -0
  145. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  146. package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +34 -6
  147. package/dest/storage/capsule_store/index.d.ts +2 -0
  148. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  149. package/dest/storage/capsule_store/index.js +1 -0
  150. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +7 -15
  151. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  152. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +34 -15
  153. package/dest/storage/contract_store/index.d.ts +2 -0
  154. package/dest/storage/contract_store/index.d.ts.map +1 -0
  155. package/dest/storage/contract_store/index.js +1 -0
  156. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  157. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  158. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  159. package/dest/storage/index.d.ts +8 -8
  160. package/dest/storage/index.d.ts.map +1 -1
  161. package/dest/storage/index.js +7 -7
  162. package/dest/storage/metadata.d.ts +1 -1
  163. package/dest/storage/note_store/index.d.ts +3 -0
  164. package/dest/storage/note_store/index.d.ts.map +1 -0
  165. package/dest/storage/note_store/index.js +2 -0
  166. package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +14 -13
  167. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  168. package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +33 -19
  169. package/dest/storage/private_event_store/private_event_store.d.ts +51 -0
  170. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  171. package/dest/storage/{private_event_data_provider/private_event_data_provider.js → private_event_store/private_event_store.js} +39 -28
  172. package/dest/storage/tagging_store/index.d.ts +4 -0
  173. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  174. package/dest/storage/tagging_store/index.js +3 -0
  175. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
  176. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  177. package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
  178. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  179. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  180. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  181. package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
  182. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  183. package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
  184. package/dest/tagging/index.d.ts +15 -6
  185. package/dest/tagging/index.d.ts.map +1 -1
  186. package/dest/tagging/index.js +23 -5
  187. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
  188. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  189. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  190. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  191. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  192. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  193. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
  194. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  195. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
  196. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
  197. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  198. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  199. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  200. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  201. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
  202. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
  203. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  204. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
  205. package/dest/tree_membership/tree_membership_service.d.ts +52 -0
  206. package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
  207. package/dest/tree_membership/tree_membership_service.js +84 -0
  208. package/package.json +20 -19
  209. package/src/bin/check_oracle_version.ts +130 -20
  210. package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +19 -22
  211. package/src/block_synchronizer/index.ts +1 -0
  212. package/src/config/index.ts +10 -25
  213. package/src/contract_function_simulator/contract_function_simulator.ts +95 -28
  214. package/src/contract_function_simulator/execution_note_cache.ts +22 -11
  215. package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
  216. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  217. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
  218. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  219. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -2
  220. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
  221. package/src/contract_function_simulator/noir-structs/utility_context.ts +1 -1
  222. package/src/contract_function_simulator/oracle/interfaces.ts +26 -11
  223. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  224. package/src/contract_function_simulator/oracle/note_packing_utils.ts +21 -5
  225. package/src/contract_function_simulator/oracle/oracle.ts +43 -13
  226. package/src/contract_function_simulator/oracle/private_execution.ts +17 -15
  227. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +100 -23
  228. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +223 -47
  229. package/src/contract_function_simulator/pick_notes.ts +1 -1
  230. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  231. package/src/debug/pxe_debug_utils.ts +48 -0
  232. package/src/entrypoints/client/bundle/index.ts +0 -1
  233. package/src/entrypoints/client/bundle/utils.ts +4 -4
  234. package/src/entrypoints/client/lazy/index.ts +0 -1
  235. package/src/entrypoints/client/lazy/utils.ts +4 -4
  236. package/src/entrypoints/pxe_creation_options.ts +2 -0
  237. package/src/entrypoints/server/index.ts +1 -1
  238. package/src/entrypoints/server/utils.ts +5 -19
  239. package/src/error_enriching.ts +7 -15
  240. package/src/events/event_service.ts +77 -0
  241. package/src/events/index.ts +1 -0
  242. package/src/events/private_event_filter_validator.ts +48 -0
  243. package/src/logs/log_service.ts +202 -0
  244. package/src/notes/index.ts +1 -0
  245. package/src/notes/note_service.ts +200 -0
  246. package/src/oracle_version.ts +2 -2
  247. package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +5 -9
  248. package/src/private_kernel/private_kernel_execution_prover.ts +12 -16
  249. package/src/private_kernel/private_kernel_oracle.ts +2 -1
  250. package/src/private_kernel/private_kernel_oracle_impl.ts +10 -9
  251. package/src/public_storage/public_storage_service.ts +33 -0
  252. package/src/pxe.ts +167 -223
  253. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
  254. package/src/storage/address_store/index.ts +1 -0
  255. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
  256. package/src/storage/anchor_block_store/index.ts +1 -0
  257. package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +34 -2
  258. package/src/storage/capsule_store/index.ts +1 -0
  259. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +45 -20
  260. package/src/storage/contract_store/index.ts +1 -0
  261. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  262. package/src/storage/index.ts +7 -7
  263. package/src/storage/note_store/index.ts +2 -0
  264. package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +41 -22
  265. package/src/storage/{private_event_data_provider/private_event_data_provider.ts → private_event_store/private_event_store.ts} +61 -47
  266. package/src/storage/tagging_store/index.ts +3 -0
  267. package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
  268. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  269. package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
  270. package/src/tagging/index.ts +27 -5
  271. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +129 -0
  272. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  273. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
  274. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
  275. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -0
  276. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
  277. package/src/tree_membership/tree_membership_service.ts +112 -0
  278. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -274
  279. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  280. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  281. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  282. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  283. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
  284. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  285. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  286. package/dest/storage/address_data_provider/index.d.ts +0 -2
  287. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  288. package/dest/storage/address_data_provider/index.js +0 -1
  289. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  290. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  291. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  292. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  293. package/dest/storage/capsule_data_provider/index.js +0 -1
  294. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  295. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  296. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  297. package/dest/storage/contract_data_provider/index.js +0 -1
  298. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  299. package/dest/storage/note_data_provider/index.d.ts +0 -3
  300. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  301. package/dest/storage/note_data_provider/index.js +0 -2
  302. package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
  303. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  304. package/dest/storage/note_data_provider/note_dao.js +0 -102
  305. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  306. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -43
  307. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  308. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  309. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  310. package/dest/storage/sync_data_provider/index.js +0 -1
  311. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
  312. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  313. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  314. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  315. package/dest/storage/tagging_data_provider/index.js +0 -1
  316. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  317. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  318. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  319. package/dest/synchronizer/index.d.ts +0 -2
  320. package/dest/synchronizer/index.d.ts.map +0 -1
  321. package/dest/synchronizer/index.js +0 -1
  322. package/dest/synchronizer/synchronizer.d.ts +0 -35
  323. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  324. package/dest/tagging/constants.d.ts +0 -2
  325. package/dest/tagging/constants.d.ts.map +0 -1
  326. package/dest/tagging/constants.js +0 -2
  327. package/dest/tagging/siloed_tag.d.ts +0 -14
  328. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  329. package/dest/tagging/siloed_tag.js +0 -20
  330. package/dest/tagging/tag.d.ts +0 -12
  331. package/dest/tagging/tag.d.ts.map +0 -1
  332. package/dest/tagging/tag.js +0 -17
  333. package/dest/tagging/utils.d.ts +0 -18
  334. package/dest/tagging/utils.d.ts.map +0 -1
  335. package/dest/tagging/utils.js +0 -24
  336. package/src/contract_function_simulator/execution_data_provider.ts +0 -343
  337. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
  338. package/src/storage/address_data_provider/index.ts +0 -1
  339. package/src/storage/capsule_data_provider/index.ts +0 -1
  340. package/src/storage/contract_data_provider/index.ts +0 -1
  341. package/src/storage/note_data_provider/index.ts +0 -2
  342. package/src/storage/note_data_provider/note_dao.ts +0 -154
  343. package/src/storage/sync_data_provider/index.ts +0 -1
  344. package/src/storage/tagging_data_provider/index.ts +0 -1
  345. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  346. package/src/synchronizer/index.ts +0 -1
  347. package/src/tagging/constants.ts +0 -2
  348. package/src/tagging/siloed_tag.ts +0 -22
  349. package/src/tagging/tag.ts +0 -16
  350. package/src/tagging/utils.ts +0 -31
@@ -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,
@@ -100,8 +102,7 @@ export class Oracle {
100
102
  return Promise.resolve([toACVMField(val)]);
101
103
  }
102
104
 
103
- // Since the argument is a slice, noir automatically adds a length field to oracle call.
104
- privateStoreInExecutionCache(_length: ACVMField[], values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
105
+ privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
105
106
  this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
106
107
  return Promise.resolve([]);
107
108
  }
@@ -111,9 +112,9 @@ export class Oracle {
111
112
  return [values.map(toACVMField)];
112
113
  }
113
114
 
114
- async utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
115
- const context = await this.handlerAsUtility().utilityGetUtilityContext();
116
- return context.toNoirRepresentation();
115
+ utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
116
+ const context = this.handlerAsUtility().utilityGetUtilityContext();
117
+ return Promise.resolve(context.toNoirRepresentation());
117
118
  }
118
119
 
119
120
  async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
@@ -146,7 +147,7 @@ export class Oracle {
146
147
  const parsedLeafValue = Fr.fromString(leafValue);
147
148
 
148
149
  const witness = await this.handlerAsUtility().utilityGetMembershipWitness(
149
- parsedBlockNumber,
150
+ BlockNumber(parsedBlockNumber),
150
151
  parsedTreeId,
151
152
  parsedLeafValue,
152
153
  );
@@ -166,7 +167,7 @@ export class Oracle {
166
167
  const parsedNullifier = Fr.fromString(nullifier);
167
168
 
168
169
  const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
169
- parsedBlockNumber,
170
+ BlockNumber(parsedBlockNumber),
170
171
  parsedNullifier,
171
172
  );
172
173
  if (!witness) {
@@ -183,7 +184,7 @@ export class Oracle {
183
184
  const parsedNullifier = Fr.fromString(nullifier);
184
185
 
185
186
  const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
186
- parsedBlockNumber,
187
+ BlockNumber(parsedBlockNumber),
187
188
  parsedNullifier,
188
189
  );
189
190
  if (!witness) {
@@ -201,7 +202,10 @@ export class Oracle {
201
202
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
202
203
  const parsedLeafSlot = Fr.fromString(leafSlot);
203
204
 
204
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockNumber, parsedLeafSlot);
205
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(
206
+ BlockNumber(parsedBlockNumber),
207
+ parsedLeafSlot,
208
+ );
205
209
  if (!witness) {
206
210
  throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
207
211
  }
@@ -211,7 +215,7 @@ export class Oracle {
211
215
  async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
212
216
  const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
213
217
 
214
- const header = await this.handlerAsUtility().utilityGetBlockHeader(parsedBlockNumber);
218
+ const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
215
219
  if (!header) {
216
220
  throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
217
221
  }
@@ -236,6 +240,8 @@ export class Oracle {
236
240
  }
237
241
 
238
242
  async utilityGetNotes(
243
+ [ownerSome]: ACVMField[],
244
+ [ownerValue]: ACVMField[],
239
245
  [storageSlot]: ACVMField[],
240
246
  [numSelects]: ACVMField[],
241
247
  selectByIndexes: ACVMField[],
@@ -253,7 +259,10 @@ export class Oracle {
253
259
  [maxNotes]: ACVMField[],
254
260
  [packedRetrievedNoteLength]: ACVMField[],
255
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;
256
264
  const noteDatas = await this.handlerAsUtility().utilityGetNotes(
265
+ owner,
257
266
  Fr.fromString(storageSlot),
258
267
  +numSelects,
259
268
  selectByIndexes.map(s => +s),
@@ -270,7 +279,17 @@ export class Oracle {
270
279
  +status,
271
280
  );
272
281
 
273
- 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
+ );
274
293
 
275
294
  // Now we convert each sub-array to an array of ACVMField
276
295
  const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map(subArray =>
@@ -282,14 +301,18 @@ export class Oracle {
282
301
  }
283
302
 
284
303
  privateNotifyCreatedNote(
304
+ [owner]: ACVMField[],
285
305
  [storageSlot]: ACVMField[],
306
+ [randomness]: ACVMField[],
286
307
  [noteTypeId]: ACVMField[],
287
308
  note: ACVMField[],
288
309
  [noteHash]: ACVMField[],
289
310
  [counter]: ACVMField[],
290
311
  ): Promise<ACVMField[]> {
291
312
  this.handlerAsPrivate().privateNotifyCreatedNote(
313
+ AztecAddress.fromString(owner),
292
314
  Fr.fromString(storageSlot),
315
+ Fr.fromString(randomness),
293
316
  NoteSelector.fromField(Fr.fromString(noteTypeId)),
294
317
  note.map(Fr.fromString),
295
318
  Fr.fromString(noteHash),
@@ -343,7 +366,7 @@ export class Oracle {
343
366
  const values = await this.handlerAsUtility().utilityStorageRead(
344
367
  new AztecAddress(Fr.fromString(contractAddress)),
345
368
  Fr.fromString(startStorageSlot),
346
- +blockNumber,
369
+ BlockNumber(+blockNumber),
347
370
  +numberOfElements,
348
371
  );
349
372
  return [values.map(toACVMField)];
@@ -433,6 +456,13 @@ export class Oracle {
433
456
  return Promise.resolve([]);
434
457
  }
435
458
 
459
+ async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
460
+ const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
461
+ Fr.fromString(sideEffectCounter).toNumber(),
462
+ );
463
+ return Promise.resolve([toACVMField(isRevertible)]);
464
+ }
465
+
436
466
  async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
437
467
  const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
438
468
  AztecAddress.fromString(sender),
@@ -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,15 +422,18 @@ 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.
427
+ * @param randomness - The randomness injected into the note.
370
428
  * @param noteTypeId - The type ID of the note.
371
429
  * @param noteItems - The items to be included in a Note.
372
430
  * @param noteHash - A hash of the new note.
373
431
  * @returns
374
432
  */
375
433
  public privateNotifyCreatedNote(
434
+ owner: AztecAddress,
376
435
  storageSlot: Fr,
436
+ randomness: Fr,
377
437
  noteTypeId: NoteSelector,
378
438
  noteItems: Fr[],
379
439
  noteHash: Fr,
@@ -382,6 +442,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
382
442
  this.log.debug(`Notified of new note with inner hash ${noteHash}`, {
383
443
  contractAddress: this.callContext.contractAddress,
384
444
  storageSlot,
445
+ randomness,
385
446
  noteTypeId,
386
447
  counter,
387
448
  });
@@ -390,7 +451,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
390
451
  this.noteCache.addNewNote(
391
452
  {
392
453
  contractAddress: this.callContext.contractAddress,
454
+ owner,
393
455
  storageSlot,
456
+ randomness,
394
457
  noteNonce: Fr.ZERO, // Nonce cannot be known during private execution.
395
458
  note,
396
459
  siloedNullifier: undefined, // Siloed nullifier cannot be known for newly created note.
@@ -398,7 +461,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
398
461
  },
399
462
  counter,
400
463
  );
401
- this.newNotes.push(new NoteAndSlot(note, storageSlot, noteTypeId));
464
+ this.newNotes.push(NoteAndSlot.from({ note, storageSlot, randomness, noteTypeId }));
402
465
  }
403
466
 
404
467
  /**
@@ -485,9 +548,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
485
548
 
486
549
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
487
550
 
488
- await verifyCurrentClassId(targetContractAddress, this.executionDataProvider, this.anchorBlockHeader);
551
+ await verifyCurrentClassId(targetContractAddress, this.aztecNode, this.contractStore, this.anchorBlockHeader);
489
552
 
490
- const targetArtifact = await this.executionDataProvider.getFunctionArtifact(
553
+ const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(
491
554
  targetContractAddress,
492
555
  functionSelector,
493
556
  );
@@ -506,7 +569,17 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
506
569
  this.executionCache,
507
570
  this.noteCache,
508
571
  this.taggingIndexCache,
509
- 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,
510
583
  this.totalPublicCalldataCount,
511
584
  sideEffectCounter,
512
585
  this.log,
@@ -594,6 +667,10 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
594
667
  return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
595
668
  }
596
669
 
670
+ public privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean> {
671
+ return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
672
+ }
673
+
597
674
  /**
598
675
  * Derives the call context for a nested execution.
599
676
  * @param targetContractAddress - The address of the contract being called.
@@ -615,7 +692,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
615
692
  }
616
693
 
617
694
  public getDebugFunctionName() {
618
- return this.executionDataProvider.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
695
+ return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
619
696
  }
620
697
 
621
698
  public utilityEmitOffchainEffect(data: Fr[]): Promise<void> {