@aztec/pxe 0.0.1-commit.03f7ef2 → 0.0.1-commit.0658669b3

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 (373) hide show
  1. package/dest/access_scopes.d.ts +9 -0
  2. package/dest/access_scopes.d.ts.map +1 -0
  3. package/dest/access_scopes.js +6 -0
  4. package/dest/bin/check_oracle_version.js +1 -1
  5. package/dest/block_synchronizer/block_synchronizer.d.ts +17 -11
  6. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  7. package/dest/block_synchronizer/block_synchronizer.js +80 -34
  8. package/dest/config/index.d.ts +3 -1
  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 +65 -40
  16. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/contract_function_simulator.js +209 -89
  18. package/dest/contract_function_simulator/execution_note_cache.d.ts +18 -9
  19. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/execution_note_cache.js +45 -28
  21. package/dest/contract_function_simulator/index.d.ts +2 -2
  22. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/index.js +1 -1
  24. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
  25. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +7 -4
  27. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -3
  28. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  29. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +2 -2
  30. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  31. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  33. package/dest/contract_function_simulator/oracle/interfaces.d.ts +17 -13
  34. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -1
  36. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +6 -6
  38. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  39. package/dest/contract_function_simulator/oracle/note_packing_utils.js +8 -8
  40. package/dest/contract_function_simulator/oracle/oracle.d.ts +12 -10
  41. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/oracle/oracle.js +67 -44
  43. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -26
  44. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/oracle/private_execution.js +1 -37
  46. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +46 -46
  47. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  48. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +88 -56
  49. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +82 -48
  50. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  51. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +141 -120
  52. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  53. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/proxied_contract_data_source.js +5 -5
  55. package/dest/contract_logging.d.ts +22 -0
  56. package/dest/contract_logging.d.ts.map +1 -0
  57. package/dest/contract_logging.js +23 -0
  58. package/dest/contract_sync/contract_sync_service.d.ts +43 -0
  59. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  60. package/dest/contract_sync/contract_sync_service.js +97 -0
  61. package/dest/contract_sync/helpers.d.ts +29 -0
  62. package/dest/contract_sync/helpers.d.ts.map +1 -0
  63. package/dest/contract_sync/helpers.js +55 -0
  64. package/dest/debug/pxe_debug_utils.d.ts +26 -12
  65. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  66. package/dest/debug/pxe_debug_utils.js +30 -19
  67. package/dest/entrypoints/client/bundle/index.d.ts +4 -1
  68. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  69. package/dest/entrypoints/client/bundle/index.js +3 -0
  70. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  71. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  72. package/dest/entrypoints/client/bundle/utils.js +31 -8
  73. package/dest/entrypoints/client/lazy/index.d.ts +4 -1
  74. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  75. package/dest/entrypoints/client/lazy/index.js +3 -0
  76. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  77. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  78. package/dest/entrypoints/client/lazy/utils.js +32 -9
  79. package/dest/entrypoints/pxe_creation_options.d.ts +5 -3
  80. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  81. package/dest/entrypoints/server/index.d.ts +5 -1
  82. package/dest/entrypoints/server/index.d.ts.map +1 -1
  83. package/dest/entrypoints/server/index.js +4 -0
  84. package/dest/entrypoints/server/utils.d.ts +1 -1
  85. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  86. package/dest/entrypoints/server/utils.js +39 -16
  87. package/dest/error_enriching.d.ts +4 -4
  88. package/dest/error_enriching.d.ts.map +1 -1
  89. package/dest/error_enriching.js +6 -6
  90. package/dest/events/event_service.d.ts +8 -8
  91. package/dest/events/event_service.d.ts.map +1 -1
  92. package/dest/events/event_service.js +21 -24
  93. package/dest/events/private_event_filter_validator.d.ts +6 -6
  94. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  95. package/dest/events/private_event_filter_validator.js +5 -6
  96. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  97. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  98. package/dest/job_coordinator/job_coordinator.js +94 -0
  99. package/dest/logs/log_service.d.ts +18 -32
  100. package/dest/logs/log_service.d.ts.map +1 -1
  101. package/dest/logs/log_service.js +76 -197
  102. package/dest/notes/note_service.d.ts +13 -12
  103. package/dest/notes/note_service.d.ts.map +1 -1
  104. package/dest/notes/note_service.js +42 -46
  105. package/dest/notes_filter.d.ts +25 -0
  106. package/dest/notes_filter.d.ts.map +1 -0
  107. package/dest/notes_filter.js +4 -0
  108. package/dest/oracle_version.d.ts +3 -3
  109. package/dest/oracle_version.d.ts.map +1 -1
  110. package/dest/oracle_version.js +4 -3
  111. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  112. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  113. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  114. package/dest/private_kernel/hints/index.d.ts +3 -3
  115. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  116. package/dest/private_kernel/hints/index.js +2 -2
  117. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
  118. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  119. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +141 -74
  120. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  121. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  122. package/dest/private_kernel/hints/test_utils.js +203 -0
  123. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  124. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  125. package/dest/private_kernel/private_kernel_execution_prover.js +24 -17
  126. package/dest/private_kernel/private_kernel_oracle.d.ts +24 -24
  127. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  128. package/dest/private_kernel/private_kernel_oracle.js +94 -2
  129. package/dest/pxe.d.ts +85 -66
  130. package/dest/pxe.d.ts.map +1 -1
  131. package/dest/pxe.js +203 -185
  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} +13 -12
  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 +17 -0
  139. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  140. package/dest/storage/{anchor_block_data_provider/anchor_block_data_provider.js → anchor_block_store/anchor_block_store.js} +9 -2
  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 +72 -0
  145. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  146. package/dest/storage/capsule_store/capsule_store.js +253 -0
  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_store/contract_store.d.ts +93 -0
  151. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  152. package/dest/storage/contract_store/contract_store.js +309 -0
  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/index.d.ts +8 -8
  159. package/dest/storage/index.d.ts.map +1 -1
  160. package/dest/storage/index.js +7 -7
  161. package/dest/storage/metadata.d.ts +1 -1
  162. package/dest/storage/metadata.js +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_store/note_store.d.ts +83 -0
  167. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  168. package/dest/storage/note_store/note_store.js +343 -0
  169. package/dest/storage/note_store/stored_note.d.ts +16 -0
  170. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  171. package/dest/storage/note_store/stored_note.js +43 -0
  172. package/dest/storage/private_event_store/private_event_store.d.ts +91 -0
  173. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  174. package/dest/storage/private_event_store/private_event_store.js +273 -0
  175. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  176. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  177. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  178. package/dest/storage/tagging_store/index.d.ts +4 -0
  179. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  180. package/dest/storage/tagging_store/index.js +3 -0
  181. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  182. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  183. package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
  184. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  185. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  186. package/dest/storage/tagging_store/sender_address_book_store.js +36 -0
  187. package/dest/storage/{tagging_data_provider/sender_tagging_data_provider.d.ts → tagging_store/sender_tagging_store.d.ts} +19 -9
  188. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  189. package/dest/storage/tagging_store/sender_tagging_store.js +348 -0
  190. package/dest/tagging/constants.d.ts +2 -2
  191. package/dest/tagging/constants.d.ts.map +1 -1
  192. package/dest/tagging/constants.js +10 -3
  193. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  194. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  195. package/dest/tagging/get_all_logs_by_tags.js +60 -0
  196. package/dest/tagging/index.d.ts +15 -3
  197. package/dest/tagging/index.d.ts.map +1 -1
  198. package/dest/tagging/index.js +14 -2
  199. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +4 -3
  200. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  201. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +12 -12
  202. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  203. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -2
  204. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  205. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +5 -2
  206. package/dest/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.d.ts +4 -4
  207. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  208. package/dest/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.js +8 -23
  209. package/dest/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.d.ts +1 -1
  210. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  211. package/dest/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.js +5 -8
  212. package/dest/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.d.ts +7 -4
  213. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  214. package/dest/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.js +12 -7
  215. package/package.json +27 -18
  216. package/src/access_scopes.ts +9 -0
  217. package/src/bin/check_oracle_version.ts +1 -0
  218. package/src/block_synchronizer/block_synchronizer.ts +99 -46
  219. package/src/config/index.ts +14 -0
  220. package/src/config/package_info.ts +1 -1
  221. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  222. package/src/contract_function_simulator/contract_function_simulator.ts +363 -153
  223. package/src/contract_function_simulator/execution_note_cache.ts +44 -25
  224. package/src/contract_function_simulator/index.ts +1 -1
  225. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +6 -2
  226. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
  227. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  228. package/src/contract_function_simulator/oracle/interfaces.ts +22 -12
  229. package/src/contract_function_simulator/oracle/note_packing_utils.ts +10 -10
  230. package/src/contract_function_simulator/oracle/oracle.ts +79 -47
  231. package/src/contract_function_simulator/oracle/private_execution.ts +1 -69
  232. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +121 -135
  233. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +217 -132
  234. package/src/contract_function_simulator/proxied_contract_data_source.ts +7 -7
  235. package/src/contract_logging.ts +39 -0
  236. package/src/contract_sync/contract_sync_service.ts +152 -0
  237. package/src/contract_sync/helpers.ts +98 -0
  238. package/src/debug/pxe_debug_utils.ts +65 -20
  239. package/src/entrypoints/client/bundle/index.ts +3 -0
  240. package/src/entrypoints/client/bundle/utils.ts +23 -16
  241. package/src/entrypoints/client/lazy/index.ts +3 -0
  242. package/src/entrypoints/client/lazy/utils.ts +24 -17
  243. package/src/entrypoints/pxe_creation_options.ts +4 -2
  244. package/src/entrypoints/server/index.ts +4 -0
  245. package/src/entrypoints/server/utils.ts +33 -41
  246. package/src/error_enriching.ts +7 -15
  247. package/src/events/event_service.ts +22 -28
  248. package/src/events/private_event_filter_validator.ts +4 -6
  249. package/src/job_coordinator/job_coordinator.ts +150 -0
  250. package/src/logs/log_service.ts +118 -274
  251. package/src/notes/note_service.ts +45 -49
  252. package/src/notes_filter.ts +26 -0
  253. package/src/oracle_version.ts +4 -3
  254. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  255. package/src/private_kernel/hints/index.ts +2 -2
  256. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +196 -138
  257. package/src/private_kernel/hints/test_utils.ts +325 -0
  258. package/src/private_kernel/private_kernel_execution_prover.ts +27 -19
  259. package/src/private_kernel/private_kernel_oracle.ts +116 -36
  260. package/src/pxe.ts +331 -257
  261. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +16 -16
  262. package/src/storage/address_store/index.ts +1 -0
  263. package/src/storage/{anchor_block_data_provider/anchor_block_data_provider.ts → anchor_block_store/anchor_block_store.ts} +9 -1
  264. package/src/storage/anchor_block_store/index.ts +1 -0
  265. package/src/storage/capsule_store/capsule_store.ts +315 -0
  266. package/src/storage/capsule_store/index.ts +1 -0
  267. package/src/storage/contract_store/contract_store.ts +429 -0
  268. package/src/storage/contract_store/index.ts +1 -0
  269. package/src/storage/index.ts +7 -7
  270. package/src/storage/metadata.ts +1 -1
  271. package/src/storage/note_store/index.ts +2 -0
  272. package/src/storage/note_store/note_store.ts +418 -0
  273. package/src/storage/note_store/stored_note.ts +48 -0
  274. package/src/storage/private_event_store/private_event_store.ts +384 -0
  275. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  276. package/src/storage/tagging_store/index.ts +3 -0
  277. package/src/storage/tagging_store/recipient_tagging_store.ts +139 -0
  278. package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
  279. package/src/storage/tagging_store/sender_tagging_store.ts +429 -0
  280. package/src/tagging/constants.ts +10 -3
  281. package/src/tagging/get_all_logs_by_tags.ts +92 -0
  282. package/src/tagging/index.ts +17 -2
  283. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +27 -13
  284. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  285. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +7 -1
  286. package/src/tagging/{sync → sender_sync}/sync_sender_tagging_indexes.ts +12 -25
  287. package/src/tagging/{sync → sender_sync}/utils/get_status_change_of_pending.ts +5 -13
  288. package/src/tagging/{sync → sender_sync}/utils/load_and_store_new_tagging_indexes.ts +19 -7
  289. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  290. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  291. package/dest/contract_function_simulator/proxied_node.js +0 -27
  292. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  293. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  294. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  295. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  296. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -46
  297. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  298. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  299. package/dest/public_storage/public_storage_service.d.ts +0 -24
  300. package/dest/public_storage/public_storage_service.d.ts.map +0 -1
  301. package/dest/public_storage/public_storage_service.js +0 -26
  302. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  303. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  304. package/dest/storage/address_data_provider/index.d.ts +0 -2
  305. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  306. package/dest/storage/address_data_provider/index.js +0 -1
  307. package/dest/storage/anchor_block_data_provider/anchor_block_data_provider.d.ts +0 -9
  308. package/dest/storage/anchor_block_data_provider/anchor_block_data_provider.d.ts.map +0 -1
  309. package/dest/storage/anchor_block_data_provider/index.d.ts +0 -2
  310. package/dest/storage/anchor_block_data_provider/index.d.ts.map +0 -1
  311. package/dest/storage/anchor_block_data_provider/index.js +0 -1
  312. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -57
  313. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  314. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -146
  315. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  316. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  317. package/dest/storage/capsule_data_provider/index.js +0 -1
  318. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -66
  319. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  320. package/dest/storage/contract_data_provider/contract_data_provider.js +0 -224
  321. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  322. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  323. package/dest/storage/contract_data_provider/index.js +0 -1
  324. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  325. package/dest/storage/note_data_provider/index.d.ts +0 -3
  326. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  327. package/dest/storage/note_data_provider/index.js +0 -2
  328. package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -84
  329. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  330. package/dest/storage/note_data_provider/note_data_provider.js +0 -322
  331. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -51
  332. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  333. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -115
  334. package/dest/storage/tagging_data_provider/index.d.ts +0 -3
  335. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  336. package/dest/storage/tagging_data_provider/index.js +0 -2
  337. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.d.ts +0 -31
  338. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.d.ts.map +0 -1
  339. package/dest/storage/tagging_data_provider/recipient_tagging_data_provider.js +0 -65
  340. package/dest/storage/tagging_data_provider/sender_tagging_data_provider.d.ts.map +0 -1
  341. package/dest/storage/tagging_data_provider/sender_tagging_data_provider.js +0 -196
  342. package/dest/tagging/recipient_sync/new_recipient_tagging_data_provider.d.ts +0 -21
  343. package/dest/tagging/recipient_sync/new_recipient_tagging_data_provider.d.ts.map +0 -1
  344. package/dest/tagging/recipient_sync/new_recipient_tagging_data_provider.js +0 -42
  345. package/dest/tagging/sync/sync_sender_tagging_indexes.d.ts.map +0 -1
  346. package/dest/tagging/sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  347. package/dest/tagging/sync/utils/load_and_store_new_tagging_indexes.d.ts.map +0 -1
  348. package/dest/tagging/utils.d.ts +0 -18
  349. package/dest/tagging/utils.d.ts.map +0 -1
  350. package/dest/tagging/utils.js +0 -25
  351. package/dest/tree_membership/tree_membership_service.d.ts +0 -52
  352. package/dest/tree_membership/tree_membership_service.d.ts.map +0 -1
  353. package/dest/tree_membership/tree_membership_service.js +0 -84
  354. package/src/contract_function_simulator/proxied_node.ts +0 -33
  355. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -133
  356. package/src/public_storage/public_storage_service.ts +0 -33
  357. package/src/storage/address_data_provider/index.ts +0 -1
  358. package/src/storage/anchor_block_data_provider/index.ts +0 -1
  359. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -179
  360. package/src/storage/capsule_data_provider/index.ts +0 -1
  361. package/src/storage/contract_data_provider/contract_data_provider.ts +0 -319
  362. package/src/storage/contract_data_provider/index.ts +0 -1
  363. package/src/storage/note_data_provider/index.ts +0 -2
  364. package/src/storage/note_data_provider/note_data_provider.ts +0 -412
  365. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -162
  366. package/src/storage/tagging_data_provider/index.ts +0 -2
  367. package/src/storage/tagging_data_provider/recipient_tagging_data_provider.ts +0 -86
  368. package/src/storage/tagging_data_provider/sender_tagging_data_provider.ts +0 -244
  369. package/src/tagging/recipient_sync/new_recipient_tagging_data_provider.ts +0 -53
  370. package/src/tagging/utils.ts +0 -32
  371. package/src/tree_membership/tree_membership_service.ts +0 -112
  372. /package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +0 -0
  373. /package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +0 -0
@@ -1,44 +1,42 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { KeyStore } from '@aztec/key-store';
3
2
  import { type CircuitSimulator } from '@aztec/simulator/client';
4
- import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
5
- import type { AuthWitness } from '@aztec/stdlib/auth-witness';
3
+ import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
6
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import type { AztecNode } from '@aztec/stdlib/interfaces/client';
8
5
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
9
6
  import { type ContractClassLog, type PreTag } from '@aztec/stdlib/logs';
10
7
  import { Tag } from '@aztec/stdlib/logs';
11
8
  import { type NoteStatus } from '@aztec/stdlib/note';
12
- import { type BlockHeader, CallContext, Capsule, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
13
- import type { AddressDataProvider } from '../../storage/address_data_provider/address_data_provider.js';
14
- import type { AnchorBlockDataProvider } from '../../storage/anchor_block_data_provider/anchor_block_data_provider.js';
15
- import type { CapsuleDataProvider } from '../../storage/capsule_data_provider/capsule_data_provider.js';
16
- import type { ContractDataProvider } from '../../storage/contract_data_provider/contract_data_provider.js';
17
- import type { NoteDataProvider } from '../../storage/note_data_provider/note_data_provider.js';
18
- import type { PrivateEventDataProvider } from '../../storage/private_event_data_provider/private_event_data_provider.js';
19
- import type { RecipientTaggingDataProvider } from '../../storage/tagging_data_provider/recipient_tagging_data_provider.js';
20
- import type { SenderTaggingDataProvider } from '../../storage/tagging_data_provider/sender_tagging_data_provider.js';
9
+ import { CallContext, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
10
+ import type { AccessScopes } from '../../access_scopes.js';
11
+ import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js';
12
+ import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
21
13
  import type { ExecutionNoteCache } from '../execution_note_cache.js';
22
14
  import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
23
15
  import type { HashedValuesCache } from '../hashed_values_cache.js';
24
16
  import type { IPrivateExecutionOracle, NoteData } from './interfaces.js';
25
- import { UtilityExecutionOracle } from './utility_execution_oracle.js';
17
+ import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utility_execution_oracle.js';
18
+ /** Args for PrivateExecutionOracle constructor. */
19
+ export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contractAddress'> & {
20
+ argsHash: Fr;
21
+ txContext: TxContext;
22
+ callContext: CallContext;
23
+ /** Needed to trigger contract synchronization before nested calls */
24
+ utilityExecutor: (call: FunctionCall, scopes: AccessScopes) => Promise<void>;
25
+ executionCache: HashedValuesCache;
26
+ noteCache: ExecutionNoteCache;
27
+ taggingIndexCache: ExecutionTaggingIndexCache;
28
+ senderTaggingStore: SenderTaggingStore;
29
+ contractSyncService: ContractSyncService;
30
+ totalPublicCalldataCount?: number;
31
+ sideEffectCounter?: number;
32
+ senderForTags?: AztecAddress;
33
+ simulator?: CircuitSimulator;
34
+ };
26
35
  /**
27
36
  * The execution oracle for the private part of a transaction.
28
37
  */
29
38
  export declare class PrivateExecutionOracle extends UtilityExecutionOracle implements IPrivateExecutionOracle {
30
39
  #private;
31
- private readonly argsHash;
32
- private readonly txContext;
33
- private readonly callContext;
34
- protected readonly anchorBlockHeader: BlockHeader;
35
- private readonly executionCache;
36
- private readonly noteCache;
37
- private readonly taggingIndexCache;
38
- private totalPublicCalldataCount;
39
- protected sideEffectCounter: number;
40
- private senderForTags?;
41
- private simulator?;
42
40
  isPrivate: true;
43
41
  /**
44
42
  * New notes created during this execution.
@@ -49,25 +47,24 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
49
47
  * Users can also use this to get a clearer idea of what's happened during a simulation.
50
48
  */
51
49
  private newNotes;
52
- /**
53
- * Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
54
- * The mapping maps from the unique siloed note hash to the index for notes created in private executions.
55
- * It maps from siloed note hash to the index for notes created by public functions.
56
- *
57
- * They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
58
- * because these notes are meant to be maintained on a per-call basis
59
- * They should act as references for the read requests output by an app circuit via public inputs.
60
- */
61
- private noteHashLeafIndexMap;
62
50
  private noteHashNullifierCounterMap;
63
51
  private contractClassLogs;
64
52
  private offchainEffects;
65
53
  private nestedExecutionResults;
66
- constructor(argsHash: Fr, txContext: TxContext, callContext: CallContext,
67
- /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
68
- anchorBlockHeader: BlockHeader,
69
- /** List of transient auth witnesses to be used during this simulation */
70
- authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, contractDataProvider: ContractDataProvider, noteDataProvider: NoteDataProvider, keyStore: KeyStore, addressDataProvider: AddressDataProvider, aztecNode: AztecNode, anchorBlockDataProvider: AnchorBlockDataProvider, senderTaggingDataProvider: SenderTaggingDataProvider, recipientTaggingDataProvider: RecipientTaggingDataProvider, capsuleDataProvider: CapsuleDataProvider, privateEventDataProvider: PrivateEventDataProvider, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
54
+ private readonly argsHash;
55
+ private readonly txContext;
56
+ private readonly callContext;
57
+ private readonly utilityExecutor;
58
+ private readonly executionCache;
59
+ private readonly noteCache;
60
+ private readonly taggingIndexCache;
61
+ private readonly senderTaggingStore;
62
+ private readonly contractSyncService;
63
+ private totalPublicCalldataCount;
64
+ protected sideEffectCounter: number;
65
+ private senderForTags?;
66
+ private readonly simulator?;
67
+ constructor(args: PrivateExecutionOracleArgs);
71
68
  getPrivateContextInputs(): PrivateContextInputs;
72
69
  /**
73
70
  * Writes the function inputs to the initial witness.
@@ -75,11 +72,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
75
72
  * @returns The initial witness.
76
73
  */
77
74
  getInitialWitness(abi: FunctionAbi): Map<number, string>;
78
- /**
79
- * The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
80
- * regarding which note hash each settled read request corresponds to.
81
- */
82
- getNoteHashLeafIndexMap(): Map<bigint, bigint>;
83
75
  /**
84
76
  * Get the data for the newly created notes.
85
77
  */
@@ -194,6 +186,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
194
186
  * @param noteHash - A hash of the new note.
195
187
  */
196
188
  privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
189
+ /**
190
+ * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
191
+ * called for this inner nullifier from the contract with the specified address.
192
+ * @param innerNullifier - The inner nullifier to check.
193
+ * @param contractAddress - Address of the contract that emitted the nullifier.
194
+ * @returns A boolean indicating whether the nullifier is pending or not.
195
+ */
196
+ privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
197
197
  /**
198
198
  * Emit a contract class log.
199
199
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
@@ -237,4 +237,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
237
237
  getDebugFunctionName(): Promise<string>;
238
238
  utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
239
239
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBK0IsS0FBSyxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixXQUFXLEVBQ1gsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4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
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQStCLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBUSxLQUFLLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFDTCxXQUFXLEVBQ1gsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCwwQkFBMEIsRUFDMUIsS0FBSyxTQUFTLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXhGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxLQUFLLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFeEcsbURBQW1EO0FBQ25ELE1BQU0sTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsaUJBQWlCLENBQUMsR0FBRztJQUM3RixRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLHFFQUFxRTtJQUNyRSxlQUFlLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztJQUNsQyxTQUFTLEVBQUUsa0JBQWtCLENBQUM7SUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLENBQUM7SUFDOUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7SUFDdkMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7SUFDekMsd0JBQXdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDM0IsYUFBYSxDQUFDLEVBQUUsWUFBWSxDQUFDO0lBQzdCLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQzlCLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLHNCQUF1QixTQUFRLHNCQUF1QixZQUFXLHVCQUF1Qjs7SUFDbkcsU0FBUyxPQUFpQjtJQUUxQjs7Ozs7OztPQU9HO0lBQ0gsT0FBTyxDQUFDLFFBQVEsQ0FBcUI7SUFDckMsT0FBTyxDQUFDLDJCQUEyQixDQUFrQztJQUNyRSxPQUFPLENBQUMsaUJBQWlCLENBQWlDO0lBQzFELE9BQU8sQ0FBQyxlQUFlLENBQXdCO0lBQy9DLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBb0M7SUFFbEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUs7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQVk7SUFDdEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQWM7SUFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQThEO0lBQzlGLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFvQjtJQUNuRCxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBcUI7SUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBNkI7SUFDL0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBcUI7SUFDeEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBc0I7SUFDMUQsT0FBTyxDQUFDLHdCQUF3QixDQUFTO0lBQ3pDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDcEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFlO0lBQ3JDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQW1CO0lBRTlDLFlBQVksSUFBSSxFQUFFLDBCQUEwQixFQW1CM0M7SUFFTSx1QkFBdUIsSUFBSSxvQkFBb0IsQ0FFckQ7SUFJRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsR0FBRyxFQUFFLFdBQVcsdUJBZ0J4QztJQUVEOztPQUVHO0lBQ0ksV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUVsQztJQUVNLDhCQUE4Qix3QkFFcEM7SUFFRDs7T0FFRztJQUNJLG9CQUFvQiw4QkFFMUI7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjs7UUFFeEI7SUFFRDs7T0FFRztJQUNJLGNBQWMsSUFBSSxNQUFNLEVBQUUsQ0FFaEM7SUFFRDs7T0FFRztJQUNJLHlCQUF5QixpQ0FFL0I7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx1QkFBdUIsSUFBSSxPQUFPLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUVsRTtJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSx1QkFBdUIsQ0FBQyxhQUFhLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHekU7SUFFRDs7Ozs7T0FLRztJQUNVLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBVXJHO0lBNENEOzs7O09BSUc7SUFDSSw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFFekQ7SUFFRDs7OztPQUlHO0lBQ0ksNkJBQTZCLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FNNUQ7SUFFYywyQkFBMkIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FlL0U7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDbUIsZUFBZSxDQUNuQyxLQUFLLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFDL0IsV0FBVyxFQUFFLEVBQUUsRUFDZixVQUFVLEVBQUUsTUFBTSxFQUNsQixlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQ3pCLGVBQWUsRUFBRSxNQUFNLEVBQUUsRUFDekIsZUFBZSxFQUFFLE1BQU0sRUFBRSxFQUN6QixZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQ2xCLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxFQUMzQixhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQ3ZCLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFDdkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUN2QixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLEtBQUssRUFBRSxNQUFNLEVBQ2IsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsVUFBVSxHQUNqQixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FxQ3JCO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLHdCQUF3QixDQUM3QixLQUFLLEVBQUUsWUFBWSxFQUNuQixXQUFXLEVBQUUsRUFBRSxFQUNmLFVBQVUsRUFBRSxFQUFFLEVBQ2QsVUFBVSxFQUFFLFlBQVksRUFDeEIsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUNmLFFBQVEsRUFBRSxFQUFFLEVBQ1osT0FBTyxFQUFFLE1BQU0sUUEwQmhCO0lBRUQ7Ozs7O09BS0c7SUFDVSwwQkFBMEIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBU3hGO0lBRUQ7Ozs7O09BS0c7SUFDSSw2QkFBNkIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxpQkFHdEQ7SUFFRDs7Ozs7O09BTUc7SUFDVSx5QkFBeUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUkxRztJQUVEOzs7Ozs7T0FNRztJQUNJLG9DQUFvQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQU1qRjtJQWNEOzs7Ozs7OztPQVFHO0lBQ0csMEJBQTBCLENBQzlCLHFCQUFxQixFQUFFLFlBQVksRUFDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFFBQVEsRUFBRSxFQUFFLEVBQ1osaUJBQWlCLEVBQUUsTUFBTSxFQUN6QixZQUFZLEVBQUUsT0FBTzs7O09BMkZ0QjtJQWNEOzs7Ozs7T0FNRztJQUNJLHVDQUF1QyxDQUM1QyxzQkFBc0IsRUFBRSxZQUFZLEVBQ3BDLFlBQVksRUFBRSxFQUFFLEVBQ2hCLGtCQUFrQixFQUFFLE1BQU0sRUFDMUIsYUFBYSxFQUFFLE9BQU8saUJBSXZCO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMENBQTBDLENBQy9DLHNCQUFzQixFQUFFLFlBQVksRUFDcEMsWUFBWSxFQUFFLEVBQUUsRUFDaEIsa0JBQWtCLEVBQUUsTUFBTSxFQUMxQixhQUFhLEVBQUUsT0FBTyxpQkFJdkI7SUFFTSw4Q0FBOEMsQ0FBQyw4QkFBOEIsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUzRztJQUVNLG9DQUFvQyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXZGO1lBU2EsaUJBQWlCO0lBYXhCLG9CQUFvQixvQkFFMUI7SUFFTSx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUcxRDtDQUNGIn0=
@@ -1 +1 @@
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
+ {"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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"}
@@ -4,55 +4,65 @@ 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
9
  import { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
10
10
  import { Tag } from '@aztec/stdlib/logs';
11
11
  import { Note } from '@aztec/stdlib/note';
12
12
  import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
13
13
  import { NoteService } from '../../notes/note_service.js';
14
- import { syncSenderTaggingIndexes } from '../../tagging/sync/sync_sender_tagging_indexes.js';
14
+ import { syncSenderTaggingIndexes } from '../../tagging/index.js';
15
15
  import { pickNotes } from '../pick_notes.js';
16
- import { executePrivateFunction, verifyCurrentClassId } from './private_execution.js';
16
+ import { executePrivateFunction } from './private_execution.js';
17
17
  import { UtilityExecutionOracle } from './utility_execution_oracle.js';
18
18
  /**
19
19
  * The execution oracle for the private part of a transaction.
20
20
  */ export class PrivateExecutionOracle extends UtilityExecutionOracle {
21
+ isPrivate = true;
22
+ /**
23
+ * New notes created during this execution.
24
+ * It's possible that a note in this list has been nullified (in the same or other executions) and doesn't exist in
25
+ * the ExecutionNoteCache and the final proof data. But we still include those notes in the execution result because
26
+ * their commitments are still in the public inputs of this execution.
27
+ * This information is only for references (currently used for tests), and is not used for any sort of constrains.
28
+ * Users can also use this to get a clearer idea of what's happened during a simulation.
29
+ */ newNotes = [];
30
+ noteHashNullifierCounterMap = new Map();
31
+ contractClassLogs = [];
32
+ offchainEffects = [];
33
+ nestedExecutionResults = [];
21
34
  argsHash;
22
35
  txContext;
23
36
  callContext;
24
- anchorBlockHeader;
37
+ utilityExecutor;
25
38
  executionCache;
26
39
  noteCache;
27
40
  taggingIndexCache;
41
+ senderTaggingStore;
42
+ contractSyncService;
28
43
  totalPublicCalldataCount;
29
44
  sideEffectCounter;
30
45
  senderForTags;
31
46
  simulator;
32
- isPrivate;
33
- /**
34
- * New notes created during this execution.
35
- * It's possible that a note in this list has been nullified (in the same or other executions) and doesn't exist in
36
- * the ExecutionNoteCache and the final proof data. But we still include those notes in the execution result because
37
- * their commitments are still in the public inputs of this execution.
38
- * This information is only for references (currently used for tests), and is not used for any sort of constrains.
39
- * Users can also use this to get a clearer idea of what's happened during a simulation.
40
- */ newNotes;
41
- /**
42
- * Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
43
- * The mapping maps from the unique siloed note hash to the index for notes created in private executions.
44
- * It maps from siloed note hash to the index for notes created by public functions.
45
- *
46
- * They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
47
- * because these notes are meant to be maintained on a per-call basis
48
- * They should act as references for the read requests output by an app circuit via public inputs.
49
- */ noteHashLeafIndexMap;
50
- noteHashNullifierCounterMap;
51
- contractClassLogs;
52
- offchainEffects;
53
- nestedExecutionResults;
54
- 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, contractDataProvider, noteDataProvider, keyStore, addressDataProvider, aztecNode, anchorBlockDataProvider, senderTaggingDataProvider, recipientTaggingDataProvider, capsuleDataProvider, privateEventDataProvider, totalPublicCalldataCount = 0, sideEffectCounter = 0, log = createLogger('simulator:client_execution_context'), scopes, senderForTags, simulator){
55
- super(callContext.contractAddress, authWitnesses, capsules, anchorBlockHeader, contractDataProvider, noteDataProvider, keyStore, addressDataProvider, aztecNode, anchorBlockDataProvider, senderTaggingDataProvider, recipientTaggingDataProvider, capsuleDataProvider, privateEventDataProvider, 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 = [];
47
+ constructor(args){
48
+ super({
49
+ ...args,
50
+ contractAddress: args.callContext.contractAddress,
51
+ log: args.log ?? createLogger('simulator:client_execution_context')
52
+ });
53
+ this.argsHash = args.argsHash;
54
+ this.txContext = args.txContext;
55
+ this.callContext = args.callContext;
56
+ this.utilityExecutor = args.utilityExecutor;
57
+ this.executionCache = args.executionCache;
58
+ this.noteCache = args.noteCache;
59
+ this.taggingIndexCache = args.taggingIndexCache;
60
+ this.senderTaggingStore = args.senderTaggingStore;
61
+ this.contractSyncService = args.contractSyncService;
62
+ this.totalPublicCalldataCount = args.totalPublicCalldataCount ?? 0;
63
+ this.sideEffectCounter = args.sideEffectCounter ?? 0;
64
+ this.senderForTags = args.senderForTags;
65
+ this.simulator = args.simulator;
56
66
  }
57
67
  getPrivateContextInputs() {
58
68
  return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.sideEffectCounter);
@@ -80,12 +90,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
80
90
  return toACVMWitness(0, fields);
81
91
  }
82
92
  /**
83
- * The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
84
- * regarding which note hash each settled read request corresponds to.
85
- */ getNoteHashLeafIndexMap() {
86
- return this.noteHashLeafIndexMap;
87
- }
88
- /**
89
93
  * Get the data for the newly created notes.
90
94
  */ getNewNotes() {
91
95
  return this.newNotes;
@@ -155,7 +159,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
155
159
  });
156
160
  }
157
161
  async #calculateDirectionalAppTaggingSecret(contractAddress, sender, recipient) {
158
- const senderCompleteAddress = await this.getCompleteAddress(sender);
162
+ const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
159
163
  const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
160
164
  return DirectionalAppTaggingSecret.compute(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
161
165
  }
@@ -168,8 +172,8 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
168
172
  // This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
169
173
  // are up to date. We do this here because this store is not synced as part of the global sync because
170
174
  // that'd be wasteful as most tagging secrets are not used in each tx.
171
- await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingDataProvider);
172
- const lastUsedIndex = await this.senderTaggingDataProvider.getLastUsedIndex(secret);
175
+ await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingStore, await this.anchorBlockHeader.hash(), this.jobId);
176
+ const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret, this.jobId);
173
177
  // If lastUsedIndex is undefined, we've never used this secret, so start from 0
174
178
  // Otherwise, the next index to use is one past the last used index
175
179
  return lastUsedIndex === undefined ? 0 : lastUsedIndex + 1;
@@ -227,7 +231,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
227
231
  // Nullified pending notes are already removed from the list.
228
232
  const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
229
233
  const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
230
- const noteService = new NoteService(this.noteDataProvider, this.aztecNode, this.anchorBlockDataProvider);
234
+ const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
231
235
  const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner, storageSlot, status, this.scopes);
232
236
  const dbNotesFiltered = dbNotes.filter((n)=>!pendingNullifiers.has(n.siloedNullifier.value));
233
237
  const notes = pickNotes([
@@ -255,19 +259,6 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
255
259
  offset
256
260
  });
257
261
  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(', ')}`);
258
- const noteHashesAndIndexes = await Promise.all(notes.map(async (n)=>{
259
- if (n.index !== undefined) {
260
- const siloedNoteHash = await siloNoteHash(n.contractAddress, n.noteHash);
261
- const uniqueNoteHash = await computeUniqueNoteHash(n.noteNonce, siloedNoteHash);
262
- return {
263
- hash: uniqueNoteHash,
264
- index: n.index
265
- };
266
- }
267
- }));
268
- noteHashesAndIndexes.filter((n)=>n !== undefined).forEach((n)=>{
269
- this.noteHashLeafIndexMap.set(n.hash.toBigInt(), n.index);
270
- });
271
262
  return notes;
272
263
  }
273
264
  /**
@@ -297,7 +288,8 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
297
288
  noteNonce: Fr.ZERO,
298
289
  note,
299
290
  siloedNullifier: undefined,
300
- noteHash
291
+ noteHash,
292
+ isPending: true
301
293
  }, counter);
302
294
  this.newNotes.push(NoteAndSlot.from({
303
295
  note,
@@ -329,6 +321,17 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
329
321
  return this.noteCache.nullifierCreated(this.callContext.contractAddress, innerNullifier);
330
322
  }
331
323
  /**
324
+ * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
325
+ * called for this inner nullifier from the contract with the specified address.
326
+ * @param innerNullifier - The inner nullifier to check.
327
+ * @param contractAddress - Address of the contract that emitted the nullifier.
328
+ * @returns A boolean indicating whether the nullifier is pending or not.
329
+ */ async privateIsNullifierPending(innerNullifier, contractAddress) {
330
+ const siloedNullifier = await siloNullifier(contractAddress, innerNullifier);
331
+ const isNullifierPending = this.noteCache.getNullifiers(contractAddress).has(siloedNullifier.toBigInt());
332
+ return Promise.resolve(isNullifierPending);
333
+ }
334
+ /**
332
335
  * Emit a contract class log.
333
336
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
334
337
  * keep the preimage in ts for later.
@@ -361,11 +364,40 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
361
364
  const simulatorSetupTimer = new Timer();
362
365
  this.log.debug(`Calling private function ${targetContractAddress}:${functionSelector} from ${this.callContext.contractAddress}`);
363
366
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
364
- await verifyCurrentClassId(targetContractAddress, this.aztecNode, this.contractDataProvider, this.anchorBlockHeader);
365
- const targetArtifact = await this.contractDataProvider.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
367
+ await this.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, this.utilityExecutor, this.anchorBlockHeader, this.jobId, this.scopes);
368
+ const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
366
369
  const derivedTxContext = this.txContext.clone();
367
370
  const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, isStaticCall);
368
- const privateExecutionOracle = new PrivateExecutionOracle(argsHash, derivedTxContext, derivedCallContext, this.anchorBlockHeader, this.authWitnesses, this.capsules, this.executionCache, this.noteCache, this.taggingIndexCache, this.contractDataProvider, this.noteDataProvider, this.keyStore, this.addressDataProvider, this.aztecNode, this.anchorBlockDataProvider, this.senderTaggingDataProvider, this.recipientTaggingDataProvider, this.capsuleDataProvider, this.privateEventDataProvider, this.totalPublicCalldataCount, sideEffectCounter, this.log, this.scopes, this.senderForTags, this.simulator);
371
+ const privateExecutionOracle = new PrivateExecutionOracle({
372
+ argsHash,
373
+ txContext: derivedTxContext,
374
+ callContext: derivedCallContext,
375
+ anchorBlockHeader: this.anchorBlockHeader,
376
+ utilityExecutor: this.utilityExecutor,
377
+ authWitnesses: this.authWitnesses,
378
+ capsules: this.capsules,
379
+ executionCache: this.executionCache,
380
+ noteCache: this.noteCache,
381
+ taggingIndexCache: this.taggingIndexCache,
382
+ contractStore: this.contractStore,
383
+ noteStore: this.noteStore,
384
+ keyStore: this.keyStore,
385
+ addressStore: this.addressStore,
386
+ aztecNode: this.aztecNode,
387
+ senderTaggingStore: this.senderTaggingStore,
388
+ recipientTaggingStore: this.recipientTaggingStore,
389
+ senderAddressBookStore: this.senderAddressBookStore,
390
+ capsuleStore: this.capsuleStore,
391
+ privateEventStore: this.privateEventStore,
392
+ contractSyncService: this.contractSyncService,
393
+ jobId: this.jobId,
394
+ totalPublicCalldataCount: this.totalPublicCalldataCount,
395
+ sideEffectCounter,
396
+ log: this.log,
397
+ scopes: this.scopes,
398
+ senderForTags: this.senderForTags,
399
+ simulator: this.simulator
400
+ });
369
401
  const setupTime = simulatorSetupTimer.ms();
370
402
  const childExecutionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, targetArtifact, targetContractAddress, functionSelector);
371
403
  if (isStaticCall) {
@@ -428,7 +460,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
428
460
  return new CallContext(this.contractAddress, targetContractAddress, await FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isStaticCall);
429
461
  }
430
462
  getDebugFunctionName() {
431
- return this.contractDataProvider.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
463
+ return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
432
464
  }
433
465
  utilityEmitOffchainEffect(data) {
434
466
  this.offchainEffects.push({