@aztec/simulator 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108

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 (346) 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 +2 -3
  17. package/dest/private/acvm_native.d.ts.map +1 -1
  18. package/dest/private/acvm_native.js +15 -13
  19. package/dest/private/acvm_wasm.d.ts +1 -1
  20. package/dest/private/acvm_wasm.d.ts.map +1 -1
  21. package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
  22. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
  23. package/dest/private/circuit_recording/circuit_recorder.d.ts +1 -1
  24. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  25. package/dest/private/circuit_recording/circuit_recorder.js +16 -15
  26. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +1 -1
  27. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  28. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +1 -1
  29. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  30. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +2 -2
  31. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  32. package/dest/private/circuit_simulator.d.ts +1 -1
  33. package/dest/private/factory.d.ts +1 -1
  34. package/dest/public/avm/avm_context.d.ts +2 -2
  35. package/dest/public/avm/avm_context.d.ts.map +1 -1
  36. package/dest/public/avm/avm_contract_call_result.d.ts +2 -2
  37. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  38. package/dest/public/avm/avm_execution_environment.d.ts +5 -4
  39. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  40. package/dest/public/avm/avm_execution_environment.js +5 -5
  41. package/dest/public/avm/avm_gas.d.ts +2 -2
  42. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  43. package/dest/public/avm/avm_gas.js +2 -2
  44. package/dest/public/avm/avm_machine_state.d.ts +2 -2
  45. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  46. package/dest/public/avm/avm_memory_types.d.ts +20 -14
  47. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  48. package/dest/public/avm/avm_memory_types.js +10 -3
  49. package/dest/public/avm/avm_simulator.d.ts +4 -3
  50. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  51. package/dest/public/avm/avm_simulator.js +19 -25
  52. package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
  53. package/dest/public/avm/errors.d.ts +13 -16
  54. package/dest/public/avm/errors.d.ts.map +1 -1
  55. package/dest/public/avm/errors.js +21 -22
  56. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +3 -2
  57. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  58. package/dest/public/avm/fixtures/avm_simulation_tester.js +14 -6
  59. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +4 -2
  60. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  61. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +23 -1
  62. package/dest/public/avm/fixtures/initializers.d.ts +2 -3
  63. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  64. package/dest/public/avm/fixtures/initializers.js +6 -4
  65. package/dest/public/avm/fixtures/utils.d.ts +4 -3
  66. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  67. package/dest/public/avm/fixtures/utils.js +3 -2
  68. package/dest/public/avm/index.d.ts +1 -1
  69. package/dest/public/avm/opcodes/accrued_substate.d.ts +3 -3
  70. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  71. package/dest/public/avm/opcodes/accrued_substate.js +8 -8
  72. package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
  73. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  74. package/dest/public/avm/opcodes/addressing_mode.js +4 -5
  75. package/dest/public/avm/opcodes/arithmetic.d.ts +10 -8
  76. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  77. package/dest/public/avm/opcodes/arithmetic.js +11 -1
  78. package/dest/public/avm/opcodes/bitwise.d.ts +5 -5
  79. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  80. package/dest/public/avm/opcodes/comparators.d.ts +4 -4
  81. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  82. package/dest/public/avm/opcodes/contract.d.ts +1 -1
  83. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  84. package/dest/public/avm/opcodes/control_flow.d.ts +1 -1
  85. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  86. package/dest/public/avm/opcodes/conversion.d.ts +1 -1
  87. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  88. package/dest/public/avm/opcodes/conversion.js +3 -0
  89. package/dest/public/avm/opcodes/ec_add.d.ts +2 -2
  90. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  91. package/dest/public/avm/opcodes/ec_add.js +6 -6
  92. package/dest/public/avm/opcodes/environment_getters.d.ts +3 -3
  93. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  94. package/dest/public/avm/opcodes/environment_getters.js +7 -9
  95. package/dest/public/avm/opcodes/external_calls.d.ts +1 -1
  96. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  97. package/dest/public/avm/opcodes/external_calls.js +1 -1
  98. package/dest/public/avm/opcodes/hashing.d.ts +2 -2
  99. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  100. package/dest/public/avm/opcodes/hashing.js +9 -4
  101. package/dest/public/avm/opcodes/index.d.ts +1 -1
  102. package/dest/public/avm/opcodes/instruction.d.ts +2 -2
  103. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  104. package/dest/public/avm/opcodes/instruction.js +5 -6
  105. package/dest/public/avm/opcodes/instruction_impl.d.ts +1 -1
  106. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  107. package/dest/public/avm/opcodes/memory.d.ts +2 -2
  108. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  109. package/dest/public/avm/opcodes/memory.js +1 -1
  110. package/dest/public/avm/opcodes/misc.d.ts +3 -2
  111. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  112. package/dest/public/avm/opcodes/misc.js +28 -8
  113. package/dest/public/avm/opcodes/storage.d.ts +3 -3
  114. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  115. package/dest/public/avm/revert_reason.d.ts +2 -2
  116. package/dest/public/avm/revert_reason.d.ts.map +1 -1
  117. package/dest/public/avm/revert_reason.js +3 -2
  118. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
  119. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  120. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  121. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  122. package/dest/public/avm/serialization/bytecode_serialization.js +9 -6
  123. package/dest/public/avm/serialization/instruction_serialization.d.ts +9 -1
  124. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  125. package/dest/public/avm/serialization/instruction_serialization.js +11 -1
  126. package/dest/public/avm/test_utils.d.ts +4 -4
  127. package/dest/public/avm/test_utils.d.ts.map +1 -1
  128. package/dest/public/avm/test_utils.js +7 -10
  129. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  130. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  131. package/dest/public/contracts_db_checkpoint.js +30 -0
  132. package/dest/public/db_interfaces.d.ts +14 -2
  133. package/dest/public/db_interfaces.d.ts.map +1 -1
  134. package/dest/public/debug_fn_name.d.ts +15 -2
  135. package/dest/public/debug_fn_name.d.ts.map +1 -1
  136. package/dest/public/debug_fn_name.js +28 -2
  137. package/dest/public/executor_metrics.d.ts +3 -2
  138. package/dest/public/executor_metrics.d.ts.map +1 -1
  139. package/dest/public/executor_metrics.js +1 -1
  140. package/dest/public/executor_metrics_interface.d.ts +3 -2
  141. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  142. package/dest/public/fixtures/amm_test.d.ts +1 -1
  143. package/dest/public/fixtures/amm_test.js +2 -2
  144. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  145. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  146. package/dest/public/fixtures/bulk_test.js +59 -177
  147. package/dest/public/fixtures/custom_bytecode_tester.d.ts +34 -0
  148. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
  149. package/dest/public/fixtures/custom_bytecode_tester.js +53 -0
  150. package/dest/public/fixtures/custom_bytecode_tests.d.ts +12 -0
  151. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
  152. package/dest/public/fixtures/custom_bytecode_tests.js +174 -0
  153. package/dest/public/fixtures/index.d.ts +5 -2
  154. package/dest/public/fixtures/index.d.ts.map +1 -1
  155. package/dest/public/fixtures/index.js +4 -1
  156. package/dest/public/fixtures/minimal_public_tx.d.ts +4 -9
  157. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  158. package/dest/public/fixtures/minimal_public_tx.js +8 -32
  159. package/dest/public/fixtures/opcode_spammer.d.ts +123 -0
  160. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  161. package/dest/public/fixtures/opcode_spammer.js +1681 -0
  162. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +25 -5
  163. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  164. package/dest/public/fixtures/public_tx_simulation_tester.js +63 -17
  165. package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
  166. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  167. package/dest/public/fixtures/simple_contract_data_source.js +4 -4
  168. package/dest/public/fixtures/token_test.d.ts +6 -2
  169. package/dest/public/fixtures/token_test.d.ts.map +1 -1
  170. package/dest/public/fixtures/token_test.js +13 -12
  171. package/dest/public/fixtures/utils.d.ts +2 -2
  172. package/dest/public/fixtures/utils.d.ts.map +1 -1
  173. package/dest/public/fixtures/utils.js +7 -6
  174. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +46 -0
  175. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  176. package/dest/public/fuzzing/avm_fuzzer_simulator.js +139 -0
  177. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  178. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  179. package/dest/public/fuzzing/avm_simulator_bin.js +100 -0
  180. package/dest/public/hinting_db_sources.d.ts +16 -4
  181. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  182. package/dest/public/hinting_db_sources.js +74 -13
  183. package/dest/public/index.d.ts +3 -2
  184. package/dest/public/index.d.ts.map +1 -1
  185. package/dest/public/index.js +1 -1
  186. package/dest/public/public_db_sources.d.ts +24 -65
  187. package/dest/public/public_db_sources.d.ts.map +1 -1
  188. package/dest/public/public_db_sources.js +85 -132
  189. package/dest/public/public_errors.d.ts +12 -0
  190. package/dest/public/public_errors.d.ts.map +1 -0
  191. package/dest/public/public_errors.js +13 -0
  192. package/dest/public/public_processor/guarded_merkle_tree.d.ts +6 -2
  193. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  194. package/dest/public/public_processor/guarded_merkle_tree.js +8 -0
  195. package/dest/public/public_processor/public_processor.d.ts +11 -13
  196. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  197. package/dest/public/public_processor/public_processor.js +477 -70
  198. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  199. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  200. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +18 -0
  201. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  202. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +98 -0
  203. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +53 -0
  204. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
  205. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +131 -0
  206. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  207. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  208. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  209. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  210. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  211. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  212. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +22 -0
  213. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  214. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  215. package/dest/public/public_tx_simulator/factories.d.ts +13 -0
  216. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  217. package/dest/public/public_tx_simulator/factories.js +28 -0
  218. package/dest/public/public_tx_simulator/index.d.ts +6 -1
  219. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  220. package/dest/public/public_tx_simulator/index.js +3 -0
  221. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +16 -8
  222. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  223. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +7 -8
  224. package/dest/public/public_tx_simulator/public_tx_context.d.ts +9 -4
  225. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  226. package/dest/public/public_tx_simulator/public_tx_context.js +22 -10
  227. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +22 -29
  228. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  229. package/dest/public/public_tx_simulator/public_tx_simulator.js +178 -127
  230. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +32 -0
  231. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -0
  232. package/dest/public/public_tx_simulator/public_tx_simulator_interface.js +1 -0
  233. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +4 -3
  234. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  235. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +396 -20
  236. package/dest/public/side_effect_errors.d.ts +42 -2
  237. package/dest/public/side_effect_errors.d.ts.map +1 -1
  238. package/dest/public/side_effect_errors.js +70 -1
  239. package/dest/public/side_effect_trace.d.ts +13 -7
  240. package/dest/public/side_effect_trace.d.ts.map +1 -1
  241. package/dest/public/side_effect_trace.js +36 -21
  242. package/dest/public/side_effect_trace_interface.d.ts +9 -4
  243. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  244. package/dest/public/state_manager/index.d.ts +1 -1
  245. package/dest/public/state_manager/nullifiers.d.ts +2 -5
  246. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  247. package/dest/public/state_manager/nullifiers.js +1 -6
  248. package/dest/public/state_manager/public_storage.d.ts +2 -2
  249. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  250. package/dest/public/state_manager/public_storage.js +1 -1
  251. package/dest/public/state_manager/state_manager.d.ts +16 -13
  252. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  253. package/dest/public/state_manager/state_manager.js +64 -21
  254. package/dest/public/test_executor_metrics.d.ts +4 -3
  255. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  256. package/dest/public/test_executor_metrics.js +5 -4
  257. package/dest/public/unique_class_ids.d.ts +1 -1
  258. package/dest/public/unique_class_ids.d.ts.map +1 -1
  259. package/dest/public/utils.d.ts +1 -1
  260. package/dest/server.d.ts +1 -1
  261. package/dest/testing.d.ts +1 -1
  262. package/package.json +24 -19
  263. package/src/common/errors.ts +1 -1
  264. package/src/private/acvm/deserialize.ts +1 -1
  265. package/src/private/acvm/serialize.ts +1 -1
  266. package/src/private/acvm_native.ts +18 -11
  267. package/src/private/circuit_recording/circuit_recorder.ts +17 -16
  268. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +1 -1
  269. package/src/public/avm/avm_context.ts +1 -1
  270. package/src/public/avm/avm_contract_call_result.ts +1 -1
  271. package/src/public/avm/avm_execution_environment.ts +4 -3
  272. package/src/public/avm/avm_gas.ts +5 -5
  273. package/src/public/avm/avm_machine_state.ts +1 -1
  274. package/src/public/avm/avm_memory_types.ts +12 -3
  275. package/src/public/avm/avm_simulator.ts +24 -33
  276. package/src/public/avm/errors.ts +24 -27
  277. package/src/public/avm/fixtures/avm_simulation_tester.ts +14 -4
  278. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +33 -1
  279. package/src/public/avm/fixtures/initializers.ts +7 -8
  280. package/src/public/avm/fixtures/utils.ts +3 -2
  281. package/src/public/avm/opcodes/accrued_substate.ts +5 -5
  282. package/src/public/avm/opcodes/addressing_mode.ts +5 -5
  283. package/src/public/avm/opcodes/arithmetic.ts +13 -1
  284. package/src/public/avm/opcodes/conversion.ts +4 -0
  285. package/src/public/avm/opcodes/ec_add.ts +6 -6
  286. package/src/public/avm/opcodes/environment_getters.ts +10 -12
  287. package/src/public/avm/opcodes/external_calls.ts +1 -1
  288. package/src/public/avm/opcodes/hashing.ts +10 -4
  289. package/src/public/avm/opcodes/instruction.ts +8 -6
  290. package/src/public/avm/opcodes/memory.ts +1 -1
  291. package/src/public/avm/opcodes/misc.ts +41 -7
  292. package/src/public/avm/revert_reason.ts +6 -3
  293. package/src/public/avm/serialization/bytecode_serialization.ts +17 -6
  294. package/src/public/avm/serialization/instruction_serialization.ts +13 -1
  295. package/src/public/avm/test_utils.ts +7 -15
  296. package/src/public/contracts_db_checkpoint.ts +41 -0
  297. package/src/public/db_interfaces.ts +16 -1
  298. package/src/public/debug_fn_name.ts +35 -3
  299. package/src/public/executor_metrics.ts +2 -1
  300. package/src/public/executor_metrics_interface.ts +2 -1
  301. package/src/public/fixtures/amm_test.ts +2 -2
  302. package/src/public/fixtures/bulk_test.ts +39 -26
  303. package/src/public/fixtures/custom_bytecode_tester.ts +83 -0
  304. package/src/public/fixtures/custom_bytecode_tests.ts +219 -0
  305. package/src/public/fixtures/index.ts +8 -1
  306. package/src/public/fixtures/minimal_public_tx.ts +9 -42
  307. package/src/public/fixtures/opcode_spammer.ts +1638 -0
  308. package/src/public/fixtures/public_tx_simulation_tester.ts +90 -22
  309. package/src/public/fixtures/simple_contract_data_source.ts +8 -9
  310. package/src/public/fixtures/token_test.ts +18 -10
  311. package/src/public/fixtures/utils.ts +5 -6
  312. package/src/public/fuzzing/avm_fuzzer_simulator.ts +240 -0
  313. package/src/public/fuzzing/avm_simulator_bin.ts +140 -0
  314. package/src/public/hinting_db_sources.ts +117 -10
  315. package/src/public/index.ts +8 -1
  316. package/src/public/public_db_sources.ts +112 -175
  317. package/src/public/public_errors.ts +14 -0
  318. package/src/public/public_processor/guarded_merkle_tree.ts +10 -1
  319. package/src/public/public_processor/public_processor.ts +112 -79
  320. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +121 -0
  321. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +200 -0
  322. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +132 -0
  323. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +237 -0
  324. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +81 -0
  325. package/src/public/public_tx_simulator/factories.ts +41 -0
  326. package/src/public/public_tx_simulator/index.ts +5 -0
  327. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +13 -14
  328. package/src/public/public_tx_simulator/public_tx_context.ts +20 -7
  329. package/src/public/public_tx_simulator/public_tx_simulator.ts +265 -179
  330. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +33 -0
  331. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +4 -13
  332. package/src/public/side_effect_errors.ts +91 -1
  333. package/src/public/side_effect_trace.ts +49 -24
  334. package/src/public/side_effect_trace_interface.ts +7 -1
  335. package/src/public/state_manager/nullifiers.ts +2 -8
  336. package/src/public/state_manager/public_storage.ts +1 -1
  337. package/src/public/state_manager/state_manager.ts +87 -39
  338. package/src/public/test_executor_metrics.ts +7 -5
  339. package/dest/public/bytecode_errors.d.ts +0 -4
  340. package/dest/public/bytecode_errors.d.ts.map +0 -1
  341. package/dest/public/bytecode_errors.js +0 -6
  342. package/dest/public/tx_contract_cache.d.ts +0 -41
  343. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  344. package/dest/public/tx_contract_cache.js +0 -49
  345. package/src/public/bytecode_errors.ts +0 -6
  346. package/src/public/tx_contract_cache.ts +0 -69
@@ -23,4 +23,4 @@ export declare class BufferCursor {
23
23
  writeBigInt64LE(v: bigint): number;
24
24
  writeBigInt64BE(v: bigint): number;
25
25
  }
26
- //# sourceMappingURL=buffer_cursor.d.ts.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyX2N1cnNvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vc2VyaWFsaXphdGlvbi9idWZmZXJfY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLHFCQUFhLFlBQVk7SUFFckIsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsU0FBUztJQUZuQixZQUNVLE9BQU8sRUFBRSxNQUFNLEVBQ2YsU0FBUyxHQUFFLE1BQVUsRUFDM0I7SUFFRyxRQUFRLElBQUksTUFBTSxDQUV4QjtJQUVNLE1BQU0sSUFBSSxNQUFNLENBRXRCO0lBRU0sR0FBRyxJQUFJLE9BQU8sQ0FFcEI7SUFFTSxnQkFBZ0IsSUFBSSxNQUFNLENBRWhDO0lBRU0sT0FBTyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUU5QjtJQUVNLFNBQVMsSUFBSSxNQUFNLENBR3pCO0lBRU0sU0FBUyxJQUFJLE1BQU0sQ0FJekI7SUFFTSxZQUFZLElBQUksTUFBTSxDQUk1QjtJQUVNLFlBQVksSUFBSSxNQUFNLENBSTVCO0lBRU0sWUFBWSxJQUFJLE1BQU0sQ0FJNUI7SUFFTSxZQUFZLElBQUksTUFBTSxDQUk1QjtJQUVNLGNBQWMsSUFBSSxNQUFNLENBSTlCO0lBRU0sY0FBYyxJQUFJLE1BQU0sQ0FJOUI7SUFFTSxVQUFVLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJMUI7SUFFTSxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJN0I7SUFFTSxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJN0I7SUFFTSxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJN0I7SUFFTSxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJN0I7SUFFTSxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJL0I7SUFFTSxlQUFlLENBQUMsQ0FBQyxFQUFFLE1BQU0sVUFJL0I7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"buffer_cursor.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/buffer_cursor.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;gBADT,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAU;IAGxB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,GAAG,IAAI,OAAO;IAId,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxB,SAAS,IAAI,MAAM;IAKnB,SAAS,IAAI,MAAM;IAMnB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,MAAM;IAMxB,cAAc,IAAI,MAAM;IAMxB,UAAU,CAAC,CAAC,EAAE,MAAM;IAMpB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,eAAe,CAAC,CAAC,EAAE,MAAM;IAMzB,eAAe,CAAC,CAAC,EAAE,MAAM;CAKjC"}
1
+ {"version":3,"file":"buffer_cursor.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/buffer_cursor.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IAFnB,YACU,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAU,EAC3B;IAEG,QAAQ,IAAI,MAAM,CAExB;IAEM,MAAM,IAAI,MAAM,CAEtB;IAEM,GAAG,IAAI,OAAO,CAEpB;IAEM,gBAAgB,IAAI,MAAM,CAEhC;IAEM,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE9B;IAEM,SAAS,IAAI,MAAM,CAGzB;IAEM,SAAS,IAAI,MAAM,CAIzB;IAEM,YAAY,IAAI,MAAM,CAI5B;IAEM,YAAY,IAAI,MAAM,CAI5B;IAEM,YAAY,IAAI,MAAM,CAI5B;IAEM,YAAY,IAAI,MAAM,CAI5B;IAEM,cAAc,IAAI,MAAM,CAI9B;IAEM,cAAc,IAAI,MAAM,CAI9B;IAEM,UAAU,CAAC,CAAC,EAAE,MAAM,UAI1B;IAEM,aAAa,CAAC,CAAC,EAAE,MAAM,UAI7B;IAEM,aAAa,CAAC,CAAC,EAAE,MAAM,UAI7B;IAEM,aAAa,CAAC,CAAC,EAAE,MAAM,UAI7B;IAEM,aAAa,CAAC,CAAC,EAAE,MAAM,UAI7B;IAEM,eAAe,CAAC,CAAC,EAAE,MAAM,UAI/B;IAEM,eAAe,CAAC,CAAC,EAAE,MAAM,UAI/B;CACF"}
@@ -14,4 +14,4 @@ export declare const INSTRUCTION_SET: Map<Opcode, InstructionDeserializer>;
14
14
  export declare function encodeToBytecode(instructions: Bufferable[]): Buffer;
15
15
  export declare function decodeFromBytecode(bytecode: Buffer, instructionSet?: InstructionSet): Instruction[];
16
16
  export declare function decodeInstructionFromBytecode(bytecode: Buffer, pc: number, instructionSet?: InstructionSet): [Instruction, number];
17
- //# sourceMappingURL=bytecode_serialization.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZWNvZGVfc2VyaWFsaXphdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vc2VyaWFsaXphdGlvbi9ieXRlY29kZV9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQVVqRixPQUFPLEVBZ0JMLFdBQVcsRUFnQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUxRSxNQUFNLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsWUFBWSxHQUFHLE1BQU0sS0FBSyxXQUFXLENBQUM7QUFFbEYsTUFBTSxXQUFXLGNBQWM7SUFDN0IsV0FBVyxFQUFFLHVCQUF1QixDQUFDO0NBQ3RDO0FBRUQsTUFBTSxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFDbEUsZUFBTyxNQUFNLGVBQWUsc0NBb0YxQixDQUFDO0FBRUg7O0dBRUc7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FFbkU7QUFHRCx3QkFBZ0Isa0JBQWtCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxjQUFjLEdBQUUsY0FBZ0MsR0FBRyxXQUFXLEVBQUUsQ0FTcEg7QUFHRCx3QkFBZ0IsNkJBQTZCLENBQzNDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLEVBQUUsRUFBRSxNQUFNLEVBQ1YsY0FBYyxHQUFFLGNBQWdDLEdBQy9DLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQW1DdkIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAgBL,WAAW,EAgCZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,KAAK,WAAW,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClE,eAAO,MAAM,eAAe,sCAoF1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAEnE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,cAAgC,GAAG,WAAW,EAAE,CASpH;AAGD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,GAAE,cAAgC,GAC/C,CAAC,WAAW,EAAE,MAAM,CAAC,CA+BvB"}
1
+ {"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAUjF,OAAO,EAgBL,WAAW,EAgCZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,KAAK,WAAW,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClE,eAAO,MAAM,eAAe,sCAoF1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAEnE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,cAAgC,GAAG,WAAW,EAAE,CASpH;AAGD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,GAAE,cAAgC,GAC/C,CAAC,WAAW,EAAE,MAAM,CAAC,CAmCvB"}
@@ -1,5 +1,5 @@
1
1
  import { serializeToBuffer } from '@aztec/foundation/serialize';
2
- import { AvmExecutionError, AvmParsingError, InvalidOpcodeError, InvalidProgramCounterError } from '../errors.js';
2
+ import { AvmExecutionError, AvmParsingError, InvalidOpcodeError, InvalidProgramCounterError, InvalidTagValueError, duringInstrFetch } from '../errors.js';
3
3
  import { Add, And, Call, CalldataCopy, Cast, DebugLog, Div, EcAdd, EmitNoteHash, EmitNullifier, EmitUnencryptedLog, Eq, FieldDiv, GetContractInstance, GetEnvVar, Instruction, InternalCall, InternalReturn, Jump, JumpI, KeccakF1600, L1ToL2MessageExists, Lt, Lte, Mov, Mul, Not, NoteHashExists, NullifierExists, Or, Poseidon2, Return, ReturndataCopy, ReturndataSize, Revert, SLoad, SStore, SendL2ToL1Message, Set, Sha256Compression, Shl, Shr, StaticCall, Sub, SuccessCopy, ToRadixBE, Xor } from '../opcodes/index.js';
4
4
  import { BufferCursor } from './buffer_cursor.js';
5
5
  import { MAX_OPCODE_VALUE, Opcode } from './instruction_serialization.js';
@@ -304,14 +304,14 @@ export function decodeFromBytecode(bytecode, instructionSet = INSTRUCTION_SET) {
304
304
  // Returns the instruction and the number of bytes consumed.
305
305
  export function decodeInstructionFromBytecode(bytecode, pc, instructionSet = INSTRUCTION_SET) {
306
306
  if (pc >= bytecode.length) {
307
- throw new InvalidProgramCounterError(pc, bytecode.length);
307
+ throw new InvalidProgramCounterError(pc, bytecode.length - 1);
308
308
  }
309
309
  try {
310
310
  const cursor = new BufferCursor(bytecode, pc);
311
311
  const startingPosition = cursor.position();
312
312
  const opcode = cursor.bufferAtPosition().readUint8(); // peek.
313
313
  if (opcode > MAX_OPCODE_VALUE) {
314
- throw new InvalidOpcodeError(`Opcode ${opcode} (0x${opcode.toString(16)}) value is not in the range of valid opcodes.`);
314
+ throw new InvalidOpcodeError(`Opcode ${opcode} (0x${opcode.toString(16)}) value is not in the range of valid opcodes (at PC ${pc}).`);
315
315
  }
316
316
  const instructionDeserializerOrUndef = instructionSet.get(opcode);
317
317
  if (instructionDeserializerOrUndef === undefined) {
@@ -324,10 +324,13 @@ export function decodeInstructionFromBytecode(bytecode, pc, instructionSet = INS
324
324
  cursor.position() - startingPosition
325
325
  ];
326
326
  } catch (error) {
327
- if (error instanceof InvalidOpcodeError || error instanceof AvmExecutionError) {
328
- throw error;
327
+ if (error instanceof InvalidTagValueError || error instanceof InvalidOpcodeError) {
328
+ throw duringInstrFetch(error, pc);
329
+ } else if (error instanceof AvmExecutionError) {
330
+ throw new AvmParsingError(`Instruction parsing error at pc ${pc}: ${error.message}`);
329
331
  } else {
330
- throw new AvmParsingError(`${error}`);
332
+ const msg = error instanceof Error ? `: ${error.message}` : '';
333
+ throw new AvmParsingError(`Instruction fetching error at pc ${pc}${msg}`);
331
334
  }
332
335
  }
333
336
  }
@@ -84,6 +84,14 @@ export declare enum OperandType {
84
84
  TAG = 6
85
85
  }
86
86
  type DeserializedValue = number | bigint;
87
+ /**
88
+ * Returns the size of an operand in bytes.
89
+ * Should not be called with unknown operand types.
90
+ * @param operandType
91
+ * @returns number size in bytes
92
+ * @throws AssertionError if the operand type is unknown
93
+ */
94
+ export declare function getOperandSize(operandType: OperandType): number;
87
95
  /**
88
96
  * Reads an array of operands from a buffer.
89
97
  * @param cursor Buffer to read from. Might be longer than needed.
@@ -103,4 +111,4 @@ export declare function deserialize(cursor: BufferCursor | Buffer, operands: Ope
103
111
  */
104
112
  export declare function serializeAs(operands: OperandType[], opcode: Opcode, cls: any): Buffer;
105
113
  export {};
106
- //# sourceMappingURL=instruction_serialization.d.ts.map
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1Y3Rpb25fc2VyaWFsaXphdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vc2VyaWFsaXphdGlvbi9pbnN0cnVjdGlvbl9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxvQkFBWSxNQUFNO0lBRWhCLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLEtBQUssSUFBQTtJQUNMLE1BQU0sSUFBQTtJQUNOLE1BQU0sSUFBQTtJQUNOLE9BQU8sSUFBQTtJQUNQLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLElBQUksS0FBQTtJQUNKLEtBQUssS0FBQTtJQUNMLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE9BQU8sS0FBQTtJQUVQLFlBQVksS0FBQTtJQUNaLFlBQVksS0FBQTtJQUNaLFdBQVcsS0FBQTtJQUNYLGNBQWMsS0FBQTtJQUNkLGNBQWMsS0FBQTtJQUVkLE9BQU8sS0FBQTtJQUNQLFFBQVEsS0FBQTtJQUNSLFlBQVksS0FBQTtJQUNaLGNBQWMsS0FBQTtJQUVkLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE1BQU0sS0FBQTtJQUNOLE9BQU8sS0FBQTtJQUNQLE1BQU0sS0FBQTtJQUNOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUVOLEtBQUssS0FBQTtJQUNMLE1BQU0sS0FBQTtJQUNOLGNBQWMsS0FBQTtJQUNkLFlBQVksS0FBQTtJQUNaLGVBQWUsS0FBQTtJQUNmLGFBQWEsS0FBQTtJQUNiLGVBQWUsS0FBQTtJQUNmLG1CQUFtQixLQUFBO0lBQ25CLGtCQUFrQixLQUFBO0lBQ2xCLGFBQWEsS0FBQTtJQUViLElBQUksS0FBQTtJQUNKLFVBQVUsS0FBQTtJQUNWLE1BQU0sS0FBQTtJQUNOLFFBQVEsS0FBQTtJQUNSLFNBQVMsS0FBQTtJQUVULFFBQVEsS0FBQTtJQUVSLFNBQVMsS0FBQTtJQUNULGlCQUFpQixLQUFBO0lBQ2pCLFdBQVcsS0FBQTtJQUNYLEtBQUssS0FBQTtJQUVMLFNBQVMsS0FBQTtDQUNWO0FBRUQsZUFBTyxNQUFNLGdCQUFnQixRQUk1QixDQUFDO0FBSUYsb0JBQVksV0FBVztJQUNyQixLQUFLLElBQUE7SUFDTCxNQUFNLElBQUE7SUFDTixNQUFNLElBQUE7SUFDTixNQUFNLElBQUE7SUFDTixPQUFPLElBQUE7SUFDUCxFQUFFLElBQUE7SUFDRixHQUFHLElBQUE7Q0FDSjtBQUdELEtBQUssaUJBQWlCLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQWdCekM7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FHL0Q7QUFrREQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE1BQU0sRUFBRSxZQUFZLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxDQXlCdkc7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQW1CckYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAIF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAGD,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAgEzC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAyBvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
1
+ {"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAIF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAGD,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAgBzC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAG/D;AAkDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAyBvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { strict as assert } from 'assert';
3
3
  import { TaggedMemory } from '../avm_memory_types.js';
4
4
  import { BufferCursor } from './buffer_cursor.js';
@@ -157,6 +157,16 @@ const OPERAND_SPEC = new Map([
157
157
  ]
158
158
  ]
159
159
  ]);
160
+ /**
161
+ * Returns the size of an operand in bytes.
162
+ * Should not be called with unknown operand types.
163
+ * @param operandType
164
+ * @returns number size in bytes
165
+ * @throws AssertionError if the operand type is unknown
166
+ */ export function getOperandSize(operandType) {
167
+ assert(OPERAND_SPEC.has(operandType), `Unknown operand type: ${operandType}`);
168
+ return OPERAND_SPEC.get(operandType)[0];
169
+ }
160
170
  function readUintBE(buf, offset, totalBytes) {
161
171
  let value = 0n;
162
172
  for(let i = 0; i < totalBytes; ++i){
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
3
3
  import type { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
4
4
  import type { PublicSideEffectTraceInterface } from '../side_effect_trace_interface.js';
@@ -6,10 +6,10 @@ export declare function mockTraceFork(trace: PublicSideEffectTraceInterface, nes
6
6
  export declare function mockStorageRead(worldStateDB: PublicTreesDB, value: Fr): void;
7
7
  export declare function mockNoteHashCount(mockedTrace: PublicSideEffectTraceInterface, count: number): void;
8
8
  export declare function mockStorageReadWithMap(worldStateDB: PublicTreesDB, mockedStorage: Map<bigint, Fr>): void;
9
- export declare function mockNoteHashExists(worldStateDB: PublicTreesDB, _leafIndex: bigint, value?: Fr): void;
9
+ export declare function mockGetNoteHash(worldStateDB: PublicTreesDB, _leafIndex: bigint, value?: Fr): void;
10
10
  export declare function mockCheckNullifierExists(worldStateDB: PublicTreesDB, exists: boolean, _ignoredValue?: Fr): void;
11
- export declare function mockL1ToL2MessageExists(worldStateDB: PublicTreesDB, leafIndex: bigint, value: Fr, valueAtOtherIndices?: Fr): void;
11
+ export declare function mockGetL1ToL2LeafValue(worldStateDB: PublicTreesDB, leafIndex: bigint, value?: Fr): void;
12
12
  export declare function mockGetContractInstance(contractsDB: PublicContractsDB, contractInstance: ContractInstanceWithAddress): void;
13
13
  export declare function mockGetContractClass(contractsDB: PublicContractsDB, contractClass: ContractClassPublic): void;
14
14
  export declare function mockGetBytecodeCommitment(contractsDB: PublicContractsDB, commitment: Fr): void;
15
- //# sourceMappingURL=test_utils.d.ts.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vdGVzdF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUsvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXhGLHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixRQUloSDtBQUVELHdCQUFnQixlQUFlLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUVyRTtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsOEJBQThCLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFFM0Y7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsUUFJakc7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBUTFGO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLFFBRXhHO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBUWhHO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSwyQkFBMkIsUUFFcEg7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxtQkFBbUIsUUFFdEc7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxFQUFFLFFBRXZGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAK/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,wBAAgB,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAE,WAAW,CAAC,EAAE,8BAA8B,QAIhH;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,QAErE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,MAAM,QAE3F;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAIjG;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAS7F;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,QAExG;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,aAAa,EAC3B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,EAAE,EACT,mBAAmB,CAAC,EAAE,EAAE,QAWzB;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,QAEpH;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,QAEtG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,QAEvF"}
1
+ {"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/public/avm/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAK/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,wBAAgB,aAAa,CAAC,KAAK,EAAE,8BAA8B,EAAE,WAAW,CAAC,EAAE,8BAA8B,QAIhH;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,QAErE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,MAAM,QAE3F;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAIjG;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAQ1F;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,QAExG;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAQhG;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,QAEpH;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,QAEtG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,QAEvF"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { mock } from 'jest-mock-extended';
3
3
  export function mockTraceFork(trace, nestedTrace) {
4
4
  trace.fork.mockReturnValue(nestedTrace ?? mock());
@@ -12,27 +12,24 @@ export function mockNoteHashCount(mockedTrace, count) {
12
12
  export function mockStorageReadWithMap(worldStateDB, mockedStorage) {
13
13
  worldStateDB.storageRead.mockImplementation((_address, slot)=>Promise.resolve(mockedStorage.get(slot.toBigInt()) ?? Fr.ZERO));
14
14
  }
15
- export function mockNoteHashExists(worldStateDB, _leafIndex, value) {
15
+ export function mockGetNoteHash(worldStateDB, _leafIndex, value) {
16
16
  worldStateDB.getNoteHash.mockImplementation((index)=>{
17
- if (index == _leafIndex) {
17
+ if (index == _leafIndex && value) {
18
18
  return Promise.resolve(value);
19
19
  } else {
20
- // This is ok for now since the traceing functions handle it
21
- return Promise.resolve(undefined);
20
+ return Promise.resolve(Fr.ZERO);
22
21
  }
23
22
  });
24
23
  }
25
24
  export function mockCheckNullifierExists(worldStateDB, exists, _ignoredValue) {
26
25
  worldStateDB.checkNullifierExists.mockResolvedValue(exists);
27
26
  }
28
- export function mockL1ToL2MessageExists(worldStateDB, leafIndex, value, valueAtOtherIndices) {
27
+ export function mockGetL1ToL2LeafValue(worldStateDB, leafIndex, value) {
29
28
  worldStateDB.getL1ToL2LeafValue.mockImplementation((index)=>{
30
- if (index == leafIndex) {
29
+ if (index == leafIndex && value) {
31
30
  return Promise.resolve(value);
32
31
  } else {
33
- // any indices other than mockAtLeafIndex will return a different value
34
- // (or undefined if no value is specified for other indices)
35
- return Promise.resolve(valueAtOtherIndices);
32
+ return Promise.resolve(Fr.ZERO);
36
33
  }
37
34
  });
38
35
  }
@@ -0,0 +1,16 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
4
+ export declare class ContractsDbCheckpoint {
5
+ private instances;
6
+ private classes;
7
+ private bytecodeCommitments;
8
+ addInstance(address: AztecAddress, instance: ContractInstanceWithAddress): void;
9
+ addClass(classId: Fr, contractClass: ContractClassPublic): void;
10
+ addBytecodeCommitment(classId: Fr, commitment: Fr): void;
11
+ getInstance(address: AztecAddress): ContractInstanceWithAddress | undefined;
12
+ getClass(classId: Fr): ContractClassPublic | undefined;
13
+ getBytecodeCommitment(classId: Fr): Fr | undefined;
14
+ deepCopy(): ContractsDbCheckpoint;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzX2RiX2NoZWNrcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvY29udHJhY3RzX2RiX2NoZWNrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRixxQkFBYSxxQkFBcUI7SUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBdUQ7SUFDeEUsT0FBTyxDQUFDLE9BQU8sQ0FBK0M7SUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUE4QjtJQUVsRCxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxDQUVyRjtJQUVNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRXJFO0lBRU0scUJBQXFCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FFOUQ7SUFFTSxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRywyQkFBMkIsR0FBRyxTQUFTLENBRWpGO0lBRU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsU0FBUyxDQUU1RDtJQUVNLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FFeEQ7SUFFTSxRQUFRLElBQUkscUJBQXFCLENBTXZDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts_db_checkpoint.d.ts","sourceRoot":"","sources":["../../src/public/contracts_db_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE/F,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,mBAAmB,CAA8B;IAElD,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAErF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAErE;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAE9D;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS,CAEjF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAE5D;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAExD;IAEM,QAAQ,IAAI,qBAAqB,CAMvC;CACF"}
@@ -0,0 +1,30 @@
1
+ export class ContractsDbCheckpoint {
2
+ instances = new Map();
3
+ classes = new Map();
4
+ bytecodeCommitments = new Map();
5
+ addInstance(address, instance) {
6
+ this.instances.set(address.toString(), instance);
7
+ }
8
+ addClass(classId, contractClass) {
9
+ this.classes.set(classId.toString(), contractClass);
10
+ }
11
+ addBytecodeCommitment(classId, commitment) {
12
+ this.bytecodeCommitments.set(classId.toString(), commitment);
13
+ }
14
+ getInstance(address) {
15
+ return this.instances.get(address.toString());
16
+ }
17
+ getClass(classId) {
18
+ return this.classes.get(classId.toString());
19
+ }
20
+ getBytecodeCommitment(classId) {
21
+ return this.bytecodeCommitments.get(classId.toString());
22
+ }
23
+ deepCopy() {
24
+ const copy = new ContractsDbCheckpoint();
25
+ this.instances.forEach((value, key)=>copy.instances.set(key, value));
26
+ this.classes.forEach((value, key)=>copy.classes.set(key, value));
27
+ this.bytecodeCommitments.forEach((value, key)=>copy.bytecodeCommitments.set(key, value));
28
+ return copy;
29
+ }
30
+ }
@@ -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 { FunctionSelector } from '@aztec/stdlib/abi';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
@@ -52,5 +52,17 @@ export interface PublicContractsDBInterface {
52
52
  * @returns The name of the function or undefined if not found.
53
53
  */
54
54
  getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
55
+ /**
56
+ * Creates a checkpoint of the current contract state.
57
+ */
58
+ createCheckpoint(): void;
59
+ /**
60
+ * Commits the current checkpoint, merging its state with the parent.
61
+ */
62
+ commitCheckpoint(): void;
63
+ /**
64
+ * Reverts the current checkpoint, discarding its state.
65
+ */
66
+ revertCheckpoint(): void;
55
67
  }
56
- //# sourceMappingURL=db_interfaces.d.ts.map
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJfaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kYl9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sV0FBVyxzQkFBc0I7SUFDckM7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUzRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0U7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVywwQkFBMEI7SUFDekM7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRWhIOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoRjs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXBFOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3Rzs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztDQUMxQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,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,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;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,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAEhH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G"}
1
+ {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;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,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAEhH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7G;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B"}
@@ -1,5 +1,18 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FunctionSelector } from '@aztec/stdlib/abi';
2
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
4
  import type { PublicContractsDBInterface } from './db_interfaces.js';
4
5
  export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: Fr[]): Promise<string>;
5
- //# sourceMappingURL=debug_fn_name.d.ts.map
6
+ /**
7
+ * Get the function selector and optional debug name for a public function.
8
+ * Returns the selector and name separately, with name only populated if a debug name is available.
9
+ * @param db - The contracts database
10
+ * @param contractAddress - The contract address
11
+ * @param calldata - The calldata (selector is in calldata[0])
12
+ * @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
13
+ */
14
+ export declare function getPublicFunctionSelectorAndName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: Fr[]): Promise<{
15
+ functionSelector?: FunctionSelector;
16
+ functionName?: string;
17
+ }>;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfZm5fbmFtZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kZWJ1Z19mbl9uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckUsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLEVBQUUsMEJBQTBCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FDYixPQUFPLENBQUMsTUFBTSxDQUFDLENBV2pCO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQixnQ0FBZ0MsQ0FDcEQsRUFBRSxFQUFFLDBCQUEwQixFQUM5QixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQ2IsT0FBTyxDQUFDO0lBQUUsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztJQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUMsQ0FjekUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/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,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAczE"}
@@ -4,6 +4,32 @@ export async function getPublicFunctionDebugName(db, contractAddress, calldata)
4
4
  if (!calldata[0]) {
5
5
  return `<calldata[0] undefined> (Contract Address: ${contractAddress})`;
6
6
  }
7
- const selector = FunctionSelector.fromField(calldata[0]);
8
- return await db.getDebugFunctionName(contractAddress, selector) ?? selector.toString();
7
+ const fallbackName = `<calldata[0]:${calldata[0].toString()}> (Contract Address: ${contractAddress})`;
8
+ const selector = FunctionSelector.fromFieldOrUndefined(calldata[0]);
9
+ if (!selector) {
10
+ return fallbackName;
11
+ }
12
+ return await db.getDebugFunctionName(contractAddress, selector) ?? fallbackName;
13
+ }
14
+ /**
15
+ * Get the function selector and optional debug name for a public function.
16
+ * Returns the selector and name separately, with name only populated if a debug name is available.
17
+ * @param db - The contracts database
18
+ * @param contractAddress - The contract address
19
+ * @param calldata - The calldata (selector is in calldata[0])
20
+ * @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
21
+ */ export async function getPublicFunctionSelectorAndName(db, contractAddress, calldata) {
22
+ // Public function is dispatched and therefore the target function is passed in the first argument.
23
+ if (!calldata[0]) {
24
+ return {};
25
+ }
26
+ const selector = FunctionSelector.fromFieldOrUndefined(calldata[0]);
27
+ if (!selector) {
28
+ return {};
29
+ }
30
+ const debugName = await db.getDebugFunctionName(contractAddress, selector);
31
+ return {
32
+ functionSelector: selector,
33
+ functionName: debugName ?? undefined
34
+ };
9
35
  }
@@ -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 TelemetryClient, type Tracer } from '@aztec/telemetry-client';
3
4
  import type { ExecutorMetricsInterface } from './executor_metrics_interface.js';
4
5
  export declare class ExecutorMetrics implements ExecutorMetricsInterface {
@@ -12,9 +13,9 @@ export declare class ExecutorMetrics implements ExecutorMetricsInterface {
12
13
  private privateEffectsInsertions;
13
14
  constructor(client: TelemetryClient, name?: string);
14
15
  startRecordingTxSimulation(_txLabel: string): void;
15
- stopRecordingTxSimulation(_txLabel: string, _revertedCode?: RevertCode): void;
16
+ stopRecordingTxSimulation(_txLabel: string, _gasUsed?: GasUsed, _revertedCode?: RevertCode): void;
16
17
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
17
18
  recordEnqueuedCallSimulationFailure(_fnName: string, _durationMs: number, _manaUsed: number, _totalInstructionsExecuted: number): void;
18
19
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
19
20
  }
20
- //# sourceMappingURL=executor_metrics.d.ts.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3JfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRvcl9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFJTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLHFCQUFhLGVBQWdCLFlBQVcsd0JBQXdCO0lBQzlELFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxRQUFRLENBQVk7SUFDNUIsT0FBTyxDQUFDLHlCQUF5QixDQUFZO0lBQzdDLE9BQU8sQ0FBQyxTQUFTLENBQVk7SUFDN0IsT0FBTyxDQUFDLHdCQUF3QixDQUFZO0lBRTVDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLFNBQW1CLEVBMkMzRDtJQUVELDBCQUEwQixDQUFDLFFBQVEsRUFBRSxNQUFNLFFBRTFDO0lBRUQseUJBQXlCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsVUFBVSxRQUV6RjtJQUVELDRCQUE0QixDQUMxQixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLHlCQUF5QixFQUFFLE1BQU0sUUFxQmxDO0lBRUQsbUNBQW1DLENBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQ2YsV0FBVyxFQUFFLE1BQU0sRUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFDakIsMEJBQTBCLEVBQUUsTUFBTSxRQUtuQztJQUVELDZCQUE2QixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksR0FBRyxnQkFBZ0IsUUFJdEY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB;IA6C5D,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAI3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU;IAItE,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAuBnC,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM;IAOpC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;CAKxF"}
1
+ {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;IAE5C,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB,EA2C3D;IAED,0BAA0B,CAAC,QAAQ,EAAE,MAAM,QAE1C;IAED,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,UAAU,QAEzF;IAED,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAqBlC;IAED,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM,QAKnC;IAED,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,QAItF;CACF"}
@@ -48,7 +48,7 @@ export class ExecutorMetrics {
48
48
  startRecordingTxSimulation(_txLabel) {
49
49
  // do nothing (unimplemented)
50
50
  }
51
- stopRecordingTxSimulation(_txLabel, _revertedCode) {
51
+ stopRecordingTxSimulation(_txLabel, _gasUsed, _revertedCode) {
52
52
  // do nothing (unimplemented)
53
53
  }
54
54
  recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructionsExecuted) {
@@ -1,9 +1,10 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  export interface ExecutorMetricsInterface {
3
4
  startRecordingTxSimulation(txLabel: string): void;
4
- stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
5
+ stopRecordingTxSimulation(txLabel: string, gasUsed?: GasUsed, revertedCode?: RevertCode): void;
5
6
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
6
7
  recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
7
8
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
8
9
  }
9
- //# sourceMappingURL=executor_metrics_interface.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3JfbWV0cmljc19pbnRlcmZhY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvZXhlY3V0b3JfbWV0cmljc19pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxXQUFXLHdCQUF3QjtJQUN2QywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNsRCx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQy9GLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDcEgsbUNBQW1DLENBQ2pDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIseUJBQXlCLEVBQUUsTUFBTSxHQUNoQyxJQUFJLENBQUM7SUFDUiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0NBQ2hHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5E,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,GAChC,IAAI,CAAC;IACR,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
1
+ {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/F,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,GAChC,IAAI,CAAC;IACR,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
@@ -7,4 +7,4 @@ import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
7
7
  * You do NOT need permission to remove this test!
8
8
  */
9
9
  export declare function ammTest(tester: PublicTxSimulationTester, logger: Logger, tokenArtifact: ContractArtifact, ammArtifact: ContractArtifact, expectToBeTrue: (x: boolean) => void): Promise<void>;
10
- //# sourceMappingURL=amm_test.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1tX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvYW1tX3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUk1RTs7OztHQUlHO0FBQ0gsd0JBQXNCLE9BQU8sQ0FDM0IsTUFBTSxFQUFFLHdCQUF3QixFQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsRUFBRSxnQkFBZ0IsRUFDL0IsV0FBVyxFQUFFLGdCQUFnQixFQUM3QixjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxLQUFLLElBQUksaUJBcUdyQyJ9
@@ -1,6 +1,6 @@
1
1
  import { GeneratorIndex } from '@aztec/constants';
2
- import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Timer } from '@aztec/foundation/timer';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import { setUpToken } from './token_test.js';
@@ -3,4 +3,4 @@ import type { ContractArtifact } from '@aztec/stdlib/abi';
3
3
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
4
4
  export declare function bulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("../index.js").PublicTxResult>;
5
5
  export declare function megaBulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("../index.js").PublicTxResult>;
6
- //# sourceMappingURL=bulk_test.d.ts.map
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa190ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2J1bGtfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVFLHdCQUFzQixRQUFRLENBQzVCLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsaURBa0YxQztBQUVELHdCQUFzQixZQUFZLENBQ2hDLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsaURBc0UxQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"bulk_test.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/bulk_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAyD1C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAkF1C"}
1
+ {"version":3,"file":"bulk_test.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/bulk_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAkF1C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAsE1C"}