@aztec/simulator 0.0.1-commit.b655e406 → 0.0.1-commit.c7c42ec

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 (319) hide show
  1. package/dest/client.d.ts +1 -1
  2. package/dest/common/errors.d.ts +2 -8
  3. package/dest/common/errors.d.ts.map +1 -1
  4. package/dest/common/index.d.ts +1 -1
  5. package/dest/common/stats/index.d.ts +1 -1
  6. package/dest/common/stats/stats.d.ts +1 -1
  7. package/dest/private/acvm/acvm.d.ts +1 -1
  8. package/dest/private/acvm/acvm_types.d.ts +1 -1
  9. package/dest/private/acvm/deserialize.d.ts +2 -2
  10. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  11. package/dest/private/acvm/deserialize.js +1 -1
  12. package/dest/private/acvm/index.d.ts +1 -1
  13. package/dest/private/acvm/serialize.d.ts +2 -2
  14. package/dest/private/acvm/serialize.d.ts.map +1 -1
  15. package/dest/private/acvm/serialize.js +1 -1
  16. package/dest/private/acvm_native.d.ts +1 -1
  17. package/dest/private/acvm_native.d.ts.map +1 -1
  18. package/dest/private/acvm_wasm.d.ts +1 -1
  19. package/dest/private/acvm_wasm.d.ts.map +1 -1
  20. package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
  21. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
  22. package/dest/private/circuit_recording/circuit_recorder.d.ts +1 -1
  23. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  24. package/dest/private/circuit_recording/circuit_recorder.js +1 -1
  25. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +1 -1
  26. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  27. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +1 -1
  28. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  29. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  30. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  31. package/dest/private/circuit_simulator.d.ts +1 -1
  32. package/dest/private/factory.d.ts +1 -1
  33. package/dest/public/avm/avm_context.d.ts +2 -2
  34. package/dest/public/avm/avm_context.d.ts.map +1 -1
  35. package/dest/public/avm/avm_contract_call_result.d.ts +2 -2
  36. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  37. package/dest/public/avm/avm_execution_environment.d.ts +5 -5
  38. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  39. package/dest/public/avm/avm_execution_environment.js +5 -8
  40. package/dest/public/avm/avm_gas.d.ts +2 -2
  41. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  42. package/dest/public/avm/avm_machine_state.d.ts +2 -2
  43. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  44. package/dest/public/avm/avm_memory_types.d.ts +14 -14
  45. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  46. package/dest/public/avm/avm_memory_types.js +1 -1
  47. package/dest/public/avm/avm_simulator.d.ts +4 -3
  48. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  49. package/dest/public/avm/avm_simulator.js +8 -7
  50. package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
  51. package/dest/public/avm/errors.d.ts +8 -2
  52. package/dest/public/avm/errors.d.ts.map +1 -1
  53. package/dest/public/avm/errors.js +14 -2
  54. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
  55. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  56. package/dest/public/avm/fixtures/avm_simulation_tester.js +12 -3
  57. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +2 -2
  58. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  59. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +1 -1
  60. package/dest/public/avm/fixtures/initializers.d.ts +2 -3
  61. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  62. package/dest/public/avm/fixtures/initializers.js +7 -5
  63. package/dest/public/avm/fixtures/utils.d.ts +4 -3
  64. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  65. package/dest/public/avm/fixtures/utils.js +3 -2
  66. package/dest/public/avm/index.d.ts +1 -1
  67. package/dest/public/avm/opcodes/accrued_substate.d.ts +1 -1
  68. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  69. package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
  70. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  71. package/dest/public/avm/opcodes/addressing_mode.js +2 -2
  72. package/dest/public/avm/opcodes/arithmetic.d.ts +10 -8
  73. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  74. package/dest/public/avm/opcodes/arithmetic.js +11 -1
  75. package/dest/public/avm/opcodes/bitwise.d.ts +5 -5
  76. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  77. package/dest/public/avm/opcodes/comparators.d.ts +4 -4
  78. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  79. package/dest/public/avm/opcodes/contract.d.ts +1 -1
  80. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  81. package/dest/public/avm/opcodes/control_flow.d.ts +1 -1
  82. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  83. package/dest/public/avm/opcodes/conversion.d.ts +1 -1
  84. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  85. package/dest/public/avm/opcodes/ec_add.d.ts +2 -2
  86. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  87. package/dest/public/avm/opcodes/ec_add.js +2 -2
  88. package/dest/public/avm/opcodes/environment_getters.d.ts +1 -1
  89. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  90. package/dest/public/avm/opcodes/external_calls.d.ts +1 -1
  91. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  92. package/dest/public/avm/opcodes/hashing.d.ts +2 -2
  93. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  94. package/dest/public/avm/opcodes/hashing.js +9 -4
  95. package/dest/public/avm/opcodes/index.d.ts +1 -1
  96. package/dest/public/avm/opcodes/instruction.d.ts +2 -2
  97. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  98. package/dest/public/avm/opcodes/instruction_impl.d.ts +1 -1
  99. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  100. package/dest/public/avm/opcodes/memory.d.ts +2 -2
  101. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  102. package/dest/public/avm/opcodes/memory.js +1 -1
  103. package/dest/public/avm/opcodes/misc.d.ts +1 -1
  104. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  105. package/dest/public/avm/opcodes/misc.js +4 -4
  106. package/dest/public/avm/opcodes/storage.d.ts +3 -3
  107. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  108. package/dest/public/avm/revert_reason.d.ts +2 -2
  109. package/dest/public/avm/revert_reason.d.ts.map +1 -1
  110. package/dest/public/avm/revert_reason.js +3 -2
  111. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
  112. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  113. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  114. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  115. package/dest/public/avm/serialization/bytecode_serialization.js +9 -6
  116. package/dest/public/avm/serialization/instruction_serialization.d.ts +1 -1
  117. package/dest/public/avm/serialization/instruction_serialization.js +1 -1
  118. package/dest/public/avm/test_utils.d.ts +2 -2
  119. package/dest/public/avm/test_utils.d.ts.map +1 -1
  120. package/dest/public/avm/test_utils.js +1 -1
  121. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  122. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  123. package/dest/public/contracts_db_checkpoint.js +30 -0
  124. package/dest/public/db_interfaces.d.ts +14 -2
  125. package/dest/public/db_interfaces.d.ts.map +1 -1
  126. package/dest/public/debug_fn_name.d.ts +15 -2
  127. package/dest/public/debug_fn_name.d.ts.map +1 -1
  128. package/dest/public/debug_fn_name.js +28 -2
  129. package/dest/public/executor_metrics.d.ts +3 -2
  130. package/dest/public/executor_metrics.d.ts.map +1 -1
  131. package/dest/public/executor_metrics.js +1 -1
  132. package/dest/public/executor_metrics_interface.d.ts +3 -2
  133. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  134. package/dest/public/fixtures/amm_test.d.ts +1 -1
  135. package/dest/public/fixtures/amm_test.js +2 -2
  136. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  137. package/dest/public/fixtures/bulk_test.js +4 -52
  138. package/dest/public/fixtures/custom_bytecode_tester.d.ts +29 -7
  139. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  140. package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
  141. package/dest/public/fixtures/custom_bytecode_tests.d.ts +4 -1
  142. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  143. package/dest/public/fixtures/custom_bytecode_tests.js +74 -9
  144. package/dest/public/fixtures/index.d.ts +4 -2
  145. package/dest/public/fixtures/index.d.ts.map +1 -1
  146. package/dest/public/fixtures/index.js +3 -1
  147. package/dest/public/fixtures/minimal_public_tx.d.ts +2 -8
  148. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  149. package/dest/public/fixtures/minimal_public_tx.js +4 -14
  150. package/dest/public/fixtures/opcode_spammer.d.ts +123 -0
  151. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  152. package/dest/public/fixtures/opcode_spammer.js +1681 -0
  153. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +24 -6
  154. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  155. package/dest/public/fixtures/public_tx_simulation_tester.js +62 -21
  156. package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
  157. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  158. package/dest/public/fixtures/simple_contract_data_source.js +4 -4
  159. package/dest/public/fixtures/token_test.d.ts +6 -2
  160. package/dest/public/fixtures/token_test.d.ts.map +1 -1
  161. package/dest/public/fixtures/token_test.js +13 -12
  162. package/dest/public/fixtures/utils.d.ts +2 -2
  163. package/dest/public/fixtures/utils.d.ts.map +1 -1
  164. package/dest/public/fixtures/utils.js +4 -3
  165. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +46 -0
  166. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  167. package/dest/public/fuzzing/avm_fuzzer_simulator.js +139 -0
  168. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  169. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  170. package/dest/public/fuzzing/avm_simulator_bin.js +100 -0
  171. package/dest/public/hinting_db_sources.d.ts +14 -4
  172. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  173. package/dest/public/hinting_db_sources.js +69 -13
  174. package/dest/public/index.d.ts +3 -2
  175. package/dest/public/index.d.ts.map +1 -1
  176. package/dest/public/index.js +1 -1
  177. package/dest/public/public_db_sources.d.ts +22 -63
  178. package/dest/public/public_db_sources.d.ts.map +1 -1
  179. package/dest/public/public_db_sources.js +74 -131
  180. package/dest/public/public_errors.d.ts +1 -1
  181. package/dest/public/public_errors.d.ts.map +1 -1
  182. package/dest/public/public_processor/guarded_merkle_tree.d.ts +6 -4
  183. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  184. package/dest/public/public_processor/guarded_merkle_tree.js +3 -0
  185. package/dest/public/public_processor/public_processor.d.ts +11 -18
  186. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  187. package/dest/public/public_processor/public_processor.js +54 -43
  188. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  189. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  190. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +18 -0
  191. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  192. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +98 -0
  193. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +34 -22
  194. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  195. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +92 -50
  196. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  197. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  198. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  199. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  200. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  201. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  202. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +22 -0
  203. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  204. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  205. package/dest/public/public_tx_simulator/factories.d.ts +13 -0
  206. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  207. package/dest/public/public_tx_simulator/factories.js +28 -0
  208. package/dest/public/public_tx_simulator/index.d.ts +5 -1
  209. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  210. package/dest/public/public_tx_simulator/index.js +3 -0
  211. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +14 -7
  212. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  213. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +5 -5
  214. package/dest/public/public_tx_simulator/public_tx_context.d.ts +6 -3
  215. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  216. package/dest/public/public_tx_simulator/public_tx_context.js +13 -5
  217. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +11 -31
  218. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  219. package/dest/public/public_tx_simulator/public_tx_simulator.js +109 -126
  220. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +25 -2
  221. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
  222. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +4 -4
  223. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  224. package/dest/public/side_effect_errors.d.ts +1 -1
  225. package/dest/public/side_effect_errors.d.ts.map +1 -1
  226. package/dest/public/side_effect_trace.d.ts +2 -3
  227. package/dest/public/side_effect_trace.d.ts.map +1 -1
  228. package/dest/public/side_effect_trace.js +1 -1
  229. package/dest/public/side_effect_trace_interface.d.ts +3 -4
  230. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  231. package/dest/public/state_manager/index.d.ts +1 -1
  232. package/dest/public/state_manager/nullifiers.d.ts +2 -2
  233. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  234. package/dest/public/state_manager/public_storage.d.ts +2 -2
  235. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  236. package/dest/public/state_manager/public_storage.js +1 -1
  237. package/dest/public/state_manager/state_manager.d.ts +9 -11
  238. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  239. package/dest/public/state_manager/state_manager.js +10 -6
  240. package/dest/public/test_executor_metrics.d.ts +4 -3
  241. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  242. package/dest/public/test_executor_metrics.js +5 -4
  243. package/dest/public/unique_class_ids.d.ts +1 -1
  244. package/dest/public/unique_class_ids.d.ts.map +1 -1
  245. package/dest/public/utils.d.ts +1 -1
  246. package/dest/server.d.ts +1 -1
  247. package/dest/testing.d.ts +1 -1
  248. package/package.json +21 -20
  249. package/src/common/errors.ts +1 -1
  250. package/src/private/acvm/deserialize.ts +1 -1
  251. package/src/private/acvm/serialize.ts +1 -1
  252. package/src/private/circuit_recording/circuit_recorder.ts +1 -1
  253. package/src/public/avm/avm_context.ts +1 -1
  254. package/src/public/avm/avm_contract_call_result.ts +1 -1
  255. package/src/public/avm/avm_execution_environment.ts +4 -6
  256. package/src/public/avm/avm_gas.ts +3 -3
  257. package/src/public/avm/avm_machine_state.ts +1 -1
  258. package/src/public/avm/avm_memory_types.ts +1 -1
  259. package/src/public/avm/avm_simulator.ts +11 -9
  260. package/src/public/avm/errors.ts +17 -3
  261. package/src/public/avm/fixtures/avm_simulation_tester.ts +10 -2
  262. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +1 -1
  263. package/src/public/avm/fixtures/initializers.ts +8 -10
  264. package/src/public/avm/fixtures/utils.ts +3 -2
  265. package/src/public/avm/opcodes/addressing_mode.ts +2 -2
  266. package/src/public/avm/opcodes/arithmetic.ts +13 -1
  267. package/src/public/avm/opcodes/ec_add.ts +2 -2
  268. package/src/public/avm/opcodes/hashing.ts +10 -4
  269. package/src/public/avm/opcodes/memory.ts +1 -1
  270. package/src/public/avm/opcodes/misc.ts +4 -4
  271. package/src/public/avm/revert_reason.ts +6 -3
  272. package/src/public/avm/serialization/bytecode_serialization.ts +17 -6
  273. package/src/public/avm/serialization/instruction_serialization.ts +1 -1
  274. package/src/public/avm/test_utils.ts +1 -1
  275. package/src/public/contracts_db_checkpoint.ts +41 -0
  276. package/src/public/db_interfaces.ts +16 -1
  277. package/src/public/debug_fn_name.ts +35 -3
  278. package/src/public/executor_metrics.ts +2 -1
  279. package/src/public/executor_metrics_interface.ts +2 -1
  280. package/src/public/fixtures/amm_test.ts +2 -2
  281. package/src/public/fixtures/bulk_test.ts +7 -7
  282. package/src/public/fixtures/custom_bytecode_tester.ts +54 -20
  283. package/src/public/fixtures/custom_bytecode_tests.ts +93 -9
  284. package/src/public/fixtures/index.ts +7 -1
  285. package/src/public/fixtures/minimal_public_tx.ts +5 -15
  286. package/src/public/fixtures/opcode_spammer.ts +1638 -0
  287. package/src/public/fixtures/public_tx_simulation_tester.ts +85 -21
  288. package/src/public/fixtures/simple_contract_data_source.ts +8 -9
  289. package/src/public/fixtures/token_test.ts +18 -10
  290. package/src/public/fixtures/utils.ts +2 -3
  291. package/src/public/fuzzing/avm_fuzzer_simulator.ts +240 -0
  292. package/src/public/fuzzing/avm_simulator_bin.ts +140 -0
  293. package/src/public/hinting_db_sources.ts +112 -10
  294. package/src/public/index.ts +6 -4
  295. package/src/public/public_db_sources.ts +93 -172
  296. package/src/public/public_processor/guarded_merkle_tree.ts +8 -3
  297. package/src/public/public_processor/public_processor.ts +83 -57
  298. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +121 -0
  299. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +129 -57
  300. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +132 -0
  301. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +237 -0
  302. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +81 -0
  303. package/src/public/public_tx_simulator/factories.ts +41 -0
  304. package/src/public/public_tx_simulator/index.ts +4 -0
  305. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +10 -14
  306. package/src/public/public_tx_simulator/public_tx_context.ts +9 -3
  307. package/src/public/public_tx_simulator/public_tx_simulator.ts +161 -193
  308. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +24 -2
  309. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +3 -3
  310. package/src/public/side_effect_trace.ts +1 -1
  311. package/src/public/side_effect_trace_interface.ts +1 -1
  312. package/src/public/state_manager/nullifiers.ts +1 -1
  313. package/src/public/state_manager/public_storage.ts +1 -1
  314. package/src/public/state_manager/state_manager.ts +14 -14
  315. package/src/public/test_executor_metrics.ts +7 -5
  316. package/dest/public/tx_contract_cache.d.ts +0 -41
  317. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  318. package/dest/public/tx_contract_cache.js +0 -49
  319. package/src/public/tx_contract_cache.ts +0 -69
@@ -1,5 +1,6 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { type LogLevel } from '@aztec/foundation/log';
3
+ import { FunctionSelector } from '@aztec/stdlib/abi';
3
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
5
  import { SerializableContractInstance } from '@aztec/stdlib/contract';
5
6
  import type { DebugLog } from '@aztec/stdlib/logs';
@@ -34,13 +35,11 @@ export declare class PublicPersistableStateManager {
34
35
  private readonly log;
35
36
  /** Make sure a forked state is never merged twice. */
36
37
  private alreadyMergedIntoParent;
37
- constructor(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, // Needed for note hashes.
38
- timestamp: UInt64, // Needed for contract updates.
39
- doMerkleOperations?: boolean, publicStorage?: PublicStorage, nullifiers?: NullifierManager);
38
+ constructor(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, timestamp: UInt64, doMerkleOperations?: boolean, publicStorage?: PublicStorage, nullifiers?: NullifierManager);
40
39
  /**
41
40
  * Create a new state manager
42
41
  */
43
- static create(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, doMerkleOperations: boolean | undefined, firstNullifier: Fr, timestamp: UInt64): PublicPersistableStateManager;
42
+ static create(treesDB: PublicTreesDB, contractsDB: PublicContractsDBInterface, trace: PublicSideEffectTraceInterface, firstNullifier: Fr, timestamp: UInt64): PublicPersistableStateManager;
44
43
  /**
45
44
  * Create a new state manager forked from this one
46
45
  */
@@ -149,18 +148,17 @@ export declare class PublicPersistableStateManager {
149
148
  */
150
149
  getContractInstance(contractAddress: AztecAddress): Promise<SerializableContractInstance | undefined>;
151
150
  private checkContractUpdateInformation;
152
- /**
153
- * Get a contract class.
154
- * @param classId - class id to retrieve.
155
- * @returns the contract class or undefined if it does not exist.
156
- */
157
151
  private getContractClass;
158
152
  /**
159
153
  * Get a contract's bytecode from the contracts DB, also trace the contract class and instance indirectly.
160
154
  */
161
155
  getBytecode(contractAddress: AztecAddress): Promise<Buffer | undefined>;
162
156
  getPublicFunctionDebugName(avmEnvironment: AvmExecutionEnvironment): Promise<string>;
157
+ getPublicFunctionSelectorAndName(avmEnvironment: AvmExecutionEnvironment): Promise<{
158
+ functionSelector?: FunctionSelector;
159
+ functionName?: string;
160
+ }>;
163
161
  padTree(treeId: MerkleTreeId, leavesToInsert: number): Promise<void>;
164
162
  getTreeSnapshots(): Promise<TreeSnapshots>;
165
163
  }
166
- //# sourceMappingURL=state_manager.d.ts.map
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfbWFuYWdlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9zdGF0ZV9tYW5hZ2VyL3N0YXRlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWxELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RCxPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7Ozs7Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MULTI_CALL_ENTRYPOINT_ADDRESS, ROUTER_ADDRESS } from '@aztec/constants';
2
- import { poseidon2Hash } from '@aztec/foundation/crypto';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
3
3
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
4
  import { createLogger } from '@aztec/foundation/log';
5
5
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
@@ -8,7 +8,7 @@ import { SerializableContractInstance } from '@aztec/stdlib/contract';
8
8
  import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
9
9
  import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
10
10
  import { strict as assert } from 'assert';
11
- import { getPublicFunctionDebugName } from '../debug_fn_name.js';
11
+ import { getPublicFunctionDebugName, getPublicFunctionSelectorAndName } from '../debug_fn_name.js';
12
12
  import { L1ToL2MessageIndexOutOfRangeError, MaxCallsToUniqueContractClassIdsError, NoteHashIndexOutOfRangeError, NullifierCollisionError } from '../side_effect_errors.js';
13
13
  import { NullifierManager } from './nullifiers.js';
14
14
  import { PublicStorage } from './public_storage.js';
@@ -31,7 +31,7 @@ import { PublicStorage } from './public_storage.js';
31
31
  nullifiers;
32
32
  log;
33
33
  /** Make sure a forked state is never merged twice. */ alreadyMergedIntoParent;
34
- constructor(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations = false, publicStorage = new PublicStorage(treesDB), nullifiers = new NullifierManager(treesDB)){
34
+ constructor(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations = true, publicStorage = new PublicStorage(treesDB), nullifiers = new NullifierManager(treesDB)){
35
35
  this.treesDB = treesDB;
36
36
  this.contractsDB = contractsDB;
37
37
  this.trace = trace;
@@ -45,8 +45,8 @@ import { PublicStorage } from './public_storage.js';
45
45
  }
46
46
  /**
47
47
  * Create a new state manager
48
- */ static create(treesDB, contractsDB, trace, doMerkleOperations = false, firstNullifier, timestamp) {
49
- return new PublicPersistableStateManager(treesDB, contractsDB, trace, firstNullifier, timestamp, doMerkleOperations);
48
+ */ static create(treesDB, contractsDB, trace, firstNullifier, timestamp) {
49
+ return new PublicPersistableStateManager(treesDB, contractsDB, trace, firstNullifier, timestamp);
50
50
  }
51
51
  /**
52
52
  * Create a new state manager forked from this one
@@ -109,7 +109,6 @@ import { PublicStorage } from './public_storage.js';
109
109
  if (this.doMerkleOperations) {
110
110
  return await this.treesDB.storageRead(contractAddress, slot);
111
111
  } else {
112
- // TODO(fcarreiro): I don't get this. PublicStorage CAN end up reading the tree. Why is it in the "dont do merkle operations" branch?
113
112
  const read = await this.publicStorage.read(contractAddress, slot);
114
113
  this.log.trace(`Storage read results (address=${contractAddress}, slot=${slot}): value=${read.value}, cached=${read.cached}`);
115
114
  return read.value;
@@ -311,6 +310,8 @@ import { PublicStorage } from './public_storage.js';
311
310
  const { delayedPublicMutableSlot, delayedPublicMutableHashSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(instance.address);
312
311
  const readDeployerStorage = async (storageSlot)=>await this.readStorage(ProtocolContractAddress.ContractInstanceRegistry, storageSlot);
313
312
  const hash = await readDeployerStorage(delayedPublicMutableHashSlot);
313
+ // NOTE: The below reads are either not performed (if hash.isZero()) or only performed in unconstrained in c++ simulation.
314
+ // See UpdateCheck::check_current_class_id documentation - this means if we generate hints from the merkle db, they are unused:
314
315
  const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, readDeployerStorage);
315
316
  const preImage = delayedPublicMutableValues.toFields();
316
317
  // 1) update never scheduled: hash == 0 and preimage should be empty (but poseidon2hash(preimage) will not be 0s)
@@ -379,6 +380,9 @@ import { PublicStorage } from './public_storage.js';
379
380
  async getPublicFunctionDebugName(avmEnvironment) {
380
381
  return await getPublicFunctionDebugName(this.contractsDB, avmEnvironment.address, avmEnvironment.calldata);
381
382
  }
383
+ async getPublicFunctionSelectorAndName(avmEnvironment) {
384
+ return await getPublicFunctionSelectorAndName(this.contractsDB, avmEnvironment.address, avmEnvironment.calldata);
385
+ }
382
386
  async padTree(treeId, leavesToInsert) {
383
387
  await this.treesDB.padTree(treeId, leavesToInsert);
384
388
  }
@@ -1,4 +1,5 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  import type { ExecutorMetricsInterface } from './executor_metrics_interface.js';
3
4
  export interface PublicEnqueuedCallMetrics {
4
5
  fnName: string;
@@ -9,7 +10,7 @@ export interface PublicEnqueuedCallMetrics {
9
10
  }
10
11
  export interface PublicTxMetrics {
11
12
  totalDurationMs: number;
12
- manaUsed: number;
13
+ manaUsed: number | undefined;
13
14
  totalInstructionsExecuted: number;
14
15
  nonRevertiblePrivateInsertionsUs: number | undefined;
15
16
  revertiblePrivateInsertionsUs: number | undefined;
@@ -41,7 +42,7 @@ export declare class TestExecutorMetrics implements ExecutorMetricsInterface {
41
42
  private txTimer;
42
43
  constructor();
43
44
  startRecordingTxSimulation(txLabel: string): void;
44
- stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
45
+ stopRecordingTxSimulation(txLabel: string, gasUsed?: GasUsed, revertedCode?: RevertCode): void;
45
46
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
46
47
  recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
47
48
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
@@ -51,4 +52,4 @@ export declare class TestExecutorMetrics implements ExecutorMetricsInterface {
51
52
  toJSON(indent?: number): string;
52
53
  toGithubActionBenchmarkJSON(indent?: number): string;
53
54
  }
54
- //# sourceMappingURL=test_executor_metrics.d.ts.map
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9leGVjdXRvcl9tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3Rlc3RfZXhlY3V0b3JfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE1BQU0sV0FBVyx5QkFBeUI7SUFDeEMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQix5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxlQUFlO0lBRTlCLGVBQWUsRUFBRSxNQUFNLENBQUM7SUFDeEIsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDN0IseUJBQXlCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLGdDQUFnQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDckQsNkJBQTZCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNsRCxhQUFhLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUMzQyxZQUFZLEVBQUUsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUVyQyxzQkFBc0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzNDLG1CQUFtQixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDeEMsMkJBQTJCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUVoRCw2QkFBNkIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2xELHVCQUF1QixFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDNUMsaUJBQWlCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUN0QyxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNqQyw2QkFBNkIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2xELHdDQUF3QyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDN0Qsd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztDQUM5QztBQVdELG9CQUFZLHFCQUFxQjtJQUMvQixHQUFHLElBQUE7SUFDSCxNQUFNLElBQUE7SUFDTixTQUFTLElBQUE7SUFDVCxZQUFZLElBQUE7SUFDWixPQUFPLElBQUE7Q0FDUjtBQTJCRCxxQkFBYSxtQkFBb0IsWUFBVyx3QkFBd0I7O0lBQ2xFLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsT0FBTyxDQUFDLFNBQVMsQ0FBMkM7SUFDNUQsT0FBTyxDQUFDLGNBQWMsQ0FBcUI7SUFDM0MsT0FBTyxDQUFDLE9BQU8sQ0FBb0I7SUFFbkMsY0FFQztJQUVELDBCQUEwQixDQUFDLE9BQU8sRUFBRSxNQUFNLFFBTXpDO0lBRUQseUJBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsVUFBVSxRQWdCdEY7SUFFRCw0QkFBNEIsQ0FDMUIsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsTUFBTSxFQUNsQixRQUFRLEVBQUUsTUFBTSxFQUNoQix5QkFBeUIsRUFBRSxNQUFNLFFBR2xDO0lBRUQsbUNBQW1DLENBQ2pDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIseUJBQXlCLEVBQUUsTUFBTSxRQUdsQztJQW9CRCw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUcsZ0JBQWdCLFFBZ0J0RjtJQUVELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFVckU7SUFFRCxXQUFXLENBQUMsTUFBTSxHQUFFLHFCQUFpRCxRQUVwRTtJQUVELGNBQWMsQ0FBQyxNQUFNLEdBQUUscUJBQWlELFVBK0V2RTtJQTBCRCxNQUFNLENBQUMsTUFBTSxTQUFJLFVBRWhCO0lBRUQsMkJBQTJCLENBQUMsTUFBTSxTQUFJLFVBNEZyQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"test_executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/test_executor_metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAE9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAErC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,wCAAwC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7D,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAWD,oBAAY,qBAAqB;IAC/B,GAAG,IAAA;IACH,MAAM,IAAA;IACN,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AA2BD,qBAAa,mBAAoB,YAAW,wBAAwB;;IAClE,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,OAAO,CAAoB;;IAMnC,0BAA0B,CAAC,OAAO,EAAE,MAAM;IAQ1C,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU;IAkBpE,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAKnC,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAuBnC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;IAkBvF,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;IAYtE,WAAW,CAAC,MAAM,GAAE,qBAAiD;IAIrE,cAAc,CAAC,MAAM,GAAE,qBAAiD;IAwGxE,MAAM,CAAC,MAAM,SAAI;IAIjB,2BAA2B,CAAC,MAAM,SAAI;CA6FvC"}
1
+ {"version":3,"file":"test_executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/test_executor_metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAE9B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;IAErC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,wCAAwC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7D,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAWD,oBAAY,qBAAqB;IAC/B,GAAG,IAAA;IACH,MAAM,IAAA;IACN,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,OAAO,IAAA;CACR;AA2BD,qBAAa,mBAAoB,YAAW,wBAAwB;;IAClE,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,OAAO,CAAoB;IAEnC,cAEC;IAED,0BAA0B,CAAC,OAAO,EAAE,MAAM,QAMzC;IAED,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,QAgBtF;IAED,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAGlC;IAED,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAGlC;IAoBD,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,QAgBtF;IAED,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAUrE;IAED,WAAW,CAAC,MAAM,GAAE,qBAAiD,QAEpE;IAED,cAAc,CAAC,MAAM,GAAE,qBAAiD,UA+EvE;IA0BD,MAAM,CAAC,MAAM,SAAI,UAEhB;IAED,2BAA2B,CAAC,MAAM,SAAI,UA4FrC;CACF"}
@@ -58,14 +58,14 @@ export class TestExecutorMetrics {
58
58
  this.currentTxLabel = txLabel;
59
59
  this.txTimer = new Timer();
60
60
  }
61
- stopRecordingTxSimulation(txLabel, revertedCode) {
61
+ stopRecordingTxSimulation(txLabel, gasUsed, revertedCode) {
62
62
  assert(this.currentTxLabel === txLabel, 'Cannot stop recording metrics for tx when another is live');
63
63
  const txMetrics = this.txMetrics.get(txLabel);
64
64
  // total duration of tx
65
65
  txMetrics.totalDurationMs = this.txTimer.ms();
66
66
  this.logger.debug(`Public TX simulation of ${txLabel} took ${txMetrics.totalDurationMs}ms`);
67
67
  // add manaUsed across all enqueued calls
68
- txMetrics.manaUsed = sum(txMetrics.enqueuedCalls.map((call)=>call.manaUsed));
68
+ txMetrics.manaUsed = gasUsed?.publicGas.l2Gas;
69
69
  // add totalInstructionsExecuted across all enqueued calls
70
70
  txMetrics.totalInstructionsExecuted = sum(txMetrics.enqueuedCalls.map((call)=>call.totalInstructionsExecuted));
71
71
  txMetrics.revertedCode = revertedCode;
@@ -124,8 +124,9 @@ export class TestExecutorMetrics {
124
124
  pretty += `${INDENT0}Total duration: ${fmtNum(txMetrics.totalDurationMs, 'ms')}\n`;
125
125
  }
126
126
  if (filter === 1 || filter === 0) {
127
- pretty += `${INDENT0}Total mana used: ${fmtNum(txMetrics.manaUsed)}\n`;
128
- const manaPerSecond = Math.round(txMetrics.manaUsed * 1000 / txMetrics.totalDurationMs);
127
+ const manaUsed = txMetrics.manaUsed || 0;
128
+ pretty += `${INDENT0}Total mana used: ${fmtNum(manaUsed)}\n`;
129
+ const manaPerSecond = Math.round(manaUsed * 1000 / txMetrics.totalDurationMs);
129
130
  pretty += `${INDENT0}Mana per second: ${fmtNum(manaPerSecond)}\n`;
130
131
  }
131
132
  if (filter === 3 || filter === 1 || filter === 0) {
@@ -34,4 +34,4 @@ export declare class UniqueClassIds {
34
34
  */
35
35
  acceptAndMerge(incoming: UniqueClassIds): void;
36
36
  }
37
- //# sourceMappingURL=unique_class_ids.d.ts.map
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlX2NsYXNzX2lkcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy91bmlxdWVfY2xhc3NfaWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7R0FHRztBQUNILHFCQUFhLGNBQWM7SUFHYixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUZwQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBMEI7SUFFbkQsWUFBNkIsTUFBTSxDQUFDLDRCQUFnQixFQUFJO0lBRXhEOztPQUVHO0lBQ0ksSUFBSSxtQkFFVjtJQUVEOzs7OztPQUtHO0lBQ0ksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQVNuQztJQUVEOztPQUVHO0lBQ0ksSUFBSSxJQUFJLE1BQU0sQ0FFcEI7SUFFRDs7OztPQUlHO0lBQ0ksR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLFFBU3pCO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsY0FBYyxRQWE3QztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"unique_class_ids.d.ts","sourceRoot":"","sources":["../../src/public/unique_class_ids.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEtB,MAAM,CAAC,EAAE,cAAc,YAAA;IAEpD;;OAEG;IACI,IAAI;IAIX;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWpC;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;OAIG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM;IAW1B;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,cAAc;CAc/C"}
1
+ {"version":3,"file":"unique_class_ids.d.ts","sourceRoot":"","sources":["../../src/public/unique_class_ids.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAFpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,YAA6B,MAAM,CAAC,4BAAgB,EAAI;IAExD;;OAEG;IACI,IAAI,mBAEV;IAED;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASnC;IAED;;OAEG;IACI,IAAI,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,QASzB;IAED;;;;OAIG;IACI,cAAc,CAAC,QAAQ,EAAE,cAAc,QAa7C;CACF"}
@@ -1,3 +1,3 @@
1
1
  import { PublicCallRequestWithCalldata, type Tx, TxExecutionPhase } from '@aztec/stdlib/tx';
2
2
  export declare function getCallRequestsWithCalldataByPhase(tx: Tx, phase: TxExecutionPhase): PublicCallRequestWithCalldata[];
3
- //# sourceMappingURL=utils.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUssRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUYsd0JBQWdCLGtDQUFrQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixHQUFHLDZCQUE2QixFQUFFLENBYW5IIn0=
package/dest/server.d.ts CHANGED
@@ -6,4 +6,4 @@ export { SimulatorRecorderWrapper } from './private/circuit_recording/simulator_
6
6
  export { MemoryCircuitRecorder } from './private/circuit_recording/memory_circuit_recorder.js';
7
7
  export { type CircuitSimulator, type DecodedError } from './private/circuit_simulator.js';
8
8
  export * from './common/index.js';
9
- //# sourceMappingURL=server.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLGNBQWMsbUJBQW1CLENBQUMifQ==
package/dest/testing.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { FileCircuitRecorder } from './private/circuit_recording/file_circuit_recorder.js';
2
- //# sourceMappingURL=testing.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/simulator",
3
- "version": "0.0.1-commit.b655e406",
3
+ "version": "0.0.1-commit.c7c42ec",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./server": "./dest/server.js",
@@ -17,11 +17,11 @@
17
17
  "tsconfig": "./tsconfig.json"
18
18
  },
19
19
  "scripts": {
20
- "build": "yarn clean && tsc -b",
21
- "build:dev": "tsc -b --watch",
20
+ "build": "yarn clean && ../scripts/tsc.sh",
21
+ "build:dev": "../scripts/tsc.sh --watch",
22
22
  "clean": "rm -rf ./dest .tsbuildinfo",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
24
- "build:fuzzer": "tsc scripts/fuzzing/avm_simulator_bin.ts --outDir dest/scripts/fuzzing --module commonjs --target es2022 --esModuleInterop --allowSyntheticDefaultImports --resolveJsonModule --skipLibCheck"
24
+ "build:fuzzer": "yarn clean && ../scripts/tsc.sh"
25
25
  },
26
26
  "inherits": [
27
27
  "../package.common.json"
@@ -64,38 +64,39 @@
64
64
  ]
65
65
  },
66
66
  "dependencies": {
67
- "@aztec/constants": "0.0.1-commit.b655e406",
68
- "@aztec/foundation": "0.0.1-commit.b655e406",
69
- "@aztec/native": "0.0.1-commit.b655e406",
70
- "@aztec/noir-acvm_js": "0.0.1-commit.b655e406",
71
- "@aztec/noir-noirc_abi": "0.0.1-commit.b655e406",
72
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b655e406",
73
- "@aztec/noir-types": "0.0.1-commit.b655e406",
74
- "@aztec/protocol-contracts": "0.0.1-commit.b655e406",
75
- "@aztec/stdlib": "0.0.1-commit.b655e406",
76
- "@aztec/telemetry-client": "0.0.1-commit.b655e406",
77
- "@aztec/world-state": "0.0.1-commit.b655e406",
67
+ "@aztec/constants": "0.0.1-commit.c7c42ec",
68
+ "@aztec/foundation": "0.0.1-commit.c7c42ec",
69
+ "@aztec/native": "0.0.1-commit.c7c42ec",
70
+ "@aztec/noir-acvm_js": "0.0.1-commit.c7c42ec",
71
+ "@aztec/noir-noirc_abi": "0.0.1-commit.c7c42ec",
72
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.c7c42ec",
73
+ "@aztec/noir-types": "0.0.1-commit.c7c42ec",
74
+ "@aztec/protocol-contracts": "0.0.1-commit.c7c42ec",
75
+ "@aztec/stdlib": "0.0.1-commit.c7c42ec",
76
+ "@aztec/telemetry-client": "0.0.1-commit.c7c42ec",
77
+ "@aztec/world-state": "0.0.1-commit.c7c42ec",
78
78
  "lodash.clonedeep": "^4.5.0",
79
79
  "lodash.merge": "^4.6.2",
80
80
  "tslib": "^2.4.0"
81
81
  },
82
82
  "devDependencies": {
83
- "@aztec/kv-store": "0.0.1-commit.b655e406",
84
- "@aztec/merkle-tree": "0.0.1-commit.b655e406",
85
- "@aztec/noir-contracts.js": "0.0.1-commit.b655e406",
86
- "@aztec/noir-test-contracts.js": "0.0.1-commit.b655e406",
83
+ "@aztec/kv-store": "0.0.1-commit.c7c42ec",
84
+ "@aztec/merkle-tree": "0.0.1-commit.c7c42ec",
85
+ "@aztec/noir-contracts.js": "0.0.1-commit.c7c42ec",
86
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.c7c42ec",
87
87
  "@jest/globals": "^30.0.0",
88
88
  "@types/jest": "^30.0.0",
89
89
  "@types/lodash.clonedeep": "^4.5.7",
90
90
  "@types/lodash.merge": "^4.6.9",
91
91
  "@types/node": "^22.15.17",
92
+ "@typescript/native-preview": "7.0.0-dev.20251126.1",
92
93
  "istanbul-lib-hook": "^3.0.0",
93
94
  "istanbul-lib-instrument": "^6.0.3",
94
95
  "jest": "^30.0.0",
95
96
  "jest-mock-extended": "^4.0.0",
96
97
  "ts-node": "^10.9.1",
97
98
  "typescript": "^5.3.3",
98
- "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
99
+ "viem": "npm:@aztec/viem@2.38.2"
99
100
  },
100
101
  "files": [
101
102
  "dest",
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { jsonStringify } from '@aztec/foundation/json-rpc';
3
3
  import type { RawAssertionPayload } from '@aztec/noir-acvm_js';
4
4
  import { abiDecodeError } from '@aztec/noir-noirc_abi';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { hexToBuffer } from '@aztec/foundation/string';
3
3
 
4
4
  import type { ACVMField, ACVMWitness } from './acvm_types.js';
@@ -1,5 +1,5 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
- import { Fr } from '@aztec/foundation/fields';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
 
5
5
  import type { ACVMField } from './acvm_types.js';
@@ -1,4 +1,4 @@
1
- import { sha512 } from '@aztec/foundation/crypto';
1
+ import { sha512 } from '@aztec/foundation/crypto/sha512';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { Timer } from '@aztec/foundation/timer';
4
4
  import type { ForeignCallHandler, ForeignCallInput, ForeignCallOutput } from '@aztec/noir-acvm_js';
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
 
4
4
  import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { SimulationError } from '@aztec/stdlib/errors';
3
3
  import { Gas } from '@aztec/stdlib/gas';
4
4
 
@@ -1,5 +1,5 @@
1
- import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { GlobalVariables } from '@aztec/stdlib/tx';
5
5
 
@@ -16,8 +16,7 @@ export class AvmExecutionEnvironment {
16
16
  public readonly globals: GlobalVariables,
17
17
  public readonly isStaticCall: boolean,
18
18
  public readonly calldata: Fr[],
19
- public readonly clientInitiatedSimulation: boolean = false,
20
- public readonly maxDebugLogMemoryReads: number = DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
19
+ public readonly config: PublicSimulatorConfig,
21
20
  ) {}
22
21
 
23
22
  private deriveEnvironmentForNestedCallInternal(
@@ -33,8 +32,7 @@ export class AvmExecutionEnvironment {
33
32
  this.globals,
34
33
  isStaticCall,
35
34
  calldata,
36
- this.clientInitiatedSimulation,
37
- this.maxDebugLogMemoryReads,
35
+ this.config,
38
36
  );
39
37
  }
40
38
 
@@ -26,9 +26,9 @@ export function makeGas(gasCost: Partial<Gas>) {
26
26
  }
27
27
 
28
28
  /** Sums together multiple instances of Gas. */
29
- export function sumGas(...gases: Partial<Gas>[]) {
30
- return gases.reduce(
31
- (acc: Gas, gas) => ({
29
+ export function sumGas(...gases: Partial<Gas>[]): Gas {
30
+ return gases.reduce<Gas>(
31
+ (acc, gas) => ({
32
32
  l2Gas: acc.l2Gas + (gas.l2Gas ?? 0),
33
33
  daGas: acc.daGas + (gas.daGas ?? 0),
34
34
  }),
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import type { Gas } from './avm_gas.js';
4
4
  import { TaggedMemory } from './avm_memory_types.js';
@@ -8,7 +8,7 @@ import {
8
8
  MEM_TAG_U128,
9
9
  } from '@aztec/constants';
10
10
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
11
- import { Fr } from '@aztec/foundation/fields';
11
+ import { Fr } from '@aztec/foundation/curves/bn254';
12
12
  import { type Logger, createLogger } from '@aztec/foundation/log';
13
13
  import type { FunctionsOf } from '@aztec/foundation/types';
14
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -1,6 +1,7 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
3
  import { Timer } from '@aztec/foundation/timer';
4
+ import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
6
  import type { GlobalVariables } from '@aztec/stdlib/tx';
6
7
 
@@ -75,8 +76,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
75
76
  isStaticCall: boolean,
76
77
  calldata: Fr[],
77
78
  allocatedGas: Gas,
78
- clientInitiatedSimulation: boolean = false,
79
- maxDebugLogMemoryReads?: number,
79
+ config: PublicSimulatorConfig,
80
80
  ) {
81
81
  const avmExecutionEnv = new AvmExecutionEnvironment(
82
82
  address,
@@ -86,8 +86,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
86
86
  globals,
87
87
  isStaticCall,
88
88
  calldata,
89
- clientInitiatedSimulation,
90
- maxDebugLogMemoryReads,
89
+ config,
91
90
  );
92
91
 
93
92
  const avmMachineState = new AvmMachineState(allocatedGas);
@@ -105,7 +104,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
105
104
 
106
105
  if (!bytecode) {
107
106
  return await this.handleFailureToRetrieveBytecode(
108
- `No bytecode found, or limit encountered for max calls to unique contract class IDs. Contract address: ${this.context.environment.address}. Reverting...`,
107
+ `No bytecode found. Contract is not deployed, or limit encountered for max calls to unique contract class IDs. Contract address: ${this.context.environment.address}. Reverting...`,
109
108
  );
110
109
  }
111
110
 
@@ -178,7 +177,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
178
177
 
179
178
  if (machineState.pc >= bytecode.length) {
180
179
  this.log.warn('Passed end of program');
181
- throw new InvalidProgramCounterError(machineState.pc, /*max=*/ bytecode.length);
180
+ throw new InvalidProgramCounterError(machineState.pc, /*max=*/ bytecode.length - 1);
182
181
  }
183
182
  }
184
183
 
@@ -236,12 +235,15 @@ export class AvmSimulator implements AvmSimulatorInterface {
236
235
 
237
236
  private async handleFailureToRetrieveBytecode(message: string): Promise<AvmContractCallResult> {
238
237
  // revert, consuming all gas
239
- const fnName = await this.context.persistableState.getPublicFunctionDebugName(this.context.environment);
238
+ const { functionSelector, functionName } = await this.context.persistableState.getPublicFunctionSelectorAndName(
239
+ this.context.environment,
240
+ );
240
241
  const revertReason = new AvmRevertReason(
241
242
  message,
242
243
  /*failingFunction=*/ {
243
244
  contractAddress: this.context.environment.address,
244
- functionName: fnName,
245
+ functionSelector,
246
+ functionName,
245
247
  },
246
248
  /*noirCallStack=*/ [],
247
249
  );
@@ -1,4 +1,4 @@
1
- import type { Point } from '@aztec/foundation/fields';
1
+ import type { Point } from '@aztec/foundation/curves/grumpkin';
2
2
  import type { FailingFunction, NoirCallStack } from '@aztec/stdlib/errors';
3
3
 
4
4
  import { ExecutionError } from '../../common/errors.js';
@@ -58,7 +58,7 @@ export class AvmParsingError extends AvmExecutionError {
58
58
  */
59
59
  export class InvalidTagValueError extends AvmExecutionError {
60
60
  constructor(tagValue: number) {
61
- super(`Tag value ${tagValue} is invalid.`);
61
+ super(`Tag check failed: Tag value ${tagValue} is invalid.`);
62
62
  this.name = 'InvalidTagValueError';
63
63
  }
64
64
  }
@@ -77,6 +77,12 @@ export class InstructionExecutionError extends AvmExecutionError {
77
77
  * Error thrown on failed AVM memory tag check.
78
78
  */
79
79
  export class TagCheckError extends AvmExecutionError {
80
+ public static forBaseAddress(gotTag: string): TagCheckError {
81
+ return new TagCheckError(`Base address (mem[0]) is not a valid address (has tag ${gotTag})`);
82
+ }
83
+ public static forIndirectAddress(address: number, gotTag: string): TagCheckError {
84
+ return new TagCheckError(`Address after indirection is not a valid address (address ${address} has tag ${gotTag})`);
85
+ }
80
86
  public static forOffset(offset: number, gotTag: string, expectedTag: string): TagCheckError {
81
87
  return new TagCheckError(`Tag mismatch at offset ${offset}, got ${gotTag}, expected ${expectedTag}`);
82
88
  }
@@ -97,7 +103,7 @@ export class TagCheckError extends AvmExecutionError {
97
103
  */
98
104
  export class RelativeAddressOutOfRangeError extends AvmExecutionError {
99
105
  constructor(baseAddr: number, relOffset: number) {
100
- super(`Address out of range. Base address ${baseAddr}, relative offset ${relOffset}`);
106
+ super(`Relative address out of range. Base address ${baseAddr}, relative offset ${relOffset}`);
101
107
  this.name = 'RelativeAddressOutOfRangeError';
102
108
  }
103
109
  }
@@ -161,3 +167,11 @@ export class AvmRevertReason extends ExecutionError {
161
167
  super(message, failingFunction, noirCallStack, options);
162
168
  }
163
169
  }
170
+
171
+ /**
172
+ * Helper to annotate errors occurring during instruction fetching.
173
+ */
174
+ export function duringInstrFetch(error: Error, pc: number) {
175
+ error.message = `Instruction fetching error at pc ${pc}: ${error.message}`;
176
+ return error;
177
+ }
@@ -1,5 +1,6 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { encodeArguments } from '@aztec/stdlib/abi';
3
+ import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
5
  import { GasFees } from '@aztec/stdlib/gas';
5
6
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
@@ -51,7 +52,6 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
51
52
  treesDB,
52
53
  contractsDB,
53
54
  trace,
54
- /*doMerkleOperations=*/ false,
55
55
  firstNullifier,
56
56
  DEFAULT_TIMESTAMP,
57
57
  );
@@ -81,12 +81,20 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
81
81
  globals.timestamp = DEFAULT_TIMESTAMP;
82
82
  globals.gasFees = DEFAULT_GAS_FEES;
83
83
 
84
+ const config = PublicSimulatorConfig.from({
85
+ skipFeeEnforcement: false,
86
+ collectDebugLogs: true,
87
+ collectHints: false,
88
+ collectStatistics: false,
89
+ collectCallMetadata: true,
90
+ });
84
91
  const environment = initExecutionEnvironment({
85
92
  calldata,
86
93
  globals,
87
94
  address,
88
95
  sender,
89
96
  isStaticCall,
97
+ config,
90
98
  });
91
99
  const persistableState = await this.stateManager.fork();
92
100
  const context = initContext({ env: environment, persistableState });
@@ -1,5 +1,5 @@
1
1
  import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
5
  import { getCanonicalAuthRegistry } from '@aztec/protocol-contracts/auth-registry';