@aztec/simulator 0.0.0-test.1 → 0.0.1-fake-ceab37513c

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 (436) hide show
  1. package/README.md +6 -0
  2. package/dest/client.d.ts +5 -3
  3. package/dest/client.d.ts.map +1 -1
  4. package/dest/client.js +4 -2
  5. package/dest/common/errors.d.ts +4 -7
  6. package/dest/common/errors.d.ts.map +1 -1
  7. package/dest/common/errors.js +51 -32
  8. package/dest/common/index.d.ts +0 -1
  9. package/dest/common/index.d.ts.map +1 -1
  10. package/dest/common/index.js +0 -1
  11. package/dest/private/acvm/acvm.d.ts +11 -5
  12. package/dest/private/acvm/acvm.d.ts.map +1 -1
  13. package/dest/private/acvm/acvm.js +10 -16
  14. package/dest/private/acvm/acvm_types.d.ts +1 -1
  15. package/dest/private/acvm/acvm_types.d.ts.map +1 -1
  16. package/dest/private/acvm/deserialize.d.ts +17 -18
  17. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  18. package/dest/private/acvm/deserialize.js +31 -23
  19. package/dest/private/acvm/index.d.ts +0 -1
  20. package/dest/private/acvm/index.d.ts.map +1 -1
  21. package/dest/private/acvm/index.js +0 -1
  22. package/dest/private/acvm/serialize.d.ts +19 -2
  23. package/dest/private/acvm/serialize.d.ts.map +1 -1
  24. package/dest/private/acvm/serialize.js +53 -0
  25. package/dest/private/{providers/acvm_native.d.ts → acvm_native.d.ts} +10 -10
  26. package/dest/private/acvm_native.d.ts.map +1 -0
  27. package/dest/private/{providers/acvm_native.js → acvm_native.js} +11 -7
  28. package/dest/private/acvm_wasm.d.ts +15 -0
  29. package/dest/private/acvm_wasm.d.ts.map +1 -0
  30. package/dest/private/{providers/acvm_wasm.js → acvm_wasm.js} +22 -19
  31. package/dest/private/acvm_wasm_with_blobs.d.ts +20 -0
  32. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -0
  33. package/dest/private/acvm_wasm_with_blobs.js +35 -0
  34. package/dest/private/circuit_recording/circuit_recorder.d.ts +108 -0
  35. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -0
  36. package/dest/private/circuit_recording/circuit_recorder.js +209 -0
  37. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +31 -0
  38. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -0
  39. package/dest/private/circuit_recording/file_circuit_recorder.js +135 -0
  40. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +5 -0
  41. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -0
  42. package/dest/private/circuit_recording/memory_circuit_recorder.js +9 -0
  43. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +21 -0
  44. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -0
  45. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +44 -0
  46. package/dest/private/circuit_simulator.d.ts +35 -0
  47. package/dest/private/circuit_simulator.d.ts.map +1 -0
  48. package/dest/private/circuit_simulator.js +43 -0
  49. package/dest/private/factory.d.ts +12 -0
  50. package/dest/private/factory.d.ts.map +1 -0
  51. package/dest/private/{providers/factory.js → factory.js} +2 -2
  52. package/dest/public/avm/avm_context.d.ts +5 -5
  53. package/dest/public/avm/avm_context.d.ts.map +1 -1
  54. package/dest/public/avm/avm_contract_call_result.d.ts +4 -2
  55. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  56. package/dest/public/avm/avm_contract_call_result.js +11 -7
  57. package/dest/public/avm/avm_execution_environment.d.ts +2 -1
  58. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  59. package/dest/public/avm/avm_execution_environment.js +4 -2
  60. package/dest/public/avm/avm_gas.d.ts +4 -20
  61. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  62. package/dest/public/avm/avm_gas.js +27 -35
  63. package/dest/public/avm/avm_machine_state.d.ts +2 -0
  64. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  65. package/dest/public/avm/avm_machine_state.js +2 -0
  66. package/dest/public/avm/avm_memory_types.d.ts +98 -87
  67. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  68. package/dest/public/avm/avm_memory_types.js +17 -6
  69. package/dest/public/avm/avm_simulator.d.ts +4 -5
  70. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  71. package/dest/public/avm/avm_simulator.js +13 -18
  72. package/dest/public/avm/avm_simulator_interface.d.ts +9 -0
  73. package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -0
  74. package/dest/public/avm/avm_simulator_interface.js +3 -0
  75. package/dest/public/avm/errors.d.ts +1 -16
  76. package/dest/public/avm/errors.d.ts.map +1 -1
  77. package/dest/public/avm/errors.js +0 -37
  78. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +3 -3
  79. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  80. package/dest/public/avm/fixtures/avm_simulation_tester.js +10 -11
  81. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +4 -4
  82. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  83. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +16 -15
  84. package/dest/public/avm/fixtures/initializers.d.ts +43 -0
  85. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
  86. package/dest/public/avm/fixtures/initializers.js +42 -0
  87. package/dest/public/avm/fixtures/utils.d.ts +38 -0
  88. package/dest/public/avm/fixtures/utils.d.ts.map +1 -0
  89. package/dest/public/avm/fixtures/utils.js +95 -0
  90. package/dest/public/avm/index.d.ts +0 -2
  91. package/dest/public/avm/index.d.ts.map +1 -1
  92. package/dest/public/avm/index.js +0 -2
  93. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  94. package/dest/public/avm/opcodes/accrued_substate.js +22 -19
  95. package/dest/public/avm/opcodes/addressing_mode.d.ts +11 -7
  96. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  97. package/dest/public/avm/opcodes/addressing_mode.js +48 -27
  98. package/dest/public/avm/opcodes/arithmetic.d.ts +11 -1
  99. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  100. package/dest/public/avm/opcodes/arithmetic.js +16 -2
  101. package/dest/public/avm/opcodes/bitwise.d.ts +5 -13
  102. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  103. package/dest/public/avm/opcodes/bitwise.js +19 -26
  104. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  105. package/dest/public/avm/opcodes/comparators.js +3 -3
  106. package/dest/public/avm/opcodes/contract.d.ts +1 -2
  107. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  108. package/dest/public/avm/opcodes/contract.js +9 -10
  109. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  110. package/dest/public/avm/opcodes/control_flow.js +10 -8
  111. package/dest/public/avm/opcodes/conversion.d.ts +1 -0
  112. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  113. package/dest/public/avm/opcodes/conversion.js +264 -3
  114. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  115. package/dest/public/avm/opcodes/ec_add.js +2 -2
  116. package/dest/public/avm/opcodes/environment_getters.d.ts +2 -2
  117. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  118. package/dest/public/avm/opcodes/environment_getters.js +12 -12
  119. package/dest/public/avm/opcodes/external_calls.d.ts +8 -7
  120. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  121. package/dest/public/avm/opcodes/external_calls.js +39 -33
  122. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  123. package/dest/public/avm/opcodes/hashing.js +6 -6
  124. package/dest/public/avm/opcodes/instruction.d.ts +14 -10
  125. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  126. package/dest/public/avm/opcodes/instruction.js +18 -13
  127. package/dest/public/avm/opcodes/memory.d.ts +4 -4
  128. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  129. package/dest/public/avm/opcodes/memory.js +37 -33
  130. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  131. package/dest/public/avm/opcodes/misc.js +17 -12
  132. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  133. package/dest/public/avm/opcodes/storage.js +7 -5
  134. package/dest/public/avm/revert_reason.d.ts +18 -0
  135. package/dest/public/avm/revert_reason.d.ts.map +1 -0
  136. package/dest/public/avm/revert_reason.js +38 -0
  137. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
  138. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  139. package/dest/public/avm/serialization/bytecode_serialization.d.ts +2 -6
  140. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  141. package/dest/public/avm/serialization/bytecode_serialization.js +70 -69
  142. package/dest/public/avm/serialization/instruction_serialization.d.ts +5 -4
  143. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  144. package/dest/public/avm/serialization/instruction_serialization.js +60 -35
  145. package/dest/public/avm/test_utils.d.ts +10 -13
  146. package/dest/public/avm/test_utils.d.ts.map +1 -1
  147. package/dest/public/avm/test_utils.js +12 -17
  148. package/dest/public/db_interfaces.d.ts +56 -0
  149. package/dest/public/db_interfaces.d.ts.map +1 -0
  150. package/dest/public/db_interfaces.js +3 -0
  151. package/dest/public/debug_fn_name.d.ts +5 -0
  152. package/dest/public/debug_fn_name.d.ts.map +1 -0
  153. package/dest/public/debug_fn_name.js +9 -0
  154. package/dest/public/executor_metrics.d.ts +10 -3
  155. package/dest/public/executor_metrics.d.ts.map +1 -1
  156. package/dest/public/executor_metrics.js +37 -6
  157. package/dest/public/executor_metrics_interface.d.ts +9 -0
  158. package/dest/public/executor_metrics_interface.d.ts.map +1 -0
  159. package/dest/public/executor_metrics_interface.js +1 -0
  160. package/dest/public/fixtures/amm_test.d.ts +10 -0
  161. package/dest/public/fixtures/amm_test.d.ts.map +1 -0
  162. package/dest/public/fixtures/amm_test.js +213 -0
  163. package/dest/public/fixtures/bulk_test.d.ts +6 -0
  164. package/dest/public/fixtures/bulk_test.d.ts.map +1 -0
  165. package/dest/public/fixtures/bulk_test.js +393 -0
  166. package/dest/public/fixtures/index.d.ts +6 -0
  167. package/dest/public/fixtures/index.d.ts.map +1 -1
  168. package/dest/public/fixtures/index.js +6 -0
  169. package/dest/public/fixtures/minimal_public_tx.d.ts +9 -0
  170. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
  171. package/dest/public/fixtures/minimal_public_tx.js +43 -0
  172. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +33 -13
  173. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  174. package/dest/public/fixtures/public_tx_simulation_tester.js +90 -70
  175. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.d.ts +6 -6
  176. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -0
  177. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.js +31 -10
  178. package/dest/public/fixtures/token_test.d.ts +8 -0
  179. package/dest/public/fixtures/token_test.d.ts.map +1 -0
  180. package/dest/public/fixtures/token_test.js +95 -0
  181. package/dest/public/fixtures/utils.d.ts +16 -3
  182. package/dest/public/fixtures/utils.d.ts.map +1 -1
  183. package/dest/public/fixtures/utils.js +100 -58
  184. package/dest/public/hinting_db_sources.d.ts +68 -0
  185. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  186. package/dest/public/hinting_db_sources.js +294 -0
  187. package/dest/public/index.d.ts +4 -8
  188. package/dest/public/index.d.ts.map +1 -1
  189. package/dest/public/index.js +4 -7
  190. package/dest/public/public_db_sources.d.ts +30 -39
  191. package/dest/public/public_db_sources.d.ts.map +1 -1
  192. package/dest/public/public_db_sources.js +141 -67
  193. package/dest/public/public_processor/guarded_merkle_tree.d.ts +47 -0
  194. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -0
  195. package/dest/public/public_processor/guarded_merkle_tree.js +105 -0
  196. package/dest/public/public_processor/public_processor.d.ts +19 -29
  197. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  198. package/dest/public/public_processor/public_processor.js +133 -94
  199. package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
  200. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  201. package/dest/public/public_processor/public_processor_metrics.js +1 -1
  202. package/dest/public/public_tx_simulator/index.d.ts +3 -0
  203. package/dest/public/public_tx_simulator/index.d.ts.map +1 -0
  204. package/dest/public/public_tx_simulator/index.js +2 -0
  205. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +23 -0
  206. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
  207. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +52 -0
  208. package/dest/public/public_tx_simulator/public_tx_context.d.ts +17 -29
  209. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  210. package/dest/public/public_tx_simulator/public_tx_context.js +59 -91
  211. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +27 -42
  212. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  213. package/dest/public/public_tx_simulator/public_tx_simulator.js +128 -171
  214. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +20 -0
  215. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
  216. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +39 -0
  217. package/dest/public/side_effect_trace.d.ts +10 -62
  218. package/dest/public/side_effect_trace.d.ts.map +1 -1
  219. package/dest/public/side_effect_trace.js +43 -108
  220. package/dest/public/side_effect_trace_interface.d.ts +5 -22
  221. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  222. package/dest/public/state_manager/index.d.ts +2 -0
  223. package/dest/public/state_manager/index.d.ts.map +1 -0
  224. package/dest/public/state_manager/index.js +1 -0
  225. package/dest/public/{avm/journal → state_manager}/nullifiers.d.ts +2 -2
  226. package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
  227. package/dest/public/{avm/journal → state_manager}/nullifiers.js +2 -2
  228. package/dest/public/{avm/journal → state_manager}/public_storage.d.ts +2 -2
  229. package/dest/public/state_manager/public_storage.d.ts.map +1 -0
  230. package/dest/public/{avm/journal/journal.d.ts → state_manager/state_manager.d.ts} +37 -85
  231. package/dest/public/state_manager/state_manager.d.ts.map +1 -0
  232. package/dest/public/state_manager/state_manager.js +352 -0
  233. package/dest/public/test_executor_metrics.d.ts +54 -0
  234. package/dest/public/test_executor_metrics.d.ts.map +1 -0
  235. package/dest/public/test_executor_metrics.js +306 -0
  236. package/dest/public/unique_class_ids.d.ts.map +1 -1
  237. package/dest/public/utils.d.ts +2 -4
  238. package/dest/public/utils.d.ts.map +1 -1
  239. package/dest/public/utils.js +4 -21
  240. package/dest/server.d.ts +6 -3
  241. package/dest/server.d.ts.map +1 -1
  242. package/dest/server.js +5 -2
  243. package/dest/testing.d.ts +2 -0
  244. package/dest/testing.d.ts.map +1 -0
  245. package/dest/testing.js +1 -0
  246. package/package.json +31 -30
  247. package/src/client.ts +5 -3
  248. package/src/common/errors.ts +79 -44
  249. package/src/common/index.ts +0 -1
  250. package/src/private/acvm/acvm.ts +17 -32
  251. package/src/private/acvm/acvm_types.ts +1 -1
  252. package/src/private/acvm/deserialize.ts +35 -29
  253. package/src/private/acvm/index.ts +0 -1
  254. package/src/private/acvm/serialize.ts +63 -0
  255. package/src/private/{providers/acvm_native.ts → acvm_native.ts} +31 -15
  256. package/src/private/acvm_wasm.ts +72 -0
  257. package/src/private/acvm_wasm_with_blobs.ts +54 -0
  258. package/src/private/circuit_recording/circuit_recorder.ts +260 -0
  259. package/src/private/circuit_recording/file_circuit_recorder.ts +158 -0
  260. package/src/private/circuit_recording/memory_circuit_recorder.ts +11 -0
  261. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +91 -0
  262. package/src/private/circuit_simulator.ts +90 -0
  263. package/src/private/{providers/factory.ts → factory.ts} +6 -6
  264. package/src/public/avm/avm_context.ts +4 -4
  265. package/src/public/avm/avm_contract_call_result.ts +17 -5
  266. package/src/public/avm/avm_execution_environment.ts +7 -1
  267. package/src/public/avm/avm_gas.ts +23 -35
  268. package/src/public/avm/avm_machine_state.ts +5 -0
  269. package/src/public/avm/avm_memory_types.ts +19 -6
  270. package/src/public/avm/avm_simulator.ts +30 -29
  271. package/src/public/avm/avm_simulator_interface.ts +8 -0
  272. package/src/public/avm/errors.ts +1 -53
  273. package/src/public/avm/fixtures/avm_simulation_tester.ts +19 -18
  274. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +15 -14
  275. package/src/public/avm/fixtures/initializers.ts +103 -0
  276. package/src/public/avm/fixtures/utils.ts +150 -0
  277. package/src/public/avm/index.ts +0 -2
  278. package/src/public/avm/opcodes/accrued_substate.ts +62 -27
  279. package/src/public/avm/opcodes/addressing_mode.ts +57 -33
  280. package/src/public/avm/opcodes/arithmetic.ts +24 -2
  281. package/src/public/avm/opcodes/bitwise.ts +33 -29
  282. package/src/public/avm/opcodes/comparators.ts +6 -3
  283. package/src/public/avm/opcodes/contract.ts +10 -7
  284. package/src/public/avm/opcodes/control_flow.ts +19 -10
  285. package/src/public/avm/opcodes/conversion.ts +23 -3
  286. package/src/public/avm/opcodes/ec_add.ts +5 -2
  287. package/src/public/avm/opcodes/environment_getters.ts +22 -15
  288. package/src/public/avm/opcodes/external_calls.ts +61 -28
  289. package/src/public/avm/opcodes/hashing.ts +28 -8
  290. package/src/public/avm/opcodes/instruction.ts +23 -15
  291. package/src/public/avm/opcodes/memory.ts +71 -32
  292. package/src/public/avm/opcodes/misc.ts +24 -16
  293. package/src/public/avm/opcodes/storage.ts +22 -6
  294. package/src/public/avm/revert_reason.ts +55 -0
  295. package/src/public/avm/serialization/buffer_cursor.ts +4 -1
  296. package/src/public/avm/serialization/bytecode_serialization.ts +72 -74
  297. package/src/public/avm/serialization/instruction_serialization.ts +63 -34
  298. package/src/public/avm/test_utils.ts +23 -32
  299. package/src/public/db_interfaces.ts +61 -0
  300. package/src/{common → public}/debug_fn_name.ts +7 -7
  301. package/src/public/executor_metrics.ts +55 -6
  302. package/src/public/executor_metrics_interface.ts +14 -0
  303. package/src/public/fixtures/amm_test.ts +331 -0
  304. package/src/public/fixtures/bulk_test.ts +151 -0
  305. package/src/public/fixtures/index.ts +6 -0
  306. package/src/public/fixtures/minimal_public_tx.ts +59 -0
  307. package/src/public/fixtures/public_tx_simulation_tester.ts +154 -113
  308. package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +36 -18
  309. package/src/public/fixtures/token_test.ts +140 -0
  310. package/src/public/fixtures/utils.ts +141 -68
  311. package/src/public/hinting_db_sources.ts +500 -0
  312. package/src/public/index.ts +4 -8
  313. package/src/public/public_db_sources.ts +179 -96
  314. package/src/public/public_processor/guarded_merkle_tree.ts +149 -0
  315. package/src/public/public_processor/public_processor.ts +179 -139
  316. package/src/public/public_processor/public_processor_metrics.ts +2 -2
  317. package/src/public/public_tx_simulator/index.ts +2 -0
  318. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +106 -0
  319. package/src/public/public_tx_simulator/public_tx_context.ts +153 -193
  320. package/src/public/public_tx_simulator/public_tx_simulator.ts +167 -211
  321. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +72 -0
  322. package/src/public/side_effect_trace.ts +52 -303
  323. package/src/public/side_effect_trace_interface.ts +4 -58
  324. package/src/public/state_manager/index.ts +1 -0
  325. package/src/public/{avm/journal → state_manager}/nullifiers.ts +4 -4
  326. package/src/public/{avm/journal → state_manager}/public_storage.ts +2 -2
  327. package/src/public/state_manager/state_manager.ts +512 -0
  328. package/src/public/test_executor_metrics.ts +395 -0
  329. package/src/public/utils.ts +5 -21
  330. package/src/server.ts +6 -3
  331. package/src/testing.ts +1 -0
  332. package/dest/common/db_interfaces.d.ts +0 -80
  333. package/dest/common/db_interfaces.d.ts.map +0 -1
  334. package/dest/common/db_interfaces.js +0 -1
  335. package/dest/common/debug_fn_name.d.ts +0 -5
  336. package/dest/common/debug_fn_name.d.ts.map +0 -1
  337. package/dest/common/debug_fn_name.js +0 -6
  338. package/dest/common/message_load_oracle_inputs.d.ts +0 -15
  339. package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
  340. package/dest/common/message_load_oracle_inputs.js +0 -15
  341. package/dest/private/acvm/oracle/index.d.ts +0 -14
  342. package/dest/private/acvm/oracle/index.d.ts.map +0 -1
  343. package/dest/private/acvm/oracle/index.js +0 -2
  344. package/dest/private/acvm/oracle/oracle.d.ts +0 -49
  345. package/dest/private/acvm/oracle/oracle.d.ts.map +0 -1
  346. package/dest/private/acvm/oracle/oracle.js +0 -263
  347. package/dest/private/acvm/oracle/typed_oracle.d.ts +0 -83
  348. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +0 -1
  349. package/dest/private/acvm/oracle/typed_oracle.js +0 -132
  350. package/dest/private/execution_data_provider.d.ts +0 -261
  351. package/dest/private/execution_data_provider.d.ts.map +0 -1
  352. package/dest/private/execution_data_provider.js +0 -14
  353. package/dest/private/execution_note_cache.d.ts +0 -93
  354. package/dest/private/execution_note_cache.d.ts.map +0 -1
  355. package/dest/private/execution_note_cache.js +0 -180
  356. package/dest/private/hashed_values_cache.d.ts +0 -28
  357. package/dest/private/hashed_values_cache.d.ts.map +0 -1
  358. package/dest/private/hashed_values_cache.js +0 -46
  359. package/dest/private/index.d.ts +0 -13
  360. package/dest/private/index.d.ts.map +0 -1
  361. package/dest/private/index.js +0 -12
  362. package/dest/private/pick_notes.d.ts +0 -85
  363. package/dest/private/pick_notes.d.ts.map +0 -1
  364. package/dest/private/pick_notes.js +0 -51
  365. package/dest/private/private_execution.d.ts +0 -25
  366. package/dest/private/private_execution.d.ts.map +0 -1
  367. package/dest/private/private_execution.js +0 -92
  368. package/dest/private/private_execution_oracle.d.ts +0 -215
  369. package/dest/private/private_execution_oracle.d.ts.map +0 -1
  370. package/dest/private/private_execution_oracle.js +0 -382
  371. package/dest/private/providers/acvm_native.d.ts.map +0 -1
  372. package/dest/private/providers/acvm_wasm.d.ts +0 -15
  373. package/dest/private/providers/acvm_wasm.d.ts.map +0 -1
  374. package/dest/private/providers/acvm_wasm_with_blobs.d.ts +0 -19
  375. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  376. package/dest/private/providers/acvm_wasm_with_blobs.js +0 -32
  377. package/dest/private/providers/factory.d.ts +0 -12
  378. package/dest/private/providers/factory.d.ts.map +0 -1
  379. package/dest/private/providers/simulation_provider.d.ts +0 -19
  380. package/dest/private/providers/simulation_provider.d.ts.map +0 -1
  381. package/dest/private/providers/simulation_provider.js +0 -24
  382. package/dest/private/simulator.d.ts +0 -34
  383. package/dest/private/simulator.d.ts.map +0 -1
  384. package/dest/private/simulator.js +0 -76
  385. package/dest/private/unconstrained_execution.d.ts +0 -10
  386. package/dest/private/unconstrained_execution.d.ts.map +0 -1
  387. package/dest/private/unconstrained_execution.js +0 -27
  388. package/dest/private/unconstrained_execution_oracle.d.ts +0 -161
  389. package/dest/private/unconstrained_execution_oracle.d.ts.map +0 -1
  390. package/dest/private/unconstrained_execution_oracle.js +0 -258
  391. package/dest/public/avm/bytecode_utils.d.ts +0 -5
  392. package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
  393. package/dest/public/avm/bytecode_utils.js +0 -17
  394. package/dest/public/avm/fixtures/index.d.ts +0 -84
  395. package/dest/public/avm/fixtures/index.d.ts.map +0 -1
  396. package/dest/public/avm/fixtures/index.js +0 -175
  397. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  398. package/dest/public/avm/journal/index.d.ts +0 -2
  399. package/dest/public/avm/journal/index.d.ts.map +0 -1
  400. package/dest/public/avm/journal/index.js +0 -1
  401. package/dest/public/avm/journal/journal.d.ts.map +0 -1
  402. package/dest/public/avm/journal/journal.js +0 -486
  403. package/dest/public/avm/journal/nullifiers.d.ts.map +0 -1
  404. package/dest/public/avm/journal/public_storage.d.ts.map +0 -1
  405. package/dest/public/execution.d.ts +0 -108
  406. package/dest/public/execution.d.ts.map +0 -1
  407. package/dest/public/execution.js +0 -9
  408. package/dest/test/utils.d.ts +0 -13
  409. package/dest/test/utils.d.ts.map +0 -1
  410. package/dest/test/utils.js +0 -22
  411. package/src/common/db_interfaces.ts +0 -94
  412. package/src/common/message_load_oracle_inputs.ts +0 -15
  413. package/src/private/acvm/oracle/index.ts +0 -16
  414. package/src/private/acvm/oracle/oracle.ts +0 -455
  415. package/src/private/acvm/oracle/typed_oracle.ts +0 -259
  416. package/src/private/execution_data_provider.ts +0 -323
  417. package/src/private/execution_note_cache.ts +0 -217
  418. package/src/private/hashed_values_cache.ts +0 -55
  419. package/src/private/index.ts +0 -16
  420. package/src/private/pick_notes.ts +0 -141
  421. package/src/private/private_execution.ts +0 -151
  422. package/src/private/private_execution_oracle.ts +0 -614
  423. package/src/private/providers/acvm_wasm.ts +0 -63
  424. package/src/private/providers/acvm_wasm_with_blobs.ts +0 -50
  425. package/src/private/providers/simulation_provider.ts +0 -45
  426. package/src/private/simulator.ts +0 -147
  427. package/src/private/unconstrained_execution.ts +0 -50
  428. package/src/private/unconstrained_execution_oracle.ts +0 -373
  429. package/src/public/avm/bytecode_utils.ts +0 -17
  430. package/src/public/avm/fixtures/index.ts +0 -296
  431. package/src/public/avm/journal/index.ts +0 -1
  432. package/src/public/avm/journal/journal.ts +0 -742
  433. package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
  434. package/src/public/execution.ts +0 -140
  435. package/src/test/utils.ts +0 -36
  436. /package/dest/public/{avm/journal → state_manager}/public_storage.js +0 -0
@@ -0,0 +1,395 @@
1
+ import { sum } from '@aztec/foundation/collection';
2
+ import { type Logger, createLogger } from '@aztec/foundation/log';
3
+ import { Timer } from '@aztec/foundation/timer';
4
+ import type { RevertCode } from '@aztec/stdlib/avm';
5
+
6
+ import { strict as assert } from 'assert';
7
+
8
+ import type { ExecutorMetricsInterface } from './executor_metrics_interface.js';
9
+
10
+ export interface PublicEnqueuedCallMetrics {
11
+ fnName: string;
12
+ durationMs: number;
13
+ manaUsed: number;
14
+ totalInstructionsExecuted: number;
15
+ reverted: boolean;
16
+ }
17
+
18
+ export interface PublicTxMetrics {
19
+ // TS simulation
20
+ totalDurationMs: number;
21
+ manaUsed: number;
22
+ totalInstructionsExecuted: number;
23
+ nonRevertiblePrivateInsertionsUs: number | undefined;
24
+ revertiblePrivateInsertionsUs: number | undefined;
25
+ enqueuedCalls: PublicEnqueuedCallMetrics[];
26
+ revertedCode: RevertCode | undefined;
27
+ // Proving
28
+ proverSimulationStepMs: number | undefined;
29
+ proverProvingStepMs: number | undefined;
30
+ proverTraceGenerationStepMs: number | undefined;
31
+ // Proving (detail)
32
+ traceGenerationInteractionsMs: number | undefined;
33
+ traceGenerationTracesMs: number | undefined;
34
+ provingSumcheckMs: number | undefined;
35
+ provingPcsMs: number | undefined;
36
+ provingLogDerivativeInverseMs: number | undefined;
37
+ provingLogDerivativeInverseCommitmentsMs: number | undefined;
38
+ provingWireCommitmentsMs: number | undefined;
39
+ }
40
+
41
+ const NUM_SPACES = 4;
42
+ const H1 = '# ';
43
+ const H2 = '\n## ';
44
+ const INDENT = ' '.repeat(NUM_SPACES);
45
+ const INDENT0 = '- ';
46
+ const INDENT1 = INDENT + '- ';
47
+ const INDENT2 = INDENT + INDENT + '- ';
48
+ const H_LINE = '\n---------------------------------------------------------------------';
49
+
50
+ export enum PublicTxMetricsFilter {
51
+ ALL,
52
+ TOTALS,
53
+ DURATIONS,
54
+ INSTRUCTIONS,
55
+ PROVING,
56
+ }
57
+
58
+ function createEmptyTxMetrics(): PublicTxMetrics {
59
+ return {
60
+ // TS simulation
61
+ totalDurationMs: 0,
62
+ manaUsed: 0,
63
+ totalInstructionsExecuted: 0,
64
+ nonRevertiblePrivateInsertionsUs: undefined,
65
+ revertiblePrivateInsertionsUs: undefined,
66
+ enqueuedCalls: [],
67
+ revertedCode: undefined,
68
+ // Proving
69
+ proverSimulationStepMs: undefined,
70
+ proverProvingStepMs: undefined,
71
+ proverTraceGenerationStepMs: undefined,
72
+ // Proving (detail)
73
+ traceGenerationInteractionsMs: undefined,
74
+ traceGenerationTracesMs: undefined,
75
+ provingSumcheckMs: undefined,
76
+ provingPcsMs: undefined,
77
+ provingLogDerivativeInverseMs: undefined,
78
+ provingLogDerivativeInverseCommitmentsMs: undefined,
79
+ provingWireCommitmentsMs: undefined,
80
+ };
81
+ }
82
+
83
+ export class TestExecutorMetrics implements ExecutorMetricsInterface {
84
+ private logger: Logger;
85
+ // tx label -> tx metrics
86
+ private txMetrics: Map<string, PublicTxMetrics> = new Map();
87
+ private currentTxLabel: string | undefined;
88
+ private txTimer: Timer | undefined;
89
+
90
+ constructor() {
91
+ this.logger = createLogger(`simulator:test_executor_metrics`);
92
+ }
93
+
94
+ startRecordingTxSimulation(txLabel: string) {
95
+ assert(!this.currentTxLabel, 'Cannot start recording tx simulation when another is live');
96
+ assert(!this.txMetrics.has(txLabel), 'Cannot start recording metrics for tx with duplicate label');
97
+ this.txMetrics.set(txLabel, createEmptyTxMetrics());
98
+ this.currentTxLabel = txLabel;
99
+ this.txTimer = new Timer();
100
+ }
101
+
102
+ stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode) {
103
+ assert(this.currentTxLabel === txLabel, 'Cannot stop recording metrics for tx when another is live');
104
+
105
+ const txMetrics = this.txMetrics.get(txLabel)!;
106
+
107
+ // total duration of tx
108
+ txMetrics.totalDurationMs = this.txTimer!.ms();
109
+ this.logger.debug(`Public TX simulation of ${txLabel} took ${txMetrics.totalDurationMs}ms`);
110
+
111
+ // add manaUsed across all enqueued calls
112
+ txMetrics.manaUsed = sum(txMetrics.enqueuedCalls.map(call => call.manaUsed));
113
+ // add totalInstructionsExecuted across all enqueued calls
114
+ txMetrics.totalInstructionsExecuted = sum(txMetrics.enqueuedCalls.map(call => call.totalInstructionsExecuted));
115
+ txMetrics.revertedCode = revertedCode;
116
+
117
+ this.currentTxLabel = undefined;
118
+ }
119
+
120
+ recordEnqueuedCallSimulation(
121
+ fnName: string,
122
+ durationMs: number,
123
+ manaUsed: number,
124
+ totalInstructionsExecuted: number,
125
+ ) {
126
+ this.#recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructionsExecuted, false);
127
+ }
128
+
129
+ recordEnqueuedCallSimulationFailure(
130
+ fnName: string,
131
+ durationMs: number,
132
+ manaUsed: number,
133
+ totalInstructionsExecuted: number,
134
+ ) {
135
+ this.#recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructionsExecuted, true);
136
+ }
137
+
138
+ #recordEnqueuedCallSimulation(
139
+ fnName: string,
140
+ durationMs: number,
141
+ manaUsed: number,
142
+ totalInstructionsExecuted: number,
143
+ reverted: boolean,
144
+ ) {
145
+ assert(this.currentTxLabel, 'Cannot record enqueued call simulation when no tx is live');
146
+ const txMetrics = this.txMetrics.get(this.currentTxLabel)!;
147
+ txMetrics.enqueuedCalls.push({
148
+ fnName,
149
+ durationMs,
150
+ manaUsed,
151
+ totalInstructionsExecuted: totalInstructionsExecuted,
152
+ reverted,
153
+ });
154
+ }
155
+
156
+ recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible') {
157
+ assert(this.currentTxLabel, 'Cannot record private effects insertion when no tx is live');
158
+ const txMetrics = this.txMetrics.get(this.currentTxLabel)!;
159
+ if (type === 'revertible') {
160
+ assert(
161
+ txMetrics.revertiblePrivateInsertionsUs === undefined,
162
+ 'Cannot RE-record revertible insertions of private effects',
163
+ );
164
+ txMetrics.revertiblePrivateInsertionsUs = durationUs;
165
+ } else {
166
+ assert(
167
+ txMetrics.nonRevertiblePrivateInsertionsUs === undefined,
168
+ 'Cannot RE-record non-revertible insertions of private effects',
169
+ );
170
+ txMetrics.nonRevertiblePrivateInsertionsUs = durationUs;
171
+ }
172
+ }
173
+
174
+ recordProverMetrics(txLabel: string, metrics: Partial<PublicTxMetrics>) {
175
+ if (!this.txMetrics.has(txLabel)) {
176
+ this.txMetrics.set(txLabel, createEmptyTxMetrics());
177
+ }
178
+ const txMetrics = this.txMetrics.get(txLabel)!;
179
+ for (const [key, value] of Object.entries(metrics)) {
180
+ if (key in txMetrics) {
181
+ txMetrics[key as keyof PublicTxMetrics] = value as any;
182
+ }
183
+ }
184
+ }
185
+
186
+ prettyPrint(filter: PublicTxMetricsFilter = PublicTxMetricsFilter.ALL) {
187
+ this.logger.info(this.toPrettyString(filter));
188
+ }
189
+
190
+ toPrettyString(filter: PublicTxMetricsFilter = PublicTxMetricsFilter.ALL) {
191
+ let pretty = '';
192
+ //pretty += H_LINE + '\n';
193
+ pretty += `${H1}Public TX Simulation Metrics (${PublicTxMetricsFilter[filter]})\n`;
194
+ for (const [txLabel, txMetrics] of this.txMetrics.entries()) {
195
+ //pretty += H_LINE + '\n';
196
+ pretty += `${H2}TX Label: ${txLabel}\n`;
197
+ if (
198
+ filter == PublicTxMetricsFilter.DURATIONS ||
199
+ filter === PublicTxMetricsFilter.TOTALS ||
200
+ filter === PublicTxMetricsFilter.ALL
201
+ ) {
202
+ pretty += `${INDENT0}Total duration: ${fmtNum(txMetrics.totalDurationMs, 'ms')}\n`;
203
+ }
204
+ if (filter === PublicTxMetricsFilter.TOTALS || filter === PublicTxMetricsFilter.ALL) {
205
+ pretty += `${INDENT0}Total mana used: ${fmtNum(txMetrics.manaUsed)}\n`;
206
+ const manaPerSecond = Math.round((txMetrics.manaUsed * 1000) / txMetrics.totalDurationMs);
207
+ pretty += `${INDENT0}Mana per second: ${fmtNum(manaPerSecond)}\n`;
208
+ }
209
+
210
+ if (
211
+ filter === PublicTxMetricsFilter.INSTRUCTIONS ||
212
+ filter === PublicTxMetricsFilter.TOTALS ||
213
+ filter === PublicTxMetricsFilter.ALL
214
+ ) {
215
+ pretty += `${INDENT0}Total instructions executed: ${fmtNum(txMetrics.totalInstructionsExecuted)}\n`;
216
+ }
217
+ if (filter === PublicTxMetricsFilter.DURATIONS || filter === PublicTxMetricsFilter.ALL) {
218
+ pretty += `${INDENT0}Private insertions:\n`;
219
+ pretty += `${INDENT1}Non-revertible: ${fmtNum(txMetrics.nonRevertiblePrivateInsertionsUs! / 1_000, 'ms')}\n`;
220
+ pretty += `${INDENT1}Revertible: ${fmtNum(txMetrics.revertiblePrivateInsertionsUs! / 1_000, 'ms')}\n`;
221
+ }
222
+ if (filter === PublicTxMetricsFilter.PROVING || filter === PublicTxMetricsFilter.ALL) {
223
+ let provingPretty = '';
224
+ if (txMetrics.proverSimulationStepMs !== undefined) {
225
+ provingPretty += `${INDENT1}Simulation (all): ${fmtNum(txMetrics.proverSimulationStepMs, 'ms')}\n`;
226
+ }
227
+ if (txMetrics.proverProvingStepMs !== undefined) {
228
+ provingPretty += `${INDENT1}Proving (all): ${fmtNum(txMetrics.proverProvingStepMs, 'ms')}\n`;
229
+ }
230
+ if (txMetrics.proverTraceGenerationStepMs !== undefined) {
231
+ provingPretty += `${INDENT1}Trace generation (all): ${fmtNum(txMetrics.proverTraceGenerationStepMs, 'ms')}\n`;
232
+ }
233
+ if (txMetrics.traceGenerationInteractionsMs !== undefined) {
234
+ provingPretty += `${INDENT1}Trace generation interactions: ${fmtNum(txMetrics.traceGenerationInteractionsMs, 'ms')}\n`;
235
+ }
236
+ if (txMetrics.traceGenerationTracesMs !== undefined) {
237
+ provingPretty += `${INDENT1}Trace generation traces: ${fmtNum(txMetrics.traceGenerationTracesMs, 'ms')}\n`;
238
+ }
239
+ if (txMetrics.provingSumcheckMs !== undefined) {
240
+ provingPretty += `${INDENT1}Sumcheck: ${fmtNum(txMetrics.provingSumcheckMs, 'ms')}\n`;
241
+ }
242
+ if (txMetrics.provingPcsMs !== undefined) {
243
+ provingPretty += `${INDENT1}PCS: ${fmtNum(txMetrics.provingPcsMs, 'ms')}\n`;
244
+ }
245
+ if (txMetrics.provingLogDerivativeInverseMs !== undefined) {
246
+ provingPretty += `${INDENT1}Log derivative inverse: ${fmtNum(txMetrics.provingLogDerivativeInverseMs, 'ms')}\n`;
247
+ }
248
+ if (txMetrics.provingLogDerivativeInverseCommitmentsMs !== undefined) {
249
+ provingPretty += `${INDENT1}Log derivative inverse commitments: ${fmtNum(txMetrics.provingLogDerivativeInverseCommitmentsMs, 'ms')}\n`;
250
+ }
251
+ if (txMetrics.provingWireCommitmentsMs !== undefined) {
252
+ provingPretty += `${INDENT1}Wire commitments: ${fmtNum(txMetrics.provingWireCommitmentsMs, 'ms')}\n`;
253
+ }
254
+ if (provingPretty.length > 0) {
255
+ pretty += `${INDENT0}Proving:\n${provingPretty}`;
256
+ }
257
+ }
258
+ if (filter !== PublicTxMetricsFilter.TOTALS) {
259
+ // totals exclude enqueued calls
260
+ pretty += this.#enqueuedCallsToPrettyString(txMetrics, filter);
261
+ }
262
+ if (txMetrics.revertedCode !== undefined && !txMetrics.revertedCode.isOK()) {
263
+ pretty += `${INDENT0}Reverted code: ${txMetrics.revertedCode?.getDescription()}\n`;
264
+ }
265
+ pretty += H_LINE + '\n';
266
+ }
267
+ return pretty;
268
+ }
269
+
270
+ #enqueuedCallsToPrettyString(txMetrics: PublicTxMetrics, filter: PublicTxMetricsFilter) {
271
+ let pretty = '';
272
+ pretty += `${INDENT0}Enqueued public calls:\n`;
273
+ for (const enqueuedCall of txMetrics.enqueuedCalls) {
274
+ pretty += `${INDENT1}**Fn: ${enqueuedCall.fnName}**\n`;
275
+ if (filter === PublicTxMetricsFilter.DURATIONS || filter === PublicTxMetricsFilter.ALL) {
276
+ pretty += `${INDENT2}Duration: ${fmtNum(enqueuedCall.durationMs, 'ms')}\n`;
277
+ }
278
+ if (filter === PublicTxMetricsFilter.ALL) {
279
+ pretty += `${INDENT2}Mana used: ${fmtNum(enqueuedCall.manaUsed)}\n`;
280
+ const manaPerSecond = Math.round((enqueuedCall.manaUsed * 1000) / enqueuedCall.durationMs);
281
+ pretty += `${INDENT2}Mana per second: ${fmtNum(manaPerSecond)}\n`;
282
+ }
283
+
284
+ if (filter === PublicTxMetricsFilter.INSTRUCTIONS || filter === PublicTxMetricsFilter.ALL) {
285
+ pretty += `${INDENT2}Instructions executed: ${fmtNum(enqueuedCall.totalInstructionsExecuted)}\n`;
286
+ }
287
+ if (enqueuedCall.reverted) {
288
+ pretty += `${INDENT2}Reverted!\n`;
289
+ }
290
+ }
291
+ return pretty;
292
+ }
293
+
294
+ toJSON(indent = 2) {
295
+ return JSON.stringify(Object.fromEntries(this.txMetrics.entries()), null, indent);
296
+ }
297
+
298
+ toGithubActionBenchmarkJSON(indent = 2) {
299
+ const metricsInfo = {
300
+ totalInstructionsExecuted: {
301
+ name: 'totalInstructionsExecuted',
302
+ unit: '#instructions',
303
+ category: PublicTxMetricsFilter.INSTRUCTIONS,
304
+ },
305
+ totalDurationMs: {
306
+ name: 'totalDurationMs',
307
+ unit: 'ms',
308
+ category: PublicTxMetricsFilter.DURATIONS,
309
+ },
310
+ manaUsed: {
311
+ name: 'manaUsed',
312
+ unit: 'mana',
313
+ category: PublicTxMetricsFilter.TOTALS,
314
+ },
315
+ nonRevertiblePrivateInsertionsUs: {
316
+ name: 'nonRevertiblePrivateInsertionsUs',
317
+ unit: 'us',
318
+ category: PublicTxMetricsFilter.DURATIONS,
319
+ },
320
+ revertiblePrivateInsertionsUs: {
321
+ name: 'revertiblePrivateInsertionsUs',
322
+ unit: 'us',
323
+ category: PublicTxMetricsFilter.DURATIONS,
324
+ },
325
+ proverSimulationStepMs: {
326
+ name: 'proverSimulationStepMs',
327
+ unit: 'ms',
328
+ category: PublicTxMetricsFilter.PROVING,
329
+ },
330
+ proverProvingStepMs: {
331
+ name: 'proverProvingStepMs',
332
+ unit: 'ms',
333
+ category: PublicTxMetricsFilter.PROVING,
334
+ },
335
+ proverTraceGenerationStepMs: {
336
+ name: 'proverTraceGenerationStepMs',
337
+ unit: 'ms',
338
+ category: PublicTxMetricsFilter.PROVING,
339
+ },
340
+ traceGenerationInteractionsMs: {
341
+ name: 'traceGenerationInteractionsMs',
342
+ unit: 'ms',
343
+ category: PublicTxMetricsFilter.PROVING,
344
+ },
345
+ traceGenerationTracesMs: {
346
+ name: 'traceGenerationTracesMs',
347
+ unit: 'ms',
348
+ category: PublicTxMetricsFilter.PROVING,
349
+ },
350
+ provingSumcheckMs: {
351
+ name: 'provingSumcheckMs',
352
+ unit: 'ms',
353
+ category: PublicTxMetricsFilter.PROVING,
354
+ },
355
+ provingPcsMs: {
356
+ name: 'provingPcsMs',
357
+ unit: 'ms',
358
+ category: PublicTxMetricsFilter.PROVING,
359
+ },
360
+ provingLogDerivativeInverseMs: {
361
+ name: 'provingLogDerivativeInverseMs',
362
+ unit: 'ms',
363
+ category: PublicTxMetricsFilter.PROVING,
364
+ },
365
+ provingLogDerivativeInverseCommitmentsMs: {
366
+ name: 'provingLogDerivativeInverseCommitmentsMs',
367
+ unit: 'ms',
368
+ category: PublicTxMetricsFilter.PROVING,
369
+ },
370
+ provingWireCommitmentsMs: {
371
+ name: 'provingWireCommitmentsMs',
372
+ unit: 'ms',
373
+ category: PublicTxMetricsFilter.PROVING,
374
+ },
375
+ };
376
+
377
+ const data = [];
378
+ for (const [txLabel, txMetrics] of this.txMetrics.entries()) {
379
+ for (const [key, value] of Object.entries(txMetrics)) {
380
+ if (value !== undefined && key in metricsInfo) {
381
+ data.push({
382
+ name: `${txLabel}/${metricsInfo[key as keyof typeof metricsInfo].name}`,
383
+ value: value,
384
+ unit: metricsInfo[key as keyof typeof metricsInfo].unit,
385
+ });
386
+ }
387
+ }
388
+ }
389
+ return JSON.stringify(data, null, indent);
390
+ }
391
+ }
392
+
393
+ function fmtNum(num: number, unit?: string) {
394
+ return `\`${num.toLocaleString()}${unit ? ` ${unit}` : ''}\``;
395
+ }
@@ -1,29 +1,13 @@
1
- import type { PublicCallRequest } from '@aztec/stdlib/kernel';
2
- import { type PublicExecutionRequest, type Tx, TxExecutionPhase } from '@aztec/stdlib/tx';
1
+ import { PublicCallRequestWithCalldata, type Tx, TxExecutionPhase } from '@aztec/stdlib/tx';
3
2
 
4
- export function getExecutionRequestsByPhase(tx: Tx, phase: TxExecutionPhase): PublicExecutionRequest[] {
3
+ export function getCallRequestsWithCalldataByPhase(tx: Tx, phase: TxExecutionPhase): PublicCallRequestWithCalldata[] {
5
4
  switch (phase) {
6
5
  case TxExecutionPhase.SETUP:
7
- return tx.getNonRevertiblePublicExecutionRequests();
6
+ return tx.getNonRevertiblePublicCallRequestsWithCalldata();
8
7
  case TxExecutionPhase.APP_LOGIC:
9
- return tx.getRevertiblePublicExecutionRequests();
8
+ return tx.getRevertiblePublicCallRequestsWithCalldata();
10
9
  case TxExecutionPhase.TEARDOWN: {
11
- const request = tx.getPublicTeardownExecutionRequest();
12
- return request ? [request] : [];
13
- }
14
- default:
15
- throw new Error(`Unknown phase: ${phase}`);
16
- }
17
- }
18
-
19
- export function getCallRequestsByPhase(tx: Tx, phase: TxExecutionPhase): PublicCallRequest[] {
20
- switch (phase) {
21
- case TxExecutionPhase.SETUP:
22
- return tx.data.getNonRevertiblePublicCallRequests();
23
- case TxExecutionPhase.APP_LOGIC:
24
- return tx.data.getRevertiblePublicCallRequests();
25
- case TxExecutionPhase.TEARDOWN: {
26
- const request = tx.data.getTeardownPublicCallRequest();
10
+ const request = tx.getTeardownPublicCallRequestWithCalldata();
27
11
  return request ? [request] : [];
28
12
  }
29
13
  default:
package/src/server.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export * from './public/index.js';
2
- export { WASMSimulatorWithBlobs } from './private/providers/acvm_wasm_with_blobs.js';
3
- export { NativeACVMSimulator } from './private/providers/acvm_native.js';
4
- export { type SimulationProvider } from './private/providers/simulation_provider.js';
2
+ export * from './private/acvm/index.js';
3
+ export { WASMSimulatorWithBlobs } from './private/acvm_wasm_with_blobs.js';
4
+ export { NativeACVMSimulator } from './private/acvm_native.js';
5
+ export { SimulatorRecorderWrapper } from './private/circuit_recording/simulator_recorder_wrapper.js';
6
+ export { MemoryCircuitRecorder } from './private/circuit_recording/memory_circuit_recorder.js';
7
+ export { type CircuitSimulator, type DecodedError } from './private/circuit_simulator.js';
5
8
  export * from './common/index.js';
package/src/testing.ts ADDED
@@ -0,0 +1 @@
1
+ export { FileCircuitRecorder } from './private/circuit_recording/file_circuit_recorder.js';
@@ -1,80 +0,0 @@
1
- import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
- import type { Fr } from '@aztec/foundation/fields';
3
- import type { FunctionSelector } from '@aztec/stdlib/abi';
4
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
- import type { NullifierMembershipWitness } from '@aztec/stdlib/trees';
7
- import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
8
- /**
9
- * Database interface for providing access to public state.
10
- */
11
- export interface PublicStateDB {
12
- /**
13
- * Reads a value from public storage, returning zero if none.
14
- * @param contract - Owner of the storage.
15
- * @param slot - Slot to read in the contract storage.
16
- * @returns The current value in the storage slot.
17
- */
18
- storageRead(contract: AztecAddress, slot: Fr): Promise<Fr>;
19
- /**
20
- * Records a write to public storage.
21
- * @param contract - Owner of the storage.
22
- * @param slot - Slot to read in the contract storage.
23
- * @param newValue - The new value to store.
24
- */
25
- storageWrite(contract: AztecAddress, slot: Fr, newValue: Fr): Promise<void>;
26
- }
27
- /**
28
- * Database interface for providing access to public contract data.
29
- */
30
- export interface PublicContractsDB {
31
- /**
32
- * Returns a publicly deployed contract instance.
33
- * @param address - Address of the contract.
34
- * @returns The contract instance or undefined if not found.
35
- */
36
- getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
37
- getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
38
- }
39
- /** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */
40
- export interface CommitmentsDB {
41
- /**
42
- * Fetches a message from the db, given its key.
43
- * @param contractAddress - Address of a contract by which the message was emitted.
44
- * @param messageHash - Hash of the message.
45
- * @param secret - Secret used to compute a nullifier.
46
- * @dev Contract address and secret are only used to compute the nullifier to get non-nullified messages
47
- * @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
48
- */
49
- getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
50
- /**
51
- * @param leafIndex the leaf to look up
52
- * @returns The l1 to l2 leaf value or undefined if not found.
53
- */
54
- getL1ToL2LeafValue(leafIndex: bigint): Promise<Fr | undefined>;
55
- /**
56
- * Gets the index of a commitment in the note hash tree.
57
- * @param commitment - The commitment.
58
- * @returns - The index of the commitment. Undefined if it does not exist in the tree.
59
- */
60
- getCommitmentIndex(commitment: Fr): Promise<bigint | undefined>;
61
- /**
62
- * Gets commitment in the note hash tree given a leaf index.
63
- * @param leafIndex - the leaf to look up.
64
- * @returns - The commitment at that index. Undefined if leaf index is not found.
65
- */
66
- getCommitmentValue(leafIndex: bigint): Promise<Fr | undefined>;
67
- /**
68
- * Gets the index of a nullifier in the nullifier tree.
69
- * @param nullifier - The nullifier.
70
- * @returns - The index of the nullifier. Undefined if it does not exist in the tree.
71
- */
72
- getNullifierIndex(nullifier: Fr): Promise<bigint | undefined>;
73
- /**
74
- * Returns a nullifier membership witness for the given nullifier or undefined if not found.
75
- * REFACTOR: Same as getL1ToL2MembershipWitness, can be combined with aztec-node method that does almost the same thing.
76
- * @param nullifier - Nullifier we're looking for.
77
- */
78
- getNullifierMembershipWitnessAtLatestBlock(nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
79
- }
80
- //# sourceMappingURL=db_interfaces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/common/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
@@ -1 +0,0 @@
1
- /** Database interface for providing access to commitment tree, l1 to l2 message tree, and nullifier tree. */ export { };
@@ -1,5 +0,0 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- import type { WorldStateDB } from '../public/public_db_sources.js';
4
- export declare function getPublicFunctionDebugName(db: WorldStateDB, contractAddress: AztecAddress, calldata: Fr[]): Promise<string>;
5
- //# sourceMappingURL=debug_fn_name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/common/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,YAAY,EAChB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -1,6 +0,0 @@
1
- import { FunctionSelector } from '@aztec/stdlib/abi';
2
- export async function getPublicFunctionDebugName(db, contractAddress, calldata) {
3
- // Public function is dispatched and therefore the target function is passed in the first argument.
4
- const targetFunction = calldata[0] !== undefined ? await db.getDebugFunctionName(contractAddress, FunctionSelector.fromField(calldata[0])) : `<calldata[0] undefined> (Contract Address: ${contractAddress})`;
5
- return `${targetFunction}`;
6
- }
@@ -1,15 +0,0 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import type { SiblingPath } from '@aztec/foundation/trees';
3
- export declare class MessageLoadOracleInputs<N extends number> {
4
- /** The index of the message commitment in the merkle tree. */
5
- index: bigint;
6
- /** The path in the merkle tree to the message. */
7
- siblingPath: SiblingPath<N>;
8
- constructor(
9
- /** The index of the message commitment in the merkle tree. */
10
- index: bigint,
11
- /** The path in the merkle tree to the message. */
12
- siblingPath: SiblingPath<N>);
13
- toFields(): Fr[];
14
- }
15
- //# sourceMappingURL=message_load_oracle_inputs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message_load_oracle_inputs.d.ts","sourceRoot":"","sources":["../../src/common/message_load_oracle_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM;IAEjD,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;;IAHlC,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAGpC,QAAQ,IAAI,EAAE,EAAE;CAGjB"}
@@ -1,15 +0,0 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- export class MessageLoadOracleInputs {
3
- index;
4
- siblingPath;
5
- constructor(/** The index of the message commitment in the merkle tree. */ index, /** The path in the merkle tree to the message. */ siblingPath){
6
- this.index = index;
7
- this.siblingPath = siblingPath;
8
- }
9
- toFields() {
10
- return [
11
- new Fr(this.index),
12
- ...this.siblingPath.toFields()
13
- ];
14
- }
15
- }
@@ -1,14 +0,0 @@
1
- import type { Oracle } from './oracle.js';
2
- export * from './oracle.js';
3
- export * from './typed_oracle.js';
4
- /**
5
- * A conditional type that takes a type `T` and returns a union of its method names.
6
- */
7
- type MethodNames<T> = {
8
- [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
9
- }[keyof T];
10
- /**
11
- * Available oracle function names.
12
- */
13
- export type ORACLE_NAMES = MethodNames<Oracle>;
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/private/acvm/oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './oracle.js';
2
- export * from './typed_oracle.js';
@@ -1,49 +0,0 @@
1
- import type { ACVMField } from '../acvm_types.js';
2
- import type { TypedOracle } from './typed_oracle.js';
3
- /**
4
- * A data source that has all the apis required by Aztec.nr.
5
- */
6
- export declare class Oracle {
7
- private typedOracle;
8
- constructor(typedOracle: TypedOracle);
9
- getRandomField(): ACVMField;
10
- storeInExecutionCache(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField>;
11
- loadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[]>;
12
- getBlockNumber(): Promise<ACVMField>;
13
- getContractAddress(): Promise<ACVMField>;
14
- getVersion(): Promise<ACVMField>;
15
- getChainId(): Promise<ACVMField>;
16
- getKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
17
- getContractInstance([address]: ACVMField[]): Promise<string[]>;
18
- getMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<ACVMField[]>;
19
- getNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
20
- getLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
21
- getPublicDataTreeWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<ACVMField[]>;
22
- getBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
23
- getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[]>;
24
- getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[]>;
25
- getNotes([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[], [returnSize]: ACVMField[]): Promise<ACVMField[]>;
26
- notifyCreatedNote([storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): ACVMField;
27
- notifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField>;
28
- notifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField>;
29
- checkNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField>;
30
- getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<ACVMField[]>;
31
- storageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]>;
32
- storageWrite([startStorageSlot]: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
33
- notifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): void;
34
- debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): void;
35
- callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
36
- enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
37
- setPublicTeardownFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
38
- notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): void;
39
- getIndexedTaggingSecretAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
40
- incrementAppTaggingSecretIndexAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<void>;
41
- syncNotes(): Promise<void>;
42
- deliverNote([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [nonce]: ACVMField[], content: ACVMField[], [contentLength]: ACVMField[], [noteHash]: ACVMField[], [nullifier]: ACVMField[], [txHash]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField>;
43
- getLogByTag([tag]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
44
- storeCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<void>;
45
- loadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
46
- deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<void>;
47
- copyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<void>;
48
- }
49
- //# sourceMappingURL=oracle.d.ts.map