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

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 (501) 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/aztec_node_read_cache.d.ts +39 -0
  31. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
  32. package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
  33. package/dest/contract_function_simulator/contract_function_simulator.d.ts +27 -21
  34. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/contract_function_simulator.js +83 -42
  36. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  37. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  38. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  40. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  42. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
  43. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
  45. package/dest/contract_function_simulator/index.d.ts +26 -6
  46. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/index.js +12 -4
  48. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
  49. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  50. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
  51. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  52. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  53. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  54. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  55. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  56. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  57. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  58. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  59. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  60. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
  61. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  62. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -4
  63. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  64. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  65. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  66. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  67. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  68. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  71. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
  72. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
  73. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  74. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -61
  75. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  76. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  77. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  78. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +4 -3
  79. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  80. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -5
  81. package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
  82. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  83. package/dest/contract_function_simulator/noir-structs/option.js +67 -0
  84. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  85. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  86. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  87. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  88. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  89. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  90. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  91. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  92. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  95. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  96. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -0
  97. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  98. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +50 -0
  99. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -0
  100. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  101. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  102. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  103. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  104. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  105. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  106. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  107. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  108. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  109. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  110. package/dest/contract_function_simulator/oracle/index.js +1 -1
  111. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -103
  112. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  113. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  114. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  115. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  116. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  117. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  118. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  119. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  120. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  121. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  122. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  123. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
  124. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  125. package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
  126. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +222 -0
  127. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  128. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
  129. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  130. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  131. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  132. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +47 -37
  133. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  134. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +184 -55
  135. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +146 -69
  136. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  137. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +484 -180
  138. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  139. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  140. package/dest/contract_function_simulator/pick_notes.js +20 -3
  141. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  142. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  143. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  144. package/dest/debug/pxe_debug_utils.d.ts +4 -9
  145. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  146. package/dest/debug/pxe_debug_utils.js +0 -6
  147. package/dest/entrypoints/client/bundle/index.d.ts +2 -2
  148. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  149. package/dest/entrypoints/client/bundle/index.js +1 -1
  150. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  151. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/utils.js +27 -8
  153. package/dest/entrypoints/client/lazy/index.d.ts +2 -2
  154. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  155. package/dest/entrypoints/client/lazy/index.js +1 -1
  156. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  157. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/utils.js +27 -8
  159. package/dest/entrypoints/client/store.d.ts +14 -0
  160. package/dest/entrypoints/client/store.d.ts.map +1 -0
  161. package/dest/entrypoints/client/store.js +28 -0
  162. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  163. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  164. package/dest/entrypoints/pxe_creation_options.js +3 -1
  165. package/dest/entrypoints/server/index.d.ts +7 -4
  166. package/dest/entrypoints/server/index.d.ts.map +1 -1
  167. package/dest/entrypoints/server/index.js +5 -3
  168. package/dest/entrypoints/server/store.d.ts +18 -0
  169. package/dest/entrypoints/server/store.d.ts.map +1 -0
  170. package/dest/entrypoints/server/store.js +28 -0
  171. package/dest/entrypoints/server/utils.d.ts +4 -3
  172. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  173. package/dest/entrypoints/server/utils.js +28 -8
  174. package/dest/error_enriching.d.ts +5 -3
  175. package/dest/error_enriching.d.ts.map +1 -1
  176. package/dest/error_enriching.js +13 -11
  177. package/dest/events/event_service.d.ts +13 -5
  178. package/dest/events/event_service.d.ts.map +1 -1
  179. package/dest/events/event_service.js +30 -9
  180. package/dest/events/private_event_filter_validator.d.ts +3 -2
  181. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  182. package/dest/events/private_event_filter_validator.js +15 -0
  183. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  184. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  185. package/dest/hooks/authorize_utility_call.js +4 -0
  186. package/dest/hooks/execution_hooks.d.ts +62 -0
  187. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  188. package/dest/hooks/execution_hooks.js +9 -0
  189. package/dest/hooks/index.d.ts +5 -0
  190. package/dest/hooks/index.d.ts.map +1 -0
  191. package/dest/hooks/index.js +2 -0
  192. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  193. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  194. package/dest/hooks/resolve_custom_request.js +3 -0
  195. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  196. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  197. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  198. package/dest/logs/log_service.d.ts +14 -11
  199. package/dest/logs/log_service.d.ts.map +1 -1
  200. package/dest/logs/log_service.js +185 -72
  201. package/dest/messages/tx_resolver_service.d.ts +17 -0
  202. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  203. package/dest/messages/tx_resolver_service.js +55 -0
  204. package/dest/notes/note_service.d.ts +28 -7
  205. package/dest/notes/note_service.d.ts.map +1 -1
  206. package/dest/notes/note_service.js +81 -66
  207. package/dest/notes_filter.d.ts +2 -3
  208. package/dest/notes_filter.d.ts.map +1 -1
  209. package/dest/oracle_version.d.ts +4 -3
  210. package/dest/oracle_version.d.ts.map +1 -1
  211. package/dest/oracle_version.js +20 -10
  212. package/dest/private_kernel/batch_planner.d.ts +47 -0
  213. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  214. package/dest/private_kernel/batch_planner.js +104 -0
  215. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  216. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  217. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +7 -3
  218. package/dest/private_kernel/hints/test_utils.d.ts +1 -1
  219. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
  220. package/dest/private_kernel/hints/test_utils.js +3 -4
  221. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  222. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  223. package/dest/private_kernel/private_kernel_execution_prover.js +159 -85
  224. package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
  225. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  226. package/dest/private_kernel/private_kernel_oracle.js +40 -26
  227. package/dest/pxe.d.ts +167 -55
  228. package/dest/pxe.d.ts.map +1 -1
  229. package/dest/pxe.js +337 -206
  230. package/dest/storage/allowed_scopes.d.ts +6 -0
  231. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  232. package/dest/storage/allowed_scopes.js +7 -0
  233. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  234. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  235. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  236. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  237. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  238. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  239. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  240. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  241. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  242. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  243. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  244. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  245. package/dest/storage/capsule_store/capsule_service.d.ts +2 -3
  246. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  247. package/dest/storage/capsule_store/capsule_service.js +6 -9
  248. package/dest/storage/capsule_store/capsule_store.d.ts +1 -1
  249. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  250. package/dest/storage/capsule_store/capsule_store.js +8 -5
  251. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  252. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  253. package/dest/storage/contract_store/contract_store.js +70 -98
  254. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  255. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  256. package/dest/storage/fact_store/fact_service.js +45 -0
  257. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  258. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  259. package/dest/storage/fact_store/fact_store.js +408 -0
  260. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  261. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  262. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  263. package/dest/storage/fact_store/index.d.ts +6 -0
  264. package/dest/storage/fact_store/index.d.ts.map +1 -0
  265. package/dest/storage/fact_store/index.js +4 -0
  266. package/dest/storage/fact_store/origin_state.d.ts +57 -0
  267. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  268. package/dest/storage/fact_store/origin_state.js +53 -0
  269. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  270. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  271. package/dest/storage/fact_store/stored_fact.js +64 -0
  272. package/dest/storage/index.d.ts +3 -2
  273. package/dest/storage/index.d.ts.map +1 -1
  274. package/dest/storage/index.js +2 -1
  275. package/dest/storage/metadata.d.ts +2 -2
  276. package/dest/storage/metadata.d.ts.map +1 -1
  277. package/dest/storage/metadata.js +1 -1
  278. package/dest/storage/note_store/note_store.d.ts +42 -33
  279. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  280. package/dest/storage/note_store/note_store.js +199 -170
  281. package/dest/storage/note_store/stored_note.d.ts +3 -8
  282. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  283. package/dest/storage/note_store/stored_note.js +4 -20
  284. package/dest/storage/open_pxe_stores.d.ts +35 -0
  285. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  286. package/dest/storage/open_pxe_stores.js +29 -0
  287. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  288. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  289. package/dest/storage/private_event_store/private_event_store.js +43 -43
  290. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  291. package/dest/storage/store_identity.d.ts +35 -0
  292. package/dest/storage/store_identity.d.ts.map +1 -0
  293. package/dest/storage/store_identity.js +44 -0
  294. package/dest/storage/tagging_store/index.d.ts +2 -2
  295. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  296. package/dest/storage/tagging_store/index.js +1 -1
  297. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  298. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  299. package/dest/storage/tagging_store/sender_tagging_store.d.ts +23 -7
  300. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  301. package/dest/storage/tagging_store/sender_tagging_store.js +51 -14
  302. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  303. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  304. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  305. package/dest/tagging/constants.d.ts +2 -2
  306. package/dest/tagging/constants.d.ts.map +1 -1
  307. package/dest/tagging/constants.js +18 -9
  308. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  309. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  310. package/dest/tagging/get_all_logs_by_tags.js +36 -37
  311. package/dest/tagging/index.d.ts +5 -4
  312. package/dest/tagging/index.d.ts.map +1 -1
  313. package/dest/tagging/index.js +4 -3
  314. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  315. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  316. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  317. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +69 -0
  318. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  319. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +203 -0
  320. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  321. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  322. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  323. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  324. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  325. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
  326. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  327. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
  328. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
  329. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  330. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
  331. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
  332. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  333. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +8 -4
  334. package/package.json +20 -17
  335. package/src/bin/check_oracle_version.ts +51 -133
  336. package/src/bin/index.ts +5 -0
  337. package/src/bin/oracle_version_helpers.ts +311 -0
  338. package/src/block_synchronizer/block_stream_source.ts +42 -0
  339. package/src/block_synchronizer/block_synchronizer.ts +96 -39
  340. package/src/config/index.ts +15 -8
  341. package/src/config/package_info.ts +1 -1
  342. package/src/contract/contract_class_service.ts +83 -0
  343. package/src/contract/contract_sync_service.ts +176 -0
  344. package/src/contract/helpers.ts +35 -0
  345. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  346. package/src/contract_function_simulator/aztec_node_read_cache.ts +89 -0
  347. package/src/contract_function_simulator/contract_function_simulator.ts +137 -58
  348. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  349. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  350. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
  351. package/src/contract_function_simulator/index.ts +69 -5
  352. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  353. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  354. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  355. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  356. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -4
  357. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  358. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  359. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  360. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -61
  361. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  362. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -5
  363. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  364. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  365. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  366. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  367. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  368. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
  369. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
  370. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  371. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  372. package/src/contract_function_simulator/oracle/index.ts +1 -15
  373. package/src/contract_function_simulator/oracle/interfaces.ts +11 -185
  374. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  375. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  376. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  377. package/src/contract_function_simulator/oracle/oracle_registry.ts +711 -0
  378. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +964 -0
  379. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  380. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +233 -79
  381. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +747 -338
  382. package/src/contract_function_simulator/pick_notes.ts +22 -3
  383. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  384. package/src/debug/pxe_debug_utils.ts +4 -12
  385. package/src/entrypoints/client/bundle/index.ts +1 -1
  386. package/src/entrypoints/client/bundle/utils.ts +32 -8
  387. package/src/entrypoints/client/lazy/index.ts +1 -1
  388. package/src/entrypoints/client/lazy/utils.ts +32 -8
  389. package/src/entrypoints/client/store.ts +38 -0
  390. package/src/entrypoints/pxe_creation_options.ts +21 -1
  391. package/src/entrypoints/server/index.ts +7 -3
  392. package/src/entrypoints/server/store.ts +47 -0
  393. package/src/entrypoints/server/utils.ts +45 -14
  394. package/src/error_enriching.ts +27 -11
  395. package/src/events/event_service.ts +54 -19
  396. package/src/events/private_event_filter_validator.ts +21 -1
  397. package/src/hooks/authorize_utility_call.ts +44 -0
  398. package/src/hooks/execution_hooks.ts +68 -0
  399. package/src/hooks/index.ts +13 -0
  400. package/src/hooks/resolve_custom_request.ts +24 -0
  401. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  402. package/src/logs/log_service.ts +216 -139
  403. package/src/messages/tx_resolver_service.ts +69 -0
  404. package/src/notes/note_service.ts +118 -95
  405. package/src/notes_filter.ts +1 -3
  406. package/src/oracle_version.ts +20 -10
  407. package/src/private_kernel/batch_planner.ts +169 -0
  408. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +12 -2
  409. package/src/private_kernel/hints/test_utils.ts +3 -10
  410. package/src/private_kernel/private_kernel_execution_prover.ts +245 -117
  411. package/src/private_kernel/private_kernel_oracle.ts +58 -29
  412. package/src/pxe.ts +533 -236
  413. package/src/storage/allowed_scopes.ts +14 -0
  414. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  415. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  416. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  417. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  418. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  419. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  420. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  421. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  422. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  423. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  424. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  425. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  426. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  427. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  428. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  429. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  430. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  431. package/src/storage/capsule_store/capsule_service.ts +8 -14
  432. package/src/storage/capsule_store/capsule_store.ts +15 -5
  433. package/src/storage/contract_store/contract_store.ts +96 -124
  434. package/src/storage/fact_store/fact_service.ts +69 -0
  435. package/src/storage/fact_store/fact_store.ts +487 -0
  436. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  437. package/src/storage/fact_store/index.ts +14 -0
  438. package/src/storage/fact_store/origin_state.ts +75 -0
  439. package/src/storage/fact_store/stored_fact.ts +80 -0
  440. package/src/storage/index.ts +2 -1
  441. package/src/storage/metadata.ts +1 -1
  442. package/src/storage/note_store/note_store.ts +228 -192
  443. package/src/storage/note_store/stored_note.ts +5 -27
  444. package/src/storage/open_pxe_stores.ts +52 -0
  445. package/src/storage/private_event_store/private_event_store.ts +52 -54
  446. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  447. package/src/storage/store_identity.ts +72 -0
  448. package/src/storage/tagging_store/index.ts +1 -1
  449. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  450. package/src/storage/tagging_store/sender_tagging_store.ts +68 -21
  451. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  452. package/src/tagging/constants.ts +19 -9
  453. package/src/tagging/get_all_logs_by_tags.ts +78 -50
  454. package/src/tagging/index.ts +4 -3
  455. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  456. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -0
  457. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  458. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  459. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
  460. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
  461. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +10 -7
  462. package/dest/access_scopes.d.ts +0 -9
  463. package/dest/access_scopes.d.ts.map +0 -1
  464. package/dest/access_scopes.js +0 -6
  465. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
  466. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
  467. package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -38
  468. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -80
  469. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  470. package/dest/contract_function_simulator/oracle/oracle.js +0 -458
  471. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  472. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  473. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  474. package/dest/contract_sync/contract_sync_service.d.ts +0 -46
  475. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  476. package/dest/contract_sync/contract_sync_service.js +0 -124
  477. package/dest/contract_sync/helpers.d.ts +0 -29
  478. package/dest/contract_sync/helpers.d.ts.map +0 -1
  479. package/dest/contract_sync/helpers.js +0 -60
  480. package/dest/messages/message_context_service.d.ts +0 -17
  481. package/dest/messages/message_context_service.d.ts.map +0 -1
  482. package/dest/messages/message_context_service.js +0 -36
  483. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  484. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  485. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  486. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  487. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  488. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  489. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  490. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  491. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  492. package/src/access_scopes.ts +0 -9
  493. package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -98
  494. package/src/contract_function_simulator/oracle/oracle.ts +0 -721
  495. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  496. package/src/contract_sync/contract_sync_service.ts +0 -192
  497. package/src/contract_sync/helpers.ts +0 -99
  498. package/src/messages/message_context_service.ts +0 -44
  499. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  500. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  501. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
@@ -1,4 +1,4 @@
1
- import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_GAS_PER_FIELD, FIXED_AVM_STARTUP_L2_GAS, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_TX_LIFETIME, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
1
+ import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_GAS_PER_FIELD, FIXED_AVM_STARTUP_L2_GAS, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_L2_TO_L1_MSG, L2_GAS_PER_NOTE_HASH, L2_GAS_PER_NULLIFIER, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_TX_LIFETIME, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_DATA_WRITE_LENGTH, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { createLogger } from '@aztec/foundation/log';
@@ -14,69 +14,90 @@ import { ClaimedLengthArray, PartialPrivateTailPublicInputsForPublic, PartialPri
14
14
  import { PrivateLog } from '@aztec/stdlib/logs';
15
15
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
16
16
  import { ChonkProof } from '@aztec/stdlib/proofs';
17
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
17
18
  import { CallContext, HashedValues, PrivateExecutionResult, TxConstantData, collectNested, collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
18
19
  import { CapsuleService } from '../storage/capsule_store/capsule_service.js';
20
+ import { FactService } from '../storage/fact_store/index.js';
21
+ import { AnchoredContractData } from './anchored_contract_data.js';
19
22
  import { ExecutionNoteCache } from './execution_note_cache.js';
20
23
  import { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
21
24
  import { HashedValuesCache } from './hashed_values_cache.js';
22
- import { Oracle } from './oracle/oracle.js';
25
+ import { buildACIRCallback } from './oracle/acir_callback.js';
23
26
  import { executePrivateFunction } from './oracle/private_execution.js';
24
27
  import { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
25
28
  import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
29
+ import { TransientArrayService } from './transient_array_service.js';
26
30
  /**
27
31
  * The contract function simulator.
28
32
  */ export class ContractFunctionSimulator {
29
33
  log;
30
34
  contractStore;
35
+ contractClassService;
36
+ overrides;
31
37
  noteStore;
32
38
  keyStore;
33
39
  addressStore;
34
40
  aztecNode;
41
+ l2TipsStore;
35
42
  senderTaggingStore;
36
43
  recipientTaggingStore;
37
- senderAddressBookStore;
44
+ taggingSecretSourcesStore;
38
45
  capsuleStore;
46
+ factStore;
39
47
  privateEventStore;
40
48
  simulator;
41
49
  contractSyncService;
42
- messageContextService;
50
+ txResolver;
51
+ hooks;
43
52
  constructor(args){
44
53
  this.contractStore = args.contractStore;
54
+ this.contractClassService = args.contractClassService;
55
+ this.overrides = args.overrides;
45
56
  this.noteStore = args.noteStore;
46
57
  this.keyStore = args.keyStore;
47
58
  this.addressStore = args.addressStore;
48
59
  this.aztecNode = args.aztecNode;
60
+ this.l2TipsStore = args.l2TipsStore;
49
61
  this.senderTaggingStore = args.senderTaggingStore;
50
62
  this.recipientTaggingStore = args.recipientTaggingStore;
51
- this.senderAddressBookStore = args.senderAddressBookStore;
63
+ this.taggingSecretSourcesStore = args.taggingSecretSourcesStore;
52
64
  this.capsuleStore = args.capsuleStore;
65
+ this.factStore = args.factStore;
53
66
  this.privateEventStore = args.privateEventStore;
54
67
  this.simulator = args.simulator;
55
68
  this.contractSyncService = args.contractSyncService;
56
- this.messageContextService = args.messageContextService;
69
+ this.txResolver = args.txResolver;
70
+ this.hooks = args.hooks;
57
71
  this.log = createLogger('simulator');
58
72
  }
59
73
  /**
60
74
  * Runs a private function.
61
75
  * @param request - The transaction request.
62
- */ async run(request, { contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId }) {
76
+ */ async run(request, { msgSender = AztecAddress.NULL_MSG_SENDER, anchorBlockHeader, senderForTags, scopes, jobId }) {
63
77
  const simulatorSetupTimer = new Timer();
64
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
78
+ const contractAddress = request.origin;
79
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.contractClassService, anchorBlockHeader, this.overrides);
80
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(contractAddress, request.functionSelector);
81
+ if (!entryPointArtifact) {
82
+ throw new Error(`Cannot run function ${request.functionSelector} on ${contractAddress}: the contract is not registered. ` + `Register it via wallet.registerContract(...).`);
83
+ }
65
84
  if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
66
85
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
67
86
  }
68
- if (request.origin !== contractAddress) {
69
- this.log.warn(`Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`);
70
- }
71
87
  // reserve the first side effect for the tx hash (inserted by the private kernel)
72
88
  const startSideEffectCounter = 2;
73
89
  const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
74
90
  const protocolNullifier = await computeProtocolNullifier(await request.toTxRequest().hash());
75
91
  const noteCache = new ExecutionNoteCache(protocolNullifier);
76
92
  const taggingIndexCache = new ExecutionTaggingIndexCache();
93
+ // One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
94
+ // private oracle and inherited by nested utility frames, so that frames of the same contract see each other's
95
+ // transient arrays, then discarded when run() returns.
96
+ const transientArrayService = new TransientArrayService();
77
97
  const privateExecutionOracle = new PrivateExecutionOracle({
78
98
  argsHash: request.firstCallArgsHash,
79
99
  txContext: request.txContext,
100
+ txRequestSalt: request.salt,
80
101
  callContext,
81
102
  anchorBlockHeader,
82
103
  utilityExecutor: async (call, execScopes)=>{
@@ -87,24 +108,28 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
87
108
  executionCache: HashedValuesCache.create(request.argsOfCalls),
88
109
  noteCache,
89
110
  taggingIndexCache,
90
- contractStore: this.contractStore,
111
+ anchoredContractData,
91
112
  noteStore: this.noteStore,
92
113
  keyStore: this.keyStore,
93
114
  addressStore: this.addressStore,
94
115
  aztecNode: this.aztecNode,
95
116
  senderTaggingStore: this.senderTaggingStore,
96
117
  recipientTaggingStore: this.recipientTaggingStore,
97
- senderAddressBookStore: this.senderAddressBookStore,
118
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
98
119
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
120
+ factService: new FactService(this.factStore, scopes),
99
121
  privateEventStore: this.privateEventStore,
100
- messageContextService: this.messageContextService,
122
+ txResolver: this.txResolver,
101
123
  contractSyncService: this.contractSyncService,
102
124
  jobId,
103
125
  totalPublicCalldataCount: 0,
104
126
  sideEffectCounter: startSideEffectCounter,
105
127
  scopes,
106
128
  senderForTags,
107
- simulator: this.simulator
129
+ simulator: this.simulator,
130
+ l2TipsStore: this.l2TipsStore,
131
+ hooks: this.hooks,
132
+ transientArrayService
108
133
  });
109
134
  const setupTime = simulatorSetupTimer.ms();
110
135
  try {
@@ -114,8 +139,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
114
139
  // within executionResult.nestedExecutionResults).
115
140
  const executionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, entryPointArtifact, contractAddress, request.functionSelector);
116
141
  const simulatorTeardownTimer = new Timer();
117
- noteCache.finish();
118
- const firstNullifierHint = noteCache.getNonceGenerator();
142
+ const firstNullifier = noteCache.getNonceGenerator();
119
143
  const publicCallRequests = collectNested([
120
144
  executionResult
121
145
  ], (r)=>r.publicInputs.publicCallRequests.getActiveItems().map((r)=>r.inner).concat(r.publicInputs.publicTeardownCallRequest.isEmpty() ? [] : [
@@ -131,45 +155,59 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
131
155
  executionResult.profileResult.timings.witgen += setupTime + teardownTime;
132
156
  }
133
157
  // Not to be confused with a PrivateCallExecutionResult. This is a superset
134
- // of the PrivateCallExecutionResult, containing also firstNullifierHint
158
+ // of the PrivateCallExecutionResult, containing also firstNullifier
135
159
  // and publicFunctionsCalldata.
136
- return new PrivateExecutionResult(executionResult, firstNullifierHint, publicFunctionsCalldata);
160
+ return new PrivateExecutionResult(executionResult, firstNullifier, publicFunctionsCalldata);
137
161
  } catch (err) {
138
162
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
139
163
  }
140
164
  }
141
- // docs:start:execute_utility_function
142
165
  /**
143
166
  * Runs a utility function.
144
167
  * @param call - The function call to execute.
145
- * @param authwits - Authentication witnesses required for the function call.
146
- * @param anchorBlockHeader - The block header to use as base state for this run.
147
- * @param scopes - Optional array of account addresses whose notes can be accessed in this call. Defaults to all
148
- * accounts if not specified.
149
168
  * @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
150
169
  */ async runUtility(call, authwits, anchorBlockHeader, scopes, jobId) {
151
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
170
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.contractClassService, anchorBlockHeader, this.overrides);
171
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
172
+ if (!entryPointArtifact) {
173
+ throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered. ` + `Register it via wallet.registerContract(...).`);
174
+ }
152
175
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
153
176
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
154
177
  }
178
+ const utilityExecutor = async (syncCall, execScopes)=>{
179
+ await this.runUtility(syncCall, [], anchorBlockHeader, execScopes, jobId);
180
+ };
155
181
  const oracle = new UtilityExecutionOracle({
156
- contractAddress: call.to,
182
+ callContext: CallContext.from({
183
+ msgSender: AztecAddress.NULL_MSG_SENDER,
184
+ contractAddress: call.to,
185
+ functionSelector: call.selector,
186
+ isStaticCall: true
187
+ }),
157
188
  authWitnesses: authwits,
158
189
  capsules: [],
159
190
  anchorBlockHeader,
160
- contractStore: this.contractStore,
191
+ anchoredContractData,
161
192
  noteStore: this.noteStore,
162
193
  keyStore: this.keyStore,
163
194
  addressStore: this.addressStore,
164
195
  aztecNode: this.aztecNode,
165
196
  recipientTaggingStore: this.recipientTaggingStore,
166
- senderAddressBookStore: this.senderAddressBookStore,
197
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
167
198
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
199
+ factService: new FactService(this.factStore, scopes),
168
200
  privateEventStore: this.privateEventStore,
169
- messageContextService: this.messageContextService,
201
+ txResolver: this.txResolver,
170
202
  contractSyncService: this.contractSyncService,
203
+ l2TipsStore: this.l2TipsStore,
171
204
  jobId,
172
- scopes
205
+ scopes,
206
+ simulator: this.simulator,
207
+ hooks: this.hooks,
208
+ utilityExecutor,
209
+ // Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
210
+ transientArrayService: new TransientArrayService()
173
211
  });
174
212
  try {
175
213
  this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
@@ -177,7 +215,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
177
215
  selector: call.selector
178
216
  });
179
217
  const initialWitness = toACVMWitness(0, call.args);
180
- const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
218
+ const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle)).catch((err)=>{
181
219
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
182
220
  throw new ExecutionError(err.message, {
183
221
  contractAddress: call.to,
@@ -195,7 +233,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
195
233
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
196
234
  }
197
235
  }
198
- // docs:end:execute_utility_function
199
236
  /**
200
237
  * Returns the execution statistics collected during the simulator run.
201
238
  * @returns The execution statistics.
@@ -312,12 +349,12 @@ class OrderedSideEffect {
312
349
  const getEffect = (orderedSideEffect)=>orderedSideEffect.sideEffect;
313
350
  const isPrivateOnlyTx = privateExecutionResult.publicFunctionCalldata.length === 0;
314
351
  const [nonRevertibleNullifiers, revertibleNullifiers] = splitOrderedSideEffects(siloedNullifiers, minRevertibleSideEffectCounter);
352
+ // The protocol nullifier is the nonce generator and the tx's first nullifier. It is injected by the
353
+ // init kernel (at counter 1, index 0) rather than emitted by any private call, so it is absent from
354
+ // the executed nullifiers above. Mirror the kernel here by prepending it as the first non-revertible
355
+ // nullifier.
315
356
  const nonceGenerator = privateExecutionResult.firstNullifier;
316
- if (nonRevertibleNullifiers.length === 0) {
317
- nonRevertibleNullifiers.push(nonceGenerator);
318
- } else if (!nonRevertibleNullifiers[0].equals(nonceGenerator)) {
319
- throw new Error('The first non revertible nullifier should be equal to the nonce generator. This is a bug!');
320
- }
357
+ nonRevertibleNullifiers.unshift(nonceGenerator);
321
358
  if (isPrivateOnlyTx) {
322
359
  // We must make the note hashes unique by using the
323
360
  // nonce generator and their index in the tx.
@@ -402,17 +439,17 @@ class OrderedSideEffect {
402
439
  });
403
440
  }
404
441
  }
405
- const [noteHashWitnesses, nullifierWitnesses] = await Promise.all([
406
- Promise.all(settledNoteHashReads.map(({ value })=>node.getNoteHashMembershipWitness(anchorBlockHash, value))),
407
- Promise.all(settledNullifierReads.map(({ value })=>node.getNullifierMembershipWitness(anchorBlockHash, value)))
442
+ const [noteHashResults, nullifierResults] = await Promise.all([
443
+ settledNoteHashReads.length > 0 ? node.findLeavesIndexes(anchorBlockHash, MerkleTreeId.NOTE_HASH_TREE, settledNoteHashReads.map(({ value })=>value)) : [],
444
+ settledNullifierReads.length > 0 ? node.findLeavesIndexes(anchorBlockHash, MerkleTreeId.NULLIFIER_TREE, settledNullifierReads.map(({ value })=>value)) : []
408
445
  ]);
409
446
  for(let i = 0; i < settledNoteHashReads.length; i++){
410
- if (!noteHashWitnesses[i]) {
447
+ if (!noteHashResults[i]) {
411
448
  throw new Error(`Note hash read request at index ${settledNoteHashReads[i].index} is reading an unknown note hash: ${settledNoteHashReads[i].value}`);
412
449
  }
413
450
  }
414
451
  for(let i = 0; i < settledNullifierReads.length; i++){
415
- if (!nullifierWitnesses[i]) {
452
+ if (!nullifierResults[i]) {
416
453
  throw new Error(`Nullifier read request at index ${settledNullifierReads[i].index} is reading an unknown nullifier: ${settledNullifierReads[i].value}`);
417
454
  }
418
455
  }
@@ -455,6 +492,10 @@ function meterGasUsed(data, isPrivateOnlyTx) {
455
492
  // Every contract class log emits its contract address as an additional field
456
493
  meteredDAFields += data.contractClassLogsHashes.reduce((acc, log)=>!log.isEmpty() ? acc + log.logHash.length + 1 : acc, 0);
457
494
  meteredL2Gas += numContractClassLogs * L2_GAS_PER_CONTRACT_CLASS_LOG;
495
+ if (isPrivateOnlyTx) {
496
+ // The public data write that the private tx base rollup always performs to update the fee payer's balance.
497
+ meteredDAFields += PUBLIC_DATA_WRITE_LENGTH;
498
+ }
458
499
  const meteredDAGas = meteredDAFields * DA_GAS_PER_FIELD;
459
500
  if (data.publicCallRequests) {
460
501
  const dataForPublic = data;
@@ -0,0 +1,28 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ /** In-memory store for ephemeral arrays scoped to a single contract call frame. */
3
+ export declare class EphemeralArrayService {
4
+ #private;
5
+ /** Returns all elements in the array, or an empty array if uninitialized. */
6
+ readArrayAt(slot: Fr): Fr[][];
7
+ /** Returns the number of elements in the array at the given slot. */
8
+ len(slot: Fr): number;
9
+ /** Appends an element to the array and returns the new length. */
10
+ push(slot: Fr, elements: Fr[]): number;
11
+ /** Removes and returns the last element. Throws if empty. */
12
+ pop(slot: Fr): Fr[];
13
+ /** Returns the element at the given index. Throws if out of bounds. */
14
+ get(slot: Fr, index: number): Fr[];
15
+ /** Overwrites the element at the given index. Throws if out of bounds. */
16
+ set(slot: Fr, index: number, value: Fr[]): void;
17
+ /** Removes the element at the given index, shifting subsequent elements backward. Throws if out of bounds. */
18
+ remove(slot: Fr, index: number): void;
19
+ /** Removes all elements from the array. */
20
+ clear(slot: Fr): void;
21
+ /** Allocates a fresh, unused slot for a new ephemeral array. */
22
+ allocateSlot(): Fr;
23
+ /** Creates a new ephemeral array pre-populated with the given elements and returns its slot. */
24
+ newArray(elements: Fr[][]): Fr;
25
+ /** Copies `count` elements from the source array to the destination array (overwrites destination). */
26
+ copy(srcSlot: Fr, dstSlot: Fr, count: number): void;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBoZW1lcmFsX2FycmF5X3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXBoZW1lcmFsX2FycmF5X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELG1GQUFtRjtBQUNuRixxQkFBYSxxQkFBcUI7O0lBT2hDLDZFQUE2RTtJQUM3RSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUU1QjtJQU1ELHFFQUFxRTtJQUNyRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBRXBCO0lBRUQsa0VBQWtFO0lBQ2xFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBS3JDO0lBRUQsNkRBQTZEO0lBQzdELEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVFsQjtJQUVELHVFQUF1RTtJQUN2RSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQVFqQztJQUVELDBFQUEwRTtJQUMxRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBUTlDO0lBRUQsOEdBQThHO0lBQzlHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQVFwQztJQUVELDJDQUEyQztJQUMzQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBRXBCO0lBRUQsZ0VBQWdFO0lBQ2hFLFlBQVksSUFBSSxFQUFFLENBTWpCO0lBRUQsZ0dBQWdHO0lBQ2hHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBSTdCO0lBRUQsdUdBQXVHO0lBQ3ZHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBVWxEO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ephemeral_array_service.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/ephemeral_array_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,mFAAmF;AACnF,qBAAa,qBAAqB;;IAOhC,6EAA6E;IAC7E,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAE5B;IAMD,qEAAqE;IACrE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAEpB;IAED,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,CAKrC;IAED,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAQlB;IAED,uEAAuE;IACvE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,CAQjC;IAED,0EAA0E;IAC1E,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAQ9C;IAED,8GAA8G;IAC9G,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQpC;IAED,2CAA2C;IAC3C,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAEpB;IAED,gEAAgE;IAChE,YAAY,IAAI,EAAE,CAMjB;IAED,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAI7B;IAED,uGAAuG;IACvG,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAUlD;CACF"}
@@ -0,0 +1,78 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ /** In-memory store for ephemeral arrays scoped to a single contract call frame. */ export class EphemeralArrayService {
3
+ /**
4
+ * Maps a slot to the elements of the array stored at that slot. Each element is a serialized representation of
5
+ * the original type.
6
+ */ #arrays = new Map();
7
+ /** Returns all elements in the array, or an empty array if uninitialized. */ readArrayAt(slot) {
8
+ return this.#arrays.get(slot.toString()) ?? [];
9
+ }
10
+ #setArray(slot, array) {
11
+ this.#arrays.set(slot.toString(), array);
12
+ }
13
+ /** Returns the number of elements in the array at the given slot. */ len(slot) {
14
+ return this.readArrayAt(slot).length;
15
+ }
16
+ /** Appends an element to the array and returns the new length. */ push(slot, elements) {
17
+ const array = this.readArrayAt(slot);
18
+ array.push(elements);
19
+ this.#setArray(slot, array);
20
+ return array.length;
21
+ }
22
+ /** Removes and returns the last element. Throws if empty. */ pop(slot) {
23
+ const array = this.readArrayAt(slot);
24
+ if (array.length === 0) {
25
+ throw new Error(`Ephemeral array at slot ${slot} is empty`);
26
+ }
27
+ const element = array.pop();
28
+ this.#setArray(slot, array);
29
+ return element;
30
+ }
31
+ /** Returns the element at the given index. Throws if out of bounds. */ get(slot, index) {
32
+ const array = this.readArrayAt(slot);
33
+ if (index < 0 || index >= array.length) {
34
+ throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
35
+ }
36
+ return array[index];
37
+ }
38
+ /** Overwrites the element at the given index. Throws if out of bounds. */ set(slot, index, value) {
39
+ const array = this.readArrayAt(slot);
40
+ if (index < 0 || index >= array.length) {
41
+ throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
42
+ }
43
+ array[index] = value;
44
+ }
45
+ /** Removes the element at the given index, shifting subsequent elements backward. Throws if out of bounds. */ remove(slot, index) {
46
+ const array = this.readArrayAt(slot);
47
+ if (index < 0 || index >= array.length) {
48
+ throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
49
+ }
50
+ array.splice(index, 1);
51
+ }
52
+ /** Removes all elements from the array. */ clear(slot) {
53
+ this.#arrays.delete(slot.toString());
54
+ }
55
+ /** Allocates a fresh, unused slot for a new ephemeral array. */ allocateSlot() {
56
+ let slot;
57
+ do {
58
+ slot = Fr.random();
59
+ }while (this.#arrays.has(slot.toString()))
60
+ return slot;
61
+ }
62
+ /** Creates a new ephemeral array pre-populated with the given elements and returns its slot. */ newArray(elements) {
63
+ const slot = this.allocateSlot();
64
+ this.#setArray(slot, elements);
65
+ return slot;
66
+ }
67
+ /** Copies `count` elements from the source array to the destination array (overwrites destination). */ copy(srcSlot, dstSlot, count) {
68
+ const srcArray = this.readArrayAt(srcSlot);
69
+ if (count > srcArray.length) {
70
+ throw new Error(`Cannot copy ${count} elements from ephemeral array of length ${srcArray.length} at slot ${srcSlot}`);
71
+ }
72
+ // Deep copy the elements to avoid aliasing
73
+ const copied = srcArray.slice(0, count).map((el)=>[
74
+ ...el
75
+ ]);
76
+ this.#setArray(dstSlot, copied);
77
+ }
78
+ }
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- import type { NoteData } from './oracle/interfaces.js';
3
+ import type { NoteData } from './noir-structs/note_data.js';
4
4
  interface PendingNote {
5
5
  note: NoteData;
6
6
  counter: number;
@@ -36,11 +36,6 @@ export declare class ExecutionNoteCache {
36
36
  */
37
37
  private minRevertibleSideEffectCounter;
38
38
  private inRevertiblePhase;
39
- /**
40
- * Whether the protocol nullifier was used for nonce generation.
41
- * We don't need to use the protocol nullifier if a non-revertible nullifier is emitted.
42
- */
43
- private usedProtocolNullifierForNonces;
44
39
  constructor(protocolNullifier: Fr);
45
40
  /**
46
41
  * Enters the revertible phase of the transaction.
@@ -48,7 +43,6 @@ export declare class ExecutionNoteCache {
48
43
  */
49
44
  setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
50
45
  isSideEffectCounterRevertible(sideEffectCounter: number): boolean;
51
- finish(): void;
52
46
  /**
53
47
  * Add a new note to cache.
54
48
  * @param note - New note created during execution.
@@ -94,11 +88,11 @@ export declare class ExecutionNoteCache {
94
88
  */
95
89
  getEmittedNullifiers(): Fr[];
96
90
  /**
97
- * @returns All nullifiers emitted by private calls in this transaction. If the protocol nullifier was used as the
98
- * nonce generator, it is injected as the first nullifier.
91
+ * @returns All nullifiers of the transaction: the protocol nullifier (the kernel-injected first nullifier),
92
+ * followed by those emitted by private calls.
99
93
  */
100
94
  getAllNullifiers(): Fr[];
101
95
  getNonceGenerator(): Fr;
102
96
  }
103
97
  export {};
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX25vdGVfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX25vdGVfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELFVBQVUsV0FBVztJQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ2YsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixzQkFBc0IsRUFBRSxFQUFFLENBQUM7Q0FDNUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGtCQUFrQjs7SUFvQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBbkM5Qzs7O09BR0c7SUFDSCxPQUFPLENBQUMsS0FBSyxDQUFxQjtJQUNsQzs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFPLENBQXlDO0lBRXhEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsWUFBWSxDQUF1QztJQUUzRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxpQkFBaUIsQ0FBMEI7SUFFbkQ7O09BRUc7SUFDSCxPQUFPLENBQUMsOEJBQThCLENBQUs7SUFFM0MsT0FBTyxDQUFDLGlCQUFpQixDQUFTO0lBRWxDOzs7T0FHRztJQUNILE9BQU8sQ0FBQyw4QkFBOEIsQ0FBc0I7SUFFNUQsWUFBNkIsaUJBQWlCLEVBQUUsRUFBRSxFQUFJO0lBRXREOzs7T0FHRztJQUNVLGlDQUFpQyxDQUFDLDhCQUE4QixFQUFFLE1BQU0saUJBc0NwRjtJQUVNLDZCQUE2QixDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxPQUFPLENBS3ZFO0lBRU0sTUFBTSxTQU1aO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFTaEQ7SUFFRDs7Ozs7O09BTUc7SUFDVSxXQUFXLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLCtCQXlCdkY7SUFFRDs7OztPQUlHO0lBQ1UsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxpQkFHOUU7SUFFRDs7Ozs7O1FBTUk7SUFDRyxRQUFRLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxjQU05RjtJQUVEOzs7OztRQUtJO0lBQ0csZUFBZSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FHakU7SUFFRDs7O09BR0c7SUFDSSxhQUFhLENBQUMsZUFBZSxFQUFFLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBRS9EO0lBVUQsV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUUzQjtJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLElBQUksRUFBRSxFQUFFLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLElBQUksRUFBRSxFQUFFLENBTXZCO0lBRUQsaUJBQWlCLElBQUksRUFBRSxDQUV0QjtDQWFGIn0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX25vdGVfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX25vdGVfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELFVBQVUsV0FBVztJQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ2YsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixzQkFBc0IsRUFBRSxFQUFFLENBQUM7Q0FDNUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGtCQUFrQjs7SUE4QmpCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBN0I5Qzs7O09BR0c7SUFDSCxPQUFPLENBQUMsS0FBSyxDQUFxQjtJQUNsQzs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFPLENBQXlDO0lBRXhEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsWUFBWSxDQUF1QztJQUUzRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxpQkFBaUIsQ0FBMEI7SUFFbkQ7O09BRUc7SUFDSCxPQUFPLENBQUMsOEJBQThCLENBQUs7SUFFM0MsT0FBTyxDQUFDLGlCQUFpQixDQUFTO0lBRWxDLFlBQTZCLGlCQUFpQixFQUFFLEVBQUUsRUFBSTtJQUV0RDs7O09BR0c7SUFDVSxpQ0FBaUMsQ0FBQyw4QkFBOEIsRUFBRSxNQUFNLGlCQW1DcEY7SUFFTSw2QkFBNkIsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUt2RTtJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBU2hEO0lBRUQ7Ozs7OztPQU1HO0lBQ1UsV0FBVyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSwrQkF5QnZGO0lBRUQ7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLEVBQUUsaUJBRzlFO0lBRUQ7Ozs7OztRQU1JO0lBQ0csUUFBUSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsY0FNOUY7SUFFRDs7Ozs7UUFLSTtJQUNHLGVBQWUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLFdBR2pFO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLGVBQWUsRUFBRSxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUUvRDtJQVVELFdBQVcsSUFBSSxXQUFXLEVBQUUsQ0FFM0I7SUFFRDs7T0FFRztJQUNILG9CQUFvQixJQUFJLEVBQUUsRUFBRSxDQUUzQjtJQUVEOzs7T0FHRztJQUNILGdCQUFnQixJQUFJLEVBQUUsRUFBRSxDQUV2QjtJQUVELGlCQUFpQixJQUFJLEVBQUUsQ0FFdEI7Q0FhRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAkB;;IAoCjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAnC9C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyC;IAExD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;OAEG;IACH,OAAO,CAAC,8BAA8B,CAAK;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;OAGG;IACH,OAAO,CAAC,8BAA8B,CAAsB;IAE5D,YAA6B,iBAAiB,EAAE,EAAE,EAAI;IAEtD;;;OAGG;IACU,iCAAiC,CAAC,8BAA8B,EAAE,MAAM,iBAsCpF;IAEM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;IAEM,MAAM,SAMZ;IAED;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAShD;IAED;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,+BAyBvF;IAED;;;;OAIG;IACU,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,iBAG9E;IAED;;;;;;QAMI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,EAAE,EAAE,cAM9F;IAED;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAGjE;IAED;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D;IAUD,WAAW,IAAI,WAAW,EAAE,CAE3B;IAED;;OAEG;IACH,oBAAoB,IAAI,EAAE,EAAE,CAE3B;IAED;;;OAGG;IACH,gBAAgB,IAAI,EAAE,EAAE,CAMvB;IAED,iBAAiB,IAAI,EAAE,CAEtB;CAaF"}
1
+ {"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAkB;;IA8BjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IA7B9C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyC;IAExD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;OAEG;IACH,OAAO,CAAC,8BAA8B,CAAK;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC,YAA6B,iBAAiB,EAAE,EAAE,EAAI;IAEtD;;;OAGG;IACU,iCAAiC,CAAC,8BAA8B,EAAE,MAAM,iBAmCpF;IAEM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;IAED;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAShD;IAED;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,+BAyBvF;IAED;;;;OAIG;IACU,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,iBAG9E;IAED;;;;;;QAMI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,EAAE,EAAE,cAM9F;IAED;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAGjE;IAED;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D;IAUD,WAAW,IAAI,WAAW,EAAE,CAE3B;IAED;;OAEG;IACH,oBAAoB,IAAI,EAAE,EAAE,CAE3B;IAED;;;OAGG;IACH,gBAAgB,IAAI,EAAE,EAAE,CAEvB;IAED,iBAAiB,IAAI,EAAE,CAEtB;CAaF"}
@@ -23,10 +23,6 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
23
23
  * The counter that separates non-revertible side effects (which persist even if the tx reverts) from revertible ones.
24
24
  */ minRevertibleSideEffectCounter;
25
25
  inRevertiblePhase;
26
- /**
27
- * Whether the protocol nullifier was used for nonce generation.
28
- * We don't need to use the protocol nullifier if a non-revertible nullifier is emitted.
29
- */ usedProtocolNullifierForNonces;
30
26
  constructor(protocolNullifier){
31
27
  this.protocolNullifier = protocolNullifier;
32
28
  this.notes = [];
@@ -45,12 +41,9 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
45
41
  }
46
42
  this.inRevertiblePhase = true;
47
43
  this.minRevertibleSideEffectCounter = minRevertibleSideEffectCounter;
48
- const nullifiers = this.getEmittedNullifiers();
49
- // If there are no nullifiers emitted by private calls so far, we use the protocol nullifier as the nonce generator.
50
- // Note: There could still be nullifiers emitted after the counter is set, but those nullifiers are revertible, so
51
- // we don't want to use them as the nonce generator.
52
- this.usedProtocolNullifierForNonces = nullifiers.length === 0;
53
- const nonceGenerator = this.usedProtocolNullifierForNonces ? this.protocolNullifier : new Fr(nullifiers[0]);
44
+ // The protocol nullifier is always the tx's first nullifier (injected by the kernel init), so it is the
45
+ // nonce generator for every note hash.
46
+ const nonceGenerator = this.protocolNullifier;
54
47
  // The existing pending notes are all non-revertible.
55
48
  // They cannot be squashed by nullifiers emitted after minRevertibleSideEffectCounter is set.
56
49
  // Their indexes in the tx are known at this point and won't change. So we can assign a nonce to each one of them.
@@ -78,13 +71,6 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
78
71
  }
79
72
  return sideEffectCounter >= this.minRevertibleSideEffectCounter;
80
73
  }
81
- finish() {
82
- // If we never entered the revertible phase, and there are no nullifiers emitted, we need to use the protocol
83
- // nullifier as the nonce generator.
84
- if (!this.inRevertiblePhase) {
85
- this.usedProtocolNullifierForNonces = this.getEmittedNullifiers().length === 0;
86
- }
87
- }
88
74
  /**
89
75
  * Add a new note to cache.
90
76
  * @param note - New note created during execution.
@@ -179,22 +165,16 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
179
165
  ].map((n)=>new Fr(n));
180
166
  }
181
167
  /**
182
- * @returns All nullifiers emitted by private calls in this transaction. If the protocol nullifier was used as the
183
- * nonce generator, it is injected as the first nullifier.
168
+ * @returns All nullifiers of the transaction: the protocol nullifier (the kernel-injected first nullifier),
169
+ * followed by those emitted by private calls.
184
170
  */ getAllNullifiers() {
185
- if (this.usedProtocolNullifierForNonces === undefined) {
186
- throw new Error('usedProtocolNullifierForNonces is not set yet. Call finish() to complete the transaction.');
187
- }
188
- const allNullifiers = this.getEmittedNullifiers();
189
171
  return [
190
- ...this.usedProtocolNullifierForNonces ? [
191
- this.protocolNullifier
192
- ] : [],
193
- ...allNullifiers
172
+ this.protocolNullifier,
173
+ ...this.getEmittedNullifiers()
194
174
  ];
195
175
  }
196
176
  getNonceGenerator() {
197
- return this.getAllNullifiers()[0];
177
+ return this.protocolNullifier;
198
178
  }
199
179
  #recordNullifier(contractAddress, siloedNullifier) {
200
180
  const nullifiers = this.getNullifiers(contractAddress);
@@ -1,16 +1,12 @@
1
- import { ExtendedDirectionalAppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
2
- /**
3
- * A map that stores the tagging index range for a given extended directional app tagging secret.
4
- * Note: The directional app tagging secret is unique for a (sender, recipient, contract) tuple while the direction
5
- * of sender -> recipient matters.
6
- */
1
+ import { AppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
2
+ /** A map that stores the tagging index range for a given app tagging secret. */
7
3
  export declare class ExecutionTaggingIndexCache {
8
4
  private taggingIndexMap;
9
- getLastUsedIndex(secret: ExtendedDirectionalAppTaggingSecret): number | undefined;
10
- setLastUsedIndex(secret: ExtendedDirectionalAppTaggingSecret, index: number): void;
5
+ getLastUsedIndex(secret: AppTaggingSecret): number | undefined;
6
+ setLastUsedIndex(secret: AppTaggingSecret, index: number): void;
11
7
  /**
12
8
  * Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
13
9
  */
14
10
  getUsedTaggingIndexRanges(): TaggingIndexRange[];
15
11
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRzs7OztHQUlHO0FBQ0gscUJBQWEsMEJBQTBCO0lBQ3JDLE9BQU8sQ0FBQyxlQUFlLENBQXlFO0lBRXpGLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxtQ0FBbUMsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUV2RjtJQUVNLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxRQVVqRjtJQUVEOztPQUVHO0lBQ0kseUJBQXlCLElBQUksaUJBQWlCLEVBQUUsQ0FNdEQ7Q0FDRiJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RSxnRkFBZ0Y7QUFDaEYscUJBQWEsMEJBQTBCO0lBQ3JDLE9BQU8sQ0FBQyxlQUFlLENBQXlFO0lBRXpGLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUVwRTtJQUVNLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxRQVU5RDtJQUVEOztPQUVHO0lBQ0kseUJBQXlCLElBQUksaUJBQWlCLEVBQUUsQ0FNdEQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEjG;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,eAAe,CAAyE;IAEzF,gBAAgB,CAAC,MAAM,EAAE,mCAAmC,GAAG,MAAM,GAAG,SAAS,CAEvF;IAEM,gBAAgB,CAAC,MAAM,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,QAUjF;IAED;;OAEG;IACI,yBAAyB,IAAI,iBAAiB,EAAE,CAMtD;CACF"}
1
+ {"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,gFAAgF;AAChF,qBAAa,0BAA0B;IACrC,OAAO,CAAC,eAAe,CAAyE;IAEzF,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAEpE;IAEM,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QAU9D;IAED;;OAEG;IACI,yBAAyB,IAAI,iBAAiB,EAAE,CAMtD;CACF"}
@@ -1,9 +1,5 @@
1
- import { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
2
- /**
3
- * A map that stores the tagging index range for a given extended directional app tagging secret.
4
- * Note: The directional app tagging secret is unique for a (sender, recipient, contract) tuple while the direction
5
- * of sender -> recipient matters.
6
- */ export class ExecutionTaggingIndexCache {
1
+ import { AppTaggingSecret } from '@aztec/stdlib/logs';
2
+ /** A map that stores the tagging index range for a given app tagging secret. */ export class ExecutionTaggingIndexCache {
7
3
  taggingIndexMap = new Map();
8
4
  getLastUsedIndex(secret) {
9
5
  return this.taggingIndexMap.get(secret.toString())?.highestIndex;
@@ -26,7 +22,7 @@ import { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
26
22
  * Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
27
23
  */ getUsedTaggingIndexRanges() {
28
24
  return Array.from(this.taggingIndexMap.entries()).map(([secret, { lowestIndex, highestIndex }])=>({
29
- extendedSecret: ExtendedDirectionalAppTaggingSecret.fromString(secret),
25
+ extendedSecret: AppTaggingSecret.fromString(secret),
30
26
  lowestIndex,
31
27
  highestIndex
32
28
  }));