@aztec/simulator 0.0.0-test.1 → 0.0.1-commit.24de95ac

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 (466) 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} +9 -10
  26. package/dest/private/acvm_native.d.ts.map +1 -0
  27. package/dest/private/{providers/acvm_native.js → acvm_native.js} +26 -20
  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 +3 -1
  58. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  59. package/dest/public/avm/avm_execution_environment.js +7 -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 +23 -35
  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 +6 -30
  76. package/dest/public/avm/errors.d.ts.map +1 -1
  77. package/dest/public/avm/errors.js +7 -57
  78. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +5 -4
  79. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  80. package/dest/public/avm/fixtures/avm_simulation_tester.js +12 -14
  81. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +6 -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 +37 -14
  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 +2 -2
  94. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  95. package/dest/public/avm/opcodes/accrued_substate.js +28 -25
  96. package/dest/public/avm/opcodes/addressing_mode.d.ts +11 -7
  97. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  98. package/dest/public/avm/opcodes/addressing_mode.js +46 -26
  99. package/dest/public/avm/opcodes/arithmetic.d.ts +11 -1
  100. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  101. package/dest/public/avm/opcodes/arithmetic.js +16 -2
  102. package/dest/public/avm/opcodes/bitwise.d.ts +5 -13
  103. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  104. package/dest/public/avm/opcodes/bitwise.js +19 -26
  105. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  106. package/dest/public/avm/opcodes/comparators.js +3 -3
  107. package/dest/public/avm/opcodes/contract.d.ts +1 -2
  108. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  109. package/dest/public/avm/opcodes/contract.js +9 -10
  110. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  111. package/dest/public/avm/opcodes/control_flow.js +10 -8
  112. package/dest/public/avm/opcodes/conversion.d.ts +1 -0
  113. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  114. package/dest/public/avm/opcodes/conversion.js +267 -3
  115. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  116. package/dest/public/avm/opcodes/ec_add.js +6 -6
  117. package/dest/public/avm/opcodes/environment_getters.d.ts +2 -2
  118. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  119. package/dest/public/avm/opcodes/environment_getters.js +17 -19
  120. package/dest/public/avm/opcodes/external_calls.d.ts +8 -7
  121. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  122. package/dest/public/avm/opcodes/external_calls.js +39 -34
  123. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  124. package/dest/public/avm/opcodes/hashing.js +6 -6
  125. package/dest/public/avm/opcodes/instruction.d.ts +14 -10
  126. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  127. package/dest/public/avm/opcodes/instruction.js +23 -19
  128. package/dest/public/avm/opcodes/memory.d.ts +4 -4
  129. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  130. package/dest/public/avm/opcodes/memory.js +37 -33
  131. package/dest/public/avm/opcodes/misc.d.ts +2 -1
  132. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  133. package/dest/public/avm/opcodes/misc.js +41 -16
  134. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  135. package/dest/public/avm/opcodes/storage.js +7 -5
  136. package/dest/public/avm/revert_reason.d.ts +18 -0
  137. package/dest/public/avm/revert_reason.d.ts.map +1 -0
  138. package/dest/public/avm/revert_reason.js +38 -0
  139. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
  140. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  141. package/dest/public/avm/serialization/bytecode_serialization.d.ts +2 -6
  142. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  143. package/dest/public/avm/serialization/bytecode_serialization.js +70 -69
  144. package/dest/public/avm/serialization/instruction_serialization.d.ts +13 -4
  145. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  146. package/dest/public/avm/serialization/instruction_serialization.js +70 -35
  147. package/dest/public/avm/test_utils.d.ts +10 -13
  148. package/dest/public/avm/test_utils.d.ts.map +1 -1
  149. package/dest/public/avm/test_utils.js +16 -24
  150. package/dest/public/db_interfaces.d.ts +56 -0
  151. package/dest/public/db_interfaces.d.ts.map +1 -0
  152. package/dest/public/db_interfaces.js +3 -0
  153. package/dest/public/debug_fn_name.d.ts +5 -0
  154. package/dest/public/debug_fn_name.d.ts.map +1 -0
  155. package/dest/public/debug_fn_name.js +9 -0
  156. package/dest/public/executor_metrics.d.ts +10 -3
  157. package/dest/public/executor_metrics.d.ts.map +1 -1
  158. package/dest/public/executor_metrics.js +37 -6
  159. package/dest/public/executor_metrics_interface.d.ts +9 -0
  160. package/dest/public/executor_metrics_interface.d.ts.map +1 -0
  161. package/dest/public/executor_metrics_interface.js +1 -0
  162. package/dest/public/fixtures/amm_test.d.ts +10 -0
  163. package/dest/public/fixtures/amm_test.d.ts.map +1 -0
  164. package/dest/public/fixtures/amm_test.js +213 -0
  165. package/dest/public/fixtures/bulk_test.d.ts +6 -0
  166. package/dest/public/fixtures/bulk_test.d.ts.map +1 -0
  167. package/dest/public/fixtures/bulk_test.js +326 -0
  168. package/dest/public/fixtures/custom_bytecode_tester.d.ts +12 -0
  169. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
  170. package/dest/public/fixtures/custom_bytecode_tester.js +29 -0
  171. package/dest/public/fixtures/custom_bytecode_tests.d.ts +9 -0
  172. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
  173. package/dest/public/fixtures/custom_bytecode_tests.js +109 -0
  174. package/dest/public/fixtures/index.d.ts +7 -0
  175. package/dest/public/fixtures/index.d.ts.map +1 -1
  176. package/dest/public/fixtures/index.js +7 -0
  177. package/dest/public/fixtures/minimal_public_tx.d.ts +10 -0
  178. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
  179. package/dest/public/fixtures/minimal_public_tx.js +29 -0
  180. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +35 -13
  181. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  182. package/dest/public/fixtures/public_tx_simulation_tester.js +96 -71
  183. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.d.ts +6 -6
  184. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -0
  185. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.js +31 -10
  186. package/dest/public/fixtures/token_test.d.ts +8 -0
  187. package/dest/public/fixtures/token_test.d.ts.map +1 -0
  188. package/dest/public/fixtures/token_test.js +95 -0
  189. package/dest/public/fixtures/utils.d.ts +16 -3
  190. package/dest/public/fixtures/utils.d.ts.map +1 -1
  191. package/dest/public/fixtures/utils.js +100 -58
  192. package/dest/public/hinting_db_sources.d.ts +70 -0
  193. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  194. package/dest/public/hinting_db_sources.js +297 -0
  195. package/dest/public/index.d.ts +4 -8
  196. package/dest/public/index.d.ts.map +1 -1
  197. package/dest/public/index.js +4 -7
  198. package/dest/public/public_db_sources.d.ts +30 -39
  199. package/dest/public/public_db_sources.d.ts.map +1 -1
  200. package/dest/public/public_db_sources.js +151 -67
  201. package/dest/public/public_errors.d.ts +12 -0
  202. package/dest/public/public_errors.d.ts.map +1 -0
  203. package/dest/public/public_errors.js +13 -0
  204. package/dest/public/public_processor/guarded_merkle_tree.d.ts +49 -0
  205. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -0
  206. package/dest/public/public_processor/guarded_merkle_tree.js +108 -0
  207. package/dest/public/public_processor/public_processor.d.ts +25 -30
  208. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  209. package/dest/public/public_processor/public_processor.js +141 -96
  210. package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
  211. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  212. package/dest/public/public_processor/public_processor_metrics.js +1 -1
  213. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +41 -0
  214. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
  215. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +89 -0
  216. package/dest/public/public_tx_simulator/index.d.ts +4 -0
  217. package/dest/public/public_tx_simulator/index.d.ts.map +1 -0
  218. package/dest/public/public_tx_simulator/index.js +2 -0
  219. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +24 -0
  220. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
  221. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +51 -0
  222. package/dest/public/public_tx_simulator/public_tx_context.d.ts +19 -29
  223. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  224. package/dest/public/public_tx_simulator/public_tx_context.js +63 -91
  225. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +45 -47
  226. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  227. package/dest/public/public_tx_simulator/public_tx_simulator.js +209 -184
  228. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +9 -0
  229. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -0
  230. package/dest/public/public_tx_simulator/public_tx_simulator_interface.js +1 -0
  231. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +21 -0
  232. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
  233. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +39 -0
  234. package/dest/public/side_effect_errors.d.ts +41 -1
  235. package/dest/public/side_effect_errors.d.ts.map +1 -1
  236. package/dest/public/side_effect_errors.js +70 -1
  237. package/dest/public/side_effect_trace.d.ts +20 -65
  238. package/dest/public/side_effect_trace.d.ts.map +1 -1
  239. package/dest/public/side_effect_trace.js +71 -121
  240. package/dest/public/side_effect_trace_interface.d.ts +11 -22
  241. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  242. package/dest/public/state_manager/index.d.ts +2 -0
  243. package/dest/public/state_manager/index.d.ts.map +1 -0
  244. package/dest/public/state_manager/index.js +1 -0
  245. package/dest/public/{avm/journal → state_manager}/nullifiers.d.ts +2 -5
  246. package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
  247. package/dest/public/{avm/journal → state_manager}/nullifiers.js +3 -8
  248. package/dest/public/{avm/journal → state_manager}/public_storage.d.ts +2 -2
  249. package/dest/public/state_manager/public_storage.d.ts.map +1 -0
  250. package/dest/public/{avm/journal/journal.d.ts → state_manager/state_manager.d.ts} +42 -85
  251. package/dest/public/state_manager/state_manager.d.ts.map +1 -0
  252. package/dest/public/state_manager/state_manager.js +391 -0
  253. package/dest/public/test_executor_metrics.d.ts +54 -0
  254. package/dest/public/test_executor_metrics.d.ts.map +1 -0
  255. package/dest/public/test_executor_metrics.js +306 -0
  256. package/dest/public/unique_class_ids.d.ts.map +1 -1
  257. package/dest/public/utils.d.ts +2 -4
  258. package/dest/public/utils.d.ts.map +1 -1
  259. package/dest/public/utils.js +4 -21
  260. package/dest/server.d.ts +6 -3
  261. package/dest/server.d.ts.map +1 -1
  262. package/dest/server.js +5 -2
  263. package/dest/testing.d.ts +2 -0
  264. package/dest/testing.d.ts.map +1 -0
  265. package/dest/testing.js +1 -0
  266. package/package.json +36 -31
  267. package/src/client.ts +5 -3
  268. package/src/common/errors.ts +79 -44
  269. package/src/common/index.ts +0 -1
  270. package/src/private/acvm/acvm.ts +17 -32
  271. package/src/private/acvm/acvm_types.ts +1 -1
  272. package/src/private/acvm/deserialize.ts +35 -29
  273. package/src/private/acvm/index.ts +0 -1
  274. package/src/private/acvm/serialize.ts +63 -0
  275. package/src/private/{providers/acvm_native.ts → acvm_native.ts} +47 -24
  276. package/src/private/acvm_wasm.ts +72 -0
  277. package/src/private/acvm_wasm_with_blobs.ts +54 -0
  278. package/src/private/circuit_recording/circuit_recorder.ts +260 -0
  279. package/src/private/circuit_recording/file_circuit_recorder.ts +158 -0
  280. package/src/private/circuit_recording/memory_circuit_recorder.ts +11 -0
  281. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +91 -0
  282. package/src/private/circuit_simulator.ts +90 -0
  283. package/src/private/{providers/factory.ts → factory.ts} +6 -6
  284. package/src/public/avm/avm_context.ts +4 -4
  285. package/src/public/avm/avm_contract_call_result.ts +17 -5
  286. package/src/public/avm/avm_execution_environment.ts +10 -1
  287. package/src/public/avm/avm_gas.ts +23 -35
  288. package/src/public/avm/avm_machine_state.ts +5 -0
  289. package/src/public/avm/avm_memory_types.ts +19 -6
  290. package/src/public/avm/avm_simulator.ts +44 -54
  291. package/src/public/avm/avm_simulator_interface.ts +8 -0
  292. package/src/public/avm/errors.ts +8 -77
  293. package/src/public/avm/fixtures/avm_simulation_tester.ts +23 -20
  294. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +45 -12
  295. package/src/public/avm/fixtures/initializers.ts +104 -0
  296. package/src/public/avm/fixtures/utils.ts +150 -0
  297. package/src/public/avm/index.ts +0 -2
  298. package/src/public/avm/opcodes/accrued_substate.ts +64 -29
  299. package/src/public/avm/opcodes/addressing_mode.ts +56 -32
  300. package/src/public/avm/opcodes/arithmetic.ts +24 -2
  301. package/src/public/avm/opcodes/bitwise.ts +33 -29
  302. package/src/public/avm/opcodes/comparators.ts +6 -3
  303. package/src/public/avm/opcodes/contract.ts +10 -7
  304. package/src/public/avm/opcodes/control_flow.ts +19 -10
  305. package/src/public/avm/opcodes/conversion.ts +27 -3
  306. package/src/public/avm/opcodes/ec_add.ts +9 -6
  307. package/src/public/avm/opcodes/environment_getters.ts +27 -22
  308. package/src/public/avm/opcodes/external_calls.ts +61 -29
  309. package/src/public/avm/opcodes/hashing.ts +28 -8
  310. package/src/public/avm/opcodes/instruction.ts +31 -21
  311. package/src/public/avm/opcodes/memory.ts +71 -32
  312. package/src/public/avm/opcodes/misc.ts +60 -18
  313. package/src/public/avm/opcodes/storage.ts +22 -6
  314. package/src/public/avm/revert_reason.ts +55 -0
  315. package/src/public/avm/serialization/buffer_cursor.ts +4 -1
  316. package/src/public/avm/serialization/bytecode_serialization.ts +72 -74
  317. package/src/public/avm/serialization/instruction_serialization.ts +75 -34
  318. package/src/public/avm/test_utils.ts +24 -41
  319. package/src/public/db_interfaces.ts +61 -0
  320. package/src/{common → public}/debug_fn_name.ts +7 -7
  321. package/src/public/executor_metrics.ts +55 -6
  322. package/src/public/executor_metrics_interface.ts +14 -0
  323. package/src/public/fixtures/amm_test.ts +331 -0
  324. package/src/public/fixtures/bulk_test.ts +169 -0
  325. package/src/public/fixtures/custom_bytecode_tester.ts +49 -0
  326. package/src/public/fixtures/custom_bytecode_tests.ts +135 -0
  327. package/src/public/fixtures/index.ts +7 -0
  328. package/src/public/fixtures/minimal_public_tx.ts +36 -0
  329. package/src/public/fixtures/public_tx_simulation_tester.ts +158 -113
  330. package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +36 -18
  331. package/src/public/fixtures/token_test.ts +140 -0
  332. package/src/public/fixtures/utils.ts +141 -68
  333. package/src/public/hinting_db_sources.ts +505 -0
  334. package/src/public/index.ts +9 -8
  335. package/src/public/public_db_sources.ts +196 -97
  336. package/src/public/public_errors.ts +14 -0
  337. package/src/public/public_processor/guarded_merkle_tree.ts +153 -0
  338. package/src/public/public_processor/public_processor.ts +191 -153
  339. package/src/public/public_processor/public_processor_metrics.ts +2 -2
  340. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +128 -0
  341. package/src/public/public_tx_simulator/index.ts +3 -0
  342. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +109 -0
  343. package/src/public/public_tx_simulator/public_tx_context.ts +160 -193
  344. package/src/public/public_tx_simulator/public_tx_simulator.ts +294 -220
  345. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +11 -0
  346. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +63 -0
  347. package/src/public/side_effect_errors.ts +91 -1
  348. package/src/public/side_effect_trace.ts +94 -320
  349. package/src/public/side_effect_trace_interface.ts +10 -58
  350. package/src/public/state_manager/index.ts +1 -0
  351. package/src/public/{avm/journal → state_manager}/nullifiers.ts +5 -11
  352. package/src/public/{avm/journal → state_manager}/public_storage.ts +2 -2
  353. package/src/public/state_manager/state_manager.ts +560 -0
  354. package/src/public/test_executor_metrics.ts +395 -0
  355. package/src/public/utils.ts +5 -21
  356. package/src/server.ts +6 -3
  357. package/src/testing.ts +1 -0
  358. package/dest/common/db_interfaces.d.ts +0 -80
  359. package/dest/common/db_interfaces.d.ts.map +0 -1
  360. package/dest/common/db_interfaces.js +0 -1
  361. package/dest/common/debug_fn_name.d.ts +0 -5
  362. package/dest/common/debug_fn_name.d.ts.map +0 -1
  363. package/dest/common/debug_fn_name.js +0 -6
  364. package/dest/common/message_load_oracle_inputs.d.ts +0 -15
  365. package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
  366. package/dest/common/message_load_oracle_inputs.js +0 -15
  367. package/dest/private/acvm/oracle/index.d.ts +0 -14
  368. package/dest/private/acvm/oracle/index.d.ts.map +0 -1
  369. package/dest/private/acvm/oracle/index.js +0 -2
  370. package/dest/private/acvm/oracle/oracle.d.ts +0 -49
  371. package/dest/private/acvm/oracle/oracle.d.ts.map +0 -1
  372. package/dest/private/acvm/oracle/oracle.js +0 -263
  373. package/dest/private/acvm/oracle/typed_oracle.d.ts +0 -83
  374. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +0 -1
  375. package/dest/private/acvm/oracle/typed_oracle.js +0 -132
  376. package/dest/private/execution_data_provider.d.ts +0 -261
  377. package/dest/private/execution_data_provider.d.ts.map +0 -1
  378. package/dest/private/execution_data_provider.js +0 -14
  379. package/dest/private/execution_note_cache.d.ts +0 -93
  380. package/dest/private/execution_note_cache.d.ts.map +0 -1
  381. package/dest/private/execution_note_cache.js +0 -180
  382. package/dest/private/hashed_values_cache.d.ts +0 -28
  383. package/dest/private/hashed_values_cache.d.ts.map +0 -1
  384. package/dest/private/hashed_values_cache.js +0 -46
  385. package/dest/private/index.d.ts +0 -13
  386. package/dest/private/index.d.ts.map +0 -1
  387. package/dest/private/index.js +0 -12
  388. package/dest/private/pick_notes.d.ts +0 -85
  389. package/dest/private/pick_notes.d.ts.map +0 -1
  390. package/dest/private/pick_notes.js +0 -51
  391. package/dest/private/private_execution.d.ts +0 -25
  392. package/dest/private/private_execution.d.ts.map +0 -1
  393. package/dest/private/private_execution.js +0 -92
  394. package/dest/private/private_execution_oracle.d.ts +0 -215
  395. package/dest/private/private_execution_oracle.d.ts.map +0 -1
  396. package/dest/private/private_execution_oracle.js +0 -382
  397. package/dest/private/providers/acvm_native.d.ts.map +0 -1
  398. package/dest/private/providers/acvm_wasm.d.ts +0 -15
  399. package/dest/private/providers/acvm_wasm.d.ts.map +0 -1
  400. package/dest/private/providers/acvm_wasm_with_blobs.d.ts +0 -19
  401. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  402. package/dest/private/providers/acvm_wasm_with_blobs.js +0 -32
  403. package/dest/private/providers/factory.d.ts +0 -12
  404. package/dest/private/providers/factory.d.ts.map +0 -1
  405. package/dest/private/providers/simulation_provider.d.ts +0 -19
  406. package/dest/private/providers/simulation_provider.d.ts.map +0 -1
  407. package/dest/private/providers/simulation_provider.js +0 -24
  408. package/dest/private/simulator.d.ts +0 -34
  409. package/dest/private/simulator.d.ts.map +0 -1
  410. package/dest/private/simulator.js +0 -76
  411. package/dest/private/unconstrained_execution.d.ts +0 -10
  412. package/dest/private/unconstrained_execution.d.ts.map +0 -1
  413. package/dest/private/unconstrained_execution.js +0 -27
  414. package/dest/private/unconstrained_execution_oracle.d.ts +0 -161
  415. package/dest/private/unconstrained_execution_oracle.d.ts.map +0 -1
  416. package/dest/private/unconstrained_execution_oracle.js +0 -258
  417. package/dest/public/avm/bytecode_utils.d.ts +0 -5
  418. package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
  419. package/dest/public/avm/bytecode_utils.js +0 -17
  420. package/dest/public/avm/fixtures/index.d.ts +0 -84
  421. package/dest/public/avm/fixtures/index.d.ts.map +0 -1
  422. package/dest/public/avm/fixtures/index.js +0 -175
  423. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  424. package/dest/public/avm/journal/index.d.ts +0 -2
  425. package/dest/public/avm/journal/index.d.ts.map +0 -1
  426. package/dest/public/avm/journal/index.js +0 -1
  427. package/dest/public/avm/journal/journal.d.ts.map +0 -1
  428. package/dest/public/avm/journal/journal.js +0 -486
  429. package/dest/public/avm/journal/nullifiers.d.ts.map +0 -1
  430. package/dest/public/avm/journal/public_storage.d.ts.map +0 -1
  431. package/dest/public/bytecode_errors.d.ts +0 -4
  432. package/dest/public/bytecode_errors.d.ts.map +0 -1
  433. package/dest/public/bytecode_errors.js +0 -6
  434. package/dest/public/execution.d.ts +0 -108
  435. package/dest/public/execution.d.ts.map +0 -1
  436. package/dest/public/execution.js +0 -9
  437. package/dest/test/utils.d.ts +0 -13
  438. package/dest/test/utils.d.ts.map +0 -1
  439. package/dest/test/utils.js +0 -22
  440. package/src/common/db_interfaces.ts +0 -94
  441. package/src/common/message_load_oracle_inputs.ts +0 -15
  442. package/src/private/acvm/oracle/index.ts +0 -16
  443. package/src/private/acvm/oracle/oracle.ts +0 -455
  444. package/src/private/acvm/oracle/typed_oracle.ts +0 -259
  445. package/src/private/execution_data_provider.ts +0 -323
  446. package/src/private/execution_note_cache.ts +0 -217
  447. package/src/private/hashed_values_cache.ts +0 -55
  448. package/src/private/index.ts +0 -16
  449. package/src/private/pick_notes.ts +0 -141
  450. package/src/private/private_execution.ts +0 -151
  451. package/src/private/private_execution_oracle.ts +0 -614
  452. package/src/private/providers/acvm_wasm.ts +0 -63
  453. package/src/private/providers/acvm_wasm_with_blobs.ts +0 -50
  454. package/src/private/providers/simulation_provider.ts +0 -45
  455. package/src/private/simulator.ts +0 -147
  456. package/src/private/unconstrained_execution.ts +0 -50
  457. package/src/private/unconstrained_execution_oracle.ts +0 -373
  458. package/src/public/avm/bytecode_utils.ts +0 -17
  459. package/src/public/avm/fixtures/index.ts +0 -296
  460. package/src/public/avm/journal/index.ts +0 -1
  461. package/src/public/avm/journal/journal.ts +0 -742
  462. package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
  463. package/src/public/bytecode_errors.ts +0 -6
  464. package/src/public/execution.ts +0 -140
  465. package/src/test/utils.ts +0 -36
  466. /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