@aztec/pxe 0.0.1-commit.993d240 → 0.0.1-commit.9a89641

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 (451) hide show
  1. package/dest/bin/check_oracle_version.d.ts +2 -12
  2. package/dest/bin/check_oracle_version.d.ts.map +1 -1
  3. package/dest/bin/check_oracle_version.js +9 -122
  4. package/dest/bin/index.d.ts +2 -2
  5. package/dest/bin/index.d.ts.map +1 -1
  6. package/dest/bin/index.js +1 -1
  7. package/dest/bin/oracle_version_helpers.d.ts +20 -0
  8. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  9. package/dest/bin/oracle_version_helpers.js +25 -0
  10. package/dest/block_synchronizer/block_stream_source.d.ts +5 -5
  11. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -1
  12. package/dest/block_synchronizer/block_stream_source.js +4 -29
  13. package/dest/block_synchronizer/block_synchronizer.d.ts +17 -15
  14. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  15. package/dest/block_synchronizer/block_synchronizer.js +41 -18
  16. package/dest/config/index.d.ts +2 -1
  17. package/dest/config/index.d.ts.map +1 -1
  18. package/dest/config/index.js +1 -0
  19. package/dest/config/package_info.js +1 -1
  20. package/dest/contract/contract_class_service.d.ts +24 -0
  21. package/dest/contract/contract_class_service.d.ts.map +1 -0
  22. package/dest/contract/contract_class_service.js +36 -0
  23. package/dest/contract/contract_sync_service.d.ts +48 -0
  24. package/dest/contract/contract_sync_service.d.ts.map +1 -0
  25. package/dest/{contract_sync → contract}/contract_sync_service.js +26 -45
  26. package/dest/contract/helpers.d.ts +7 -0
  27. package/dest/contract/helpers.d.ts.map +1 -0
  28. package/dest/contract/helpers.js +20 -0
  29. package/dest/contract/skip_sync_contracts.d.ts +11 -0
  30. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  31. package/dest/contract/skip_sync_contracts.js +18 -0
  32. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  33. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  34. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  35. package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -25
  36. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  37. package/dest/contract_function_simulator/contract_function_simulator.js +63 -49
  38. package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
  39. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/execution_note_cache.js +8 -28
  41. package/dest/contract_function_simulator/index.d.ts +24 -6
  42. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/index.js +9 -4
  44. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +8 -27
  45. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +8 -23
  47. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
  48. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
  49. package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
  50. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
  51. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
  52. package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
  53. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  54. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  55. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  56. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -2
  57. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  58. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +2 -2
  59. package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
  60. package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
  61. package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
  62. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
  63. package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
  64. package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
  65. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +11 -12
  66. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  67. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +6 -49
  68. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
  69. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  70. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -60
  71. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  72. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  73. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  74. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -2
  75. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  76. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +3 -3
  77. package/dest/contract_function_simulator/noir-structs/option.d.ts +9 -11
  78. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -1
  79. package/dest/contract_function_simulator/noir-structs/option.js +18 -13
  80. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
  81. package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
  82. package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
  83. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
  84. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
  85. package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
  86. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
  87. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  88. package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
  89. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
  90. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
  91. package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
  92. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
  93. package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
  94. package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
  95. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
  96. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
  97. package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
  98. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
  99. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  100. package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
  101. package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
  102. package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
  103. package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
  104. package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
  105. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
  106. package/dest/contract_function_simulator/oracle/index.js +1 -1
  107. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -114
  108. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  109. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  110. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
  111. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
  112. package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
  113. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
  114. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  115. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
  116. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +92 -100
  117. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
  118. package/dest/contract_function_simulator/oracle/oracle_registry.js +296 -479
  119. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
  120. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  121. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1253 -0
  122. package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
  123. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  124. package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
  125. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +32 -21
  126. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  127. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +152 -49
  128. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +97 -37
  129. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  130. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +376 -138
  131. package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
  132. package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
  133. package/dest/contract_function_simulator/transient_array_service.js +62 -0
  134. package/dest/debug/pxe_debug_utils.d.ts +2 -2
  135. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  136. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  137. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  138. package/dest/entrypoints/client/bundle/index.js +1 -0
  139. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  140. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  141. package/dest/entrypoints/client/bundle/utils.js +17 -6
  142. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  143. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  144. package/dest/entrypoints/client/lazy/index.js +1 -0
  145. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  146. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  147. package/dest/entrypoints/client/lazy/utils.js +17 -6
  148. package/dest/entrypoints/client/store.d.ts +14 -0
  149. package/dest/entrypoints/client/store.d.ts.map +1 -0
  150. package/dest/entrypoints/client/store.js +42 -0
  151. package/dest/entrypoints/pxe_creation_options.d.ts +9 -3
  152. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  153. package/dest/entrypoints/server/index.d.ts +6 -3
  154. package/dest/entrypoints/server/index.d.ts.map +1 -1
  155. package/dest/entrypoints/server/index.js +4 -2
  156. package/dest/entrypoints/server/store.d.ts +18 -0
  157. package/dest/entrypoints/server/store.d.ts.map +1 -0
  158. package/dest/entrypoints/server/store.js +28 -0
  159. package/dest/entrypoints/server/utils.d.ts +1 -1
  160. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  161. package/dest/entrypoints/server/utils.js +16 -4
  162. package/dest/error_enriching.d.ts +5 -3
  163. package/dest/error_enriching.d.ts.map +1 -1
  164. package/dest/error_enriching.js +13 -11
  165. package/dest/events/event_service.d.ts +13 -6
  166. package/dest/events/event_service.d.ts.map +1 -1
  167. package/dest/events/event_service.js +13 -13
  168. package/dest/hooks/execution_hooks.d.ts +31 -11
  169. package/dest/hooks/execution_hooks.d.ts.map +1 -1
  170. package/dest/hooks/execution_hooks.js +3 -3
  171. package/dest/hooks/index.d.ts +4 -3
  172. package/dest/hooks/index.d.ts.map +1 -1
  173. package/dest/hooks/index.js +1 -0
  174. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  175. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  176. package/dest/hooks/resolve_custom_request.js +3 -0
  177. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  178. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  179. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  180. package/dest/logs/log_service.d.ts +18 -8
  181. package/dest/logs/log_service.d.ts.map +1 -1
  182. package/dest/logs/log_service.js +93 -45
  183. package/dest/messages/tx_resolver_service.d.ts +28 -0
  184. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  185. package/dest/messages/tx_resolver_service.js +61 -0
  186. package/dest/node/benchmarked_node.d.ts +20 -0
  187. package/dest/node/benchmarked_node.d.ts.map +1 -0
  188. package/dest/node/benchmarked_node.js +94 -0
  189. package/dest/node/caching_aztec_node.d.ts +24 -0
  190. package/dest/node/caching_aztec_node.d.ts.map +1 -0
  191. package/dest/node/caching_aztec_node.js +267 -0
  192. package/dest/notes/note_service.d.ts +13 -7
  193. package/dest/notes/note_service.d.ts.map +1 -1
  194. package/dest/notes/note_service.js +10 -10
  195. package/dest/oracle_version.d.ts +3 -3
  196. package/dest/oracle_version.js +8 -8
  197. package/dest/private_kernel/batch_planner.d.ts +1 -1
  198. package/dest/private_kernel/batch_planner.d.ts.map +1 -1
  199. package/dest/private_kernel/batch_planner.js +1 -1
  200. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
  201. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  202. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +6 -2
  203. package/dest/private_kernel/hints/test_utils.js +1 -1
  204. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  205. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  206. package/dest/private_kernel/private_kernel_execution_prover.js +61 -40
  207. package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
  208. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  209. package/dest/private_kernel/private_kernel_oracle.js +17 -5
  210. package/dest/pxe.d.ts +114 -48
  211. package/dest/pxe.d.ts.map +1 -1
  212. package/dest/pxe.js +251 -148
  213. package/dest/storage/allowed_scopes.d.ts +6 -0
  214. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  215. package/dest/storage/allowed_scopes.js +7 -0
  216. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  217. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  218. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -6
  219. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
  220. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
  221. package/dest/storage/backwards_compatibility_tests/schema_tests.js +129 -49
  222. package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
  223. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
  224. package/dest/storage/capsule_store/capsule_service.js +6 -9
  225. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  226. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  227. package/dest/storage/contract_store/contract_store.js +66 -77
  228. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  229. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  230. package/dest/storage/fact_store/fact_service.js +45 -0
  231. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  232. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  233. package/dest/storage/fact_store/fact_store.js +408 -0
  234. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  235. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  236. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  237. package/dest/storage/fact_store/index.d.ts +6 -0
  238. package/dest/storage/fact_store/index.d.ts.map +1 -0
  239. package/dest/storage/fact_store/index.js +4 -0
  240. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  241. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  242. package/dest/storage/fact_store/origin_state.js +60 -0
  243. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  244. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  245. package/dest/storage/fact_store/stored_fact.js +64 -0
  246. package/dest/storage/index.d.ts +3 -2
  247. package/dest/storage/index.d.ts.map +1 -1
  248. package/dest/storage/index.js +2 -1
  249. package/dest/storage/metadata.d.ts +2 -2
  250. package/dest/storage/metadata.d.ts.map +1 -1
  251. package/dest/storage/metadata.js +1 -1
  252. package/dest/storage/note_store/note_store.d.ts +42 -33
  253. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  254. package/dest/storage/note_store/note_store.js +197 -168
  255. package/dest/storage/note_store/stored_note.d.ts +3 -8
  256. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  257. package/dest/storage/note_store/stored_note.js +4 -20
  258. package/dest/storage/open_pxe_stores.d.ts +5 -3
  259. package/dest/storage/open_pxe_stores.d.ts.map +1 -1
  260. package/dest/storage/open_pxe_stores.js +5 -3
  261. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  262. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  263. package/dest/storage/private_event_store/private_event_store.js +40 -43
  264. package/dest/storage/store_identity.d.ts +35 -0
  265. package/dest/storage/store_identity.d.ts.map +1 -0
  266. package/dest/storage/store_identity.js +44 -0
  267. package/dest/storage/tagging_store/index.d.ts +2 -2
  268. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  269. package/dest/storage/tagging_store/index.js +1 -1
  270. package/dest/storage/tagging_store/sender_tagging_store.d.ts +41 -10
  271. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  272. package/dest/storage/tagging_store/sender_tagging_store.js +81 -29
  273. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  274. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  275. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  276. package/dest/tagging/constants.d.ts +11 -2
  277. package/dest/tagging/constants.d.ts.map +1 -1
  278. package/dest/tagging/constants.js +38 -10
  279. package/dest/tagging/get_all_logs_by_tags.d.ts +29 -8
  280. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  281. package/dest/tagging/get_all_logs_by_tags.js +29 -10
  282. package/dest/tagging/index.d.ts +3 -3
  283. package/dest/tagging/index.d.ts.map +1 -1
  284. package/dest/tagging/index.js +2 -2
  285. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +27 -9
  286. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
  287. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +104 -33
  288. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +6 -3
  289. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  290. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +23 -36
  291. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
  292. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
  293. package/dest/tagging/sender_sync/utils/classify_pending_txs.js +61 -0
  294. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +15 -5
  295. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  296. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +36 -35
  297. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
  298. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
  299. package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +41 -0
  300. package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
  301. package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
  302. package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
  303. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  304. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  305. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  306. package/package.json +17 -17
  307. package/src/bin/check_oracle_version.ts +8 -151
  308. package/src/bin/index.ts +1 -1
  309. package/src/bin/oracle_version_helpers.ts +30 -0
  310. package/src/block_synchronizer/block_stream_source.ts +6 -45
  311. package/src/block_synchronizer/block_synchronizer.ts +54 -30
  312. package/src/config/index.ts +1 -0
  313. package/src/config/package_info.ts +1 -1
  314. package/src/contract/contract_class_service.ts +45 -0
  315. package/src/{contract_sync → contract}/contract_sync_service.ts +37 -50
  316. package/src/contract/helpers.ts +35 -0
  317. package/src/contract/skip_sync_contracts.ts +23 -0
  318. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  319. package/src/contract_function_simulator/contract_function_simulator.ts +96 -59
  320. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  321. package/src/contract_function_simulator/index.ts +87 -5
  322. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +12 -24
  323. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  324. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  325. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  326. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +3 -3
  327. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  328. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  329. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +20 -46
  330. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
  331. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  332. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -4
  333. package/src/contract_function_simulator/noir-structs/option.ts +17 -11
  334. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  335. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  336. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  337. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  338. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  339. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  340. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  341. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  342. package/src/contract_function_simulator/oracle/index.ts +1 -15
  343. package/src/contract_function_simulator/oracle/interfaces.ts +11 -189
  344. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  345. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  346. package/src/contract_function_simulator/oracle/oracle_registry.ts +289 -483
  347. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1067 -0
  348. package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
  349. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +190 -61
  350. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +556 -174
  351. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  352. package/src/debug/pxe_debug_utils.ts +1 -1
  353. package/src/entrypoints/client/bundle/index.ts +1 -0
  354. package/src/entrypoints/client/bundle/utils.ts +24 -5
  355. package/src/entrypoints/client/lazy/index.ts +1 -0
  356. package/src/entrypoints/client/lazy/utils.ts +24 -5
  357. package/src/entrypoints/client/store.ts +54 -0
  358. package/src/entrypoints/pxe_creation_options.ts +8 -2
  359. package/src/entrypoints/server/index.ts +6 -2
  360. package/src/entrypoints/server/store.ts +47 -0
  361. package/src/entrypoints/server/utils.ts +31 -9
  362. package/src/error_enriching.ts +27 -11
  363. package/src/events/event_service.ts +24 -14
  364. package/src/hooks/execution_hooks.ts +32 -12
  365. package/src/hooks/index.ts +8 -2
  366. package/src/hooks/resolve_custom_request.ts +24 -0
  367. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  368. package/src/logs/log_service.ts +122 -61
  369. package/src/messages/tx_resolver_service.ts +80 -0
  370. package/src/node/benchmarked_node.ts +140 -0
  371. package/src/node/caching_aztec_node.ts +406 -0
  372. package/src/notes/note_service.ts +20 -14
  373. package/src/oracle_version.ts +8 -8
  374. package/src/private_kernel/batch_planner.ts +0 -1
  375. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
  376. package/src/private_kernel/hints/test_utils.ts +1 -1
  377. package/src/private_kernel/private_kernel_execution_prover.ts +112 -56
  378. package/src/private_kernel/private_kernel_oracle.ts +23 -4
  379. package/src/pxe.ts +357 -172
  380. package/src/storage/allowed_scopes.ts +14 -0
  381. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
  382. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
  383. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
  384. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  385. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
  386. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +9 -15
  387. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +24 -4
  388. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
  389. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
  390. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  391. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +29 -9
  392. package/src/storage/backwards_compatibility_tests/schema_tests.ts +141 -50
  393. package/src/storage/capsule_store/capsule_service.ts +8 -13
  394. package/src/storage/contract_store/contract_store.ts +88 -94
  395. package/src/storage/fact_store/fact_service.ts +69 -0
  396. package/src/storage/fact_store/fact_store.ts +487 -0
  397. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  398. package/src/storage/fact_store/index.ts +15 -0
  399. package/src/storage/fact_store/origin_state.ts +84 -0
  400. package/src/storage/fact_store/stored_fact.ts +80 -0
  401. package/src/storage/index.ts +2 -1
  402. package/src/storage/metadata.ts +1 -1
  403. package/src/storage/note_store/note_store.ts +226 -187
  404. package/src/storage/note_store/stored_note.ts +5 -27
  405. package/src/storage/open_pxe_stores.ts +6 -3
  406. package/src/storage/private_event_store/private_event_store.ts +49 -55
  407. package/src/storage/store_identity.ts +72 -0
  408. package/src/storage/tagging_store/index.ts +1 -1
  409. package/src/storage/tagging_store/sender_tagging_store.ts +113 -41
  410. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  411. package/src/tagging/constants.ts +42 -10
  412. package/src/tagging/get_all_logs_by_tags.ts +47 -11
  413. package/src/tagging/index.ts +7 -2
  414. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +161 -46
  415. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +27 -57
  416. package/src/tagging/sender_sync/utils/classify_pending_txs.ts +91 -0
  417. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +46 -40
  418. package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +64 -0
  419. package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
  420. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  421. package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
  422. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
  423. package/dest/contract_function_simulator/benchmarked_node.js +0 -77
  424. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -89
  425. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  426. package/dest/contract_function_simulator/oracle/oracle.js +0 -552
  427. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  428. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  429. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -51
  430. package/dest/contract_sync/contract_sync_service.d.ts +0 -42
  431. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  432. package/dest/contract_sync/helpers.d.ts +0 -27
  433. package/dest/contract_sync/helpers.d.ts.map +0 -1
  434. package/dest/contract_sync/helpers.js +0 -53
  435. package/dest/messages/message_context_service.d.ts +0 -17
  436. package/dest/messages/message_context_service.d.ts.map +0 -1
  437. package/dest/messages/message_context_service.js +0 -38
  438. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  439. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  440. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  441. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -17
  442. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  443. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -60
  444. package/src/contract_function_simulator/benchmarked_node.ts +0 -103
  445. package/src/contract_function_simulator/oracle/oracle.ts +0 -711
  446. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
  447. package/src/contract_sync/helpers.ts +0 -86
  448. package/src/messages/message_context_service.ts +0 -45
  449. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +0 -16
  450. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  451. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -66
@@ -1,4 +1,5 @@
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 { CircuitKind } from '@aztec/bb.js';
2
+ 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
3
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
3
4
  import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { createLogger } from '@aztec/foundation/log';
@@ -17,18 +18,23 @@ import { ChonkProof } from '@aztec/stdlib/proofs';
17
18
  import { MerkleTreeId } from '@aztec/stdlib/trees';
18
19
  import { CallContext, HashedValues, PrivateExecutionResult, TxConstantData, collectNested, collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
19
20
  import { CapsuleService } from '../storage/capsule_store/capsule_service.js';
21
+ import { FactService } from '../storage/fact_store/index.js';
22
+ import { AnchoredContractData } from './anchored_contract_data.js';
20
23
  import { ExecutionNoteCache } from './execution_note_cache.js';
21
24
  import { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
22
25
  import { HashedValuesCache } from './hashed_values_cache.js';
23
- import { Oracle } from './oracle/oracle.js';
26
+ import { buildACIRCallback } from './oracle/acir_callback.js';
24
27
  import { executePrivateFunction } from './oracle/private_execution.js';
25
28
  import { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
26
29
  import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
30
+ import { TransientArrayService } from './transient_array_service.js';
27
31
  /**
28
32
  * The contract function simulator.
29
33
  */ export class ContractFunctionSimulator {
30
34
  log;
31
35
  contractStore;
36
+ contractClassService;
37
+ overrides;
32
38
  noteStore;
33
39
  keyStore;
34
40
  addressStore;
@@ -36,15 +42,18 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
36
42
  l2TipsStore;
37
43
  senderTaggingStore;
38
44
  recipientTaggingStore;
39
- senderAddressBookStore;
45
+ taggingSecretSourcesStore;
40
46
  capsuleStore;
47
+ factStore;
41
48
  privateEventStore;
42
49
  simulator;
43
50
  contractSyncService;
44
- messageContextService;
51
+ txResolver;
45
52
  hooks;
46
53
  constructor(args){
47
54
  this.contractStore = args.contractStore;
55
+ this.contractClassService = args.contractClassService;
56
+ this.overrides = args.overrides;
48
57
  this.noteStore = args.noteStore;
49
58
  this.keyStore = args.keyStore;
50
59
  this.addressStore = args.addressStore;
@@ -52,36 +61,44 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
52
61
  this.l2TipsStore = args.l2TipsStore;
53
62
  this.senderTaggingStore = args.senderTaggingStore;
54
63
  this.recipientTaggingStore = args.recipientTaggingStore;
55
- this.senderAddressBookStore = args.senderAddressBookStore;
64
+ this.taggingSecretSourcesStore = args.taggingSecretSourcesStore;
56
65
  this.capsuleStore = args.capsuleStore;
66
+ this.factStore = args.factStore;
57
67
  this.privateEventStore = args.privateEventStore;
58
68
  this.simulator = args.simulator;
59
69
  this.contractSyncService = args.contractSyncService;
60
- this.messageContextService = args.messageContextService;
70
+ this.txResolver = args.txResolver;
61
71
  this.hooks = args.hooks;
62
72
  this.log = createLogger('simulator');
63
73
  }
64
74
  /**
65
75
  * Runs a private function.
66
76
  * @param request - The transaction request.
67
- */ async run(request, { contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId }) {
77
+ */ async run(request, { msgSender = AztecAddress.NULL_MSG_SENDER, anchorBlockHeader, senderForTags, scopes, jobId }) {
68
78
  const simulatorSetupTimer = new Timer();
69
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
79
+ const contractAddress = request.origin;
80
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.contractClassService, anchorBlockHeader, this.overrides);
81
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(contractAddress, request.functionSelector);
82
+ if (!entryPointArtifact) {
83
+ throw new Error(`Cannot run function ${request.functionSelector} on ${contractAddress}: the contract is not registered. ` + `Register it via wallet.registerContract(...).`);
84
+ }
70
85
  if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
71
86
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
72
87
  }
73
- if (request.origin !== contractAddress) {
74
- throw new Error(`Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`);
75
- }
76
88
  // reserve the first side effect for the tx hash (inserted by the private kernel)
77
89
  const startSideEffectCounter = 2;
78
90
  const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
79
91
  const protocolNullifier = await computeProtocolNullifier(await request.toTxRequest().hash());
80
92
  const noteCache = new ExecutionNoteCache(protocolNullifier);
81
93
  const taggingIndexCache = new ExecutionTaggingIndexCache();
94
+ // One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
95
+ // private oracle and inherited by nested utility frames, so that frames of the same contract see each other's
96
+ // transient arrays, then discarded when run() returns.
97
+ const transientArrayService = new TransientArrayService();
82
98
  const privateExecutionOracle = new PrivateExecutionOracle({
83
99
  argsHash: request.firstCallArgsHash,
84
100
  txContext: request.txContext,
101
+ txRequestSalt: request.salt,
85
102
  callContext,
86
103
  anchorBlockHeader,
87
104
  utilityExecutor: async (call, execScopes)=>{
@@ -92,17 +109,18 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
92
109
  executionCache: HashedValuesCache.create(request.argsOfCalls),
93
110
  noteCache,
94
111
  taggingIndexCache,
95
- contractStore: this.contractStore,
112
+ anchoredContractData,
96
113
  noteStore: this.noteStore,
97
114
  keyStore: this.keyStore,
98
115
  addressStore: this.addressStore,
99
116
  aztecNode: this.aztecNode,
100
117
  senderTaggingStore: this.senderTaggingStore,
101
118
  recipientTaggingStore: this.recipientTaggingStore,
102
- senderAddressBookStore: this.senderAddressBookStore,
119
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
103
120
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
121
+ factService: new FactService(this.factStore, scopes),
104
122
  privateEventStore: this.privateEventStore,
105
- messageContextService: this.messageContextService,
123
+ txResolver: this.txResolver,
106
124
  contractSyncService: this.contractSyncService,
107
125
  jobId,
108
126
  totalPublicCalldataCount: 0,
@@ -111,7 +129,8 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
111
129
  senderForTags,
112
130
  simulator: this.simulator,
113
131
  l2TipsStore: this.l2TipsStore,
114
- hooks: this.hooks
132
+ hooks: this.hooks,
133
+ transientArrayService
115
134
  });
116
135
  const setupTime = simulatorSetupTimer.ms();
117
136
  try {
@@ -121,7 +140,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
121
140
  // within executionResult.nestedExecutionResults).
122
141
  const executionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, entryPointArtifact, contractAddress, request.functionSelector);
123
142
  const simulatorTeardownTimer = new Timer();
124
- noteCache.finish();
125
143
  const firstNullifierHint = noteCache.getNonceGenerator();
126
144
  const publicCallRequests = collectNested([
127
145
  executionResult
@@ -148,13 +166,13 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
148
166
  /**
149
167
  * Runs a utility function.
150
168
  * @param call - The function call to execute.
151
- * @param authwits - Authentication witnesses required for the function call.
152
- * @param anchorBlockHeader - The block header to use as base state for this run.
153
- * @param scopes - Optional array of account addresses whose notes can be accessed in this call. Defaults to all
154
- * accounts if not specified.
155
169
  * @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
156
170
  */ async runUtility(call, authwits, anchorBlockHeader, scopes, jobId) {
157
- const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
171
+ const anchoredContractData = new AnchoredContractData(this.contractStore, this.contractClassService, anchorBlockHeader, this.overrides);
172
+ const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
173
+ if (!entryPointArtifact) {
174
+ throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered. ` + `Register it via wallet.registerContract(...).`);
175
+ }
158
176
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
159
177
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
160
178
  }
@@ -162,27 +180,35 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
162
180
  await this.runUtility(syncCall, [], anchorBlockHeader, execScopes, jobId);
163
181
  };
164
182
  const oracle = new UtilityExecutionOracle({
165
- contractAddress: call.to,
183
+ callContext: CallContext.from({
184
+ msgSender: AztecAddress.NULL_MSG_SENDER,
185
+ contractAddress: call.to,
186
+ functionSelector: call.selector,
187
+ isStaticCall: true
188
+ }),
166
189
  authWitnesses: authwits,
167
190
  capsules: [],
168
191
  anchorBlockHeader,
169
- contractStore: this.contractStore,
192
+ anchoredContractData,
170
193
  noteStore: this.noteStore,
171
194
  keyStore: this.keyStore,
172
195
  addressStore: this.addressStore,
173
196
  aztecNode: this.aztecNode,
174
197
  recipientTaggingStore: this.recipientTaggingStore,
175
- senderAddressBookStore: this.senderAddressBookStore,
198
+ taggingSecretSourcesStore: this.taggingSecretSourcesStore,
176
199
  capsuleService: new CapsuleService(this.capsuleStore, scopes),
200
+ factService: new FactService(this.factStore, scopes),
177
201
  privateEventStore: this.privateEventStore,
178
- messageContextService: this.messageContextService,
202
+ txResolver: this.txResolver,
179
203
  contractSyncService: this.contractSyncService,
180
204
  l2TipsStore: this.l2TipsStore,
181
205
  jobId,
182
206
  scopes,
183
207
  simulator: this.simulator,
184
208
  hooks: this.hooks,
185
- utilityExecutor
209
+ utilityExecutor,
210
+ // Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
211
+ transientArrayService: new TransientArrayService()
186
212
  });
187
213
  try {
188
214
  this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
@@ -190,7 +216,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
190
216
  selector: call.selector
191
217
  });
192
218
  const initialWitness = toACVMWitness(0, call.args);
193
- const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, new Oracle(oracle).toACIRCallback()).catch((err)=>{
219
+ const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle)).catch((err)=>{
194
220
  err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
195
221
  throw new ExecutionError(err.message, {
196
222
  contractAddress: call.to,
@@ -208,23 +234,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
208
234
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
209
235
  }
210
236
  }
211
- /**
212
- * Returns the execution statistics collected during the simulator run.
213
- * @returns The execution statistics.
214
- */ getStats() {
215
- const nodeRPCCalls = typeof this.aztecNode.getStats === 'function' ? this.aztecNode.getStats() : {
216
- perMethod: {},
217
- roundTrips: {
218
- roundTrips: 0,
219
- totalBlockingTime: 0,
220
- roundTripDurations: [],
221
- roundTripMethods: []
222
- }
223
- };
224
- return {
225
- nodeRPCCalls
226
- };
227
- }
228
237
  }
229
238
  class OrderedSideEffect {
230
239
  sideEffect;
@@ -302,6 +311,7 @@ class OrderedSideEffect {
302
311
  witgen: 0,
303
312
  oracles: {}
304
313
  },
314
+ kind: CircuitKind.App,
305
315
  bytecode: execution.acir,
306
316
  vk: execution.vk,
307
317
  witness: execution.partialWitness
@@ -324,12 +334,12 @@ class OrderedSideEffect {
324
334
  const getEffect = (orderedSideEffect)=>orderedSideEffect.sideEffect;
325
335
  const isPrivateOnlyTx = privateExecutionResult.publicFunctionCalldata.length === 0;
326
336
  const [nonRevertibleNullifiers, revertibleNullifiers] = splitOrderedSideEffects(siloedNullifiers, minRevertibleSideEffectCounter);
337
+ // The protocol nullifier is the nonce generator and the tx's first nullifier. It is injected by the
338
+ // init kernel (at counter 1, index 0) rather than emitted by any private call, so it is absent from
339
+ // the executed nullifiers above. Mirror the kernel here by prepending it as the first non-revertible
340
+ // nullifier.
327
341
  const nonceGenerator = privateExecutionResult.firstNullifier;
328
- if (nonRevertibleNullifiers.length === 0) {
329
- nonRevertibleNullifiers.push(nonceGenerator);
330
- } else if (!nonRevertibleNullifiers[0].equals(nonceGenerator)) {
331
- throw new Error('The first non revertible nullifier should be equal to the nonce generator. This is a bug!');
332
- }
342
+ nonRevertibleNullifiers.unshift(nonceGenerator);
333
343
  if (isPrivateOnlyTx) {
334
344
  // We must make the note hashes unique by using the
335
345
  // nonce generator and their index in the tx.
@@ -467,6 +477,10 @@ function meterGasUsed(data, isPrivateOnlyTx) {
467
477
  // Every contract class log emits its contract address as an additional field
468
478
  meteredDAFields += data.contractClassLogsHashes.reduce((acc, log)=>!log.isEmpty() ? acc + log.logHash.length + 1 : acc, 0);
469
479
  meteredL2Gas += numContractClassLogs * L2_GAS_PER_CONTRACT_CLASS_LOG;
480
+ if (isPrivateOnlyTx) {
481
+ // The public data write that the private tx base rollup always performs to update the fee payer's balance.
482
+ meteredDAFields += PUBLIC_DATA_WRITE_LENGTH;
483
+ }
470
484
  const meteredDAGas = meteredDAFields * DA_GAS_PER_FIELD;
471
485
  if (data.publicCallRequests) {
472
486
  const dataForPublic = data;
@@ -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,17 +1,35 @@
1
+ export { ORACLE_REGISTRY, makeEntry, type NamedValue, type OracleRegistryEntry, type ParamTypes, } from './oracle/oracle_registry.js';
2
+ export { ALIAS, ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, U8, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FIXED_ARRAY, FUNCTION_SELECTOR, LEAF, LEAF_INDEX, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, SCALAR, SLOT_NUMBER, STR, STRUCT, U32, U64, U128, tryFieldWidth, isArrayMapping, isBoundedVecMapping, isEphemeralArrayMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping, type ArrayMapping, type BoundedVecMapping, type CompositeMapping, type EphemeralArrayMapping, type FixedArrayMapping, type FixedBoundedVecMapping, type InputSlot, type MaybePromise, type OptionMapping, type OutputSlot, type SlotShape, type StructField, type StructMapping, type TypeMapping, } from './oracle/oracle_type_mappings.js';
1
3
  export { ExecutionNoteCache } from './execution_note_cache.js';
2
4
  export { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
3
5
  export { HashedValuesCache } from './hashed_values_cache.js';
4
6
  export { pickNotes } from './pick_notes.js';
5
- export type { NoteData, IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js';
6
- export { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
7
- export { MessageContextService } from '../messages/message_context_service.js';
7
+ export type { IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js';
8
+ export type { FactCollection } from './noir-structs/fact_collection.js';
9
+ export type { NoteData } from './noir-structs/note_data.js';
10
+ export type { ResolvedTaggingStrategy } from './noir-structs/resolved_tagging_strategy.js';
11
+ export type { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
12
+ export { TxResolverService } from '../messages/tx_resolver_service.js';
8
13
  export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
9
14
  export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
10
- export { Oracle } from './oracle/oracle.js';
15
+ export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
16
+ export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
11
17
  export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
12
18
  export { generateSimulatedProvingResult } from './contract_function_simulator.js';
13
19
  export { packAsHintedNote } from './oracle/note_packing_utils.js';
14
20
  export { BoundedVec } from './noir-structs/bounded_vec.js';
21
+ export type { ContractClassLogData } from './noir-structs/contract_class_log_data.js';
22
+ export type { EmbeddedCurvePoint } from './noir-structs/embedded_curve_point.js';
23
+ export { EphemeralArray } from './noir-structs/ephemeral_array.js';
15
24
  export { Option } from './noir-structs/option.js';
16
- export { UtilityContext } from './noir-structs/utility_context.js';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDIn0=
25
+ export type { UtilityContext } from './noir-structs/utility_context.js';
26
+ export { EventValidationRequest } from './noir-structs/event_validation_request.js';
27
+ export type { LogRetrievalRequest } from './noir-structs/log_retrieval_request.js';
28
+ export type { LogRetrievalResponse } from './noir-structs/log_retrieval_response.js';
29
+ export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
30
+ export type { PendingTaggedLog } from './noir-structs/pending_tagged_log.js';
31
+ export type { TxEffectData } from './noir-structs/tx_effect_data.js';
32
+ export type { ProvidedSecret } from './noir-structs/provided_secret.js';
33
+ export type { ResolvedTx } from './noir-structs/resolved_tx.js';
34
+ export { TransientArrayService } from './transient_array_service.js';
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxVQUFVLEVBQ2YsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxVQUFVLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLElBQUksRUFDSixXQUFXLEVBQ1gsRUFBRSxFQUNGLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsSUFBSSxFQUNKLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04sV0FBVyxFQUNYLEdBQUcsRUFDSCxNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxJQUFJLEVBQ0osYUFBYSxFQUNiLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGVBQWUsRUFDZixLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxTQUFTLEVBQ2QsS0FBSyxZQUFZLEVBQ2pCLEtBQUssYUFBYSxFQUNsQixLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssV0FBVyxHQUNqQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxZQUFZLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUcsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRixZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
+ export { ORACLE_REGISTRY, makeEntry } from './oracle/oracle_registry.js';
2
+ export { ALIAS, ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, U8, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FIXED_ARRAY, FUNCTION_SELECTOR, LEAF, LEAF_INDEX, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, SCALAR, SLOT_NUMBER, STR, STRUCT, U32, U64, U128, tryFieldWidth, isArrayMapping, isBoundedVecMapping, isEphemeralArrayMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping } from './oracle/oracle_type_mappings.js';
1
3
  export { ExecutionNoteCache } from './execution_note_cache.js';
2
4
  export { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
3
5
  export { HashedValuesCache } from './hashed_values_cache.js';
4
6
  export { pickNotes } from './pick_notes.js';
5
- export { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
6
- export { MessageContextService } from '../messages/message_context_service.js';
7
+ export { TxResolverService } from '../messages/tx_resolver_service.js';
7
8
  export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
8
9
  export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
9
- export { Oracle } from './oracle/oracle.js';
10
+ export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
11
+ export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
10
12
  export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
11
13
  export { generateSimulatedProvingResult } from './contract_function_simulator.js';
12
14
  export { packAsHintedNote } from './oracle/note_packing_utils.js';
13
15
  export { BoundedVec } from './noir-structs/bounded_vec.js';
16
+ export { EphemeralArray } from './noir-structs/ephemeral_array.js';
14
17
  export { Option } from './noir-structs/option.js';
15
- export { UtilityContext } from './noir-structs/utility_context.js';
18
+ export { EventValidationRequest } from './noir-structs/event_validation_request.js';
19
+ export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
20
+ export { TransientArrayService } from './transient_array_service.js';
@@ -1,9 +1,4 @@
1
- /**
2
- * TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`.
3
- *
4
- * Carries the actual `data` plus wire-format metadata (`maxLength`, `elementSize`) so the ACVM
5
- * serializer can pad the storage slot to exactly `maxLength * elementSize` fields.
6
- */
1
+ /** TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`. */
7
2
  export declare class BoundedVec<T> {
8
3
  readonly data: T[];
9
4
  readonly maxLength: number;
@@ -13,16 +8,11 @@ export declare class BoundedVec<T> {
13
8
  * Construct a BoundedVec with data.
14
9
  *
15
10
  * @param data - Actual elements. Length must be `<= maxLength`.
16
- * @param maxLength - Maximum capacity declared at the Noir call site.
17
- * The storage slot is padded to this many elements.
18
- * @param elementSize - Number of Fr fields each element contributes when serialized.
19
- * `1` for scalar elements (u8, Field) this is the default.
20
- * `> 1` for compound elements (e.g. a packed note that spans multiple fields).
21
- *
22
- * @example A bounded vec of bytes (elementSize defaults to 1):
23
- * ```ts
24
- * BoundedVec.from({ data: plaintext, maxLength: ciphertext.maxLength })
25
- * ```
11
+ * @param maxLength - Maximum capacity declared at the Noir call site. The storage slot is padded to this many
12
+ * elements.
13
+ * @param elementSize - Number of Fr fields each element contributes when serialized. Only consulted for
14
+ * variable-width elements whose width isn't statically known from their shape (e.g. a packed note spanning
15
+ * `packedHintedNoteLength` fields); fixed-width elements derive it from the shape, so it can be omitted.
26
16
  *
27
17
  * @example A bounded vec of packed notes, each spanning `packedHintedNoteLength` fields:
28
18
  * ```ts
@@ -34,15 +24,6 @@ export declare class BoundedVec<T> {
34
24
  maxLength: number;
35
25
  elementSize?: number;
36
26
  }): BoundedVec<T>;
37
- /**
38
- * Construct an empty BoundedVec, typically used as a shape template for `Option.empty(...)`.
39
- *
40
- * @param maxLength - Maximum capacity declared at the Noir call site.
41
- * @param elementSize - Number of Fr fields each element contributes when serialized (default 1).
42
- */
43
- static empty<T>({ maxLength, elementSize }: {
44
- maxLength: number;
45
- elementSize?: number;
46
- }): BoundedVec<T>;
27
+ equals(other: BoundedVec<T>, innerEquals: (a: T, b: T) => boolean): boolean;
47
28
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRlZF92ZWMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2JvdW5kZWRfdmVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gscUJBQWEsVUFBVSxDQUFDLENBQUM7YUFFTCxJQUFJLEVBQUUsQ0FBQyxFQUFFO2FBQ1QsU0FBUyxFQUFFLE1BQU07YUFDakIsV0FBVyxFQUFFLE1BQU07SUFIckMsT0FBTyxlQUlIO0lBRUo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUNiLElBQUksRUFDSixTQUFTLEVBQ1QsV0FBZSxFQUNoQixFQUFFO1FBQ0QsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUNsQixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDdEIsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBRWhCO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFlLEVBQUUsRUFBRTtRQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FFMUc7Q0FDRiJ9
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRlZF92ZWMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2JvdW5kZWRfdmVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxxQkFBYSxVQUFVLENBQUMsQ0FBQzthQUVMLElBQUksRUFBRSxDQUFDLEVBQUU7YUFDVCxTQUFTLEVBQUUsTUFBTTthQUNqQixXQUFXLEVBQUUsTUFBTTtJQUhyQyxPQUFPLGVBSUg7SUFFSjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQ2IsSUFBSSxFQUNKLFNBQVMsRUFDVCxXQUFlLEVBQ2hCLEVBQUU7UUFDRCxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDVixTQUFTLEVBQUUsTUFBTSxDQUFDO1FBQ2xCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUN0QixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FFaEI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHLE9BQU8sQ0FNMUU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"bounded_vec.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/bounded_vec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,CAAC;aAEL,IAAI,EAAE,CAAC,EAAE;aACT,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;IAHrC,OAAO,eAIH;IAEJ;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EACb,IAAI,EACJ,SAAS,EACT,WAAe,EAChB,EAAE;QACD,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,UAAU,CAAC,CAAC,CAAC,CAEhB;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,WAAe,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAE1G;CACF"}
1
+ {"version":3,"file":"bounded_vec.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/bounded_vec.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qBAAa,UAAU,CAAC,CAAC;aAEL,IAAI,EAAE,CAAC,EAAE;aACT,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;IAHrC,OAAO,eAIH;IAEJ;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EACb,IAAI,EACJ,SAAS,EACT,WAAe,EAChB,EAAE;QACD,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,UAAU,CAAC,CAAC,CAAC,CAEhB;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAM1E;CACF"}
@@ -1,9 +1,4 @@
1
- /**
2
- * TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`.
3
- *
4
- * Carries the actual `data` plus wire-format metadata (`maxLength`, `elementSize`) so the ACVM
5
- * serializer can pad the storage slot to exactly `maxLength * elementSize` fields.
6
- */ export class BoundedVec {
1
+ /** TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`. */ export class BoundedVec {
7
2
  data;
8
3
  maxLength;
9
4
  elementSize;
@@ -16,16 +11,11 @@
16
11
  * Construct a BoundedVec with data.
17
12
  *
18
13
  * @param data - Actual elements. Length must be `<= maxLength`.
19
- * @param maxLength - Maximum capacity declared at the Noir call site.
20
- * The storage slot is padded to this many elements.
21
- * @param elementSize - Number of Fr fields each element contributes when serialized.
22
- * `1` for scalar elements (u8, Field) this is the default.
23
- * `> 1` for compound elements (e.g. a packed note that spans multiple fields).
24
- *
25
- * @example A bounded vec of bytes (elementSize defaults to 1):
26
- * ```ts
27
- * BoundedVec.from({ data: plaintext, maxLength: ciphertext.maxLength })
28
- * ```
14
+ * @param maxLength - Maximum capacity declared at the Noir call site. The storage slot is padded to this many
15
+ * elements.
16
+ * @param elementSize - Number of Fr fields each element contributes when serialized. Only consulted for
17
+ * variable-width elements whose width isn't statically known from their shape (e.g. a packed note spanning
18
+ * `packedHintedNoteLength` fields); fixed-width elements derive it from the shape, so it can be omitted.
29
19
  *
30
20
  * @example A bounded vec of packed notes, each spanning `packedHintedNoteLength` fields:
31
21
  * ```ts
@@ -34,12 +24,7 @@
34
24
  */ static from({ data, maxLength, elementSize = 1 }) {
35
25
  return new BoundedVec(data, maxLength, elementSize);
36
26
  }
37
- /**
38
- * Construct an empty BoundedVec, typically used as a shape template for `Option.empty(...)`.
39
- *
40
- * @param maxLength - Maximum capacity declared at the Noir call site.
41
- * @param elementSize - Number of Fr fields each element contributes when serialized (default 1).
42
- */ static empty({ maxLength, elementSize = 1 }) {
43
- return new BoundedVec([], maxLength, elementSize);
27
+ equals(other, innerEquals) {
28
+ return this.maxLength === other.maxLength && this.data.length === other.data.length && this.data.every((value, i)=>innerEquals(value, other.data[i]));
44
29
  }
45
30
  }
@@ -0,0 +1,9 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ /** Wire form of a contract class log. */
4
+ export type ContractClassLogData = {
5
+ contractAddress: AztecAddress;
6
+ fields: Fr[];
7
+ emittedLength: number;
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfbG9nX2RhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2NvbnRyYWN0X2NsYXNzX2xvZ19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLHlDQUF5QztBQUN6QyxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3ZCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract_class_log_data.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/contract_class_log_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,YAAY,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
@@ -0,0 +1 @@
1
+ /** Wire form of a contract class log. */ export { };