@aztec/simulator 0.0.1-commit.a5db02d → 0.0.1-commit.aa0c64f

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/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  2. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  3. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +1 -1
  4. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  5. package/dest/public/avm/testing/utils.d.ts +32 -0
  6. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  7. package/dest/public/avm/{fixtures → testing}/utils.js +0 -33
  8. package/dest/public/avm_simulator.d.ts +28 -0
  9. package/dest/public/avm_simulator.d.ts.map +1 -0
  10. package/dest/public/avm_simulator.js +4 -0
  11. package/dest/public/avm_simulator_pool.d.ts +45 -0
  12. package/dest/public/avm_simulator_pool.d.ts.map +1 -0
  13. package/dest/public/avm_simulator_pool.js +197 -0
  14. package/dest/public/cdb/generated/api_types.d.ts +171 -0
  15. package/dest/public/cdb/generated/api_types.d.ts.map +1 -0
  16. package/dest/public/cdb/generated/api_types.js +314 -0
  17. package/dest/public/cdb/generated/server.d.ts +26 -0
  18. package/dest/public/cdb/generated/server.d.ts.map +1 -0
  19. package/dest/public/cdb/generated/server.js +135 -0
  20. package/dest/public/cdb_ipc_server.d.ts +33 -0
  21. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  22. package/dest/public/cdb_ipc_server.js +153 -0
  23. package/dest/public/fixtures/index.d.ts +2 -4
  24. package/dest/public/fixtures/index.d.ts.map +1 -1
  25. package/dest/public/fixtures/index.js +1 -3
  26. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  27. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  28. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  29. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +11 -7
  30. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  31. package/dest/public/fixtures/public_tx_simulation_tester.js +29 -41
  32. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  33. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  34. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  35. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  36. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  37. package/dest/public/index.d.ts +5 -2
  38. package/dest/public/index.d.ts.map +1 -1
  39. package/dest/public/index.js +2 -1
  40. package/dest/public/public_db_sources.d.ts +2 -2
  41. package/dest/public/public_db_sources.d.ts.map +1 -1
  42. package/dest/public/public_db_sources.js +1 -1
  43. package/dest/public/public_processor/guarded_merkle_tree.d.ts +4 -3
  44. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  45. package/dest/public/public_processor/guarded_merkle_tree.js +3 -0
  46. package/dest/public/public_processor/public_processor.d.ts +8 -4
  47. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  48. package/dest/public/public_processor/public_processor.js +19 -34
  49. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  50. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  51. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  52. package/dest/public/public_tx_simulator/factories.d.ts +8 -8
  53. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  54. package/dest/public/public_tx_simulator/factories.js +8 -8
  55. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  56. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  57. package/dest/public/public_tx_simulator/index.js +2 -4
  58. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -75
  59. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  60. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -323
  61. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  62. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  63. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  64. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  65. package/dest/public/test_executor_metrics.d.ts +1 -6
  66. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  67. package/dest/public/test_executor_metrics.js +0 -22
  68. package/package.json +22 -19
  69. package/src/public/avm/{fixtures → testing}/utils.ts +0 -39
  70. package/src/public/avm_simulator.ts +29 -0
  71. package/src/public/avm_simulator_pool.ts +226 -0
  72. package/src/public/cdb/generated/api_types.ts +457 -0
  73. package/src/public/cdb/generated/server.ts +109 -0
  74. package/src/public/cdb_ipc_server.ts +197 -0
  75. package/src/public/fixtures/index.ts +1 -3
  76. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  77. package/src/public/fixtures/public_tx_simulation_tester.ts +37 -50
  78. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  79. package/src/public/fuzzing/avm_fuzzer_simulator.ts +25 -10
  80. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  81. package/src/public/index.ts +7 -3
  82. package/src/public/public_db_sources.ts +1 -1
  83. package/src/public/public_processor/guarded_merkle_tree.ts +5 -2
  84. package/src/public/public_processor/public_processor.ts +25 -39
  85. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
  86. package/src/public/public_tx_simulator/factories.ts +27 -10
  87. package/src/public/public_tx_simulator/index.ts +6 -5
  88. package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -480
  89. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  90. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  91. package/src/public/test_executor_metrics.ts +0 -24
  92. package/dest/public/avm/avm_context.d.ts +0 -41
  93. package/dest/public/avm/avm_context.d.ts.map +0 -1
  94. package/dest/public/avm/avm_context.js +0 -44
  95. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  96. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  97. package/dest/public/avm/avm_contract_call_result.js +0 -54
  98. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  99. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  100. package/dest/public/avm/avm_execution_environment.js +0 -33
  101. package/dest/public/avm/avm_gas.d.ts +0 -44
  102. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  103. package/dest/public/avm/avm_gas.js +0 -195
  104. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  105. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  106. package/dest/public/avm/avm_machine_state.js +0 -110
  107. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  108. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  109. package/dest/public/avm/avm_memory_types.js +0 -354
  110. package/dest/public/avm/avm_simulator.d.ts +0 -41
  111. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  112. package/dest/public/avm/avm_simulator.js +0 -192
  113. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  114. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  115. package/dest/public/avm/avm_simulator_interface.js +0 -3
  116. package/dest/public/avm/calldata.d.ts +0 -51
  117. package/dest/public/avm/calldata.d.ts.map +0 -1
  118. package/dest/public/avm/calldata.js +0 -64
  119. package/dest/public/avm/errors.d.ts +0 -104
  120. package/dest/public/avm/errors.d.ts.map +0 -1
  121. package/dest/public/avm/errors.js +0 -141
  122. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +0 -2
  123. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +0 -1
  124. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  125. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  126. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  127. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  128. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  129. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  130. package/dest/public/avm/fixtures/initializers.js +0 -45
  131. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  132. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  133. package/dest/public/avm/index.d.ts +0 -2
  134. package/dest/public/avm/index.d.ts.map +0 -1
  135. package/dest/public/avm/index.js +0 -1
  136. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  137. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  138. package/dest/public/avm/opcodes/accrued_substate.js +0 -254
  139. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  140. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  141. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  142. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  143. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  144. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  145. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  146. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  147. package/dest/public/avm/opcodes/bitwise.js +0 -99
  148. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  149. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  150. package/dest/public/avm/opcodes/comparators.js +0 -43
  151. package/dest/public/avm/opcodes/contract.d.ts +0 -21
  152. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  153. package/dest/public/avm/opcodes/contract.js +0 -69
  154. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  155. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  156. package/dest/public/avm/opcodes/control_flow.js +0 -107
  157. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  158. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  159. package/dest/public/avm/opcodes/conversion.js +0 -333
  160. package/dest/public/avm/opcodes/ec_add.d.ts +0 -17
  161. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  162. package/dest/public/avm/opcodes/ec_add.js +0 -79
  163. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  164. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  165. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  166. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  167. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  168. package/dest/public/avm/opcodes/external_calls.js +0 -210
  169. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  170. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  171. package/dest/public/avm/opcodes/hashing.js +0 -119
  172. package/dest/public/avm/opcodes/index.d.ts +0 -16
  173. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  174. package/dest/public/avm/opcodes/index.js +0 -15
  175. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  176. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  177. package/dest/public/avm/opcodes/instruction.js +0 -95
  178. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  179. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  180. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  181. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  182. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  183. package/dest/public/avm/opcodes/memory.js +0 -257
  184. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  185. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  186. package/dest/public/avm/opcodes/misc.js +0 -73
  187. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  188. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  189. package/dest/public/avm/opcodes/storage.js +0 -78
  190. package/dest/public/avm/revert_reason.d.ts +0 -18
  191. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  192. package/dest/public/avm/revert_reason.js +0 -39
  193. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  194. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  195. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  196. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  197. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  198. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  199. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  200. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  201. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  202. package/dest/public/avm/test_utils.d.ts +0 -15
  203. package/dest/public/avm/test_utils.d.ts.map +0 -1
  204. package/dest/public/avm/test_utils.js +0 -44
  205. package/dest/public/debug_fn_name.d.ts +0 -18
  206. package/dest/public/debug_fn_name.d.ts.map +0 -1
  207. package/dest/public/debug_fn_name.js +0 -37
  208. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -19
  209. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  210. package/dest/public/fixtures/custom_bytecode_tests.js +0 -263
  211. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  212. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  213. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  214. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  215. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  216. package/dest/public/fixtures/opcode_spammer.js +0 -1645
  217. package/dest/public/hinting_db_sources.d.ts +0 -80
  218. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  219. package/dest/public/hinting_db_sources.js +0 -356
  220. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
  221. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  222. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -99
  223. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  224. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  225. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -131
  226. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  227. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  228. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  229. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  230. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  231. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  232. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  233. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  234. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  235. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  236. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  237. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -135
  238. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  239. package/dest/public/public_tx_simulator/public_tx_context.js +0 -298
  240. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  241. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  242. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  243. package/dest/public/side_effect_trace.d.ts +0 -87
  244. package/dest/public/side_effect_trace.d.ts.map +0 -1
  245. package/dest/public/side_effect_trace.js +0 -199
  246. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  247. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  248. package/dest/public/side_effect_trace_interface.js +0 -1
  249. package/dest/public/state_manager/index.d.ts +0 -2
  250. package/dest/public/state_manager/index.d.ts.map +0 -1
  251. package/dest/public/state_manager/index.js +0 -1
  252. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  253. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  254. package/dest/public/state_manager/nullifiers.js +0 -92
  255. package/dest/public/state_manager/public_storage.d.ts +0 -66
  256. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  257. package/dest/public/state_manager/public_storage.js +0 -145
  258. package/dest/public/state_manager/state_manager.d.ts +0 -170
  259. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  260. package/dest/public/state_manager/state_manager.js +0 -402
  261. package/src/public/avm/avm_context.ts +0 -61
  262. package/src/public/avm/avm_contract_call_result.ts +0 -69
  263. package/src/public/avm/avm_execution_environment.ts +0 -51
  264. package/src/public/avm/avm_gas.ts +0 -183
  265. package/src/public/avm/avm_machine_state.ts +0 -170
  266. package/src/public/avm/avm_memory_types.ts +0 -440
  267. package/src/public/avm/avm_simulator.ts +0 -279
  268. package/src/public/avm/avm_simulator_interface.ts +0 -8
  269. package/src/public/avm/calldata.ts +0 -101
  270. package/src/public/avm/errors.ts +0 -177
  271. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  272. package/src/public/avm/fixtures/initializers.ts +0 -103
  273. package/src/public/avm/index.ts +0 -1
  274. package/src/public/avm/opcodes/accrued_substate.ts +0 -285
  275. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  276. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  277. package/src/public/avm/opcodes/bitwise.ts +0 -113
  278. package/src/public/avm/opcodes/comparators.ts +0 -55
  279. package/src/public/avm/opcodes/contract.ts +0 -76
  280. package/src/public/avm/opcodes/control_flow.ts +0 -123
  281. package/src/public/avm/opcodes/conversion.ts +0 -104
  282. package/src/public/avm/opcodes/ec_add.ts +0 -86
  283. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  284. package/src/public/avm/opcodes/external_calls.ts +0 -262
  285. package/src/public/avm/opcodes/hashing.ts +0 -151
  286. package/src/public/avm/opcodes/index.ts +0 -15
  287. package/src/public/avm/opcodes/instruction.ts +0 -136
  288. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  289. package/src/public/avm/opcodes/memory.ts +0 -293
  290. package/src/public/avm/opcodes/misc.ts +0 -102
  291. package/src/public/avm/opcodes/storage.ts +0 -95
  292. package/src/public/avm/revert_reason.ts +0 -58
  293. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  294. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  295. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  296. package/src/public/avm/test_utils.ts +0 -64
  297. package/src/public/debug_fn_name.ts +0 -52
  298. package/src/public/fixtures/custom_bytecode_tests.ts +0 -435
  299. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  300. package/src/public/fixtures/opcode_spammer.ts +0 -1713
  301. package/src/public/hinting_db_sources.ts +0 -610
  302. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -125
  303. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -210
  304. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  305. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  306. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  307. package/src/public/public_tx_simulator/public_tx_context.ts +0 -482
  308. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  309. package/src/public/side_effect_trace.ts +0 -293
  310. package/src/public/side_effect_trace_interface.ts +0 -28
  311. package/src/public/state_manager/index.ts +0 -1
  312. package/src/public/state_manager/nullifiers.ts +0 -103
  313. package/src/public/state_manager/public_storage.ts +0 -174
  314. package/src/public/state_manager/state_manager.ts +0 -569
  315. /package/dest/public/avm/{fixtures → testing}/account_proof_fetcher.js +0 -0
  316. /package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +0 -0
  317. /package/src/public/avm/{fixtures → testing}/account_proof.json +0 -0
  318. /package/src/public/avm/{fixtures → testing}/account_proof_fetcher.ts +0 -0
  319. /package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +0 -0
@@ -1,9 +1,4 @@
1
- import {
2
- MAX_NOTE_HASHES_PER_TX,
3
- MAX_NULLIFIERS_PER_TX,
4
- MAX_TX_BLOB_DATA_SIZE_IN_FIELDS,
5
- NULLIFIER_SUBTREE_HEIGHT,
6
- } from '@aztec/constants';
1
+ import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT } from '@aztec/constants';
7
2
  import { padArrayEnd } from '@aztec/foundation/collection';
8
3
  import { Fr } from '@aztec/foundation/curves/bn254';
9
4
  import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
@@ -55,11 +50,12 @@ import { ForkCheckpoint } from '@aztec/world-state/native';
55
50
 
56
51
  import { AssertionError } from 'assert';
57
52
 
53
+ import type { AvmSimulator } from '../avm_simulator.js';
58
54
  import { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
59
55
  import {
60
56
  type PublicTxSimulatorConfig,
61
57
  type PublicTxSimulatorInterface,
62
- TelemetryCppPublicTxSimulator,
58
+ TelemetryPublicTxSimulator,
63
59
  } from '../public_tx_simulator/index.js';
64
60
  import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
65
61
  import { PublicProcessorMetrics } from './public_processor_metrics.js';
@@ -71,6 +67,7 @@ export class PublicProcessorFactory {
71
67
  private log: Logger;
72
68
  constructor(
73
69
  private contractDataSource: ContractDataSource,
70
+ private avmSimulator: AvmSimulator,
74
71
  private dateProvider: DateProvider = new DateProvider(),
75
72
  protected telemetryClient: TelemetryClient = getTelemetryClient(),
76
73
  bindings?: LoggerBindings,
@@ -79,7 +76,9 @@ export class PublicProcessorFactory {
79
76
  }
80
77
 
81
78
  /**
82
- * Creates a new instance of a PublicProcessor.
79
+ * Creates a new instance of a PublicProcessor. The simulator it drives reads contract data from the fork's
80
+ * contracts DB, scoped by the fork id so AVM requests route to the right state.
81
+ *
83
82
  * @param globalVariables - The global variables for the block being processed.
84
83
  * @param contractsDB - Optional pre-populated contracts DB; a fresh one is constructed if omitted.
85
84
  * @returns A new instance of a PublicProcessor.
@@ -90,8 +89,10 @@ export class PublicProcessorFactory {
90
89
  config: PublicSimulatorConfig,
91
90
  contractsDB: PublicContractsDB = new PublicContractsDB(this.contractDataSource, this.log.getBindings()),
92
91
  ): PublicProcessor {
92
+ const forkId = merkleTree.getRevision().forkId;
93
+
93
94
  const guardedFork = new GuardedMerkleTreeOperations(merkleTree);
94
- const publicTxSimulator = this.createPublicTxSimulator(guardedFork, contractsDB, globalVariables, config);
95
+ const publicTxSimulator = this.createPublicTxSimulator(forkId, globalVariables, contractsDB, config);
95
96
 
96
97
  return new PublicProcessor(
97
98
  globalVariables,
@@ -105,15 +106,16 @@ export class PublicProcessorFactory {
105
106
  }
106
107
 
107
108
  protected createPublicTxSimulator(
108
- merkleTree: MerkleTreeWriteOperations,
109
- contractsDB: PublicContractsDB,
109
+ forkId: number,
110
110
  globalVariables: GlobalVariables,
111
+ contractsDB: PublicContractsDB,
111
112
  config?: Partial<PublicTxSimulatorConfig>,
112
113
  ): PublicTxSimulatorInterface {
113
- return new TelemetryCppPublicTxSimulator(
114
- merkleTree,
115
- contractsDB,
114
+ return new TelemetryPublicTxSimulator(
115
+ this.avmSimulator,
116
116
  globalVariables,
117
+ contractsDB,
118
+ forkId,
117
119
  this.telemetryClient,
118
120
  config,
119
121
  this.log.getBindings(),
@@ -135,10 +137,6 @@ class PublicProcessorAbortError extends Error {
135
137
  }
136
138
  }
137
139
 
138
- function isPublicProcessorInterruptError(err: any) {
139
- return err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError';
140
- }
141
-
142
140
  /**
143
141
  * Converts Txs lifted from the P2P module into ProcessedTx objects by executing
144
142
  * any public function calls in them. Txs with private calls only are unaffected.
@@ -272,22 +270,6 @@ export class PublicProcessor implements Traceable {
272
270
  const txBlobFields = processedTx.txEffect.getNumBlobFields();
273
271
  const txSize = txBlobFields * Fr.SIZE_IN_BYTES;
274
272
 
275
- // A single tx's effects must fit within the per-tx blob encoding: the rollup circuit encodes each
276
- // tx into a fixed [Field; MAX_TX_BLOB_DATA_SIZE_IN_FIELDS] array, so a larger tx effect cannot be
277
- // proven. The per-category side-effect limits already guarantee this upstream, so reaching here means
278
- // the tx is malformed; reject it as invalid rather than letting it poison proving.
279
- if (txBlobFields > MAX_TX_BLOB_DATA_SIZE_IN_FIELDS) {
280
- const error = new Error(
281
- `Tx ${txHash} produced ${txBlobFields} blob fields, exceeding the per-tx maximum of ${MAX_TX_BLOB_DATA_SIZE_IN_FIELDS}`,
282
- );
283
- this.log.error(error.message, { txHash, txBlobFields });
284
- await checkpoint.revert();
285
- this.contractsDB.revertCheckpoint();
286
- failed.push({ tx, error });
287
- returns.push(new NestedProcessReturnValues([]));
288
- continue;
289
- }
290
-
291
273
  // If the actual blob fields of this tx would exceed the limit, skip it.
292
274
  // Note: maxBlobFields already accounts for block end blob fields and previous blocks in checkpoint.
293
275
  if (maxBlobFields !== undefined && totalBlobFields + txBlobFields > maxBlobFields) {
@@ -347,11 +329,15 @@ export class PublicProcessor implements Traceable {
347
329
  // Commit the tx-level contracts checkpoint on success
348
330
  this.contractsDB.commitCheckpoint();
349
331
  } catch (err: any) {
350
- if (isPublicProcessorInterruptError(err)) {
351
- const interruptReason = err.name === 'PublicProcessorTimeoutError' ? 'timeout' : 'abort signal';
352
- this.log.warn(`Stopping tx processing due to ${interruptReason}.`);
353
- // The tx may still be executing on a worker thread (C++ via NAPI).
354
- // Signal cancellation AND WAIT for the simulation to actually stop before touching fork checkpoints.
332
+ if (err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError') {
333
+ this.log.warn(
334
+ `Stopping tx processing due to ${err.name === 'PublicProcessorTimeoutError' ? 'timeout' : 'abort'}.`,
335
+ );
336
+ // We hit the transaction execution deadline or an external abort signal.
337
+ // There may still be a simulation in progress.
338
+ // Signal cancellation AND WAIT for the simulation to actually stop. Cancellation is
339
+ // cooperative: the simulator may be mid slow-operation and won't observe the flag until it
340
+ // completes, and without waiting we'd revert checkpoints while it's still writing to state.
355
341
  await this.publicTxSimulator.cancel?.();
356
342
 
357
343
  // Now stop the guarded fork to prevent any further TS-side access to the world state.
@@ -4,35 +4,36 @@ import {
4
4
  AvmCircuitPublicInputs,
5
5
  AvmExecutionHints,
6
6
  type PublicSimulatorConfig,
7
- PublicTxResult,
7
+ type PublicTxResult,
8
8
  serializeWithMessagePack,
9
9
  } from '@aztec/stdlib/avm';
10
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
11
- import type { GlobalVariables, Tx, TxHash } from '@aztec/stdlib/tx';
10
+ import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
12
11
 
13
12
  import { strict as assert } from 'assert';
14
13
  import { mkdirSync, writeFileSync } from 'fs';
15
14
  import { join } from 'path';
16
15
 
16
+ import type { AvmSimulator } from '../avm_simulator.js';
17
17
  import type { PublicContractsDB } from '../public_db_sources.js';
18
- import { CppPublicTxSimulator } from './cpp_public_tx_simulator.js';
18
+ import { PublicTxSimulator } from './public_tx_simulator.js';
19
19
 
20
20
  /**
21
- * A C++ public tx simulator that dumps AVM circuit inputs to disk after simulation.
22
- * Used during nightly CI runs to collect circuit inputs for benchmarking.
21
+ * A {@link PublicTxSimulator} that dumps AVM circuit inputs to disk after simulation.
22
+ * Used during nightly CI runs to collect circuit inputs for AVM proving benchmarks.
23
23
  */
24
- export class DumpingCppPublicTxSimulator extends CppPublicTxSimulator {
24
+ export class DumpingPublicTxSimulator extends PublicTxSimulator {
25
25
  private readonly outputDir: string;
26
26
 
27
27
  constructor(
28
- merkleTree: MerkleTreeWriteOperations,
29
- contractsDB: PublicContractsDB,
28
+ avmSimulator: AvmSimulator,
30
29
  globalVariables: GlobalVariables,
30
+ contractsDB: PublicContractsDB,
31
+ forkId: number,
31
32
  config: Partial<PublicSimulatorConfig>,
32
33
  outputDir: string,
33
34
  bindings?: LoggerBindings,
34
35
  ) {
35
- super(merkleTree, contractsDB, globalVariables, config, bindings);
36
+ super(avmSimulator, globalVariables, contractsDB, forkId, config, bindings);
36
37
  assert(config.collectHints === true, 'collectHints must be enabled to dump AVM circuit inputs');
37
38
  assert(config.collectPublicInputs === true, 'collectPublicInputs must be enabled to dump AVM circuit inputs');
38
39
  this.outputDir = outputDir;
@@ -40,44 +41,27 @@ export class DumpingCppPublicTxSimulator extends CppPublicTxSimulator {
40
41
 
41
42
  public override async simulate(tx: Tx): Promise<PublicTxResult> {
42
43
  const result = await super.simulate(tx);
43
-
44
- // Dump the circuit inputs after successful simulation
45
- const txHash = this.computeTxHash(tx);
46
- this.dumpAvmCircuitInputs(result, txHash);
47
-
44
+ this.dumpAvmCircuitInputs(result, tx.getTxHash().toString());
48
45
  return result;
49
46
  }
50
47
 
51
- /**
52
- * Dumps AVM circuit inputs to disk.
53
- *
54
- * @param result - The simulation result containing hints and public inputs
55
- * @param txHash - The transaction hash to use in the filename
56
- */
57
- private dumpAvmCircuitInputs(result: PublicTxResult, txHash: TxHash): void {
48
+ private dumpAvmCircuitInputs(result: PublicTxResult, txHash: string): void {
58
49
  try {
59
- // Ensure the output directory exists
60
50
  mkdirSync(this.outputDir, { recursive: true });
61
51
 
62
- // Generate filename using transaction hash
63
- const filename = `avm-circuit-inputs-tx-${txHash.toString()}.bin`;
52
+ const filename = `avm-circuit-inputs-tx-${txHash}.bin`;
64
53
  const filepath = join(this.outputDir, filename);
65
54
 
66
- // Create circuit inputs from the result
67
55
  const hints = result.hints ?? AvmExecutionHints.empty();
68
56
  const publicInputs = result.publicInputs ?? AvmCircuitPublicInputs.empty();
69
57
  const avmCircuitInputs = new AvmCircuitInputs(hints, publicInputs);
70
58
 
71
- // Serialize the circuit inputs using MessagePack
72
59
  const serialized = serializeWithMessagePack(avmCircuitInputs);
73
-
74
- // Write to disk
75
60
  writeFileSync(filepath, serialized);
76
61
 
77
62
  this.log.debug(`Dumped AVM circuit inputs to ${filepath}`);
78
63
  } catch (error) {
79
- // Non-blocking error handling - log but don't interrupt processing
80
- this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash.toString()}: ${error}`);
64
+ this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash}: ${error}`);
81
65
  }
82
66
  }
83
67
  }
@@ -1,22 +1,23 @@
1
1
  import type { LoggerBindings } from '@aztec/foundation/log';
2
2
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
4
3
  import type { GlobalVariables } from '@aztec/stdlib/tx';
5
4
  import type { TelemetryClient } from '@aztec/telemetry-client';
6
5
 
6
+ import type { AvmSimulator } from '../avm_simulator.js';
7
7
  import type { PublicContractsDB } from '../public_db_sources.js';
8
- import { TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
9
- import { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
8
+ import { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
9
+ import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
10
10
 
11
11
  /**
12
- * Creates a public tx simulator for block building.
13
- * Uses DumpingCppPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing avm circuit),
14
- * otherwise uses TelemetryCppPublicTxSimulator (for production).
12
+ * Creates an IPC-based public tx simulator for block building.
13
+ * Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing the AVM circuit),
14
+ * otherwise uses TelemetryPublicTxSimulator (for production).
15
15
  */
16
16
  export function createPublicTxSimulatorForBlockBuilding(
17
- merkleTree: MerkleTreeWriteOperations,
18
- contractsDB: PublicContractsDB,
17
+ avmSimulator: AvmSimulator,
19
18
  globalVariables: GlobalVariables,
19
+ contractsDB: PublicContractsDB,
20
+ forkId: number,
20
21
  telemetryClient: TelemetryClient,
21
22
  bindings?: LoggerBindings,
22
23
  collectDebugLogs = false,
@@ -38,7 +39,23 @@ export function createPublicTxSimulatorForBlockBuilding(
38
39
  collectHints: true,
39
40
  collectPublicInputs: true,
40
41
  };
41
- return new DumpingCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, dumpingConfig, dumpDir, bindings);
42
+ return new DumpingPublicTxSimulator(
43
+ avmSimulator,
44
+ globalVariables,
45
+ contractsDB,
46
+ forkId,
47
+ dumpingConfig,
48
+ dumpDir,
49
+ bindings,
50
+ );
42
51
  }
43
- return new TelemetryCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, telemetryClient, config, bindings);
52
+ return new TelemetryPublicTxSimulator(
53
+ avmSimulator,
54
+ globalVariables,
55
+ contractsDB,
56
+ forkId,
57
+ telemetryClient,
58
+ config,
59
+ bindings,
60
+ );
44
61
  }
@@ -1,7 +1,8 @@
1
- export * from './public_tx_simulator.js';
2
- export { CppPublicTxSimulator, TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
3
- export { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
1
+ export { PublicTxSimulator, MeasuredPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator.js';
2
+ export { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
4
3
  export { createPublicTxSimulatorForBlockBuilding } from './factories.js';
5
- export type { PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
6
- export { TelemetryPublicTxSimulator } from './telemetry_public_tx_simulator.js';
4
+ export type {
5
+ PublicTxSimulatorInterface,
6
+ MeasuredPublicTxSimulatorInterface,
7
+ } from './public_tx_simulator_interface.js';
7
8
  export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';