@aztec/pxe 0.0.1-commit.5daedc8 → 0.0.1-commit.6230a0c

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 (387) hide show
  1. package/dest/bin/check_oracle_version.js +105 -15
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +43 -0
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  4. package/dest/block_synchronizer/block_synchronizer.js +147 -0
  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 +6 -4
  9. package/dest/config/index.d.ts.map +1 -1
  10. package/dest/config/index.js +17 -0
  11. package/dest/config/package_info.js +1 -1
  12. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  13. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  14. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  15. package/dest/contract_function_simulator/contract_function_simulator.d.ts +40 -14
  16. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/contract_function_simulator.js +72 -33
  18. package/dest/contract_function_simulator/execution_note_cache.d.ts +21 -11
  19. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/execution_note_cache.js +49 -31
  21. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +1 -1
  22. package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
  23. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  24. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/index.d.ts +2 -2
  26. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  27. package/dest/contract_function_simulator/index.js +1 -1
  28. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -4
  29. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +6 -3
  31. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  32. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  37. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -5
  38. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  39. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +7 -4
  40. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  41. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  43. package/dest/contract_function_simulator/oracle/interfaces.d.ts +26 -19
  44. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +4 -2
  46. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  48. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +11 -7
  49. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  50. package/dest/contract_function_simulator/oracle/note_packing_utils.js +14 -10
  51. package/dest/contract_function_simulator/oracle/oracle.d.ts +12 -10
  52. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  53. package/dest/contract_function_simulator/oracle/oracle.js +83 -48
  54. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -27
  55. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  56. package/dest/contract_function_simulator/oracle/private_execution.js +2 -38
  57. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +34 -26
  58. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +46 -48
  60. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +84 -29
  61. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +170 -68
  63. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  64. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  65. package/dest/contract_function_simulator/pick_notes.js +1 -1
  66. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  67. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  69. package/dest/contract_sync/index.d.ts +24 -0
  70. package/dest/contract_sync/index.d.ts.map +1 -0
  71. package/dest/contract_sync/index.js +61 -0
  72. package/dest/debug/pxe_debug_utils.d.ts +41 -0
  73. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  74. package/dest/debug/pxe_debug_utils.js +47 -0
  75. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  76. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  77. package/dest/entrypoints/client/bundle/index.js +0 -1
  78. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  79. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  80. package/dest/entrypoints/client/bundle/utils.js +23 -8
  81. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  82. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  83. package/dest/entrypoints/client/lazy/index.js +0 -1
  84. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  85. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  86. package/dest/entrypoints/client/lazy/utils.js +24 -9
  87. package/dest/entrypoints/pxe_creation_options.d.ts +7 -3
  88. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  89. package/dest/entrypoints/server/index.d.ts +4 -2
  90. package/dest/entrypoints/server/index.d.ts.map +1 -1
  91. package/dest/entrypoints/server/index.js +3 -1
  92. package/dest/entrypoints/server/utils.d.ts +1 -1
  93. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  94. package/dest/entrypoints/server/utils.js +30 -15
  95. package/dest/error_enriching.d.ts +4 -4
  96. package/dest/error_enriching.d.ts.map +1 -1
  97. package/dest/error_enriching.js +6 -6
  98. package/dest/events/event_service.d.ts +15 -0
  99. package/dest/events/event_service.d.ts.map +1 -0
  100. package/dest/events/event_service.js +44 -0
  101. package/dest/events/index.d.ts +2 -0
  102. package/dest/events/index.d.ts.map +1 -0
  103. package/dest/events/index.js +1 -0
  104. package/dest/events/private_event_filter_validator.d.ts +9 -0
  105. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  106. package/dest/events/private_event_filter_validator.js +38 -0
  107. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  108. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  109. package/dest/job_coordinator/job_coordinator.js +94 -0
  110. package/dest/logs/log_service.d.ts +28 -0
  111. package/dest/logs/log_service.d.ts.map +1 -0
  112. package/dest/logs/log_service.js +123 -0
  113. package/dest/notes/index.d.ts +2 -0
  114. package/dest/notes/index.d.ts.map +1 -0
  115. package/dest/notes/index.js +1 -0
  116. package/dest/notes/note_service.d.ts +48 -0
  117. package/dest/notes/note_service.d.ts.map +1 -0
  118. package/dest/notes/note_service.js +147 -0
  119. package/dest/oracle_version.d.ts +3 -3
  120. package/dest/oracle_version.d.ts.map +1 -1
  121. package/dest/oracle_version.js +4 -3
  122. package/dest/private_kernel/hints/index.d.ts +2 -2
  123. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  124. package/dest/private_kernel/hints/index.js +1 -1
  125. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
  126. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  127. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +13 -7
  128. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  129. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  130. package/dest/private_kernel/private_kernel_execution_prover.js +11 -15
  131. package/dest/private_kernel/private_kernel_oracle.d.ts +26 -29
  132. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  133. package/dest/private_kernel/private_kernel_oracle.js +90 -2
  134. package/dest/pxe.d.ts +45 -81
  135. package/dest/pxe.d.ts.map +1 -1
  136. package/dest/pxe.js +188 -217
  137. package/dest/storage/address_store/address_store.d.ts +11 -0
  138. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  139. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +13 -12
  140. package/dest/storage/address_store/index.d.ts +2 -0
  141. package/dest/storage/address_store/index.d.ts.map +1 -0
  142. package/dest/storage/address_store/index.js +1 -0
  143. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +17 -0
  144. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  145. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +10 -10
  146. package/dest/storage/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
  147. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  148. package/dest/storage/anchor_block_store/index.js +1 -0
  149. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  150. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  151. package/dest/storage/capsule_store/capsule_store.js +253 -0
  152. package/dest/storage/capsule_store/index.d.ts +2 -0
  153. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  154. package/dest/storage/capsule_store/index.js +1 -0
  155. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +7 -5
  156. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  157. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +56 -16
  158. package/dest/storage/contract_store/index.d.ts +2 -0
  159. package/dest/storage/contract_store/index.d.ts.map +1 -0
  160. package/dest/storage/contract_store/index.js +1 -0
  161. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  162. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  163. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  164. package/dest/storage/index.d.ts +8 -8
  165. package/dest/storage/index.d.ts.map +1 -1
  166. package/dest/storage/index.js +7 -7
  167. package/dest/storage/metadata.d.ts +1 -1
  168. package/dest/storage/metadata.js +1 -1
  169. package/dest/storage/note_store/index.d.ts +3 -0
  170. package/dest/storage/note_store/index.d.ts.map +1 -0
  171. package/dest/storage/note_store/index.js +2 -0
  172. package/dest/storage/note_store/note_store.d.ts +83 -0
  173. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  174. package/dest/storage/note_store/note_store.js +341 -0
  175. package/dest/storage/note_store/stored_note.d.ts +16 -0
  176. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  177. package/dest/storage/note_store/stored_note.js +43 -0
  178. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  179. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  180. package/dest/storage/private_event_store/private_event_store.js +273 -0
  181. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  182. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  183. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  184. package/dest/storage/tagging_store/index.d.ts +4 -0
  185. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  186. package/dest/storage/tagging_store/index.js +3 -0
  187. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  188. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  189. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  190. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  191. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  192. package/dest/storage/tagging_store/sender_address_book_store.js +36 -0
  193. package/dest/storage/tagging_store/sender_tagging_store.d.ts +77 -0
  194. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  195. package/dest/storage/tagging_store/sender_tagging_store.js +348 -0
  196. package/dest/tagging/constants.d.ts +2 -2
  197. package/dest/tagging/constants.d.ts.map +1 -1
  198. package/dest/tagging/constants.js +10 -2
  199. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  200. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  201. package/dest/tagging/get_all_logs_by_tags.js +46 -0
  202. package/dest/tagging/index.d.ts +16 -6
  203. package/dest/tagging/index.d.ts.map +1 -1
  204. package/dest/tagging/index.js +15 -5
  205. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +15 -0
  206. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  207. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  208. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  209. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  210. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  211. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +15 -0
  212. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  213. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +32 -0
  214. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +21 -0
  215. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  216. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  217. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  218. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  219. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +29 -0
  220. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +21 -0
  221. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  222. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +60 -0
  223. package/package.json +19 -19
  224. package/src/bin/check_oracle_version.ts +131 -20
  225. package/src/block_synchronizer/block_synchronizer.ts +172 -0
  226. package/src/block_synchronizer/index.ts +1 -0
  227. package/src/config/index.ts +17 -3
  228. package/src/config/package_info.ts +1 -1
  229. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  230. package/src/contract_function_simulator/contract_function_simulator.ts +114 -34
  231. package/src/contract_function_simulator/execution_note_cache.ts +51 -28
  232. package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
  233. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  234. package/src/contract_function_simulator/index.ts +1 -1
  235. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +6 -2
  236. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  237. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -1
  238. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -3
  239. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  240. package/src/contract_function_simulator/oracle/interfaces.ts +31 -16
  241. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  242. package/src/contract_function_simulator/oracle/note_packing_utils.ts +27 -13
  243. package/src/contract_function_simulator/oracle/oracle.ts +98 -44
  244. package/src/contract_function_simulator/oracle/private_execution.ts +2 -68
  245. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +127 -59
  246. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +261 -75
  247. package/src/contract_function_simulator/pick_notes.ts +1 -1
  248. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  249. package/src/contract_sync/index.ts +119 -0
  250. package/src/debug/pxe_debug_utils.ts +63 -0
  251. package/src/entrypoints/client/bundle/index.ts +0 -1
  252. package/src/entrypoints/client/bundle/utils.ts +15 -16
  253. package/src/entrypoints/client/lazy/index.ts +0 -1
  254. package/src/entrypoints/client/lazy/utils.ts +16 -17
  255. package/src/entrypoints/pxe_creation_options.ts +6 -2
  256. package/src/entrypoints/server/index.ts +3 -1
  257. package/src/entrypoints/server/utils.ts +26 -34
  258. package/src/error_enriching.ts +7 -15
  259. package/src/events/event_service.ts +71 -0
  260. package/src/events/index.ts +1 -0
  261. package/src/events/private_event_filter_validator.ts +46 -0
  262. package/src/job_coordinator/job_coordinator.ts +150 -0
  263. package/src/logs/log_service.ts +220 -0
  264. package/src/notes/index.ts +1 -0
  265. package/src/notes/note_service.ts +195 -0
  266. package/src/oracle_version.ts +4 -3
  267. package/src/private_kernel/hints/index.ts +1 -1
  268. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +34 -23
  269. package/src/private_kernel/private_kernel_execution_prover.ts +13 -16
  270. package/src/private_kernel/private_kernel_oracle.ts +118 -37
  271. package/src/pxe.ts +273 -282
  272. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +16 -16
  273. package/src/storage/address_store/index.ts +1 -0
  274. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +10 -11
  275. package/src/storage/anchor_block_store/index.ts +1 -0
  276. package/src/storage/capsule_store/capsule_store.ts +315 -0
  277. package/src/storage/capsule_store/index.ts +1 -0
  278. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +67 -14
  279. package/src/storage/contract_store/index.ts +1 -0
  280. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  281. package/src/storage/index.ts +7 -7
  282. package/src/storage/metadata.ts +1 -1
  283. package/src/storage/note_store/index.ts +2 -0
  284. package/src/storage/note_store/note_store.ts +411 -0
  285. package/src/storage/note_store/stored_note.ts +48 -0
  286. package/src/storage/private_event_store/private_event_store.ts +384 -0
  287. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  288. package/src/storage/tagging_store/index.ts +3 -0
  289. package/src/storage/tagging_store/recipient_tagging_store.ts +139 -0
  290. package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
  291. package/src/storage/tagging_store/sender_tagging_store.ts +429 -0
  292. package/src/tagging/constants.ts +10 -2
  293. package/src/tagging/get_all_logs_by_tags.ts +68 -0
  294. package/src/tagging/index.ts +18 -5
  295. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +143 -0
  296. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  297. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +49 -0
  298. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +99 -0
  299. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +36 -0
  300. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +84 -0
  301. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -265
  302. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  303. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  304. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  305. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  306. package/dest/contract_function_simulator/proxied_node.js +0 -27
  307. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  308. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  309. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -694
  310. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  311. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  312. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.d.ts +0 -3
  313. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.d.ts.map +0 -1
  314. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.js +0 -48
  315. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  316. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  317. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  318. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  319. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  320. package/dest/storage/address_data_provider/index.d.ts +0 -2
  321. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  322. package/dest/storage/address_data_provider/index.js +0 -1
  323. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  324. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  325. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
  326. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  327. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  328. package/dest/storage/capsule_data_provider/index.js +0 -1
  329. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  330. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  331. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  332. package/dest/storage/contract_data_provider/index.js +0 -1
  333. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  334. package/dest/storage/note_data_provider/index.d.ts +0 -3
  335. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  336. package/dest/storage/note_data_provider/index.js +0 -2
  337. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -83
  338. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  339. package/dest/storage/note_data_provider/note_data_provider.js +0 -311
  340. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
  341. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  342. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -105
  343. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  344. package/dest/storage/sync_data_provider/index.js +0 -1
  345. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
  346. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  347. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  348. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  349. package/dest/storage/tagging_data_provider/index.js +0 -1
  350. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  351. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  352. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  353. package/dest/synchronizer/index.d.ts +0 -2
  354. package/dest/synchronizer/index.d.ts.map +0 -1
  355. package/dest/synchronizer/index.js +0 -1
  356. package/dest/synchronizer/synchronizer.d.ts +0 -35
  357. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  358. package/dest/synchronizer/synchronizer.js +0 -101
  359. package/dest/tagging/siloed_tag.d.ts +0 -14
  360. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  361. package/dest/tagging/siloed_tag.js +0 -20
  362. package/dest/tagging/tag.d.ts +0 -12
  363. package/dest/tagging/tag.d.ts.map +0 -1
  364. package/dest/tagging/tag.js +0 -17
  365. package/dest/tagging/utils.d.ts +0 -18
  366. package/dest/tagging/utils.d.ts.map +0 -1
  367. package/dest/tagging/utils.js +0 -24
  368. package/src/contract_function_simulator/execution_data_provider.ts +0 -333
  369. package/src/contract_function_simulator/proxied_node.ts +0 -33
  370. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1008
  371. package/src/private_kernel/hints/compute_side_effect_uniqueness_hints.ts +0 -173
  372. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  373. package/src/storage/address_data_provider/index.ts +0 -1
  374. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
  375. package/src/storage/capsule_data_provider/index.ts +0 -1
  376. package/src/storage/contract_data_provider/index.ts +0 -1
  377. package/src/storage/note_data_provider/index.ts +0 -2
  378. package/src/storage/note_data_provider/note_data_provider.ts +0 -399
  379. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -143
  380. package/src/storage/sync_data_provider/index.ts +0 -1
  381. package/src/storage/tagging_data_provider/index.ts +0 -1
  382. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  383. package/src/synchronizer/index.ts +0 -1
  384. package/src/synchronizer/synchronizer.ts +0 -120
  385. package/src/tagging/siloed_tag.ts +0 -22
  386. package/src/tagging/tag.ts +0 -16
  387. package/src/tagging/utils.ts +0 -31
@@ -1,14 +1,23 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { KeyStore } from '@aztec/key-store';
2
3
  import { type CircuitSimulator } from '@aztec/simulator/client';
3
- import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
4
+ import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
4
5
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
5
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
6
8
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
7
- import type { ContractClassLog, PreTag } from '@aztec/stdlib/logs';
9
+ import { type ContractClassLog, type PreTag } from '@aztec/stdlib/logs';
10
+ import { Tag } from '@aztec/stdlib/logs';
8
11
  import { type NoteStatus } from '@aztec/stdlib/note';
9
12
  import { type BlockHeader, CallContext, Capsule, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
10
- import { Tag } from '../../tagging/tag.js';
11
- import type { ExecutionDataProvider } from '../execution_data_provider.js';
13
+ import type { AddressStore } from '../../storage/address_store/address_store.js';
14
+ import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
15
+ import type { ContractStore } from '../../storage/contract_store/contract_store.js';
16
+ import type { NoteStore } from '../../storage/note_store/note_store.js';
17
+ import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js';
18
+ import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js';
19
+ import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js';
20
+ import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
12
21
  import type { ExecutionNoteCache } from '../execution_note_cache.js';
13
22
  import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
14
23
  import type { HashedValuesCache } from '../hashed_values_cache.js';
@@ -24,9 +33,12 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
24
33
  private readonly callContext;
25
34
  /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
26
35
  protected readonly anchorBlockHeader: BlockHeader;
36
+ /** Needed to trigger contract synchronization before nested calls */
37
+ private readonly utilityExecutor;
27
38
  private readonly executionCache;
28
39
  private readonly noteCache;
29
40
  private readonly taggingIndexCache;
41
+ private readonly senderTaggingStore;
30
42
  private totalPublicCalldataCount;
31
43
  protected sideEffectCounter: number;
32
44
  private senderForTags?;
@@ -41,16 +53,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
41
53
  * Users can also use this to get a clearer idea of what's happened during a simulation.
42
54
  */
43
55
  private newNotes;
44
- /**
45
- * Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
46
- * The mapping maps from the unique siloed note hash to the index for notes created in private executions.
47
- * It maps from siloed note hash to the index for notes created by public functions.
48
- *
49
- * They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
50
- * because these notes are meant to be maintained on a per-call basis
51
- * They should act as references for the read requests output by an app circuit via public inputs.
52
- */
53
- private noteHashLeafIndexMap;
54
56
  private noteHashNullifierCounterMap;
55
57
  private contractClassLogs;
56
58
  private offchainEffects;
@@ -58,8 +60,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
58
60
  constructor(argsHash: Fr, txContext: TxContext, callContext: CallContext,
59
61
  /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
60
62
  anchorBlockHeader: BlockHeader,
63
+ /** Needed to trigger contract synchronization before nested calls */
64
+ utilityExecutor: (call: FunctionCall) => Promise<void>,
61
65
  /** List of transient auth witnesses to be used during this simulation */
62
- authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, executionDataProvider: ExecutionDataProvider, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
66
+ authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, jobId: string, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
63
67
  getPrivateContextInputs(): PrivateContextInputs;
64
68
  /**
65
69
  * Writes the function inputs to the initial witness.
@@ -67,11 +71,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
67
71
  * @returns The initial witness.
68
72
  */
69
73
  getInitialWitness(abi: FunctionAbi): Map<number, string>;
70
- /**
71
- * The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
72
- * regarding which note hash each settled read request corresponds to.
73
- */
74
- getNoteHashLeafIndexMap(): Map<bigint, bigint>;
75
74
  /**
76
75
  * Get the data for the newly created notes.
77
76
  */
@@ -88,7 +87,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
88
87
  data: Fr[];
89
88
  }[];
90
89
  /**
91
- * Returns the pre tags that were used in this execution (and that need to be stored in the db).
90
+ * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
92
91
  */
93
92
  getUsedPreTags(): PreTag[];
94
93
  /**
@@ -146,6 +145,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
146
145
  * Real notes coming from DB will have a leafIndex which
147
146
  * represents their index in the note hash tree.
148
147
  *
148
+ * @param owner - The owner of the notes. If undefined, returns notes for all owners.
149
149
  * @param storageSlot - The storage slot.
150
150
  * @param numSelects - The number of valid selects in selectBy and selectValues.
151
151
  * @param selectBy - An array of indices of the fields to selects.
@@ -158,11 +158,11 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
158
158
  * @param status - The status of notes to fetch.
159
159
  * @returns Array of note data.
160
160
  */
161
- utilityGetNotes(storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
161
+ utilityGetNotes(owner: AztecAddress | undefined, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
162
162
  /**
163
163
  * Keep track of the new note created during execution.
164
164
  * It can be used in subsequent calls (or transactions when chaining txs is possible).
165
- * @param contractAddress - The contract address.
165
+ * @param owner - The owner of the note.
166
166
  * @param storageSlot - The storage slot.
167
167
  * @param randomness - The randomness injected into the note.
168
168
  * @param noteTypeId - The type ID of the note.
@@ -170,7 +170,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
170
170
  * @param noteHash - A hash of the new note.
171
171
  * @returns
172
172
  */
173
- privateNotifyCreatedNote(storageSlot: Fr, randomness: Fr, noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
173
+ privateNotifyCreatedNote(owner: AztecAddress, storageSlot: Fr, randomness: Fr, noteTypeId: NoteSelector, noteItems: Fr[], noteHash: Fr, counter: number): void;
174
174
  /**
175
175
  * Adding a siloed nullifier into the current set of all pending nullifiers created
176
176
  * within the current transaction/execution.
@@ -185,6 +185,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
185
185
  * @param noteHash - A hash of the new note.
186
186
  */
187
187
  privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
188
+ /**
189
+ * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
190
+ * called for this inner nullifier from the contract with the specified address.
191
+ * @param innerNullifier - The inner nullifier to check.
192
+ * @param contractAddress - Address of the contract that emitted the nullifier.
193
+ * @returns A boolean indicating whether the nullifier is pending or not.
194
+ */
195
+ privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
188
196
  /**
189
197
  * Emit a contract class log.
190
198
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
@@ -228,4 +236,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
228
236
  getDebugFunctionName(): Promise<string>;
229
237
  utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
230
238
  }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBK0IsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixXQUFXLEVBQ1gsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMs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
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQStCLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBUSxLQUFLLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsV0FBVyxFQUNYLE9BQU8sRUFDUCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sS0FBSyxFQUFFLFlB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
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAA+B,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EACX,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,sBAAuB,YAAW,uBAAuB;;IA4BjG,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,qHAAqH;IACrH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW;IAIjD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,wBAAwB;IAChC,SAAS,CAAC,iBAAiB,EAAE,MAAM;IAGnC,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,SAAS,CAAC;IA5CpB,SAAS,OAAiB;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,2BAA2B,CAAkC;IACrE,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,sBAAsB,CAAoC;IAElE,YACmB,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW;IACzC,qHAAqH;IAClG,iBAAiB,EAAE,WAAW;IACjD,yEAAyE;IACzE,aAAa,EAAE,WAAW,EAAE,EAC5B,QAAQ,EAAE,OAAO,EAAE,EACF,cAAc,EAAE,iBAAiB,EACjC,SAAS,EAAE,kBAAkB,EAC7B,iBAAiB,EAAE,0BAA0B,EAC9D,qBAAqB,EAAE,qBAAqB,EACpC,wBAAwB,GAAE,MAAU,EAClC,iBAAiB,GAAE,MAAU,EACvC,GAAG,yCAAqD,EACxD,MAAM,CAAC,EAAE,YAAY,EAAE,EACf,aAAa,CAAC,0BAAc,EAC5B,SAAS,CAAC,8BAAkB,EAGrC;IAEM,uBAAuB,IAAI,oBAAoB,CAErD;IAID;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,uBAgBxC;IAED;;;OAGG;IACI,uBAAuB,wBAE7B;IAED;;OAEG;IACI,WAAW,IAAI,WAAW,EAAE,CAElC;IAEM,8BAA8B,wBAEpC;IAED;;OAEG;IACI,oBAAoB,8BAE1B;IAED;;OAEG;IACI,kBAAkB;;QAExB;IAED;;OAEG;IACI,cAAc,IAAI,MAAM,EAAE,CAEhC;IAED;;OAEG;IACI,yBAAyB,iCAE/B;IAED;;;;;;;;;OASG;IACI,uBAAuB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAElE;IAED;;;;;;;;;;OAUG;IACI,uBAAuB,CAAC,aAAa,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAED;;;;;OAKG;IACU,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAcrG;IAoBD;;;;OAIG;IACI,4BAA4B,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAEzD;IAED;;;;OAIG;IACI,6BAA6B,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAM5D;IAEc,2BAA2B,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAe/E;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACmB,eAAe,CACnC,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmDrB;IAED;;;;;;;;;;OAUG;IACI,wBAAwB,CAC7B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,EAAE,EAAE,EACf,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,MAAM,QAwBhB;IAED;;;;;OAKG;IACU,0BAA0B,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,iBASxF;IAED;;;;;OAKG;IACI,6BAA6B,CAAC,cAAc,EAAE,EAAE,iBAGtD;IAED;;;;;;OAMG;IACI,oCAAoC,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,QAMjF;IAcD;;;;;;;;OAQG;IACG,0BAA0B,CAC9B,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO;;;OAwEtB;IAcD;;;;;;OAMG;IACI,uCAAuC,CAC5C,sBAAsB,EAAE,YAAY,EACpC,YAAY,EAAE,EAAE,EAChB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,OAAO,iBAIvB;IAED;;;;;;OAMG;IACI,0CAA0C,CAC/C,sBAAsB,EAAE,YAAY,EACpC,YAAY,EAAE,EAAE,EAChB,kBAAkB,EAAE,MAAM,EAC1B,aAAa,EAAE,OAAO,iBAIvB;IAEM,8CAA8C,CAAC,8BAA8B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3G;IAEM,oCAAoC,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvF;YASa,iBAAiB;IAaxB,oBAAoB,oBAE1B;IAEM,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;CACF"}
1
+ {"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,20 @@
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
5
  import { toACVMWitness } from '@aztec/simulator/client';
6
6
  import { FunctionSelector, countArgumentsSize } from '@aztec/stdlib/abi';
7
- import { computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
7
+ import { siloNullifier } from '@aztec/stdlib/hash';
8
8
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
9
+ import { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
10
+ import { Tag } from '@aztec/stdlib/logs';
9
11
  import { Note } from '@aztec/stdlib/note';
10
12
  import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
11
- import { Tag } from '../../tagging/tag.js';
13
+ import { ensureContractSynced } from '../../contract_sync/index.js';
14
+ import { NoteService } from '../../notes/note_service.js';
15
+ import { syncSenderTaggingIndexes } from '../../tagging/index.js';
12
16
  import { pickNotes } from '../pick_notes.js';
13
- import { executePrivateFunction, verifyCurrentClassId } from './private_execution.js';
17
+ import { executePrivateFunction } from './private_execution.js';
14
18
  import { UtilityExecutionOracle } from './utility_execution_oracle.js';
15
19
  /**
16
20
  * The execution oracle for the private part of a transaction.
@@ -19,9 +23,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
19
23
  txContext;
20
24
  callContext;
21
25
  anchorBlockHeader;
26
+ utilityExecutor;
22
27
  executionCache;
23
28
  noteCache;
24
29
  taggingIndexCache;
30
+ senderTaggingStore;
25
31
  totalPublicCalldataCount;
26
32
  sideEffectCounter;
27
33
  senderForTags;
@@ -35,21 +41,12 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
35
41
  * This information is only for references (currently used for tests), and is not used for any sort of constrains.
36
42
  * Users can also use this to get a clearer idea of what's happened during a simulation.
37
43
  */ newNotes;
38
- /**
39
- * Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
40
- * The mapping maps from the unique siloed note hash to the index for notes created in private executions.
41
- * It maps from siloed note hash to the index for notes created by public functions.
42
- *
43
- * They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
44
- * because these notes are meant to be maintained on a per-call basis
45
- * They should act as references for the read requests output by an app circuit via public inputs.
46
- */ noteHashLeafIndexMap;
47
44
  noteHashNullifierCounterMap;
48
45
  contractClassLogs;
49
46
  offchainEffects;
50
47
  nestedExecutionResults;
51
- constructor(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ anchorBlockHeader, /** List of transient auth witnesses to be used during this simulation */ authWitnesses, capsules, executionCache, noteCache, taggingIndexCache, executionDataProvider, totalPublicCalldataCount = 0, sideEffectCounter = 0, log = createLogger('simulator:client_execution_context'), scopes, senderForTags, simulator){
52
- super(callContext.contractAddress, authWitnesses, capsules, executionDataProvider, log, scopes), this.argsHash = argsHash, this.txContext = txContext, this.callContext = callContext, this.anchorBlockHeader = anchorBlockHeader, this.executionCache = executionCache, this.noteCache = noteCache, this.taggingIndexCache = taggingIndexCache, this.totalPublicCalldataCount = totalPublicCalldataCount, this.sideEffectCounter = sideEffectCounter, this.senderForTags = senderForTags, this.simulator = simulator, this.isPrivate = true, this.newNotes = [], this.noteHashLeafIndexMap = new Map(), this.noteHashNullifierCounterMap = new Map(), this.contractClassLogs = [], this.offchainEffects = [], this.nestedExecutionResults = [];
48
+ constructor(argsHash, txContext, callContext, /** Header of a block whose state is used during private execution (not the block the transaction is included in). */ anchorBlockHeader, /** Needed to trigger contract synchronization before nested calls */ utilityExecutor, /** List of transient auth witnesses to be used during this simulation */ authWitnesses, capsules, executionCache, noteCache, taggingIndexCache, contractStore, noteStore, keyStore, addressStore, aztecNode, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobId, totalPublicCalldataCount = 0, sideEffectCounter = 0, log = createLogger('simulator:client_execution_context'), scopes, senderForTags, simulator){
49
+ super(callContext.contractAddress, authWitnesses, capsules, anchorBlockHeader, contractStore, noteStore, keyStore, addressStore, aztecNode, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, jobId, log, scopes), this.argsHash = argsHash, this.txContext = txContext, this.callContext = callContext, this.anchorBlockHeader = anchorBlockHeader, this.utilityExecutor = utilityExecutor, this.executionCache = executionCache, this.noteCache = noteCache, this.taggingIndexCache = taggingIndexCache, this.senderTaggingStore = senderTaggingStore, this.totalPublicCalldataCount = totalPublicCalldataCount, this.sideEffectCounter = sideEffectCounter, this.senderForTags = senderForTags, this.simulator = simulator, this.isPrivate = true, this.newNotes = [], this.noteHashNullifierCounterMap = new Map(), this.contractClassLogs = [], this.offchainEffects = [], this.nestedExecutionResults = [];
53
50
  }
54
51
  getPrivateContextInputs() {
55
52
  return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.sideEffectCounter);
@@ -77,12 +74,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
77
74
  return toACVMWitness(0, fields);
78
75
  }
79
76
  /**
80
- * The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
81
- * regarding which note hash each settled read request corresponds to.
82
- */ getNoteHashLeafIndexMap() {
83
- return this.noteHashLeafIndexMap;
84
- }
85
- /**
86
77
  * Get the data for the newly created notes.
87
78
  */ getNewNotes() {
88
79
  return this.newNotes;
@@ -101,7 +92,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
101
92
  return this.offchainEffects;
102
93
  }
103
94
  /**
104
- * Returns the pre tags that were used in this execution (and that need to be stored in the db).
95
+ * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
105
96
  */ getUsedPreTags() {
106
97
  return this.taggingIndexCache.getUsedPreTags();
107
98
  }
@@ -142,7 +133,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
142
133
  * @param recipient - The address receiving the log
143
134
  * @returns An app tag to be used in a log.
144
135
  */ async privateGetNextAppTagAsSender(sender, recipient) {
145
- const secret = await this.executionDataProvider.calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
136
+ const secret = await this.#calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
146
137
  const index = await this.#getIndexToUseForSecret(secret);
147
138
  this.log.debug(`Incrementing tagging index for sender: ${sender}, recipient: ${recipient}, contract: ${this.contractAddress} to ${index}`);
148
139
  this.taggingIndexCache.setLastUsedIndex(secret, index);
@@ -151,6 +142,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
151
142
  index
152
143
  });
153
144
  }
145
+ async #calculateDirectionalAppTaggingSecret(contractAddress, sender, recipient) {
146
+ const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
147
+ const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
148
+ return DirectionalAppTaggingSecret.compute(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
149
+ }
154
150
  async #getIndexToUseForSecret(secret) {
155
151
  // If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
156
152
  const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
@@ -160,8 +156,8 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
160
156
  // This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
161
157
  // are up to date. We do this here because this store is not synced as part of the global sync because
162
158
  // that'd be wasteful as most tagging secrets are not used in each tx.
163
- await this.executionDataProvider.syncTaggedLogsAsSender(secret, this.contractAddress);
164
- const lastUsedIndex = await this.executionDataProvider.getLastUsedIndexAsSender(secret);
159
+ await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingStore, await this.anchorBlockHeader.hash(), this.jobId);
160
+ const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret, this.jobId);
165
161
  // If lastUsedIndex is undefined, we've never used this secret, so start from 0
166
162
  // Otherwise, the next index to use is one past the last used index
167
163
  return lastUsedIndex === undefined ? 0 : lastUsedIndex + 1;
@@ -203,6 +199,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
203
199
  * Real notes coming from DB will have a leafIndex which
204
200
  * represents their index in the note hash tree.
205
201
  *
202
+ * @param owner - The owner of the notes. If undefined, returns notes for all owners.
206
203
  * @param storageSlot - The storage slot.
207
204
  * @param numSelects - The number of valid selects in selectBy and selectValues.
208
205
  * @param selectBy - An array of indices of the fields to selects.
@@ -214,11 +211,12 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
214
211
  * @param offset - The starting index for pagination.
215
212
  * @param status - The status of notes to fetch.
216
213
  * @returns Array of note data.
217
- */ async utilityGetNotes(storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
214
+ */ async utilityGetNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
218
215
  // Nullified pending notes are already removed from the list.
219
- const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, storageSlot);
216
+ const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
220
217
  const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
221
- const dbNotes = await this.executionDataProvider.getNotes(this.callContext.contractAddress, storageSlot, status, this.scopes);
218
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
219
+ const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner, storageSlot, status, this.scopes);
222
220
  const dbNotesFiltered = dbNotes.filter((n)=>!pendingNullifiers.has(n.siloedNullifier.value));
223
221
  const notes = pickNotes([
224
222
  ...dbNotesFiltered,
@@ -245,32 +243,19 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
245
243
  offset
246
244
  });
247
245
  this.log.debug(`Returning ${notes.length} notes for ${this.callContext.contractAddress} at ${storageSlot}: ${notes.map((n)=>`${n.noteNonce.toString()}:[${n.note.items.map((i)=>i.toString()).join(',')}]`).join(', ')}`);
248
- const noteHashesAndIndexes = await Promise.all(notes.map(async (n)=>{
249
- if (n.index !== undefined) {
250
- const siloedNoteHash = await siloNoteHash(n.contractAddress, n.noteHash);
251
- const uniqueNoteHash = await computeUniqueNoteHash(n.noteNonce, siloedNoteHash);
252
- return {
253
- hash: uniqueNoteHash,
254
- index: n.index
255
- };
256
- }
257
- }));
258
- noteHashesAndIndexes.filter((n)=>n !== undefined).forEach((n)=>{
259
- this.noteHashLeafIndexMap.set(n.hash.toBigInt(), n.index);
260
- });
261
246
  return notes;
262
247
  }
263
248
  /**
264
249
  * Keep track of the new note created during execution.
265
250
  * It can be used in subsequent calls (or transactions when chaining txs is possible).
266
- * @param contractAddress - The contract address.
251
+ * @param owner - The owner of the note.
267
252
  * @param storageSlot - The storage slot.
268
253
  * @param randomness - The randomness injected into the note.
269
254
  * @param noteTypeId - The type ID of the note.
270
255
  * @param noteItems - The items to be included in a Note.
271
256
  * @param noteHash - A hash of the new note.
272
257
  * @returns
273
- */ privateNotifyCreatedNote(storageSlot, randomness, noteTypeId, noteItems, noteHash, counter) {
258
+ */ privateNotifyCreatedNote(owner, storageSlot, randomness, noteTypeId, noteItems, noteHash, counter) {
274
259
  this.log.debug(`Notified of new note with inner hash ${noteHash}`, {
275
260
  contractAddress: this.callContext.contractAddress,
276
261
  storageSlot,
@@ -281,12 +266,14 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
281
266
  const note = new Note(noteItems);
282
267
  this.noteCache.addNewNote({
283
268
  contractAddress: this.callContext.contractAddress,
269
+ owner,
284
270
  storageSlot,
285
271
  randomness,
286
272
  noteNonce: Fr.ZERO,
287
273
  note,
288
274
  siloedNullifier: undefined,
289
- noteHash
275
+ noteHash,
276
+ isPending: true
290
277
  }, counter);
291
278
  this.newNotes.push(NoteAndSlot.from({
292
279
  note,
@@ -318,6 +305,17 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
318
305
  return this.noteCache.nullifierCreated(this.callContext.contractAddress, innerNullifier);
319
306
  }
320
307
  /**
308
+ * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
309
+ * called for this inner nullifier from the contract with the specified address.
310
+ * @param innerNullifier - The inner nullifier to check.
311
+ * @param contractAddress - Address of the contract that emitted the nullifier.
312
+ * @returns A boolean indicating whether the nullifier is pending or not.
313
+ */ async privateIsNullifierPending(innerNullifier, contractAddress) {
314
+ const siloedNullifier = await siloNullifier(contractAddress, innerNullifier);
315
+ const isNullifierPending = this.noteCache.getNullifiers(contractAddress).has(siloedNullifier.toBigInt());
316
+ return Promise.resolve(isNullifierPending);
317
+ }
318
+ /**
321
319
  * Emit a contract class log.
322
320
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
323
321
  * keep the preimage in ts for later.
@@ -350,11 +348,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
350
348
  const simulatorSetupTimer = new Timer();
351
349
  this.log.debug(`Calling private function ${targetContractAddress}:${functionSelector} from ${this.callContext.contractAddress}`);
352
350
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
353
- await verifyCurrentClassId(targetContractAddress, this.executionDataProvider, this.anchorBlockHeader);
354
- const targetArtifact = await this.executionDataProvider.getFunctionArtifact(targetContractAddress, functionSelector);
351
+ await ensureContractSynced(targetContractAddress, functionSelector, this.utilityExecutor, this.aztecNode, this.contractStore, this.noteStore, this.anchorBlockHeader, this.jobId);
352
+ const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
355
353
  const derivedTxContext = this.txContext.clone();
356
354
  const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, isStaticCall);
357
- const privateExecutionOracle = new PrivateExecutionOracle(argsHash, derivedTxContext, derivedCallContext, this.anchorBlockHeader, this.authWitnesses, this.capsules, this.executionCache, this.noteCache, this.taggingIndexCache, this.executionDataProvider, this.totalPublicCalldataCount, sideEffectCounter, this.log, this.scopes, this.senderForTags, this.simulator);
355
+ const privateExecutionOracle = new PrivateExecutionOracle(argsHash, derivedTxContext, derivedCallContext, this.anchorBlockHeader, this.utilityExecutor, this.authWitnesses, this.capsules, this.executionCache, this.noteCache, this.taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, this.jobId, this.totalPublicCalldataCount, sideEffectCounter, this.log, this.scopes, this.senderForTags, this.simulator);
358
356
  const setupTime = simulatorSetupTimer.ms();
359
357
  const childExecutionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, targetArtifact, targetContractAddress, functionSelector);
360
358
  if (isStaticCall) {
@@ -417,7 +415,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
417
415
  return new CallContext(this.contractAddress, targetContractAddress, await FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isStaticCall);
418
416
  }
419
417
  getDebugFunctionName() {
420
- return this.executionDataProvider.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
418
+ return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
421
419
  }
422
420
  utilityEmitOffchainEffect(data) {
423
421
  this.offchainEffects.push({