@aztec/pxe 0.0.1-commit.993d52e → 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 (529) hide show
  1. package/dest/bin/check_oracle_version.js +11 -118
  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 +20 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +25 -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 +22 -16
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +71 -28
  14. package/dest/config/index.d.ts +9 -2
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +14 -15
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract/contract_class_service.d.ts +24 -0
  19. package/dest/contract/contract_class_service.d.ts.map +1 -0
  20. package/dest/contract/contract_class_service.js +36 -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/skip_sync_contracts.d.ts +11 -0
  28. package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
  29. package/dest/contract/skip_sync_contracts.js +18 -0
  30. package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
  31. package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
  32. package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
  33. package/dest/contract_function_simulator/contract_function_simulator.d.ts +30 -25
  34. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/contract_function_simulator.js +111 -62
  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 +7 -11
  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 +19 -15
  45. package/dest/contract_function_simulator/index.d.ts +26 -5
  46. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/index.js +11 -3
  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 +3 -4
  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 +9 -10
  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 -63
  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 +3 -5
  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 +8 -12
  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 +19 -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 +9 -0
  99. package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -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 -98
  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 +274 -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 +1253 -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 +7 -6
  132. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +62 -77
  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 +215 -123
  135. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +186 -81
  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 +662 -170
  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/contract_logging.d.ts +9 -4
  145. package/dest/contract_logging.d.ts.map +1 -1
  146. package/dest/contract_logging.js +21 -6
  147. package/dest/debug/pxe_debug_utils.d.ts +4 -9
  148. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  149. package/dest/debug/pxe_debug_utils.js +0 -6
  150. package/dest/entrypoints/client/bundle/index.d.ts +2 -2
  151. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  152. package/dest/entrypoints/client/bundle/index.js +1 -1
  153. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  154. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  155. package/dest/entrypoints/client/bundle/utils.js +27 -8
  156. package/dest/entrypoints/client/lazy/index.d.ts +2 -2
  157. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  158. package/dest/entrypoints/client/lazy/index.js +1 -1
  159. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  160. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  161. package/dest/entrypoints/client/lazy/utils.js +27 -8
  162. package/dest/entrypoints/client/store.d.ts +14 -0
  163. package/dest/entrypoints/client/store.d.ts.map +1 -0
  164. package/dest/entrypoints/client/store.js +42 -0
  165. package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
  166. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  167. package/dest/entrypoints/pxe_creation_options.js +3 -1
  168. package/dest/entrypoints/server/index.d.ts +7 -4
  169. package/dest/entrypoints/server/index.d.ts.map +1 -1
  170. package/dest/entrypoints/server/index.js +5 -3
  171. package/dest/entrypoints/server/store.d.ts +18 -0
  172. package/dest/entrypoints/server/store.d.ts.map +1 -0
  173. package/dest/entrypoints/server/store.js +28 -0
  174. package/dest/entrypoints/server/utils.d.ts +4 -3
  175. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  176. package/dest/entrypoints/server/utils.js +28 -8
  177. package/dest/error_enriching.d.ts +5 -3
  178. package/dest/error_enriching.d.ts.map +1 -1
  179. package/dest/error_enriching.js +13 -11
  180. package/dest/events/event_service.d.ts +21 -5
  181. package/dest/events/event_service.d.ts.map +1 -1
  182. package/dest/events/event_service.js +50 -17
  183. package/dest/events/private_event_filter_validator.d.ts +3 -2
  184. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  185. package/dest/events/private_event_filter_validator.js +15 -0
  186. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  187. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  188. package/dest/hooks/authorize_utility_call.js +4 -0
  189. package/dest/hooks/execution_hooks.d.ts +62 -0
  190. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  191. package/dest/hooks/execution_hooks.js +9 -0
  192. package/dest/hooks/index.d.ts +5 -0
  193. package/dest/hooks/index.d.ts.map +1 -0
  194. package/dest/hooks/index.js +2 -0
  195. package/dest/hooks/resolve_custom_request.d.ts +23 -0
  196. package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
  197. package/dest/hooks/resolve_custom_request.js +3 -0
  198. package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
  199. package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
  200. package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
  201. package/dest/logs/log_service.d.ts +21 -11
  202. package/dest/logs/log_service.d.ts.map +1 -1
  203. package/dest/logs/log_service.js +180 -82
  204. package/dest/messages/tx_resolver_service.d.ts +28 -0
  205. package/dest/messages/tx_resolver_service.d.ts.map +1 -0
  206. package/dest/messages/tx_resolver_service.js +61 -0
  207. package/dest/node/benchmarked_node.d.ts +20 -0
  208. package/dest/node/benchmarked_node.d.ts.map +1 -0
  209. package/dest/node/benchmarked_node.js +94 -0
  210. package/dest/node/caching_aztec_node.d.ts +24 -0
  211. package/dest/node/caching_aztec_node.d.ts.map +1 -0
  212. package/dest/node/caching_aztec_node.js +267 -0
  213. package/dest/notes/note_service.d.ts +34 -7
  214. package/dest/notes/note_service.d.ts.map +1 -1
  215. package/dest/notes/note_service.js +81 -57
  216. package/dest/notes_filter.d.ts +2 -3
  217. package/dest/notes_filter.d.ts.map +1 -1
  218. package/dest/oracle_version.d.ts +4 -3
  219. package/dest/oracle_version.d.ts.map +1 -1
  220. package/dest/oracle_version.js +20 -10
  221. package/dest/private_kernel/batch_planner.d.ts +47 -0
  222. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  223. package/dest/private_kernel/batch_planner.js +104 -0
  224. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  225. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  226. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +131 -66
  227. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  228. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  229. package/dest/private_kernel/hints/test_utils.js +202 -0
  230. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  231. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  232. package/dest/private_kernel/private_kernel_execution_prover.js +208 -86
  233. package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
  234. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  235. package/dest/private_kernel/private_kernel_oracle.js +40 -26
  236. package/dest/pxe.d.ts +171 -55
  237. package/dest/pxe.d.ts.map +1 -1
  238. package/dest/pxe.js +385 -217
  239. package/dest/storage/allowed_scopes.d.ts +6 -0
  240. package/dest/storage/allowed_scopes.d.ts.map +1 -0
  241. package/dest/storage/allowed_scopes.js +7 -0
  242. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
  243. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  244. package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
  245. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  246. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  247. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  248. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  249. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  250. package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
  251. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  252. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  253. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  254. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  255. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  256. package/dest/storage/capsule_store/capsule_service.js +47 -0
  257. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  258. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  259. package/dest/storage/capsule_store/capsule_store.js +36 -28
  260. package/dest/storage/capsule_store/index.d.ts +2 -1
  261. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  262. package/dest/storage/capsule_store/index.js +1 -0
  263. package/dest/storage/contract_store/contract_store.d.ts +27 -24
  264. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  265. package/dest/storage/contract_store/contract_store.js +71 -99
  266. package/dest/storage/fact_store/fact_service.d.ts +22 -0
  267. package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
  268. package/dest/storage/fact_store/fact_service.js +45 -0
  269. package/dest/storage/fact_store/fact_store.d.ts +95 -0
  270. package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
  271. package/dest/storage/fact_store/fact_store.js +408 -0
  272. package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
  273. package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
  274. package/dest/storage/fact_store/fact_store_keys.js +50 -0
  275. package/dest/storage/fact_store/index.d.ts +6 -0
  276. package/dest/storage/fact_store/index.d.ts.map +1 -0
  277. package/dest/storage/fact_store/index.js +4 -0
  278. package/dest/storage/fact_store/origin_state.d.ts +59 -0
  279. package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
  280. package/dest/storage/fact_store/origin_state.js +60 -0
  281. package/dest/storage/fact_store/stored_fact.d.ts +32 -0
  282. package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
  283. package/dest/storage/fact_store/stored_fact.js +64 -0
  284. package/dest/storage/index.d.ts +3 -2
  285. package/dest/storage/index.d.ts.map +1 -1
  286. package/dest/storage/index.js +2 -1
  287. package/dest/storage/metadata.d.ts +2 -2
  288. package/dest/storage/metadata.d.ts.map +1 -1
  289. package/dest/storage/metadata.js +1 -1
  290. package/dest/storage/note_store/note_store.d.ts +42 -33
  291. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  292. package/dest/storage/note_store/note_store.js +199 -170
  293. package/dest/storage/note_store/stored_note.d.ts +3 -8
  294. package/dest/storage/note_store/stored_note.d.ts.map +1 -1
  295. package/dest/storage/note_store/stored_note.js +4 -20
  296. package/dest/storage/open_pxe_stores.d.ts +35 -0
  297. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  298. package/dest/storage/open_pxe_stores.js +29 -0
  299. package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
  300. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  301. package/dest/storage/private_event_store/private_event_store.js +43 -43
  302. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  303. package/dest/storage/store_identity.d.ts +35 -0
  304. package/dest/storage/store_identity.d.ts.map +1 -0
  305. package/dest/storage/store_identity.js +44 -0
  306. package/dest/storage/tagging_store/index.d.ts +2 -2
  307. package/dest/storage/tagging_store/index.d.ts.map +1 -1
  308. package/dest/storage/tagging_store/index.js +1 -1
  309. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  310. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  311. package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
  312. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  313. package/dest/storage/tagging_store/sender_tagging_store.js +205 -127
  314. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
  315. package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
  316. package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
  317. package/dest/tagging/constants.d.ts +11 -2
  318. package/dest/tagging/constants.d.ts.map +1 -1
  319. package/dest/tagging/constants.js +38 -10
  320. package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
  321. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  322. package/dest/tagging/get_all_logs_by_tags.js +53 -35
  323. package/dest/tagging/index.d.ts +8 -7
  324. package/dest/tagging/index.d.ts.map +1 -1
  325. package/dest/tagging/index.js +6 -5
  326. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  327. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  328. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  329. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
  330. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  331. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +234 -0
  332. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  333. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  334. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  335. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  336. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  337. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +8 -6
  338. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  339. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -19
  340. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
  341. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
  342. package/dest/tagging/sender_sync/utils/classify_pending_txs.js +61 -0
  343. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -6
  344. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  345. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +44 -30
  346. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
  347. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
  348. package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +41 -0
  349. package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
  350. package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
  351. package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
  352. package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
  353. package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
  354. package/dest/tagging/testing/tag_query_test_utils.js +10 -0
  355. package/package.json +20 -17
  356. package/src/bin/check_oracle_version.ts +10 -143
  357. package/src/bin/index.ts +1 -0
  358. package/src/bin/oracle_version_helpers.ts +30 -0
  359. package/src/block_synchronizer/block_stream_source.ts +42 -0
  360. package/src/block_synchronizer/block_synchronizer.ts +86 -40
  361. package/src/config/index.ts +16 -9
  362. package/src/config/package_info.ts +1 -1
  363. package/src/contract/contract_class_service.ts +45 -0
  364. package/src/contract/contract_sync_service.ts +176 -0
  365. package/src/contract/helpers.ts +35 -0
  366. package/src/contract/skip_sync_contracts.ts +23 -0
  367. package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
  368. package/src/contract_function_simulator/contract_function_simulator.ts +175 -85
  369. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  370. package/src/contract_function_simulator/execution_note_cache.ts +8 -29
  371. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  372. package/src/contract_function_simulator/index.ts +89 -4
  373. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
  374. package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
  375. package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
  376. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  377. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
  378. package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
  379. package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
  380. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
  381. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
  382. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  383. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
  384. package/src/contract_function_simulator/noir-structs/option.ts +75 -0
  385. package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
  386. package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
  387. package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
  388. package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
  389. package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
  390. package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
  391. package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
  392. package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
  393. package/src/contract_function_simulator/oracle/index.ts +1 -15
  394. package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
  395. package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
  396. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
  397. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  398. package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
  399. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1067 -0
  400. package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
  401. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +264 -157
  402. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +969 -265
  403. package/src/contract_function_simulator/pick_notes.ts +22 -3
  404. package/src/contract_function_simulator/transient_array_service.ts +91 -0
  405. package/src/contract_logging.ts +18 -5
  406. package/src/debug/pxe_debug_utils.ts +4 -12
  407. package/src/entrypoints/client/bundle/index.ts +1 -1
  408. package/src/entrypoints/client/bundle/utils.ts +32 -8
  409. package/src/entrypoints/client/lazy/index.ts +1 -1
  410. package/src/entrypoints/client/lazy/utils.ts +32 -8
  411. package/src/entrypoints/client/store.ts +54 -0
  412. package/src/entrypoints/pxe_creation_options.ts +21 -1
  413. package/src/entrypoints/server/index.ts +7 -3
  414. package/src/entrypoints/server/store.ts +47 -0
  415. package/src/entrypoints/server/utils.ts +45 -14
  416. package/src/error_enriching.ts +27 -11
  417. package/src/events/event_service.ts +84 -26
  418. package/src/events/private_event_filter_validator.ts +21 -1
  419. package/src/hooks/authorize_utility_call.ts +44 -0
  420. package/src/hooks/execution_hooks.ts +68 -0
  421. package/src/hooks/index.ts +13 -0
  422. package/src/hooks/resolve_custom_request.ts +24 -0
  423. package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
  424. package/src/logs/log_service.ts +225 -145
  425. package/src/messages/tx_resolver_service.ts +80 -0
  426. package/src/node/benchmarked_node.ts +140 -0
  427. package/src/node/caching_aztec_node.ts +406 -0
  428. package/src/notes/note_service.ts +126 -86
  429. package/src/notes_filter.ts +1 -3
  430. package/src/oracle_version.ts +20 -10
  431. package/src/private_kernel/batch_planner.ts +168 -0
  432. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +169 -112
  433. package/src/private_kernel/hints/test_utils.ts +318 -0
  434. package/src/private_kernel/private_kernel_execution_prover.ts +340 -119
  435. package/src/private_kernel/private_kernel_oracle.ts +58 -29
  436. package/src/pxe.ts +602 -249
  437. package/src/storage/allowed_scopes.ts +14 -0
  438. package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
  439. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  440. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  441. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  442. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  443. package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
  444. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  445. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
  446. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
  447. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  448. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
  449. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
  450. package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
  451. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
  452. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  453. package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
  454. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  455. package/src/storage/capsule_store/capsule_service.ts +85 -0
  456. package/src/storage/capsule_store/capsule_store.ts +44 -26
  457. package/src/storage/capsule_store/index.ts +1 -0
  458. package/src/storage/contract_store/contract_store.ts +98 -125
  459. package/src/storage/fact_store/fact_service.ts +69 -0
  460. package/src/storage/fact_store/fact_store.ts +487 -0
  461. package/src/storage/fact_store/fact_store_keys.ts +75 -0
  462. package/src/storage/fact_store/index.ts +15 -0
  463. package/src/storage/fact_store/origin_state.ts +84 -0
  464. package/src/storage/fact_store/stored_fact.ts +80 -0
  465. package/src/storage/index.ts +2 -1
  466. package/src/storage/metadata.ts +1 -1
  467. package/src/storage/note_store/note_store.ts +228 -192
  468. package/src/storage/note_store/stored_note.ts +5 -27
  469. package/src/storage/open_pxe_stores.ts +52 -0
  470. package/src/storage/private_event_store/private_event_store.ts +52 -54
  471. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  472. package/src/storage/store_identity.ts +72 -0
  473. package/src/storage/tagging_store/index.ts +1 -1
  474. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
  475. package/src/storage/tagging_store/sender_tagging_store.ts +275 -156
  476. package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
  477. package/src/tagging/constants.ts +42 -10
  478. package/src/tagging/get_all_logs_by_tags.ts +113 -49
  479. package/src/tagging/index.ts +12 -6
  480. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  481. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +355 -0
  482. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  483. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  484. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -22
  485. package/src/tagging/sender_sync/utils/classify_pending_txs.ts +91 -0
  486. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +53 -38
  487. package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +64 -0
  488. package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
  489. package/src/tagging/testing/tag_query_test_utils.ts +11 -0
  490. package/dest/access_scopes.d.ts +0 -9
  491. package/dest/access_scopes.d.ts.map +0 -1
  492. package/dest/access_scopes.js +0 -6
  493. package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
  494. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
  495. package/dest/contract_function_simulator/benchmarked_node.js +0 -77
  496. package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
  497. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
  498. package/dest/contract_function_simulator/oracle/oracle.js +0 -368
  499. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
  500. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
  501. package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
  502. package/dest/contract_sync/contract_sync_service.d.ts +0 -43
  503. package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
  504. package/dest/contract_sync/contract_sync_service.js +0 -97
  505. package/dest/contract_sync/helpers.d.ts +0 -29
  506. package/dest/contract_sync/helpers.d.ts.map +0 -1
  507. package/dest/contract_sync/helpers.js +0 -55
  508. package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
  509. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
  510. package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
  511. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
  512. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  513. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  514. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
  515. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  516. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
  517. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
  518. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  519. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
  520. package/src/access_scopes.ts +0 -9
  521. package/src/contract_function_simulator/benchmarked_node.ts +0 -103
  522. package/src/contract_function_simulator/oracle/oracle.ts +0 -637
  523. package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
  524. package/src/contract_sync/contract_sync_service.ts +0 -152
  525. package/src/contract_sync/helpers.ts +0 -98
  526. package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
  527. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
  528. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
  529. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
@@ -1,75 +1,90 @@
1
- import type { BlockHash } from '@aztec/stdlib/block';
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import type { AztecNode } from '@aztec/stdlib/interfaces/server';
3
- import type { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
4
- import { SiloedTag } from '@aztec/stdlib/logs';
3
+ import { type AppTaggingSecret, type LogResult, SiloedTag } from '@aztec/stdlib/logs';
5
4
  import { TxHash } from '@aztec/stdlib/tx';
6
5
 
7
6
  import type { SenderTaggingStore } from '../../../storage/tagging_store/sender_tagging_store.js';
8
- import { getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
7
+ import { type LogQueryAnchor, getAllPrivateLogsByTags } from '../../get_all_logs_by_tags.js';
9
8
 
10
9
  /**
11
- * Loads tagging indexes from the Aztec node and stores them in the tagging data provider.
10
+ * Loads tagging indexes from the Aztec node and stores them in the tagging data provider. Returns the txs the
11
+ * window's logs carried, keyed by tx hash string, with the block each was mined in and the window indexes it used,
12
+ * so the caller can classify their finalization status without further node queries.
12
13
  * @remarks This function is one of two places by which a pending index can get to the tagging data provider. The other
13
14
  * place is when a tx is being sent from this PXE.
14
- * @param extendedSecret - The extended directional app tagging secret that's unique for (sender, recipient, app) tuple.
15
+ * @param extendedSecret - The app tagging secret whose indexes are being synced.
15
16
  * @param start - The starting index (inclusive) of the window to process.
16
17
  * @param end - The ending index (exclusive) of the window to process.
17
18
  * @param aztecNode - The Aztec node instance to query for logs.
18
19
  * @param taggingStore - The data provider to store pending indexes.
20
+ * @param anchor - Block the log query is anchored to.
19
21
  * @param jobId - Job identifier, used to keep writes in-memory until they can be persisted in a data integrity
20
22
  * preserving way.
21
23
  */
22
24
  export async function loadAndStoreNewTaggingIndexes(
23
- extendedSecret: ExtendedDirectionalAppTaggingSecret,
25
+ extendedSecret: AppTaggingSecret,
24
26
  start: number,
25
27
  end: number,
26
28
  aztecNode: AztecNode,
27
29
  taggingStore: SenderTaggingStore,
28
- anchorBlockHash: BlockHash,
30
+ anchor: LogQueryAnchor,
29
31
  jobId: string,
30
- ) {
32
+ ): Promise<Map<string, TxInLogs>> {
31
33
  // We compute the tags for the current window of indexes
32
34
  const siloedTagsForWindow = await Promise.all(
33
35
  Array.from({ length: end - start }, (_, i) => SiloedTag.compute({ extendedSecret, index: start + i })),
34
36
  );
35
37
 
36
- const txsForTags = await getTxsContainingTags(siloedTagsForWindow, aztecNode, anchorBlockHash);
37
- const highestIndexMap = getTxHighestIndexMap(txsForTags, start, siloedTagsForWindow.length);
38
+ const allLogs = await getAllPrivateLogsByTags(aztecNode, siloedTagsForWindow, anchor);
39
+ if (allLogs.length !== siloedTagsForWindow.length) {
40
+ throw new Error(
41
+ `Number of log arrays does not match number of tags. ${allLogs.length} !== ${siloedTagsForWindow.length}`,
42
+ );
43
+ }
44
+
45
+ const txsInLogs = getTxsInLogs(allLogs, start);
38
46
 
39
- // Now we iterate over the map, reconstruct the preTags and tx hash and store them in the db.
40
- for (const [txHashStr, highestIndex] of highestIndexMap.entries()) {
47
+ // Now we iterate over the map, construct the tagging index ranges and store them in the db. A tx already tracked
48
+ // in the store is merged rather than range-checked: if this PXE sent the tx and it partially reverted, the chain
49
+ // only shows the surviving sub-range of the prove-time entry (the finalized receipt step of the sync owns
50
+ // resolving that difference), and a tx from another PXE may straddle a sync window boundary, in which case the
51
+ // entry is widened so the next index choice covers the full onchain range.
52
+ for (const [txHashStr, { taggingIndexes }] of txsInLogs.entries()) {
41
53
  const txHash = TxHash.fromString(txHashStr);
42
- await taggingStore.storePendingIndexes([{ extendedSecret, index: highestIndex }], txHash, jobId);
54
+ const ranges = [
55
+ { extendedSecret, lowestIndex: Math.min(...taggingIndexes), highestIndex: Math.max(...taggingIndexes) },
56
+ ];
57
+ await taggingStore.mergePendingIndexes(ranges, txHash, jobId);
43
58
  }
44
- }
45
59
 
46
- // Returns txs that used the given tags. A tag might have been used in multiple txs and for this reason we return
47
- // an array for each tag.
48
- async function getTxsContainingTags(
49
- tags: SiloedTag[],
50
- aztecNode: AztecNode,
51
- anchorBlockHash: BlockHash,
52
- ): Promise<TxHash[][]> {
53
- // We use the utility function below to retrieve all logs for the tags across all pages, so we don't need to handle
54
- // pagination here.
55
- const allLogs = await getAllPrivateLogsByTags(aztecNode, tags, anchorBlockHash);
56
- return allLogs.map(logs => logs.map(log => log.txHash));
60
+ return txsInLogs;
57
61
  }
58
62
 
59
- // Returns a map of txHash to the highest index for that txHash.
60
- function getTxHighestIndexMap(txHashesForTags: TxHash[][], start: number, count: number): Map<string, number> {
61
- if (txHashesForTags.length !== count) {
62
- throw new Error(`Number of tx hashes arrays does not match number of tags. ${txHashesForTags.length} !== ${count}`);
63
- }
63
+ /** A tx that a sync window's logs carried. */
64
+ export type TxInLogs = {
65
+ /** The block the tx was mined in, which decides whether it is finalized. */
66
+ blockNumber: BlockNumber;
67
+ /** The window's tagging indexes whose siloed tags this tx's logs carried. */
68
+ taggingIndexes: number[];
69
+ };
64
70
 
65
- const highestIndexMap = new Map<string, number>();
66
- for (let i = 0; i < txHashesForTags.length; i++) {
71
+ // Returns a map of txHash to the block it was mined in and all window indexes used by it.
72
+ function getTxsInLogs(logsForTags: LogResult[][], start: number): Map<string, TxInLogs> {
73
+ const txsInLogs = new Map<string, TxInLogs>();
74
+ // Iterate over indexes
75
+ for (let i = 0; i < logsForTags.length; i++) {
67
76
  const taggingIndex = start + i;
68
- const txHashesForTag = txHashesForTags[i];
69
- for (const txHash of txHashesForTag) {
70
- const key = txHash.toString();
71
- highestIndexMap.set(key, Math.max(highestIndexMap.get(key) ?? 0, taggingIndex));
77
+ // iterate over logs that used that index (tag)
78
+ for (const log of logsForTags[i]) {
79
+ const key = log.txHash.toString();
80
+ const existing = txsInLogs.get(key);
81
+ // Add the index to the tx's indexes
82
+ if (existing) {
83
+ existing.taggingIndexes.push(taggingIndex);
84
+ } else {
85
+ txsInLogs.set(key, { blockNumber: log.blockNumber, taggingIndexes: [taggingIndex] });
86
+ }
72
87
  }
73
88
  }
74
- return highestIndexMap;
89
+ return txsInLogs;
75
90
  }
@@ -0,0 +1,64 @@
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import type { AztecNode } from '@aztec/stdlib/interfaces/server';
3
+ import { type MinedTxReceipt, type TxHash, type TxReceipt, TxStatus } from '@aztec/stdlib/tx';
4
+
5
+ import type { PendingTx } from '../../../storage/tagging_store/sender_tagging_store.js';
6
+ import { classifyPendingTxsFromLogs, classifyPendingTxsFromReceipts } from './classify_pending_txs.js';
7
+ import type { TxInLogs } from './load_and_store_new_tagging_indexes.js';
8
+
9
+ /** What a window's node reads established about each of its pending txs. */
10
+ export type ResolvedPendingTxs = {
11
+ txHashesFinalizedFromLogs: TxHash[];
12
+ txHashesFinalizedFromReceipts: TxHash[];
13
+ txHashesDropped: TxHash[];
14
+ /** Both sources land here: the logs when a surviving tag fell inside the window, a receipt otherwise. */
15
+ receiptsWithExecutionReverted: MinedTxReceipt<{ includeTxEffect: true }>[];
16
+ };
17
+
18
+ /**
19
+ * Resolves a window's pending txs. All of the window's node reads happen here.
20
+ *
21
+ * The logs it is handed settle most txs on their own, as {@link classifyPendingTxsFromLogs} explains. Two groups are
22
+ * left over, and share one further round trip:
23
+ *
24
+ * - txs absent from the logs, whose receipt is what tells whether they are still in the mempool, dropped, or reverted;
25
+ * - txs the logs show as reverted, which only their tx effect resolves.
26
+ *
27
+ * A third round trip is paid only when those receipts reveal a reverted tx, since its effect cannot be requested
28
+ * before its status says it reverted.
29
+ */
30
+ export async function resolvePendingTxs(
31
+ pendingTxs: PendingTx[],
32
+ txsInLogs: Map<string, TxInLogs>,
33
+ finalizedBlockNumber: BlockNumber,
34
+ aztecNode: AztecNode,
35
+ ): Promise<ResolvedPendingTxs> {
36
+ const statusFromLogs = classifyPendingTxsFromLogs(pendingTxs, txsInLogs, finalizedBlockNumber);
37
+
38
+ const [statusOfAbsent, receiptsOfRevertedInLogs] = await Promise.all([
39
+ classifyPendingTxsFromReceipts(statusFromLogs.txHashesAbsent, aztecNode),
40
+ getReceiptsWithEffect(statusFromLogs.txHashesWithExecutionReverted, aztecNode),
41
+ ]);
42
+
43
+ const receiptsOfRevertedAbsent = await getReceiptsWithEffect(statusOfAbsent.txHashesWithExecutionReverted, aztecNode);
44
+
45
+ return {
46
+ txHashesFinalizedFromLogs: statusFromLogs.txHashesFinalized,
47
+ txHashesFinalizedFromReceipts: statusOfAbsent.txHashesFinalized,
48
+ txHashesDropped: statusOfAbsent.txHashesDropped,
49
+ // Both groups were judged finalized before this fetch, the first off our own tip and the second off an earlier
50
+ // receipt, so both are confirmed against what the node says now. Finalizing off a reorgeable block would burn
51
+ // the indexes.
52
+ receiptsWithExecutionReverted: [...receiptsOfRevertedInLogs, ...receiptsOfRevertedAbsent].filter(isFinalized),
53
+ };
54
+ }
55
+
56
+ function getReceiptsWithEffect(txHashes: TxHash[], aztecNode: AztecNode) {
57
+ return Promise.all(txHashes.map(txHash => aztecNode.getTxReceipt(txHash, { includeTxEffect: true })));
58
+ }
59
+
60
+ function isFinalized(
61
+ receipt: TxReceipt<{ includeTxEffect: true }>,
62
+ ): receipt is MinedTxReceipt<{ includeTxEffect: true }> {
63
+ return receipt.status === TxStatus.FINALIZED;
64
+ }
@@ -0,0 +1,46 @@
1
+ import { BlockNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { BlockHash } from '@aztec/stdlib/block';
3
+ import type { MinedTxStatus, TxEffect, TxHash } from '@aztec/stdlib/tx';
4
+ import { MinedTxReceipt, TxExecutionResult } from '@aztec/stdlib/tx';
5
+
6
+ import type { PendingTx } from '../../../storage/tagging_store/sender_tagging_store.js';
7
+ import type { TxInLogs } from './load_and_store_new_tagging_indexes.js';
8
+
9
+ /** A tx the store holds as pending, tracked up to the given index. */
10
+ export function pendingTx(txHash: TxHash, highestIndex: number): PendingTx {
11
+ return { txHash: txHash.toString(), highestIndex };
12
+ }
13
+
14
+ /** One tx as a window's logs show it: the block it was mined in and the tagging indexes its logs carried. */
15
+ export function minedIn(blockNumber: number, taggingIndexes: number[]): TxInLogs {
16
+ return { blockNumber: BlockNumber(blockNumber), taggingIndexes };
17
+ }
18
+
19
+ /** Builds the tx-hash-keyed map a window's logs would produce. */
20
+ export function txsInLogs(...entries: [TxHash, TxInLogs][]): Map<string, TxInLogs> {
21
+ return new Map(entries.map(([txHash, txInLogs]) => [txHash.toString(), txInLogs]));
22
+ }
23
+
24
+ /** The receipt of a mined tx, successful and without a tx effect unless stated otherwise. */
25
+ export function minedReceipt(
26
+ txHash: TxHash,
27
+ status: MinedTxStatus,
28
+ blockNumber: number,
29
+ {
30
+ executionResult = TxExecutionResult.SUCCESS,
31
+ txEffect,
32
+ }: { executionResult?: TxExecutionResult; txEffect?: TxEffect } = {},
33
+ ): MinedTxReceipt {
34
+ return new MinedTxReceipt(
35
+ txHash,
36
+ status,
37
+ executionResult,
38
+ 1n,
39
+ BlockHash.random(),
40
+ BlockNumber(blockNumber),
41
+ SlotNumber(Number(blockNumber)),
42
+ 0,
43
+ EpochNumber(1),
44
+ txEffect,
45
+ );
46
+ }
@@ -0,0 +1,11 @@
1
+ import { type AppTaggingSecret, type PrivateLogsQuery, SiloedTag, type TagQuery } from '@aztec/stdlib/logs';
2
+
3
+ /** Computes the siloed tag */
4
+ export function computeSiloedTagForIndex(secret: AppTaggingSecret, index: number): Promise<SiloedTag> {
5
+ return SiloedTag.compute({ extendedSecret: secret, index });
6
+ }
7
+
8
+ /** Extracts the bare-tag set from a query */
9
+ export function extractTags(query: PrivateLogsQuery): SiloedTag[] {
10
+ return query.tags.map((entry: TagQuery<SiloedTag>) => (entry instanceof SiloedTag ? entry : entry.tag));
11
+ }
@@ -1,9 +0,0 @@
1
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
- /**
3
- * Controls which accounts' private state and keys are accessible during execution.
4
- * - `'ALL_SCOPES'`: All registered accounts' private state and keys are accessible.
5
- * - `AztecAddress[]` with entries: Only the specified accounts' private state and keys are accessible.
6
- * - `[]` (empty array): Deny-all. No private state is visible and no keys are accessible.
7
- */
8
- export type AccessScopes = 'ALL_SCOPES' | AztecAddress[];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzX3Njb3Blcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FjY2Vzc19zY29wZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxNQUFNLE1BQU0sWUFBWSxHQUFHLFlBQVksR0FBRyxZQUFZLEVBQUUsQ0FBQyJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"access_scopes.d.ts","sourceRoot":"","sources":["../src/access_scopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Controls which accounts' private state and keys are accessible during execution.
3
- * - `'ALL_SCOPES'`: All registered accounts' private state and keys are accessible.
4
- * - `AztecAddress[]` with entries: Only the specified accounts' private state and keys are accessible.
5
- * - `[]` (empty array): Deny-all. No private state is visible and no keys are accessible.
6
- */ export { };
@@ -1,9 +0,0 @@
1
- import type { AztecNode } from '@aztec/stdlib/interfaces/client';
2
- import type { NodeStats } from '@aztec/stdlib/tx';
3
- export type BenchmarkedNode = AztecNode & {
4
- getStats(): NodeStats;
5
- };
6
- export declare class BenchmarkedNodeFactory {
7
- static create(node: AztecNode): BenchmarkedNode;
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrZWRfbm9kZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9iZW5jaG1hcmtlZF9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQWlCbEUsTUFBTSxNQUFNLGVBQWUsR0FBRyxTQUFTLEdBQUc7SUFBRSxRQUFRLElBQUksU0FBUyxDQUFBO0NBQUUsQ0FBQztBQUVwRSxxQkFBYSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxHQUFHLGVBQWUsQ0ErRTlDO0NBQ0YifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmarked_node.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/benchmarked_node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAiBlE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IAAE,QAAQ,IAAI,SAAS,CAAA;CAAE,CAAC;AAEpE,qBAAa,sBAAsB;IACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CA+E9C;CACF"}
@@ -1,77 +0,0 @@
1
- import { Timer } from '@aztec/foundation/timer';
2
- export class BenchmarkedNodeFactory {
3
- static create(node) {
4
- // Per-method call stats
5
- const perMethod = {};
6
- // Round trip tracking
7
- let inFlightCount = 0;
8
- let currentRoundTripTimer = null;
9
- let currentRoundTripMethods = [];
10
- const roundTrips = {
11
- roundTrips: 0,
12
- totalBlockingTime: 0,
13
- roundTripDurations: [],
14
- roundTripMethods: []
15
- };
16
- return new Proxy(node, {
17
- get (target, prop) {
18
- if (prop === 'getStats') {
19
- return ()=>{
20
- return {
21
- perMethod,
22
- roundTrips
23
- };
24
- };
25
- } else {
26
- return function(...args) {
27
- // Track per-method stats
28
- if (!perMethod[prop]) {
29
- perMethod[prop] = {
30
- times: []
31
- };
32
- }
33
- // Start of a new round trip batch?
34
- if (inFlightCount === 0) {
35
- roundTrips.roundTrips++;
36
- currentRoundTripTimer = new Timer();
37
- currentRoundTripMethods = [];
38
- }
39
- inFlightCount++;
40
- currentRoundTripMethods.push(prop);
41
- const callTimer = new Timer();
42
- const result = target[prop].apply(target, args);
43
- // Handle completion - called when the call finishes (after Promise resolves)
44
- const handleCompletion = ()=>{
45
- const callTime = callTimer.ms();
46
- perMethod[prop].times.push(callTime);
47
- inFlightCount--;
48
- // End of round trip batch - all concurrent calls completed
49
- if (inFlightCount === 0 && currentRoundTripTimer) {
50
- const roundTripTime = currentRoundTripTimer.ms();
51
- roundTrips.totalBlockingTime += roundTripTime;
52
- roundTrips.roundTripDurations.push(roundTripTime);
53
- roundTrips.roundTripMethods.push(currentRoundTripMethods);
54
- currentRoundTripTimer = null;
55
- currentRoundTripMethods = [];
56
- }
57
- };
58
- // If the result is a Promise, chain the completion handler
59
- if (result && typeof result.then === 'function') {
60
- return result.then((value)=>{
61
- handleCompletion();
62
- return value;
63
- }, (error)=>{
64
- handleCompletion();
65
- throw error;
66
- });
67
- } else {
68
- // Synchronous method - handle completion immediately
69
- handleCompletion();
70
- return result;
71
- }
72
- };
73
- }
74
- }
75
- });
76
- }
77
- }
@@ -1,60 +0,0 @@
1
- import { type ACIRCallback, type ACVMField } from '@aztec/simulator/client';
2
- import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
3
- export declare class UnavailableOracleError extends Error {
4
- constructor(oracleName: string);
5
- }
6
- /**
7
- * A data source that has all the apis required by Aztec.nr.
8
- */
9
- export declare class Oracle {
10
- private handler;
11
- constructor(handler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle);
12
- private handlerAsMisc;
13
- private handlerAsUtility;
14
- private handlerAsPrivate;
15
- toACIRCallback(): ACIRCallback;
16
- utilityAssertCompatibleOracleVersion([version]: ACVMField[]): Promise<never[]>;
17
- utilityGetRandomField(): Promise<ACVMField[]>;
18
- privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]>;
19
- privateLoadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[][]>;
20
- utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]>;
21
- utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
22
- utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
23
- utilityGetNoteHashMembershipWitness([anchorBlockHash]: ACVMField[], [noteHash]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
24
- utilityGetBlockHashMembershipWitness([anchorBlockHash]: ACVMField[], [blockHash]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
25
- utilityGetNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
26
- utilityGetLowNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
27
- utilityGetPublicDataWitness([blockHash]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
28
- utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
29
- utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
30
- utilityTryGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
31
- utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedHintedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
32
- privateNotifyCreatedNote([owner]: ACVMField[], [storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
33
- privateNotifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
34
- privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
35
- privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]>;
36
- utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
37
- utilityGetL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
38
- utilityStorageRead([blockHash]: ACVMField[], [contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
39
- privateNotifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [length]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
40
- utilityLog(level: ACVMField[], message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
41
- privateCallPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
42
- privateNotifyEnqueuedPublicFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
43
- privateNotifySetPublicTeardownFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
44
- privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
45
- privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
46
- privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
47
- utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
48
- utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
49
- utilityBulkRetrieveLogs([contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
50
- utilityStoreCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<ACVMField[]>;
51
- utilityLoadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
52
- utilityDeleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]>;
53
- utilityCopyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<ACVMField[]>;
54
- utilityAes128Decrypt(ciphertextBVecStorage: ACVMField[], [ciphertextLength]: ACVMField[], iv: ACVMField[], symKey: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
55
- utilityGetSharedSecret([address]: ACVMField[], [ephPKField0]: ACVMField[], [ephPKField1]: ACVMField[], [ephPKField2]: ACVMField[]): Promise<ACVMField[]>;
56
- utilityEmitOffchainEffect(data: ACVMField[]): Promise<never[]>;
57
- privateGetSenderForTags(): Promise<ACVMField[]>;
58
- privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
59
- }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVELHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
@@ -1 +0,0 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}