@aztec/pxe 0.0.1-commit.9ef841308 → 0.0.1-commit.a4600f49

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 (485) hide show
  1. package/dest/bin/check_oracle_version.js +45 -111
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +51 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +254 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +37 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +23 -15
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +78 -28
  14. package/dest/config/index.d.ts +8 -1
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +13 -14
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +31 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +68 -0
  21. package/dest/contract/contract_sync_service.d.ts +48 -0
  22. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  23. package/dest/contract/contract_sync_service.js +116 -0
  24. package/dest/contract/helpers.d.ts +7 -0
  25. package/dest/contract/helpers.d.ts.map +1 -0
  26. package/dest/contract/helpers.js +20 -0
  27. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  28. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  29. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  30. package/dest/contract_function_simulator/contract_function_simulator.d.ts +27 -21
  31. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  32. package/dest/contract_function_simulator/contract_function_simulator.js +82 -39
  33. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  34. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  35. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  36. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  37. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  39. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  40. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  42. package/dest/contract_function_simulator/index.d.ts +26 -6
  43. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/index.js +12 -4
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  47. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  55. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  57. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
  58. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  59. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -4
  60. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  61. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  62. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  63. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  64. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  66. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  67. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  68. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -61
  72. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  73. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  74. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  75. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +4 -3
  76. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  77. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -5
  78. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  79. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  80. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  81. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  82. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  84. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  87. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  88. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  90. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  91. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +43 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  97. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  99. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  100. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  101. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  102. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  103. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  104. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  105. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  106. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  107. package/dest/contract_function_simulator/oracle/index.js +1 -1
  108. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -103
  109. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  111. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  112. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  113. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +74 -0
  114. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  115. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  116. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  117. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  118. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  120. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +136 -0
  121. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  122. package/dest/contract_function_simulator/oracle/oracle_registry.js +989 -0
  123. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +222 -0
  124. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  126. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  127. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  128. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  129. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +47 -37
  130. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +186 -55
  132. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +136 -65
  133. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +448 -170
  135. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  136. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/pick_notes.js +20 -3
  138. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  139. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  140. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  141. package/dest/debug/pxe_debug_utils.d.ts +4 -9
  142. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  143. package/dest/debug/pxe_debug_utils.js +0 -6
  144. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  145. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  146. package/dest/entrypoints/client/bundle/index.js +0 -1
  147. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  148. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/utils.js +20 -7
  150. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  151. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  152. package/dest/entrypoints/client/lazy/index.js +0 -1
  153. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  154. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/utils.js +20 -7
  156. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  157. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  158. package/dest/entrypoints/pxe_creation_options.js +3 -1
  159. package/dest/entrypoints/server/index.d.ts +6 -4
  160. package/dest/entrypoints/server/index.d.ts.map +1 -1
  161. package/dest/entrypoints/server/index.js +4 -3
  162. package/dest/entrypoints/server/utils.d.ts +4 -3
  163. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  164. package/dest/entrypoints/server/utils.js +20 -6
  165. package/dest/error_enriching.d.ts +5 -3
  166. package/dest/error_enriching.d.ts.map +1 -1
  167. package/dest/error_enriching.js +13 -11
  168. package/dest/events/event_service.d.ts +13 -5
  169. package/dest/events/event_service.d.ts.map +1 -1
  170. package/dest/events/event_service.js +30 -9
  171. package/dest/events/private_event_filter_validator.d.ts +3 -2
  172. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  173. package/dest/events/private_event_filter_validator.js +15 -0
  174. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  175. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  176. package/dest/hooks/authorize_utility_call.js +4 -0
  177. package/dest/hooks/execution_hooks.d.ts +62 -0
  178. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  179. package/dest/hooks/execution_hooks.js +9 -0
  180. package/dest/hooks/index.d.ts +5 -0
  181. package/dest/hooks/index.d.ts.map +1 -0
  182. package/dest/hooks/index.js +1 -0
  183. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  184. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  185. package/dest/hooks/resolve_custom_request.js +3 -0
  186. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +48 -0
  187. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  188. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  189. package/dest/logs/log_service.d.ts +13 -11
  190. package/dest/logs/log_service.d.ts.map +1 -1
  191. package/dest/logs/log_service.js +181 -72
  192. package/dest/messages/tx_resolver_service.d.ts +17 -0
  193. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  194. package/dest/messages/tx_resolver_service.js +55 -0
  195. package/dest/notes/note_service.d.ts +27 -6
  196. package/dest/notes/note_service.d.ts.map +1 -1
  197. package/dest/notes/note_service.js +80 -65
  198. package/dest/notes_filter.d.ts +2 -3
  199. package/dest/notes_filter.d.ts.map +1 -1
  200. package/dest/oracle_version.d.ts +4 -3
  201. package/dest/oracle_version.d.ts.map +1 -1
  202. package/dest/oracle_version.js +20 -10
  203. package/dest/private_kernel/batch_planner.d.ts +47 -0
  204. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  205. package/dest/private_kernel/batch_planner.js +104 -0
  206. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  207. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  208. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +7 -3
  209. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  210. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  211. package/dest/private_kernel/hints/test_utils.js +3 -4
  212. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  213. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  214. package/dest/private_kernel/private_kernel_execution_prover.js +203 -89
  215. package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
  216. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  217. package/dest/private_kernel/private_kernel_oracle.js +40 -26
  218. package/dest/pxe.d.ts +167 -55
  219. package/dest/pxe.d.ts.map +1 -1
  220. package/dest/pxe.js +334 -206
  221. package/dest/storage/allowed_scopes.d.ts +6 -0
  222. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  223. package/dest/storage/allowed_scopes.js +7 -0
  224. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  225. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  226. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  227. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  228. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  229. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  230. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  231. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  232. package/dest/storage/backwards_compatibility_tests/schema_tests.js +647 -0
  233. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  234. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  235. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  236. package/dest/storage/capsule_store/capsule_service.d.ts +2 -3
  237. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  238. package/dest/storage/capsule_store/capsule_service.js +6 -9
  239. package/dest/storage/capsule_store/capsule_store.d.ts +1 -1
  240. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  241. package/dest/storage/capsule_store/capsule_store.js +8 -5
  242. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  243. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  244. package/dest/storage/contract_store/contract_store.js +70 -98
  245. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  246. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  247. package/dest/storage/fact_store/fact_service.js +45 -0
  248. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  249. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  250. package/dest/storage/fact_store/fact_store.js +408 -0
  251. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  252. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  253. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  254. package/dest/storage/fact_store/index.d.ts +6 -0
  255. package/dest/storage/fact_store/index.d.ts.map +1 -0
  256. package/dest/storage/fact_store/index.js +4 -0
  257. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  258. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  259. package/dest/storage/fact_store/origin_state.js +53 -0
  260. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  261. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  262. package/dest/storage/fact_store/stored_fact.js +64 -0
  263. package/dest/storage/index.d.ts +3 -2
  264. package/dest/storage/index.d.ts.map +1 -1
  265. package/dest/storage/index.js +2 -1
  266. package/dest/storage/metadata.d.ts +2 -2
  267. package/dest/storage/metadata.d.ts.map +1 -1
  268. package/dest/storage/metadata.js +1 -1
  269. package/dest/storage/note_store/note_store.d.ts +42 -33
  270. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  271. package/dest/storage/note_store/note_store.js +199 -170
  272. package/dest/storage/note_store/stored_note.d.ts +3 -8
  273. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  274. package/dest/storage/note_store/stored_note.js +4 -20
  275. package/dest/storage/open_pxe_stores.d.ts +35 -0
  276. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  277. package/dest/storage/open_pxe_stores.js +29 -0
  278. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  279. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  280. package/dest/storage/private_event_store/private_event_store.js +43 -43
  281. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  282. package/dest/storage/tagging_store/index.d.ts +2 -2
  283. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  284. package/dest/storage/tagging_store/index.js +1 -1
  285. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  286. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  287. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  288. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  289. package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
  290. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  291. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  292. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  293. package/dest/tagging/constants.d.ts +2 -2
  294. package/dest/tagging/constants.d.ts.map +1 -1
  295. package/dest/tagging/constants.js +5 -8
  296. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  297. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  298. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  299. package/dest/tagging/index.d.ts +5 -4
  300. package/dest/tagging/index.d.ts.map +1 -1
  301. package/dest/tagging/index.js +4 -3
  302. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  303. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  304. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  305. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  306. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  307. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  308. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  309. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  310. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  311. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  312. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  313. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  314. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  315. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  316. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  317. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  318. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  319. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  320. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  321. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +2 -2
  322. package/package.json +20 -17
  323. package/src/bin/check_oracle_version.ts +51 -133
  324. package/src/bin/index.ts +5 -0
  325. package/src/bin/oracle_version_helpers.ts +311 -0
  326. package/src/block_synchronizer/block_stream_source.ts +42 -0
  327. package/src/block_synchronizer/block_synchronizer.ts +96 -39
  328. package/src/config/index.ts +15 -8
  329. package/src/config/package_info.ts +1 -1
  330. package/src/contract/contract_class_service.ts +83 -0
  331. package/src/contract/contract_sync_service.ts +176 -0
  332. package/src/contract/helpers.ts +35 -0
  333. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  334. package/src/contract_function_simulator/contract_function_simulator.ts +136 -55
  335. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  336. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  337. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  338. package/src/contract_function_simulator/index.ts +69 -5
  339. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  340. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  341. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  342. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  343. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -4
  344. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  345. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  346. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  347. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -61
  348. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  349. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -5
  350. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  351. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  352. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  353. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  354. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +58 -0
  355. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  356. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  357. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  358. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  359. package/src/contract_function_simulator/oracle/index.ts +1 -15
  360. package/src/contract_function_simulator/oracle/interfaces.ts +11 -185
  361. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +120 -0
  362. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  363. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  364. package/src/contract_function_simulator/oracle/oracle_registry.ts +689 -0
  365. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +964 -0
  366. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  367. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +233 -79
  368. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +681 -320
  369. package/src/contract_function_simulator/pick_notes.ts +22 -3
  370. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  371. package/src/debug/pxe_debug_utils.ts +4 -12
  372. package/src/entrypoints/client/bundle/index.ts +0 -1
  373. package/src/entrypoints/client/bundle/utils.ts +19 -7
  374. package/src/entrypoints/client/lazy/index.ts +0 -1
  375. package/src/entrypoints/client/lazy/utils.ts +19 -7
  376. package/src/entrypoints/pxe_creation_options.ts +21 -1
  377. package/src/entrypoints/server/index.ts +6 -3
  378. package/src/entrypoints/server/utils.ts +24 -7
  379. package/src/error_enriching.ts +27 -11
  380. package/src/events/event_service.ts +54 -19
  381. package/src/events/private_event_filter_validator.ts +21 -1
  382. package/src/hooks/authorize_utility_call.ts +44 -0
  383. package/src/hooks/execution_hooks.ts +68 -0
  384. package/src/hooks/index.ts +12 -0
  385. package/src/hooks/resolve_custom_request.ts +24 -0
  386. package/src/hooks/resolve_tagging_secret_strategy.ts +57 -0
  387. package/src/logs/log_service.ts +212 -139
  388. package/src/messages/tx_resolver_service.ts +69 -0
  389. package/src/notes/note_service.ts +117 -94
  390. package/src/notes_filter.ts +1 -3
  391. package/src/oracle_version.ts +20 -10
  392. package/src/private_kernel/batch_planner.ts +168 -0
  393. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +12 -2
  394. package/src/private_kernel/hints/test_utils.ts +3 -10
  395. package/src/private_kernel/private_kernel_execution_prover.ts +335 -121
  396. package/src/private_kernel/private_kernel_oracle.ts +58 -29
  397. package/src/pxe.ts +530 -236
  398. package/src/storage/allowed_scopes.ts +14 -0
  399. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  400. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  401. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  402. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  403. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  404. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  405. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  406. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  407. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  408. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  409. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  410. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  411. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  412. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  413. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  414. package/src/storage/backwards_compatibility_tests/schema_tests.ts +774 -0
  415. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  416. package/src/storage/capsule_store/capsule_service.ts +8 -14
  417. package/src/storage/capsule_store/capsule_store.ts +15 -5
  418. package/src/storage/contract_store/contract_store.ts +96 -124
  419. package/src/storage/fact_store/fact_service.ts +69 -0
  420. package/src/storage/fact_store/fact_store.ts +487 -0
  421. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  422. package/src/storage/fact_store/index.ts +14 -0
  423. package/src/storage/fact_store/origin_state.ts +75 -0
  424. package/src/storage/fact_store/stored_fact.ts +80 -0
  425. package/src/storage/index.ts +2 -1
  426. package/src/storage/metadata.ts +1 -1
  427. package/src/storage/note_store/note_store.ts +228 -192
  428. package/src/storage/note_store/stored_note.ts +5 -27
  429. package/src/storage/open_pxe_stores.ts +52 -0
  430. package/src/storage/private_event_store/private_event_store.ts +52 -54
  431. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  432. package/src/storage/tagging_store/index.ts +1 -1
  433. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  434. package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
  435. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  436. package/src/tagging/constants.ts +6 -8
  437. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  438. package/src/tagging/index.ts +4 -3
  439. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  440. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  441. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  442. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  443. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  444. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  445. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
  446. package/dest/access_scopes.d.ts +0 -9
  447. package/dest/access_scopes.d.ts.map +0 -1
  448. package/dest/access_scopes.js +0 -6
  449. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  450. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  451. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -38
  452. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -80
  453. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  454. package/dest/contract_function_simulator/oracle/oracle.js +0 -458
  455. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  456. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  457. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  458. package/dest/contract_sync/contract_sync_service.d.ts +0 -46
  459. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  460. package/dest/contract_sync/contract_sync_service.js +0 -124
  461. package/dest/contract_sync/helpers.d.ts +0 -29
  462. package/dest/contract_sync/helpers.d.ts.map +0 -1
  463. package/dest/contract_sync/helpers.js +0 -60
  464. package/dest/messages/message_context_service.d.ts +0 -17
  465. package/dest/messages/message_context_service.d.ts.map +0 -1
  466. package/dest/messages/message_context_service.js +0 -36
  467. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  468. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  469. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  470. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  471. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  472. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  473. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  474. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  475. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  476. package/src/access_scopes.ts +0 -9
  477. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -98
  478. package/src/contract_function_simulator/oracle/oracle.ts +0 -721
  479. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  480. package/src/contract_sync/contract_sync_service.ts +0 -192
  481. package/src/contract_sync/helpers.ts +0 -99
  482. package/src/messages/message_context_service.ts +0 -44
  483. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  484. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  485. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -20,4 +20,4 @@ export declare function executePrivateFunction(simulator: CircuitSimulator, priv
20
20
  * @returns - The public inputs.
21
21
  */
22
22
  export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArtifact, partialWitness: ACVMWitness): PrivateCircuitPublicInputs;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTJFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUIifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTBFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA2ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B"}
1
+ {"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA0ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B"}
@@ -6,7 +6,7 @@ import { ExecutionError, extractCallStack, resolveAssertionMessageFromError, wit
6
6
  import { countArgumentsSize } from '@aztec/stdlib/abi';
7
7
  import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
8
8
  import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
9
- import { Oracle } from './oracle.js';
9
+ import { buildACIRCallback } from './acir_callback.js';
10
10
  /**
11
11
  * Execute a private function and return the execution result.
12
12
  * This does not execute any kernel circuits; only the user functions.
@@ -20,9 +20,8 @@ import { Oracle } from './oracle.js';
20
20
  contract: contractAddress
21
21
  });
22
22
  const initialWitness = privateExecutionOracle.getInitialWitness(artifact);
23
- const acvmCallback = new Oracle(privateExecutionOracle);
24
23
  const timer = new Timer();
25
- const acirExecutionResult = await simulator.executeUserCircuit(initialWitness, artifact, acvmCallback.toACIRCallback()).catch((err)=>{
24
+ const acirExecutionResult = await simulator.executeUserCircuit(initialWitness, artifact, buildACIRCallback(privateExecutionOracle)).catch((err)=>{
26
25
  err.message = resolveAssertionMessageFromError(err, artifact);
27
26
  throw new ExecutionError(err.message, {
28
27
  contractAddress,
@@ -1,26 +1,26 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { type CircuitSimulator } from '@aztec/simulator/client';
3
- import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
2
+ import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
4
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
4
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
6
- import { type ContractClassLog, type TaggingIndexRange } from '@aztec/stdlib/logs';
7
- import { Tag } from '@aztec/stdlib/logs';
5
+ import { AppTaggingSecretKind, type TaggingIndexRange } from '@aztec/stdlib/logs';
8
6
  import { type NoteStatus } from '@aztec/stdlib/note';
9
- import { CallContext, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
10
- import type { AccessScopes } from '../../access_scopes.js';
7
+ import { CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
11
8
  import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
12
9
  import type { ExecutionNoteCache } from '../execution_note_cache.js';
13
10
  import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
14
11
  import type { HashedValuesCache } from '../hashed_values_cache.js';
15
- import type { IPrivateExecutionOracle, NoteData } from './interfaces.js';
12
+ import { BoundedVec } from '../noir-structs/bounded_vec.js';
13
+ import type { ContractClassLogData } from '../noir-structs/contract_class_log_data.js';
14
+ import type { NoteData } from '../noir-structs/note_data.js';
15
+ import { Option } from '../noir-structs/option.js';
16
+ import type { ResolvedTaggingStrategy } from '../noir-structs/resolved_tagging_strategy.js';
17
+ import type { IPrivateExecutionOracle } from './interfaces.js';
16
18
  import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utility_execution_oracle.js';
17
19
  /** Args for PrivateExecutionOracle constructor. */
18
- export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contractAddress'> & {
20
+ export type PrivateExecutionOracleArgs = UtilityExecutionOracleArgs & {
19
21
  argsHash: Fr;
20
22
  txContext: TxContext;
21
- callContext: CallContext;
22
- /** Needed to trigger contract synchronization before nested calls */
23
- utilityExecutor: (call: FunctionCall, scopes: AccessScopes) => Promise<void>;
23
+ txRequestSalt: Fr;
24
24
  executionCache: HashedValuesCache;
25
25
  noteCache: ExecutionNoteCache;
26
26
  taggingIndexCache: ExecutionTaggingIndexCache;
@@ -28,7 +28,6 @@ export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contr
28
28
  totalPublicCalldataCount?: number;
29
29
  sideEffectCounter?: number;
30
30
  senderForTags?: AztecAddress;
31
- simulator?: CircuitSimulator;
32
31
  };
33
32
  /**
34
33
  * The execution oracle for the private part of a transaction.
@@ -50,16 +49,15 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
50
49
  private nestedExecutionResults;
51
50
  private readonly argsHash;
52
51
  private readonly txContext;
53
- private readonly callContext;
54
- private readonly utilityExecutor;
52
+ private readonly txRequestSalt;
55
53
  private readonly executionCache;
56
54
  private readonly noteCache;
57
55
  private readonly taggingIndexCache;
58
56
  private readonly senderTaggingStore;
59
57
  private totalPublicCalldataCount;
60
- protected sideEffectCounter: number;
61
- private senderForTags?;
62
- private readonly simulator?;
58
+ private readonly initialSideEffectCounter;
59
+ /** Sender for tags passed in at oracle construction time. Returned by `getSenderForTags`. */
60
+ private readonly defaultSenderForTags;
63
61
  constructor(args: PrivateExecutionOracleArgs);
64
62
  getPrivateContextInputs(): PrivateContextInputs;
65
63
  /**
@@ -92,29 +90,39 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
92
90
  * for a tag in order to emit a log. Constrained tagging should not use this as there is no
93
91
  * guarantee that the recipient knows about the sender, and hence about the shared secret.
94
92
  *
95
- * The value persists through nested calls, meaning all calls down the stack will use the same
96
- * 'senderForTags' value (unless it is replaced).
93
+ * Returns the wallet-supplied default sender for tags, or `None` if no default was provided.
97
94
  */
98
- getSenderForTags(): Promise<AztecAddress | undefined>;
95
+ getSenderForTags(): Promise<Option<AztecAddress>>;
99
96
  /**
100
- * Set the sender for tags.
101
- *
102
- * This unconstrained value is used as the sender when computing an unconstrained shared secret
103
- * for a tag in order to emit a log. Constrained tagging should not use this as there is no
104
- * guarantee that the recipient knows about the sender, and hence about the shared secret.
105
- *
106
- * Account contracts typically set this value before calling other contracts. The value persists
107
- * through nested calls, meaning all calls down the stack will use the same 'senderForTags'
108
- * value (unless it is replaced by another call to this setter).
97
+ * Resolves a custom, caller-defined request via the {@link ResolveCustomRequest} hook, which produces the response
98
+ * however it needs to. Throws when no hook is configured, since the request cannot be served.
99
+ */
100
+ resolveCustomRequest(kind: Fr, payload: Fr[]): Promise<Fr[]>;
101
+ /**
102
+ * Resolves the tagging strategy for a message via the wallet's {@link ResolveTaggingSecretStrategy} hook. The contract receives a ready-to-use {@link ResolvedTaggingStrategy}.
103
+ * When no hook is configured, applies a default: a non-interactive handshake, except for an unconstrained self-send,
104
+ * which uses an address-derived secret.
109
105
  */
110
- setSenderForTags(senderForTags: AztecAddress): Promise<void>;
106
+ resolveTaggingStrategy(sender: AztecAddress, recipient: AztecAddress, deliveryMode: AppTaggingSecretKind): Promise<ResolvedTaggingStrategy>;
111
107
  /**
112
- * Returns the next app tag for a given sender and recipient pair.
108
+ * Returns the sender-side app tagging secret for a `(sender, recipient)` pair.
109
+ *
110
+ * The caller obtains an index via {@link getNextTaggingIndex} and computes the final tag itself.
111
+ * The only expected `None` case is an invalid recipient address; missing sender data fails while deriving.
112
+ *
113
113
  * @param sender - The address sending the log
114
114
  * @param recipient - The address receiving the log
115
- * @returns An app tag to be used in a log.
115
+ * @returns The app tagging secret, or `None` if the recipient is invalid.
116
+ */
117
+ getAppTaggingSecret(sender: AztecAddress, recipient: AztecAddress): Promise<Option<Fr>>;
118
+ /**
119
+ * Returns the next sender-side tagging index for a given secret and delivery mode.
120
+ *
121
+ * @param secret - The tagging secret to allocate an index for.
122
+ * @param kind - The sender-side index namespace.
123
+ * @returns The next index to use for this secret.
116
124
  */
117
- getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
125
+ getNextTaggingIndex(secret: Fr, kind: AppTaggingSecretKind): Promise<number>;
118
126
  /**
119
127
  * Store values in the execution cache.
120
128
  * @param values - Values to store.
@@ -149,7 +157,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
149
157
  * @param status - The status of notes to fetch.
150
158
  * @returns Array of note data.
151
159
  */
152
- getNotes(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[]>;
160
+ getNotes(owner: Option<AztecAddress>, 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, maxNotes: number, packedHintedNoteLength: number): Promise<BoundedVec<NoteData>>;
153
161
  /**
154
162
  * Keep track of the new note created during execution.
155
163
  * It can be used in subsequent calls (or transactions when chaining txs is possible).
@@ -188,10 +196,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
188
196
  * Emit a contract class log.
189
197
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
190
198
  * keep the preimage in ts for later.
191
- * @param log - The contract class log to be emitted.
199
+ * @param logData - The contract class log to be emitted.
192
200
  * @param counter - The contract class log's counter.
193
201
  */
194
- notifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
202
+ notifyCreatedContractClassLog(logData: ContractClassLogData, counter: number): void;
195
203
  /**
196
204
  * Calls a private function as a nested execution.
197
205
  * @param targetContractAddress - The address of the contract to call.
@@ -207,9 +215,11 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
207
215
  }>;
208
216
  /** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
209
217
  assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
218
+ getTotalPublicCalldataCount(): number;
210
219
  notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
211
220
  isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
212
221
  private deriveCallContext;
213
222
  getDebugFunctionName(): Promise<string>;
223
+ protected get callerContext(): "private" | "private view";
214
224
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVDLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FB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
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBRUwsb0JBQW9CLEVBR3BCLEtBQUssaUJBQWlCLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFRMUIsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsUUFBUSxF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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":"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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":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,oBAAoB,EAGpB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAEL,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,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;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAE5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAExG,mDAAmD;AACnD,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,GAAG;IACpE,QAAQ,EAAE,EAAE,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,EAAE,CAAC;IAClB,cAAc,EAAE,iBAAiB,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,sBAAuB,YAAW,uBAAuB;;IACnG,SAAS,OAAiB;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,2BAA2B,CAAkC;IACrE,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAK;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAEhE,YAAY,IAAI,EAAE,0BAA0B,EAe3C;IAEM,uBAAuB,IAAI,oBAAoB,CAQrD;IAID;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,uBAgBxC;IAED;;OAEG;IACI,WAAW,IAAI,WAAW,EAAE,CAElC;IAEM,8BAA8B,wBAEpC;IAED;;OAEG;IACI,oBAAoB,8BAE1B;IAED;;OAEG;IACI,yBAAyB,IAAI,iBAAiB,EAAE,CAEtD;IAED;;OAEG;IACI,yBAAyB,iCAE/B;IAED;;;;;;;;OAQG;IACI,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAEvD;IAED;;;OAGG;IACU,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAOxE;IAED;;;;OAIG;IACU,sBAAsB,CACjC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,oBAAoB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAclC;IAkFD;;;;;;;;;OASG;IACU,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAWnG;IAED;;;;;;OAMG;IACU,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxF;IAwCD;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAE5C;IAED;;;;OAIG;IACI,eAAe,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAM9C;IAEc,kBAAkB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAetE;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACmB,QAAQ,CAC5B,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAC3B,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,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAqC/B;IAED;;;;;;;;;;OAUG;IACI,iBAAiB,CACtB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,EAAE,EAAE,EACf,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,MAAM,QA0BhB;IAED;;;;;OAKG;IACU,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,iBASjF;IAED;;;;;OAKG;IACI,sBAAsB,CAAC,cAAc,EAAE,EAAE,iBAG/C;IAED;;;;;;OAMG;IACU,kBAAkB,CAAC,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAInG;IAED;;;;;;OAMG;IACI,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,QAWlF;IAcD;;;;;;;;OAQG;IACG,mBAAmB,CACvB,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO;;;OA0GtB;IAED,gHAAgH;IACzG,yBAAyB,CAAC,YAAY,EAAE,EAAE,iBAWhD;IAEM,2BAA2B,IAAI,MAAM,CAE3C;IAEM,0BAA0B,CAAC,8BAA8B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;IAEM,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;YASa,iBAAiB;IAaxB,oBAAoB,oBAE1B;IAED,cAAuB,aAAa,+BAEnC;CACF"}
@@ -6,12 +6,13 @@ import { toACVMWitness } from '@aztec/simulator/client';
6
6
  import { FunctionSelector, countArgumentsSize } from '@aztec/stdlib/abi';
7
7
  import { siloNullifier } from '@aztec/stdlib/hash';
8
8
  import { PrivateContextInputs } from '@aztec/stdlib/kernel';
9
- import { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
10
- import { Tag } from '@aztec/stdlib/logs';
9
+ import { AppTaggingSecret, AppTaggingSecretKind, ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
11
10
  import { Note } from '@aztec/stdlib/note';
12
11
  import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
13
12
  import { NoteService } from '../../notes/note_service.js';
14
13
  import { syncSenderTaggingIndexes } from '../../tagging/index.js';
14
+ import { BoundedVec } from '../noir-structs/bounded_vec.js';
15
+ import { Option } from '../noir-structs/option.js';
15
16
  import { pickNotes } from '../pick_notes.js';
16
17
  import { executePrivateFunction } from './private_execution.js';
17
18
  import { UtilityExecutionOracle } from './utility_execution_oracle.js';
@@ -32,37 +33,32 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
32
33
  nestedExecutionResults = [];
33
34
  argsHash;
34
35
  txContext;
35
- callContext;
36
- utilityExecutor;
36
+ txRequestSalt;
37
37
  executionCache;
38
38
  noteCache;
39
39
  taggingIndexCache;
40
40
  senderTaggingStore;
41
41
  totalPublicCalldataCount;
42
- sideEffectCounter;
43
- senderForTags;
44
- simulator;
42
+ initialSideEffectCounter;
43
+ /** Sender for tags passed in at oracle construction time. Returned by `getSenderForTags`. */ defaultSenderForTags;
45
44
  constructor(args){
46
45
  super({
47
46
  ...args,
48
- contractAddress: args.callContext.contractAddress,
49
47
  log: args.log ?? createLogger('simulator:client_execution_context')
50
48
  });
51
49
  this.argsHash = args.argsHash;
52
50
  this.txContext = args.txContext;
53
- this.callContext = args.callContext;
54
- this.utilityExecutor = args.utilityExecutor;
51
+ this.txRequestSalt = args.txRequestSalt;
55
52
  this.executionCache = args.executionCache;
56
53
  this.noteCache = args.noteCache;
57
54
  this.taggingIndexCache = args.taggingIndexCache;
58
55
  this.senderTaggingStore = args.senderTaggingStore;
59
56
  this.totalPublicCalldataCount = args.totalPublicCalldataCount ?? 0;
60
- this.sideEffectCounter = args.sideEffectCounter ?? 0;
61
- this.senderForTags = args.senderForTags;
62
- this.simulator = args.simulator;
57
+ this.initialSideEffectCounter = args.sideEffectCounter ?? 0;
58
+ this.defaultSenderForTags = args.senderForTags;
63
59
  }
64
60
  getPrivateContextInputs() {
65
- return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.sideEffectCounter);
61
+ return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter, this.txRequestSalt);
66
62
  }
67
63
  // We still need this function until we can get user-defined ordering of structs for fn arguments
68
64
  // TODO When that is sorted out on noir side, we can use instead the utilities in serialize.ts
@@ -116,44 +112,154 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
116
112
  * for a tag in order to emit a log. Constrained tagging should not use this as there is no
117
113
  * guarantee that the recipient knows about the sender, and hence about the shared secret.
118
114
  *
119
- * The value persists through nested calls, meaning all calls down the stack will use the same
120
- * 'senderForTags' value (unless it is replaced).
115
+ * Returns the wallet-supplied default sender for tags, or `None` if no default was provided.
121
116
  */ getSenderForTags() {
122
- return Promise.resolve(this.senderForTags);
117
+ return Promise.resolve(this.defaultSenderForTags ? Option.some(this.defaultSenderForTags) : Option.none());
123
118
  }
124
119
  /**
125
- * Set the sender for tags.
126
- *
127
- * This unconstrained value is used as the sender when computing an unconstrained shared secret
128
- * for a tag in order to emit a log. Constrained tagging should not use this as there is no
129
- * guarantee that the recipient knows about the sender, and hence about the shared secret.
130
- *
131
- * Account contracts typically set this value before calling other contracts. The value persists
132
- * through nested calls, meaning all calls down the stack will use the same 'senderForTags'
133
- * value (unless it is replaced by another call to this setter).
134
- */ setSenderForTags(senderForTags) {
135
- this.senderForTags = senderForTags;
136
- return Promise.resolve();
120
+ * Resolves a custom, caller-defined request via the {@link ResolveCustomRequest} hook, which produces the response
121
+ * however it needs to. Throws when no hook is configured, since the request cannot be served.
122
+ */ async resolveCustomRequest(kind, payload) {
123
+ const hook = this.hooks?.resolveCustomRequest;
124
+ if (!hook) {
125
+ throw new Error('Cannot serve a request: no resolveCustomRequest hook is configured');
126
+ }
127
+ const contractClassId = await this.#getCurrentContractClassId(this.contractAddress);
128
+ return hook({
129
+ contractAddress: this.contractAddress,
130
+ contractClassId,
131
+ kind,
132
+ payload
133
+ });
134
+ }
135
+ /**
136
+ * Resolves the tagging strategy for a message via the wallet's {@link ResolveTaggingSecretStrategy} hook. The contract receives a ready-to-use {@link ResolvedTaggingStrategy}.
137
+ * When no hook is configured, applies a default: a non-interactive handshake, except for an unconstrained self-send,
138
+ * which uses an address-derived secret.
139
+ */ async resolveTaggingStrategy(sender, recipient, deliveryMode) {
140
+ const [isUnconstrainedSelfSend, chosenStrategy] = await Promise.all([
141
+ this.#isUnconstrainedSelfSend(recipient, deliveryMode),
142
+ this.#chooseTaggingSecretStrategy(sender, recipient, deliveryMode)
143
+ ]);
144
+ // For unconstrained delivery, a self-send uses a local address-derived secret instead of a non-interactive
145
+ // handshake. A self-send is one where the wallet controls the recipient's keys, so both sides' keys are local: no
146
+ // handshake is needed and nothing is revealed onchain. It also avoids a recursion: a handshake self-delivers its
147
+ // note via unconstrained delivery, which would establish yet another handshake. This guard runs regardless of the
148
+ // resolved strategy (hook or default), to protect wallets from invalid configuration.
149
+ const strategy = isUnconstrainedSelfSend ? {
150
+ type: 'address-derived'
151
+ } : chosenStrategy;
152
+ return this.#resolveTaggingSecretStrategy(strategy, sender, recipient);
153
+ }
154
+ async #chooseTaggingSecretStrategy(sender, recipient, deliveryMode) {
155
+ const hook = this.hooks?.resolveTaggingSecretStrategy;
156
+ if (!hook) {
157
+ // With no hook, both delivery modes default to a non-interactive handshake
158
+ return {
159
+ type: 'non-interactive-handshake'
160
+ };
161
+ }
162
+ const contractClassId = await this.#getCurrentContractClassId(this.contractAddress);
163
+ return hook({
164
+ contractAddress: this.contractAddress,
165
+ contractClassId,
166
+ sender,
167
+ recipient,
168
+ deliveryMode
169
+ });
170
+ }
171
+ /**
172
+ * Resolves the class id the given contract runs at this simulation's anchor block. The instance no longer carries
173
+ * its class id (it is chain-derived), so it is resolved via the anchored contract data instead.
174
+ */ async #getCurrentContractClassId(address) {
175
+ const classId = await this.anchoredContractData.getCurrentClassId(address);
176
+ if (classId === undefined) {
177
+ throw new Error(`Cannot resolve the current contract class for ${address}`);
178
+ }
179
+ return classId;
180
+ }
181
+ /** Whether this is an unconstrained delivery to one of the wallet's own accounts (a self-send). */ #isUnconstrainedSelfSend(recipient, deliveryMode) {
182
+ return deliveryMode === AppTaggingSecretKind.UNCONSTRAINED ? this.keyStore.hasAccount(recipient) : Promise.resolve(false);
183
+ }
184
+ /** Resolves a wallet-provided {@link TaggingSecretStrategy} into the app-siloed secret handed to the contract. */ async #resolveTaggingSecretStrategy(strategy, sender, recipient) {
185
+ // PXE only performs the derivation; it does not reject a strategy that is unsound for the delivery mode (e.g. an
186
+ // address-derived or arbitrary-secret strategy for constrained delivery). That soundness check belongs in the
187
+ // Noir circuit, which constrains the resolved strategy against the delivery mode.
188
+ switch(strategy.type){
189
+ case 'non-interactive-handshake':
190
+ return {
191
+ type: 'non-interactive-handshake'
192
+ };
193
+ case 'interactive-handshake':
194
+ return {
195
+ type: 'interactive-handshake'
196
+ };
197
+ case 'address-derived':
198
+ return this.#addressDerivedSecret(sender, recipient);
199
+ case 'arbitrary-secret':
200
+ {
201
+ // App-silo the raw arbitrary secret point here so wallets never replicate the derivation.
202
+ const appTaggingSecret = await AppTaggingSecret.computeDirectional(strategy.secret, this.contractAddress, recipient);
203
+ return {
204
+ type: 'unconstrained-secret',
205
+ secret: appTaggingSecret.secret
206
+ };
207
+ }
208
+ }
137
209
  }
138
210
  /**
139
- * Returns the next app tag for a given sender and recipient pair.
211
+ * The app-siloed, recipient-directional secret derived from the sender's and recipient's address keys via ECDH,
212
+ * ready to hand to the contract. Callers must validate the recipient in-circuit before reaching here, so an invalid one is unexpected.
213
+ */ async #addressDerivedSecret(sender, recipient) {
214
+ const secret = await this.getAppTaggingSecret(sender, recipient);
215
+ if (!secret.isSome()) {
216
+ throw new Error(`Cannot derive an address-derived tagging secret for invalid recipient ${recipient}`);
217
+ }
218
+ return {
219
+ type: 'unconstrained-secret',
220
+ secret: secret.value
221
+ };
222
+ }
223
+ /**
224
+ * Returns the sender-side app tagging secret for a `(sender, recipient)` pair.
225
+ *
226
+ * The caller obtains an index via {@link getNextTaggingIndex} and computes the final tag itself.
227
+ * The only expected `None` case is an invalid recipient address; missing sender data fails while deriving.
228
+ *
140
229
  * @param sender - The address sending the log
141
230
  * @param recipient - The address receiving the log
142
- * @returns An app tag to be used in a log.
143
- */ async getNextAppTagAsSender(sender, recipient) {
144
- const extendedSecret = await this.#calculateExtendedDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
145
- const index = await this.#getIndexToUseForSecret(extendedSecret);
146
- this.logger.debug(`Incrementing tagging index for sender: ${sender}, recipient: ${recipient}, contract: ${this.contractAddress} to ${index}`);
147
- this.taggingIndexCache.setLastUsedIndex(extendedSecret, index);
148
- return Tag.compute({
149
- extendedSecret,
150
- index
151
- });
231
+ * @returns The app tagging secret, or `None` if the recipient is invalid.
232
+ */ async getAppTaggingSecret(sender, recipient) {
233
+ const extendedSecret = await this.#calculateAppTaggingSecret(this.contractAddress, sender, recipient);
234
+ if (!extendedSecret) {
235
+ this.logger.warn(`Computing a tagging secret for invalid recipient ${recipient} - returning no secret`, {
236
+ contractAddress: this.contractAddress
237
+ });
238
+ return Option.none();
239
+ }
240
+ return Option.some(extendedSecret.secret);
152
241
  }
153
- async #calculateExtendedDirectionalAppTaggingSecret(contractAddress, sender, recipient) {
242
+ /**
243
+ * Returns the next sender-side tagging index for a given secret and delivery mode.
244
+ *
245
+ * @param secret - The tagging secret to allocate an index for.
246
+ * @param kind - The sender-side index namespace.
247
+ * @returns The next index to use for this secret.
248
+ */ async getNextTaggingIndex(secret, kind) {
249
+ const appTaggingSecret = new AppTaggingSecret(secret, this.contractAddress, kind);
250
+ const index = await this.#reserveNextIndexForSecret(appTaggingSecret);
251
+ this.logger.debug(`Incrementing ${kind} tagging index for secret in contract ${this.contractAddress} to ${index}`);
252
+ return index;
253
+ }
254
+ /** Resolves the next index for a given tagging secret, syncing from chain if it is missing from the in-tx cache. */ async #reserveNextIndexForSecret(secret) {
255
+ const index = await this.#getIndexToUseForSecret(secret);
256
+ this.taggingIndexCache.setLastUsedIndex(secret, index);
257
+ return index;
258
+ }
259
+ async #calculateAppTaggingSecret(contractAddress, sender, recipient) {
154
260
  const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
155
261
  const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
156
- return ExtendedDirectionalAppTaggingSecret.compute(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
262
+ return AppTaggingSecret.computeViaEcdh(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
157
263
  }
158
264
  async #getIndexToUseForSecret(secret) {
159
265
  // If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
@@ -219,12 +325,12 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
219
325
  * @param offset - The starting index for pagination.
220
326
  * @param status - The status of notes to fetch.
221
327
  * @returns Array of note data.
222
- */ async getNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
328
+ */ async getNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status, maxNotes, packedHintedNoteLength) {
223
329
  // Nullified pending notes are already removed from the list.
224
- const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
330
+ const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner.value, storageSlot);
225
331
  const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
226
332
  const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
227
- const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner, storageSlot, status, this.scopes);
333
+ const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner.value, storageSlot, status, this.scopes);
228
334
  const dbNotesFiltered = dbNotes.filter((n)=>!pendingNullifiers.has(n.siloedNullifier.value));
229
335
  const notes = pickNotes([
230
336
  ...dbNotesFiltered,
@@ -251,7 +357,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
251
357
  offset
252
358
  });
253
359
  this.logger.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(', ')}`);
254
- return notes;
360
+ return BoundedVec.from({
361
+ data: notes,
362
+ maxLength: maxNotes,
363
+ elementSize: packedHintedNoteLength
364
+ });
255
365
  }
256
366
  /**
257
367
  * Keep track of the new note created during execution.
@@ -327,9 +437,14 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
327
437
  * Emit a contract class log.
328
438
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
329
439
  * keep the preimage in ts for later.
330
- * @param log - The contract class log to be emitted.
440
+ * @param logData - The contract class log to be emitted.
331
441
  * @param counter - The contract class log's counter.
332
- */ notifyCreatedContractClassLog(log, counter) {
442
+ */ notifyCreatedContractClassLog(logData, counter) {
443
+ const log = ContractClassLog.from({
444
+ contractAddress: logData.contractAddress,
445
+ fields: new ContractClassLogFields(logData.fields),
446
+ emittedLength: logData.emittedLength
447
+ });
333
448
  this.contractClassLogs.push(new CountedContractClassLog(log, counter));
334
449
  const text = log.toBuffer().toString('hex');
335
450
  this.logger.verbose(`Emitted log from ContractClassRegistry: "${text.length > 100 ? text.slice(0, 100) + '...' : text}"`);
@@ -357,12 +472,16 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
357
472
  this.logger.debug(`Calling private function ${targetContractAddress}:${functionSelector} from ${this.callContext.contractAddress}`);
358
473
  isStaticCall = isStaticCall || this.callContext.isStaticCall;
359
474
  await this.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, this.utilityExecutor, this.anchorBlockHeader, this.jobId, this.scopes);
360
- const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
475
+ const targetArtifact = await this.anchoredContractData.getFunctionArtifactWithDebugMetadata(targetContractAddress, functionSelector);
476
+ if (!targetArtifact) {
477
+ throw new Error(`Cannot call ${targetContractAddress}:${functionSelector}: the contract is not registered. ` + `Register it via wallet.registerContract(...).`);
478
+ }
361
479
  const derivedTxContext = this.txContext.clone();
362
480
  const derivedCallContext = await this.deriveCallContext(targetContractAddress, targetArtifact, isStaticCall);
363
481
  const privateExecutionOracle = new PrivateExecutionOracle({
364
482
  argsHash,
365
483
  txContext: derivedTxContext,
484
+ txRequestSalt: this.txRequestSalt,
366
485
  callContext: derivedCallContext,
367
486
  anchorBlockHeader: this.anchorBlockHeader,
368
487
  utilityExecutor: this.utilityExecutor,
@@ -371,28 +490,34 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
371
490
  executionCache: this.executionCache,
372
491
  noteCache: this.noteCache,
373
492
  taggingIndexCache: this.taggingIndexCache,
374
- contractStore: this.contractStore,
493
+ anchoredContractData: this.anchoredContractData,
375
494
  noteStore: this.noteStore,
376
495
  keyStore: this.keyStore,
377
496
  addressStore: this.addressStore,
378
497
  aztecNode: this.aztecNode,
379
498
  senderTaggingStore: this.senderTaggingStore,
380
499
  recipientTaggingStore: this.recipientTaggingStore,
381
- senderAddressBookStore: this.senderAddressBookStore,
500
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
382
501
  capsuleService: this.capsuleService,
502
+ factService: this.factService,
383
503
  privateEventStore: this.privateEventStore,
384
- messageContextService: this.messageContextService,
504
+ txResolver: this.txResolver,
385
505
  contractSyncService: this.contractSyncService,
386
506
  jobId: this.jobId,
387
507
  totalPublicCalldataCount: this.totalPublicCalldataCount,
388
508
  sideEffectCounter,
389
509
  log: this.logger,
390
510
  scopes: this.scopes,
391
- senderForTags: this.senderForTags,
392
- simulator: this.simulator
511
+ senderForTags: this.defaultSenderForTags,
512
+ simulator: this.simulator,
513
+ hooks: this.hooks,
514
+ l2TipsStore: this.l2TipsStore,
515
+ transientArrayService: this.transientArrayService
393
516
  });
394
517
  const setupTime = simulatorSetupTimer.ms();
395
518
  const childExecutionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, targetArtifact, targetContractAddress, functionSelector);
519
+ // Propagate the nested call's calldata count so the parent sees its increments on subsequent enqueues.
520
+ this.totalPublicCalldataCount = privateExecutionOracle.getTotalPublicCalldataCount();
396
521
  if (isStaticCall) {
397
522
  this.#checkValidStaticCall(childExecutionResult);
398
523
  }
@@ -418,6 +543,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
418
543
  }
419
544
  return Promise.resolve();
420
545
  }
546
+ getTotalPublicCalldataCount() {
547
+ return this.totalPublicCalldataCount;
548
+ }
421
549
  notifyRevertiblePhaseStart(minRevertibleSideEffectCounter) {
422
550
  return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
423
551
  }
@@ -434,6 +562,9 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
434
562
  return new CallContext(this.contractAddress, targetContractAddress, await FunctionSelector.fromNameAndParameters(targetArtifact.name, targetArtifact.parameters), isStaticCall);
435
563
  }
436
564
  getDebugFunctionName() {
437
- return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
565
+ return this.anchoredContractData.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
566
+ }
567
+ get callerContext() {
568
+ return this.callContext.isStaticCall ? 'private view' : 'private';
438
569
  }
439
570
  }