@aztec/simulator 0.0.1-commit.2eb6648a → 0.0.1-commit.2f68f620

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 (312) hide show
  1. package/README.md +4 -4
  2. package/dest/private/acvm_wasm.d.ts +1 -1
  3. package/dest/private/acvm_wasm.d.ts.map +1 -1
  4. package/dest/private/acvm_wasm.js +3 -1
  5. package/dest/private/circuit_recording/circuit_recorder.js +2 -2
  6. package/dest/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  7. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  8. package/dest/public/avm/testing/account_proof_fetcher.js +152 -0
  9. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  10. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  11. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +17 -2
  12. package/dest/public/avm/testing/utils.d.ts +32 -0
  13. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  14. package/dest/public/avm/{fixtures → testing}/utils.js +3 -33
  15. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  16. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  17. package/dest/public/contracts_db_checkpoint.js +1 -1
  18. package/dest/public/fixtures/amm_test.js +2 -2
  19. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  20. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  21. package/dest/public/fixtures/bulk_test.js +31 -4
  22. package/dest/public/fixtures/index.d.ts +1 -4
  23. package/dest/public/fixtures/index.d.ts.map +1 -1
  24. package/dest/public/fixtures/index.js +0 -3
  25. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +8 -7
  26. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  27. package/dest/public/fixtures/public_tx_simulation_tester.js +16 -17
  28. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  29. package/dest/public/fixtures/utils.d.ts +2 -2
  30. package/dest/public/fixtures/utils.d.ts.map +1 -1
  31. package/dest/public/fixtures/utils.js +19 -20
  32. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +6 -4
  33. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  34. package/dest/public/fuzzing/avm_fuzzer_simulator.js +12 -7
  35. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  36. package/dest/public/index.d.ts +2 -2
  37. package/dest/public/index.d.ts.map +1 -1
  38. package/dest/public/index.js +1 -1
  39. package/dest/public/public_db_sources.d.ts +6 -3
  40. package/dest/public/public_db_sources.d.ts.map +1 -1
  41. package/dest/public/public_db_sources.js +16 -10
  42. package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -7
  43. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  44. package/dest/public/public_processor/guarded_merkle_tree.js +8 -5
  45. package/dest/public/public_processor/public_processor.d.ts +8 -5
  46. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  47. package/dest/public/public_processor/public_processor.js +109 -74
  48. package/dest/public/public_processor/public_processor_metrics.d.ts +4 -1
  49. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  50. package/dest/public/public_processor/public_processor_metrics.js +8 -0
  51. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +1 -1
  52. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -1
  53. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +3 -2
  54. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +23 -0
  55. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  56. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +2 -2
  57. package/dest/public/public_tx_simulator/factories.d.ts +6 -6
  58. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  59. package/dest/public/public_tx_simulator/factories.js +8 -8
  60. package/dest/public/public_tx_simulator/index.d.ts +3 -5
  61. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  62. package/dest/public/public_tx_simulator/index.js +2 -4
  63. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +41 -70
  64. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  65. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -319
  66. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +22 -0
  67. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  68. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +28 -0
  69. package/package.json +17 -18
  70. package/src/private/acvm_wasm.ts +4 -1
  71. package/src/private/circuit_recording/circuit_recorder.ts +2 -2
  72. package/src/public/avm/testing/account_proof.json +553 -0
  73. package/src/public/avm/testing/account_proof_fetcher.ts +166 -0
  74. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +22 -2
  75. package/src/public/avm/{fixtures → testing}/utils.ts +3 -39
  76. package/src/public/contracts_db_checkpoint.ts +1 -1
  77. package/src/public/fixtures/amm_test.ts +2 -2
  78. package/src/public/fixtures/bulk_test.ts +29 -4
  79. package/src/public/fixtures/index.ts +0 -3
  80. package/src/public/fixtures/public_tx_simulation_tester.ts +30 -15
  81. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  82. package/src/public/fixtures/utils.ts +26 -22
  83. package/src/public/fuzzing/avm_fuzzer_simulator.ts +16 -19
  84. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  85. package/src/public/index.ts +3 -3
  86. package/src/public/public_db_sources.ts +21 -14
  87. package/src/public/public_processor/guarded_merkle_tree.ts +11 -8
  88. package/src/public/public_processor/public_processor.ts +142 -93
  89. package/src/public/public_processor/public_processor_metrics.ts +12 -0
  90. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +3 -2
  91. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +2 -2
  92. package/src/public/public_tx_simulator/factories.ts +8 -7
  93. package/src/public/public_tx_simulator/index.ts +2 -4
  94. package/src/public/public_tx_simulator/public_tx_simulator.ts +150 -476
  95. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +35 -0
  96. package/dest/public/avm/avm_context.d.ts +0 -41
  97. package/dest/public/avm/avm_context.d.ts.map +0 -1
  98. package/dest/public/avm/avm_context.js +0 -44
  99. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  100. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  101. package/dest/public/avm/avm_contract_call_result.js +0 -54
  102. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  103. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  104. package/dest/public/avm/avm_execution_environment.js +0 -33
  105. package/dest/public/avm/avm_gas.d.ts +0 -44
  106. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  107. package/dest/public/avm/avm_gas.js +0 -195
  108. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  109. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  110. package/dest/public/avm/avm_machine_state.js +0 -110
  111. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  112. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  113. package/dest/public/avm/avm_memory_types.js +0 -354
  114. package/dest/public/avm/avm_simulator.d.ts +0 -41
  115. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  116. package/dest/public/avm/avm_simulator.js +0 -192
  117. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  118. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  119. package/dest/public/avm/avm_simulator_interface.js +0 -3
  120. package/dest/public/avm/calldata.d.ts +0 -51
  121. package/dest/public/avm/calldata.d.ts.map +0 -1
  122. package/dest/public/avm/calldata.js +0 -63
  123. package/dest/public/avm/errors.d.ts +0 -104
  124. package/dest/public/avm/errors.d.ts.map +0 -1
  125. package/dest/public/avm/errors.js +0 -141
  126. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  127. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  128. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  129. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  130. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  131. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  132. package/dest/public/avm/fixtures/initializers.js +0 -45
  133. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  134. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  135. package/dest/public/avm/index.d.ts +0 -2
  136. package/dest/public/avm/index.d.ts.map +0 -1
  137. package/dest/public/avm/index.js +0 -1
  138. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  139. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  140. package/dest/public/avm/opcodes/accrued_substate.js +0 -255
  141. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  142. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  143. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  144. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  145. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  146. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  147. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  148. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  149. package/dest/public/avm/opcodes/bitwise.js +0 -99
  150. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  151. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  152. package/dest/public/avm/opcodes/comparators.js +0 -43
  153. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  154. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  155. package/dest/public/avm/opcodes/contract.js +0 -65
  156. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  157. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  158. package/dest/public/avm/opcodes/control_flow.js +0 -107
  159. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  160. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  161. package/dest/public/avm/opcodes/conversion.js +0 -333
  162. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  163. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  164. package/dest/public/avm/opcodes/ec_add.js +0 -93
  165. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  166. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  167. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  168. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  169. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  170. package/dest/public/avm/opcodes/external_calls.js +0 -210
  171. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  172. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  173. package/dest/public/avm/opcodes/hashing.js +0 -119
  174. package/dest/public/avm/opcodes/index.d.ts +0 -16
  175. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  176. package/dest/public/avm/opcodes/index.js +0 -15
  177. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  178. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  179. package/dest/public/avm/opcodes/instruction.js +0 -95
  180. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  181. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  182. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  183. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  184. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  185. package/dest/public/avm/opcodes/memory.js +0 -257
  186. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  187. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  188. package/dest/public/avm/opcodes/misc.js +0 -73
  189. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  190. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  191. package/dest/public/avm/opcodes/storage.js +0 -78
  192. package/dest/public/avm/revert_reason.d.ts +0 -18
  193. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  194. package/dest/public/avm/revert_reason.js +0 -39
  195. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  196. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  197. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  198. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  199. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  200. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  201. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  202. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  203. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  204. package/dest/public/avm/test_utils.d.ts +0 -15
  205. package/dest/public/avm/test_utils.d.ts.map +0 -1
  206. package/dest/public/avm/test_utils.js +0 -44
  207. package/dest/public/debug_fn_name.d.ts +0 -18
  208. package/dest/public/debug_fn_name.d.ts.map +0 -1
  209. package/dest/public/debug_fn_name.js +0 -37
  210. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  211. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  212. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  213. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  214. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  215. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  216. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  217. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  218. package/dest/public/fixtures/opcode_spammer.js +0 -1653
  219. package/dest/public/hinting_db_sources.d.ts +0 -80
  220. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  221. package/dest/public/hinting_db_sources.js +0 -355
  222. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  223. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  224. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -132
  225. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  226. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  227. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  228. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  229. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  230. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  231. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  232. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  233. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  234. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  235. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  236. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -131
  237. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  238. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  239. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  240. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  241. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  242. package/dest/public/side_effect_trace.d.ts +0 -87
  243. package/dest/public/side_effect_trace.d.ts.map +0 -1
  244. package/dest/public/side_effect_trace.js +0 -199
  245. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  246. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  247. package/dest/public/side_effect_trace_interface.js +0 -1
  248. package/dest/public/state_manager/index.d.ts +0 -2
  249. package/dest/public/state_manager/index.d.ts.map +0 -1
  250. package/dest/public/state_manager/index.js +0 -1
  251. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  252. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  253. package/dest/public/state_manager/nullifiers.js +0 -92
  254. package/dest/public/state_manager/public_storage.d.ts +0 -66
  255. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  256. package/dest/public/state_manager/public_storage.js +0 -145
  257. package/dest/public/state_manager/state_manager.d.ts +0 -170
  258. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  259. package/dest/public/state_manager/state_manager.js +0 -402
  260. package/src/public/avm/avm_context.ts +0 -61
  261. package/src/public/avm/avm_contract_call_result.ts +0 -69
  262. package/src/public/avm/avm_execution_environment.ts +0 -51
  263. package/src/public/avm/avm_gas.ts +0 -183
  264. package/src/public/avm/avm_machine_state.ts +0 -170
  265. package/src/public/avm/avm_memory_types.ts +0 -440
  266. package/src/public/avm/avm_simulator.ts +0 -279
  267. package/src/public/avm/avm_simulator_interface.ts +0 -8
  268. package/src/public/avm/calldata.ts +0 -100
  269. package/src/public/avm/errors.ts +0 -177
  270. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  271. package/src/public/avm/fixtures/initializers.ts +0 -103
  272. package/src/public/avm/index.ts +0 -1
  273. package/src/public/avm/opcodes/accrued_substate.ts +0 -286
  274. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  275. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  276. package/src/public/avm/opcodes/bitwise.ts +0 -113
  277. package/src/public/avm/opcodes/comparators.ts +0 -55
  278. package/src/public/avm/opcodes/contract.ts +0 -72
  279. package/src/public/avm/opcodes/control_flow.ts +0 -123
  280. package/src/public/avm/opcodes/conversion.ts +0 -104
  281. package/src/public/avm/opcodes/ec_add.ts +0 -105
  282. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  283. package/src/public/avm/opcodes/external_calls.ts +0 -262
  284. package/src/public/avm/opcodes/hashing.ts +0 -151
  285. package/src/public/avm/opcodes/index.ts +0 -15
  286. package/src/public/avm/opcodes/instruction.ts +0 -136
  287. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  288. package/src/public/avm/opcodes/memory.ts +0 -293
  289. package/src/public/avm/opcodes/misc.ts +0 -102
  290. package/src/public/avm/opcodes/storage.ts +0 -95
  291. package/src/public/avm/revert_reason.ts +0 -58
  292. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  293. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  294. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  295. package/src/public/avm/test_utils.ts +0 -64
  296. package/src/public/debug_fn_name.ts +0 -52
  297. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  298. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  299. package/src/public/fixtures/opcode_spammer.ts +0 -1721
  300. package/src/public/hinting_db_sources.ts +0 -607
  301. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -211
  302. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  303. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  304. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  305. package/src/public/public_tx_simulator/public_tx_context.ts +0 -484
  306. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  307. package/src/public/side_effect_trace.ts +0 -293
  308. package/src/public/side_effect_trace_interface.ts +0 -28
  309. package/src/public/state_manager/index.ts +0 -1
  310. package/src/public/state_manager/nullifiers.ts +0 -103
  311. package/src/public/state_manager/public_storage.ts +0 -174
  312. package/src/public/state_manager/state_manager.ts +0 -569
@@ -1,10 +1,11 @@
1
1
  import { type ContractArtifact } from '@aztec/stdlib/abi';
2
2
  import { PublicSimulatorConfig, type PublicTxResult } from '@aztec/stdlib/avm';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { Gas } from '@aztec/stdlib/gas';
4
5
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
5
6
  import { GlobalVariables, type Tx } from '@aztec/stdlib/tx';
6
7
  import { NativeWorldStateService } from '@aztec/world-state';
7
- import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
8
+ import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
8
9
  import { PublicContractsDB } from '../public_db_sources.js';
9
10
  import type { MeasuredPublicTxSimulatorInterface } from '../public_tx_simulator/public_tx_simulator_interface.js';
10
11
  import { TestExecutorMetrics } from '../test_executor_metrics.js';
@@ -34,17 +35,17 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
34
35
  private simulator;
35
36
  private metricsPrefix?;
36
37
  constructor(merkleTree: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals?: GlobalVariables, metrics?: TestExecutorMetrics, simulatorFactory?: MeasuredSimulatorFactory, config?: PublicSimulatorConfig);
37
- static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics, useCppSimulator?: boolean, config?: PublicSimulatorConfig): Promise<PublicTxSimulationTester>;
38
+ static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics, config?: PublicSimulatorConfig): Promise<PublicTxSimulationTester>;
38
39
  setMetricsPrefix(prefix: string): void;
39
- createTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<Tx>;
40
- simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, txLabel?: string): Promise<PublicTxResult>;
40
+ createTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, gasLimits?: Gas): Promise<Tx>;
41
+ simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, txLabel?: string, gasLimits?: Gas): Promise<PublicTxResult>;
41
42
  /**
42
43
  * Just simulate the transaction and return the result.
43
44
  *
44
45
  * This wrapper around simulation allows for easy labeling of a TX
45
46
  * which is especially useful when reporting benchmarks or metrics.
46
47
  */
47
- simulateTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
48
+ simulateTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, gasLimits?: Gas): Promise<PublicTxResult>;
48
49
  /**
49
50
  * Execute a transaction and return the result.
50
51
  *
@@ -52,7 +53,7 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
52
53
  * to do more work (like prove and verify) while still reusing existing
53
54
  * test fixtures (like amm_test). That is why it is not named "simulate*".
54
55
  */
55
- executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
56
+ executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, gasLimits?: Gas): Promise<PublicTxResult>;
56
57
  prettyPrintMetrics(): void;
57
58
  /**
58
59
  * Cancel the current simulation if one is in progress.
@@ -69,4 +70,4 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
69
70
  getSimulator(): MeasuredPublicTxSimulatorInterface;
70
71
  }
71
72
  export declare function defaultGlobals(): GlobalVariables;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRpb25fdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3B1YmxpY190eF9zaW11bGF0aW9uX3Rlc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBbUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxlQUFlLEVBQWlDLEtBQUssRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFPeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUQsT0FBTyxLQUFLLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBMEIsTUFBTSxZQUFZLENBQUM7QUFJaEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUN0QixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQixJQUFJLEVBQUUsR0FBRyxFQUFF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
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRpb25fdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3B1YmxpY190eF9zaW11bGF0aW9uX3Rlc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBbUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQWtFLEdBQUcsRUFBVyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pILE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakYsT0FBTyxFQUFFLGVBQWUsRUFBaUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQU92RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUEwQixNQUFNLFlBQVksQ0FBQztBQUloRixNQUFNLE1BQU0sZ0JBQWdCLEdBQUc7SUFDN0IsTUFBTSxDQUFDLEVBQUUsWUFBWSxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsTUFBTSxD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
@@ -1 +1 @@
1
- {"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
- import { DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT } from '@aztec/constants';
1
+ import { PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { asyncMap } from '@aztec/foundation/async-map';
3
3
  import { BlockNumber } from '@aztec/foundation/branded-types';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { encodeArguments } from '@aztec/stdlib/abi';
6
6
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
7
- import { Gas, GasFees } from '@aztec/stdlib/gas';
7
+ import { FALLBACK_TEARDOWN_DA_GAS_LIMIT, FALLBACK_TEARDOWN_L2_GAS_LIMIT, Gas, GasFees } from '@aztec/stdlib/gas';
8
8
  import { PublicCallRequest } from '@aztec/stdlib/kernel';
9
9
  import { GlobalVariables, PublicCallRequestWithCalldata } from '@aztec/stdlib/tx';
10
- import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
11
- import { DEFAULT_BLOCK_NUMBER, DEFAULT_TIMESTAMP, getContractFunctionAbi, getFunctionSelector } from '../avm/fixtures/utils.js';
10
+ import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
11
+ import { DEFAULT_BLOCK_NUMBER, DEFAULT_TIMESTAMP, getContractFunctionAbi, getFunctionSelector } from '../avm/testing/utils.js';
12
12
  import { PublicContractsDB } from '../public_db_sources.js';
13
- import { MeasuredCppPublicTxSimulator } from '../public_tx_simulator/cpp_public_tx_simulator.js';
14
- import { MeasuredCppVsTsPublicTxSimulator } from '../public_tx_simulator/cpp_vs_ts_public_tx_simulator.js';
13
+ import { MeasuredPublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js';
15
14
  import { TestExecutorMetrics } from '../test_executor_metrics.js';
16
15
  import { SimpleContractDataSource } from './simple_contract_data_source.js';
17
16
  import { createTxForPublicCalls } from './utils.js';
@@ -39,13 +38,13 @@ const defaultConfig = PublicSimulatorConfig.from({
39
38
  if (simulatorFactory) {
40
39
  this.simulator = simulatorFactory(merkleTree, contractsDB, globals, this.metrics, config);
41
40
  } else {
42
- this.simulator = new MeasuredCppPublicTxSimulator(merkleTree, contractsDB, globals, this.metrics, config);
41
+ this.simulator = new MeasuredPublicTxSimulator(merkleTree, contractsDB, globals, this.metrics, config);
43
42
  }
44
43
  }
45
- static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), useCppSimulator = false, config = defaultConfig) {
44
+ static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), config = defaultConfig) {
46
45
  const contractDataSource = new SimpleContractDataSource();
47
46
  const merkleTree = await worldStateService.fork();
48
- const simulatorFactory = useCppSimulator ? (mt, cdb, g, m, c)=>new MeasuredCppPublicTxSimulator(mt, cdb, g, m, c) : (mt, cdb, g, m, c)=>new MeasuredCppVsTsPublicTxSimulator(mt, cdb, g, m, c);
47
+ const simulatorFactory = (mt, cdb, g, m, c)=>new MeasuredPublicTxSimulator(mt, cdb, g, m, c);
49
48
  return new PublicTxSimulationTester(merkleTree, contractDataSource, globals, metrics, simulatorFactory, config);
50
49
  }
51
50
  setMetricsPrefix(prefix) {
@@ -57,15 +56,15 @@ const defaultConfig = PublicSimulatorConfig.from({
57
56
  new Fr(420000 + this.txCount)
58
57
  ]
59
58
  }
60
- }) {
59
+ }, gasLimits) {
61
60
  const setupCallRequests = await asyncMap(setupCalls, (call)=>this.#createPubicCallRequestForCall(call, call.sender ?? sender));
62
61
  const appCallRequests = await asyncMap(appCalls, (call)=>this.#createPubicCallRequestForCall(call, call.sender ?? sender));
63
62
  const teardownCallRequest = teardownCall ? await this.#createPubicCallRequestForCall(teardownCall, teardownCall.sender ?? sender) : undefined;
64
63
  this.txCount++;
65
- return createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer, /*gasUsedByPrivate*/ teardownCall ? new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT) : Gas.empty(), defaultGlobals());
64
+ return createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer, /*gasUsedByPrivate*/ teardownCall ? new Gas(FALLBACK_TEARDOWN_DA_GAS_LIMIT + TX_DA_GAS_OVERHEAD, FALLBACK_TEARDOWN_L2_GAS_LIMIT + PUBLIC_TX_L2_GAS_OVERHEAD) : new Gas(TX_DA_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD), defaultGlobals(), gasLimits);
66
65
  }
67
- async simulateTx(sender, setupCalls = [], appCalls = [], teardownCall, feePayer = sender, /* need some unique first nullifier for note-nonce computations */ privateInsertions, txLabel = 'unlabeledTx') {
68
- const tx = await this.createTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions);
66
+ async simulateTx(sender, setupCalls = [], appCalls = [], teardownCall, feePayer = sender, /* need some unique first nullifier for note-nonce computations */ privateInsertions, txLabel = 'unlabeledTx', gasLimits) {
67
+ const tx = await this.createTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, gasLimits);
69
68
  await this.setFeePayerBalance(feePayer);
70
69
  const txLabelWithCount = `${txLabel}/${this.txCount - 1}`;
71
70
  const fullTxLabel = this.metricsPrefix ? `${this.metricsPrefix}/${txLabelWithCount}` : txLabelWithCount;
@@ -90,8 +89,8 @@ const defaultConfig = PublicSimulatorConfig.from({
90
89
  *
91
90
  * This wrapper around simulation allows for easy labeling of a TX
92
91
  * which is especially useful when reporting benchmarks or metrics.
93
- */ async simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions) {
94
- return await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, txLabel);
92
+ */ async simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, gasLimits) {
93
+ return await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, txLabel, gasLimits);
95
94
  }
96
95
  /**
97
96
  * Execute a transaction and return the result.
@@ -99,8 +98,8 @@ const defaultConfig = PublicSimulatorConfig.from({
99
98
  * This function can be (it is) overridden by a subclass (AvmProvingTester)
100
99
  * to do more work (like prove and verify) while still reusing existing
101
100
  * test fixtures (like amm_test). That is why it is not named "simulate*".
102
- */ async executeTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions) {
103
- return await this.simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions);
101
+ */ async executeTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, gasLimits) {
102
+ return await this.simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, gasLimits);
104
103
  }
105
104
  prettyPrintMetrics() {
106
105
  this.metrics.prettyPrint();
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
- import { getFunctionSelector } from '../avm/fixtures/utils.js';
2
+ import { getFunctionSelector } from '../avm/testing/utils.js';
3
3
  /**
4
4
  * This class is used during public/avm testing to function as a database of
5
5
  * contract contract classes and instances. Tests can populate it with classes
@@ -19,8 +19,8 @@ export type TestPrivateInsertions = {
19
19
  /**
20
20
  * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
21
21
  */
22
- export declare function createTxForPublicCalls(privateInsertions: TestPrivateInsertions, setupCallRequests: PublicCallRequestWithCalldata[], appCallRequests: PublicCallRequestWithCalldata[], teardownCallRequest?: PublicCallRequestWithCalldata, feePayer?: AztecAddress, gasUsedByPrivate?: Gas, globals?: GlobalVariables): Promise<Tx>;
22
+ export declare function createTxForPublicCalls(privateInsertions: TestPrivateInsertions, setupCallRequests: PublicCallRequestWithCalldata[], appCallRequests: PublicCallRequestWithCalldata[], teardownCallRequest?: PublicCallRequestWithCalldata, feePayer?: AztecAddress, gasUsedByPrivate?: Gas, globals?: GlobalVariables, gasLimits?: Gas): Promise<Tx>;
23
23
  export declare function createTxForPrivateOnly(feePayer?: AztecAddress, gasUsedByPrivate?: Gas): Promise<Tx>;
24
24
  export declare function addNewContractClassToTx(tx: Tx, contractClass: ContractClassPublic, skipNullifierInsertion?: boolean): Promise<void>;
25
25
  export declare function addNewContractInstanceToTx(tx: Tx, contractInstance: ContractInstanceWithAddress, skipNullifierInsertion?: boolean): Promise<void>;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxHQUFHLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFVOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBRUwsZUFBZSxFQUVmLDZCQUE2QixFQUM3QixFQUFFLEVBR0gsTUFBTSxrQkFBa0IsQ0FBQztBQUkxQixNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsVUFBVSxDQUFDLEVBQUU7UUFDWCxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0tBQ3BDLENBQUM7SUFDRixhQUFhLENBQUMsRUFBRTtRQUNkLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUM7S0FDcEMsQ0FBQztDQUNILENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFzQixzQkFBc0IsQ0FDMUMsaUJBQWlCLEVBQUUscUJBQXFCLEVBQ3hDLGlCQUFpQixFQUFFLDZCQUE2QixFQUFFLEVBQ2xELGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxFQUNoRCxtQkFBbUIsQ0FBQyxFQUFFLDZCQUE2QixFQUNuRCxRQUFRLGVBQXNCLEVBQzlCLGdCQUFnQixHQUFFLEdBQWlCLEVBQ25DLE9BQU8sR0FBRSxlQUF5QyxHQUNqRCxPQUFPLENBQUMsRUFBRSxDQUFDLENBOEZiO0FBRUQsd0JBQXNCLHNCQUFzQixDQUMxQyxRQUFRLGVBQXNCLEVBQzlCLGdCQUFnQixHQUFFLEdBQXFCLEdBQ3RDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0EwQmI7QUFFRCx3QkFBc0IsdUJBQXVCLENBQzNDLEVBQUUsRUFBRSxFQUFFLEVBQ04sYUFBYSxFQUFFLG1CQUFtQixFQUNsQyxzQkFBc0IsVUFBUSxpQkE2Qi9CO0FBRUQsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLEVBQUUsRUFBRSxFQUNOLGdCQUFnQixFQUFFLDJCQUEyQixFQUM3QyxzQkFBc0IsVUFBUSxpQkEwQy9CIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFHTCxHQUFHLEVBR0osTUFBTSxtQkFBbUIsQ0FBQztBQVUzQixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5FLE9BQU8sRUFFTCxlQUFlLEVBRWYsNkJBQTZCLEVBQzdCLEVBQUUsRUFHSCxNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE1BQU0sTUFBTSxxQkFBcUIsR0FBRztJQUNsQyxVQUFVLENBQUMsRUFBRTtRQUNYLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUM7S0FDcEMsQ0FBQztJQUNGLGFBQWEsQ0FBQyxFQUFFO1FBQ2QsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbEIsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbEIsVUFBVSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztLQUNwQyxDQUFDO0NBQ0gsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQXNCLHNCQUFzQixDQUMxQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFDeEMsaUJBQWlCLEVBQUUsNkJBQTZCLEVBQUUsRUFDbEQsZUFBZSxFQUFFLDZCQUE2QixFQUFFLEVBQ2hELG1CQUFtQixDQUFDLEVBQUUsNkJBQTZCLEVBQ25ELFFBQVEsZUFBc0IsRUFDOUIsZ0JBQWdCLEdBQUUsR0FBaUIsRUFDbkMsT0FBTyxHQUFFLGVBQXlDLEVBQ2xELFNBQVMsQ0FBQyxFQUFFLEdBQUcsR0FDZCxPQUFPLENBQUMsRUFBRSxDQUFDLENBOEZiO0FBRUQsd0JBQXNCLHNCQUFzQixDQUMxQyxRQUFRLGVBQXNCLEVBQzlCLGdCQUFnQixHQUFFLEdBQXFCLEdBQ3RDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0EwQmI7QUFFRCx3QkFBc0IsdUJBQXVCLENBQzNDLEVBQUUsRUFBRSxFQUFFLEVBQ04sYUFBYSxFQUFFLG1CQUFtQixFQUNsQyxzQkFBc0IsVUFBUSxpQkE2Qi9CO0FBRUQsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLEVBQUUsRUFBRSxFQUNOLGdCQUFnQixFQUFFLDJCQUEyQixFQUM3QyxzQkFBc0IsVUFBUSxpQkF5Qy9CIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/utils.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAU9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAEL,eAAe,EAEf,6BAA6B,EAC7B,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,iBAAiB,EAAE,qBAAqB,EACxC,iBAAiB,EAAE,6BAA6B,EAAE,EAClD,eAAe,EAAE,6BAA6B,EAAE,EAChD,mBAAmB,CAAC,EAAE,6BAA6B,EACnD,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAiB,EACnC,OAAO,GAAE,eAAyC,GACjD,OAAO,CAAC,EAAE,CAAC,CA8Fb;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAqB,GACtC,OAAO,CAAC,EAAE,CAAC,CA0Bb;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,mBAAmB,EAClC,sBAAsB,UAAQ,iBA6B/B;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,EAAE,EACN,gBAAgB,EAAE,2BAA2B,EAC7C,sBAAsB,UAAQ,iBA0C/B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAGL,GAAG,EAGJ,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAEL,eAAe,EAEf,6BAA6B,EAC7B,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,iBAAiB,EAAE,qBAAqB,EACxC,iBAAiB,EAAE,6BAA6B,EAAE,EAClD,eAAe,EAAE,6BAA6B,EAAE,EAChD,mBAAmB,CAAC,EAAE,6BAA6B,EACnD,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAiB,EACnC,OAAO,GAAE,eAAyC,EAClD,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,EAAE,CAAC,CA8Fb;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAqB,GACtC,OAAO,CAAC,EAAE,CAAC,CA0Bb;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,mBAAmB,EAClC,sBAAsB,UAAQ,iBA6B/B;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,EAAE,EACN,gBAAgB,EAAE,2BAA2B,EAC7C,sBAAsB,UAAQ,iBAyC/B"}
@@ -1,10 +1,10 @@
1
- import { CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT, DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
1
+ import { CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, MAX_PROCESSABLE_L2_GAS, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
2
2
  import { padArrayEnd } from '@aztec/foundation/collection';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG } from '@aztec/protocol-contracts';
5
5
  import { bufferAsFields } from '@aztec/stdlib/abi';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
7
+ import { FALLBACK_TEARDOWN_DA_GAS_LIMIT, FALLBACK_TEARDOWN_L2_GAS_LIMIT, Gas, GasFees, GasSettings } from '@aztec/stdlib/gas';
8
8
  import { siloNullifier } from '@aztec/stdlib/hash';
9
9
  import { LogHash, PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateKernelTailCircuitPublicInputs, countAccumulatedItems } from '@aztec/stdlib/kernel';
10
10
  import { ContractClassLogFields, PrivateLog } from '@aztec/stdlib/logs';
@@ -13,10 +13,10 @@ import { BlockHeader, GlobalVariables, HashedValues, Tx, TxConstantData, TxConte
13
13
  import { strict as assert } from 'assert';
14
14
  /**
15
15
  * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
16
- */ export async function createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer = AztecAddress.zero(), gasUsedByPrivate = Gas.empty(), globals = GlobalVariables.empty()) {
16
+ */ export async function createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer = AztecAddress.zero(), gasUsedByPrivate = Gas.empty(), globals = GlobalVariables.empty(), gasLimits) {
17
17
  assert(setupCallRequests.length > 0 || appCallRequests.length > 0 || teardownCallRequest !== undefined, "Can't create public tx with no enqueued calls");
18
18
  // use max limits
19
- const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
19
+ gasLimits = gasLimits ?? new Gas(MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, MAX_PROCESSABLE_L2_GAS);
20
20
  const forPublic = PartialPrivateTailPublicInputsForPublic.empty();
21
21
  // Non revertible private insertions
22
22
  if (!privateInsertions.nonRevertible?.nullifiers?.length) {
@@ -69,15 +69,15 @@ import { strict as assert } from 'assert';
69
69
  forPublic.publicTeardownCallRequest = teardownCallRequest.request;
70
70
  }
71
71
  const maxFeesPerGas = feePayer.isZero() ? GasFees.empty() : new GasFees(10, 10);
72
- const teardownGasLimits = teardownCallRequest ? new Gas(DEFAULT_TEARDOWN_DA_GAS_LIMIT, DEFAULT_TEARDOWN_L2_GAS_LIMIT) : Gas.empty();
72
+ const teardownGasLimits = teardownCallRequest ? new Gas(FALLBACK_TEARDOWN_DA_GAS_LIMIT, FALLBACK_TEARDOWN_L2_GAS_LIMIT) : Gas.empty();
73
73
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, maxFeesPerGas, GasFees.empty());
74
74
  const txContext = new TxContext(Fr.zero(), Fr.zero(), gasSettings);
75
75
  const header = BlockHeader.empty({
76
76
  globalVariables: globals
77
77
  });
78
78
  const constantData = new TxConstantData(header, txContext, Fr.zero(), Fr.zero());
79
- const includeByTimestamp = 0n; // Not used in the simulator.
80
- const txData = new PrivateKernelTailCircuitPublicInputs(constantData, /*gasUsed=*/ gasUsedByPrivate, feePayer, includeByTimestamp, forPublic);
79
+ const expirationTimestamp = 0n; // Not used in the simulator.
80
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, /*gasUsed=*/ gasUsedByPrivate, feePayer, expirationTimestamp, forPublic);
81
81
  const calldata = [
82
82
  ...setupCallRequests,
83
83
  ...appCallRequests,
@@ -94,14 +94,14 @@ import { strict as assert } from 'assert';
94
94
  }
95
95
  export async function createTxForPrivateOnly(feePayer = AztecAddress.zero(), gasUsedByPrivate = new Gas(10, 10)) {
96
96
  // use max limits
97
- const gasLimits = new Gas(DEFAULT_DA_GAS_LIMIT, DEFAULT_L2_GAS_LIMIT);
97
+ const gasLimits = new Gas(MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT, MAX_PROCESSABLE_L2_GAS);
98
98
  const forRollup = PartialPrivateTailPublicInputsForRollup.empty();
99
99
  const maxFeesPerGas = feePayer.isZero() ? GasFees.empty() : new GasFees(10, 10);
100
100
  const gasSettings = new GasSettings(gasLimits, Gas.empty(), maxFeesPerGas, GasFees.empty());
101
101
  const txContext = new TxContext(Fr.zero(), Fr.zero(), gasSettings);
102
102
  const constantData = new TxConstantData(BlockHeader.empty(), txContext, Fr.zero(), Fr.zero());
103
- const includeByTimestamp = 0n; // Not used in the simulator.
104
- const txData = new PrivateKernelTailCircuitPublicInputs(constantData, /*gasUsed=*/ gasUsedByPrivate, feePayer, includeByTimestamp, /*forPublic=*/ undefined, forRollup);
103
+ const expirationTimestamp = 0n; // Not used in the simulator.
104
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, /*gasUsed=*/ gasUsedByPrivate, feePayer, expirationTimestamp, /*forPublic=*/ undefined, forRollup);
105
105
  return await Tx.create({
106
106
  data: txData,
107
107
  chonkProof: ChonkProof.empty(),
@@ -135,17 +135,15 @@ export async function addNewContractClassToTx(tx, contractClass, skipNullifierIn
135
135
  tx.contractClassLogFields.push(logFields);
136
136
  }
137
137
  export async function addNewContractInstanceToTx(tx, contractInstance, skipNullifierInsertion = false) {
138
- // can't use publicKeys.toFields() because it includes isInfinite which
139
- // is not broadcast in such private logs
138
+ // Only ivpk_m is broadcast as a point (x, y); the other five keys are hashes.
140
139
  const publicKeysAsFields = [
141
- contractInstance.publicKeys.masterNullifierPublicKey.x,
142
- contractInstance.publicKeys.masterNullifierPublicKey.y,
143
- contractInstance.publicKeys.masterIncomingViewingPublicKey.x,
144
- contractInstance.publicKeys.masterIncomingViewingPublicKey.y,
145
- contractInstance.publicKeys.masterOutgoingViewingPublicKey.x,
146
- contractInstance.publicKeys.masterOutgoingViewingPublicKey.y,
147
- contractInstance.publicKeys.masterTaggingPublicKey.x,
148
- contractInstance.publicKeys.masterTaggingPublicKey.y
140
+ contractInstance.publicKeys.npkMHash,
141
+ contractInstance.publicKeys.ivpkM.x,
142
+ contractInstance.publicKeys.ivpkM.y,
143
+ contractInstance.publicKeys.ovpkMHash,
144
+ contractInstance.publicKeys.tpkMHash,
145
+ contractInstance.publicKeys.mspkMHash,
146
+ contractInstance.publicKeys.fbpkMHash
149
147
  ];
150
148
  const logFields = [
151
149
  CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG,
@@ -154,6 +152,7 @@ export async function addNewContractInstanceToTx(tx, contractInstance, skipNulli
154
152
  new Fr(contractInstance.salt),
155
153
  contractInstance.currentContractClassId,
156
154
  contractInstance.initializationHash,
155
+ contractInstance.immutablesHash,
157
156
  ...publicKeysAsFields,
158
157
  contractInstance.deployer.toField()
159
158
  ];
@@ -2,7 +2,7 @@ import { AvmTxHint, type PublicTxResult } from '@aztec/stdlib/avm';
2
2
  import { type MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
3
3
  import { GlobalVariables, ProtocolContracts } from '@aztec/stdlib/tx';
4
4
  import type { NativeWorldStateService } from '@aztec/world-state';
5
- import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
5
+ import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
6
6
  import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
7
7
  /**
8
8
  * Request structure for fuzzer simulation communication from C++.
@@ -24,14 +24,16 @@ export declare class FuzzerSimulationRequest {
24
24
  /**
25
25
  * A simulator class for the AVM fuzzer that extends BaseAvmSimulationTester.
26
26
  * It provides methods for registering contracts from C++ msgpack data and simulating transactions.
27
+ * The simulation itself runs on the production C++ AVM simulator, so the fuzzer compares brillig
28
+ * execution against the real AVM rather than a TS reference.
27
29
  */
28
30
  export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
29
31
  private simulator;
30
- constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables, protocolContracts: ProtocolContracts);
32
+ constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables);
31
33
  /**
32
34
  * Static factory method to create an AvmFuzzerSimulator.
33
35
  */
34
- static create(worldStateService: NativeWorldStateService, globals: GlobalVariables, protocolContracts: ProtocolContracts): Promise<AvmFuzzerSimulator>;
36
+ static create(worldStateService: NativeWorldStateService, globals: GlobalVariables): Promise<AvmFuzzerSimulator>;
35
37
  /**
36
38
  * Simulate a transaction from a C++ AvmTxHint.
37
39
  */
@@ -57,4 +59,4 @@ export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
57
59
  */
58
60
  applyNoteHashes(rawNoteHashes: any[]): Promise<void>;
59
61
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2Z1enplcl9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZnV6emluZy9hdm1fZnV6emVyX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbkUsT0FBTyxFQUFnQixLQUFLLHlCQUF5QixFQUFzQixNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFFTCxlQUFlLEVBRWYsaUJBQWlCLEVBS2xCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUl0Rjs7O0dBR0c7QUFDSCxxQkFBYSx1QkFBdUI7YUFFaEIsU0FBUyxFQUFFLE1BQU07YUFDakIsV0FBVyxFQUFFLE1BQU07YUFDbkIsRUFBRSxFQUFFLFNBQVM7YUFDYixPQUFPLEVBQUUsZUFBZTthQUN4QixlQUFlLEVBQUUsR0FBRyxFQUFFO2FBQ3RCLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2FBQy9CLGdCQUFnQixFQUFFLEdBQUcsRUFBRTthQUN2QixVQUFVLEVBQUUsR0FBRyxFQUFFO2FBQ2pCLGlCQUFpQixFQUFFLGlCQUFpQjtJQVR0RCxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxFQUNuQixFQUFFLEVBQUUsU0FBUyxFQUNiLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGVBQWUsRUFBRSxHQUFHLEVBQUUsRUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDL0IsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLEVBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFDakIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ2xEO0lBRUosTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHVCQUF1QixDQWV4RDtDQUNGO0FBbUhEOzs7R0FHRztBQUNILHFCQUFhLGtCQUFtQixTQUFRLHVCQUF1QjtJQUM3RCxPQUFPLENBQUMsU0FBUyxDQUFvQjtJQUVyQyxZQUNFLFdBQVcsRUFBRSx5QkFBeUIsRUFDdEMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQixFQWlCckM7SUFFRDs7T0FFRztJQUNILE9BQW9CLE1BQU0sQ0FDeEIsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQixHQUNuQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FJN0I7SUFFRDs7T0FFRztJQUNVLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FVaEU7SUFFRDs7T0FFRztJQUNVLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqRTtJQUVEOzs7O09BSUc7SUFDVSwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU14RjtJQUVEOzs7T0FHRztJQUNVLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBS2xFO0lBRUQ7OztPQUdHO0lBQ1UsZUFBZSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSWhFO0NBQ0YifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2Z1enplcl9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZnV6emluZy9hdm1fZnV6emVyX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbkUsT0FBTyxFQUFnQixLQUFLLHlCQUF5QixFQUFzQixNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFFTCxlQUFlLEVBRWYsaUJBQWlCLEVBS2xCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUl0Rjs7O0dBR0c7QUFDSCxxQkFBYSx1QkFBdUI7YUFFaEIsU0FBUyxFQUFFLE1BQU07YUFDakIsV0FBVyxFQUFFLE1BQU07YUFDbkIsRUFBRSxFQUFFLFNBQVM7YUFDYixPQUFPLEVBQUUsZUFBZTthQUN4QixlQUFlLEVBQUUsR0FBRyxFQUFFO2FBQ3RCLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2FBQy9CLGdCQUFnQixFQUFFLEdBQUcsRUFBRTthQUN2QixVQUFVLEVBQUUsR0FBRyxFQUFFO2FBQ2pCLGlCQUFpQixFQUFFLGlCQUFpQjtJQVR0RCxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxFQUNuQixFQUFFLEVBQUUsU0FBUyxFQUNiLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGVBQWUsRUFBRSxHQUFHLEVBQUUsRUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDL0IsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLEVBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFDakIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ2xEO0lBRUosTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHVCQUF1QixDQWV4RDtDQUNGO0FBbUhEOzs7OztHQUtHO0FBQ0gscUJBQWEsa0JBQW1CLFNBQVEsdUJBQXVCO0lBQzdELE9BQU8sQ0FBQyxTQUFTLENBQW9CO0lBRXJDLFlBQ0UsV0FBVyxFQUFFLHlCQUF5QixFQUN0QyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFjekI7SUFFRDs7T0FFRztJQUNILE9BQW9CLE1BQU0sQ0FDeEIsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQzFDLE9BQU8sRUFBRSxlQUFlLEdBQ3ZCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUk3QjtJQUVEOztPQUVHO0lBQ1UsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQVVoRTtJQUVEOztPQUVHO0lBQ1UsdUJBQXVCLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBR2pFO0lBRUQ7Ozs7T0FJRztJQUNVLDBCQUEwQixDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBTXhGO0lBRUQ7OztPQUdHO0lBQ1UscUJBQXFCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLbEU7SUFFRDs7O09BR0c7SUFDVSxlQUFlLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJaEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAgB,KAAK,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAItF;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,EAAE,EAAE,SAAS;aACb,OAAO,EAAE,eAAe;aACxB,eAAe,EAAE,GAAG,EAAE;aACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;aAC/B,gBAAgB,EAAE,GAAG,EAAE;aACvB,UAAU,EAAE,GAAG,EAAE;aACjB,iBAAiB,EAAE,iBAAiB;IATtD,YACkB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,GAAG,EAAE,EACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC/B,gBAAgB,EAAE,GAAG,EAAE,EACvB,UAAU,EAAE,GAAG,EAAE,EACjB,iBAAiB,EAAE,iBAAiB,EAClD;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB,CAexD;CACF;AAmHD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,OAAO,CAAC,SAAS,CAAoB;IAErC,YACE,WAAW,EAAE,yBAAyB,EACtC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,iBAAiB,EAiBrC;IAED;;OAEG;IACH,OAAoB,MAAM,CACxB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAI7B;IAED;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhE;IAED;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;IAED;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;IAED;;;OAGG;IACU,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;IAED;;;OAGG;IACU,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;CACF"}
1
+ {"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAgB,KAAK,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAItF;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,EAAE,EAAE,SAAS;aACb,OAAO,EAAE,eAAe;aACxB,eAAe,EAAE,GAAG,EAAE;aACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;aAC/B,gBAAgB,EAAE,GAAG,EAAE;aACvB,UAAU,EAAE,GAAG,EAAE;aACjB,iBAAiB,EAAE,iBAAiB;IATtD,YACkB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,GAAG,EAAE,EACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC/B,gBAAgB,EAAE,GAAG,EAAE,EACvB,UAAU,EAAE,GAAG,EAAE,EACjB,iBAAiB,EAAE,iBAAiB,EAClD;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB,CAexD;CACF;AAmHD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,OAAO,CAAC,SAAS,CAAoB;IAErC,YACE,WAAW,EAAE,yBAAyB,EACtC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,eAAe,EAczB;IAED;;OAEG;IACH,OAAoB,MAAM,CACxB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAI7B;IAED;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhE;IAED;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;IAED;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;IAED;;;OAGG;IACU,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;IAED;;;OAGG;IACU,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;CACF"}
@@ -10,7 +10,7 @@ import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
10
10
  import { ChonkProof } from '@aztec/stdlib/proofs';
11
11
  import { MerkleTreeId, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
12
12
  import { BlockHeader, GlobalVariables, HashedValues, ProtocolContracts, Tx, TxConstantData, TxContext, TxHash } from '@aztec/stdlib/tx';
13
- import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
13
+ import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
14
14
  import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
15
15
  import { PublicContractsDB } from '../public_db_sources.js';
16
16
  import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js';
@@ -47,7 +47,7 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
47
47
  }
48
48
  /**
49
49
  * Creates a TypeScript Tx object from a deserialized C++ Tx (AvmTxHint-like structure).
50
- * This allows using PublicTxSimulator.simulate() with fuzzer-generated transactions.
50
+ * This allows simulating fuzzer-generated transactions with the C++ public tx simulator.
51
51
  */ async function createTxFromHint(cppTx) {
52
52
  // Create TxHash from the C++ tx hash string
53
53
  if (!cppTx.hash) {
@@ -100,25 +100,30 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
100
100
  /**
101
101
  * A simulator class for the AVM fuzzer that extends BaseAvmSimulationTester.
102
102
  * It provides methods for registering contracts from C++ msgpack data and simulating transactions.
103
+ * The simulation itself runs on the production C++ AVM simulator, so the fuzzer compares brillig
104
+ * execution against the real AVM rather than a TS reference.
103
105
  */ export class AvmFuzzerSimulator extends BaseAvmSimulationTester {
104
106
  simulator;
105
- constructor(merkleTrees, contractDataSource, globals, protocolContracts){
107
+ constructor(merkleTrees, contractDataSource, globals){
106
108
  super(contractDataSource, merkleTrees);
107
109
  const contractsDb = new PublicContractsDB(contractDataSource);
110
+ // collectPublicInputs and collectCallMetadata are required so the C++ result carries the end
111
+ // tree snapshots and app-logic return values that the fuzzer bin reports back to the harness.
108
112
  this.simulator = new PublicTxSimulator(merkleTrees, contractsDb, globals, {
109
113
  skipFeeEnforcement: false,
110
114
  collectDebugLogs: false,
111
115
  collectHints: false,
116
+ collectPublicInputs: true,
112
117
  collectStatistics: false,
113
- collectCallMetadata: false
114
- }, protocolContracts);
118
+ collectCallMetadata: true
119
+ });
115
120
  }
116
121
  /**
117
122
  * Static factory method to create an AvmFuzzerSimulator.
118
- */ static async create(worldStateService, globals, protocolContracts) {
123
+ */ static async create(worldStateService, globals) {
119
124
  const contractDataSource = new SimpleContractDataSource();
120
125
  const merkleTrees = await worldStateService.fork();
121
- return new AvmFuzzerSimulator(merkleTrees, contractDataSource, globals, protocolContracts);
126
+ return new AvmFuzzerSimulator(merkleTrees, contractDataSource, globals);
122
127
  }
123
128
  /**
124
129
  * Simulate a transaction from a C++ AvmTxHint.
@@ -33,9 +33,9 @@ async function openExistingWorldState(dataDir, mapSizeKb) {
33
33
  worldStateCache.set(dataDir, ws);
34
34
  return ws;
35
35
  }
36
- async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances, rawPublicDataWrites, rawNoteHashes, protocolContracts) {
36
+ async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances, rawPublicDataWrites, rawNoteHashes) {
37
37
  const worldStateService = await openExistingWorldState(dataDir, mapSizeKb);
38
- const simulator = await AvmFuzzerSimulator.create(worldStateService, globals, protocolContracts);
38
+ const simulator = await AvmFuzzerSimulator.create(worldStateService, globals);
39
39
  await simulator.applyNoteHashes(rawNoteHashes);
40
40
  // Register contract classes from C++ (must happen before public data writes to match C++ order)
41
41
  for (const rawClass of rawContractClasses){
@@ -64,8 +64,8 @@ async function execute(base64Line) {
64
64
  const buffer = Buffer.from(base64Line.trim(), 'base64');
65
65
  const rawRequest = deserializeFromMessagePack(buffer);
66
66
  const request = FuzzerSimulationRequest.fromPlainObject(rawRequest);
67
- // Run the TS simulation
68
- const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances, request.publicDataWrites, request.noteHashes, request.protocolContracts);
67
+ // Run the simulation on the C++ AVM simulator
68
+ const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances, request.publicDataWrites, request.noteHashes);
69
69
  // Serialize the result to msgpack and encode it in base64 for output
70
70
  const resultBuffer = serializeWithMessagePack({
71
71
  reverted: result.reverted,
@@ -1,7 +1,7 @@
1
1
  export { PublicContractsDB } from './public_db_sources.js';
2
2
  export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
3
3
  export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
4
- export { CppPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingCppPublicTxSimulator, type PublicTxSimulatorInterface, TelemetryCppPublicTxSimulator, } from './public_tx_simulator/index.js';
4
+ export { PublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, type PublicTxSimulatorInterface, TelemetryPublicTxSimulator, } from './public_tx_simulator/index.js';
5
5
  export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
6
6
  export { getCallRequestsWithCalldataByPhase } from './utils.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pHLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixLQUFLLDBCQUEwQixFQUMvQiw2QkFBNkIsR0FDOUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxZQUFZLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDIn0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsdUNBQXVDLEVBQ3ZDLHdCQUF3QixFQUN4QixLQUFLLDBCQUEwQixFQUMvQiwwQkFBMEIsR0FDM0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxZQUFZLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixJQUFJLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EACL,oBAAoB,EACpB,uCAAuC,EACvC,2BAA2B,EAC3B,KAAK,0BAA0B,EAC/B,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EACL,iBAAiB,EACjB,uCAAuC,EACvC,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { PublicContractsDB } from './public_db_sources.js';
2
2
  export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
3
3
  export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
4
- export { CppPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingCppPublicTxSimulator, TelemetryCppPublicTxSimulator } from './public_tx_simulator/index.js';
4
+ export { PublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator/index.js';
5
5
  export { getCallRequestsWithCalldataByPhase } from './utils.js';
@@ -17,8 +17,11 @@ export declare class PublicContractsDB implements PublicContractsDBInterface {
17
17
  private contractStateStack;
18
18
  private log;
19
19
  constructor(dataSource: ContractDataSource, bindings?: LoggerBindings);
20
- addContracts(contractDeploymentData: ContractDeploymentData): Promise<void>;
21
- addNewContracts(tx: Tx): Promise<void>;
20
+ /** Parses raw log data from the C++/NAPI bridge and inserts the resulting contracts into the current checkpoint. */
21
+ addContractsFromLogs(contractDeploymentData: ContractDeploymentData): void;
22
+ addNewContracts(tx: Tx): void;
23
+ /** Inserts typed contract instances directly into the current checkpoint. */
24
+ addContracts(contractInstances?: ContractInstanceWithAddress[]): void;
22
25
  /**
23
26
  * Creates a new checkpoint, copying the current state for upcoming modifications,
24
27
  * and enabling rollbacks to current state in case of a revert.
@@ -77,4 +80,4 @@ export declare class PublicTreesDB implements PublicStateDBInterface {
77
80
  revertCheckpoint(): Promise<void>;
78
81
  getTreeSnapshots(): Promise<TreeSnapshots>;
79
82
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2RiX3NvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUN4QixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakYsT0FBTyxFQUNMLFlBQVksRUFLYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUtsRCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdGOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLDBCQUEwQjtJQU1oRSxPQUFPLENBQUMsVUFBVTtJQUxwQixPQUFPLENBQUMsa0JBQWtCLENBQTBEO0lBRXBGLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxVQUFVLEVBQUUsa0JBQWtCLEVBQ3RDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFWSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsc0JB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
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2RiX3NvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUN4QixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakYsT0FBTyxFQUNMLFlBQVksRUFLYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUtsRCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdGOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLDBCQUEwQjtJQU1oRSxPQUFPLENBQUMsVUFBVTtJQUxwQixPQUFPLENBQUMsa0JBQWtCLENBQTBEO0lBRXBGLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxVQUFVLEVBQUUsa0JBQWtCLEVBQ3RDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCxvSEFBb0g7SUFDN0csb0JBQW9CLENBQUMs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
@@ -1 +1 @@
1
- {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
@@ -26,22 +26,28 @@ import { L1ToL2MessageIndexOutOfRangeError, NoteHashIndexOutOfRangeError } from
26
26
  ];
27
27
  this.log = createLogger('simulator:contracts-data-source', bindings);
28
28
  }
29
- async addContracts(contractDeploymentData) {
29
+ /** Parses raw log data from the C++/NAPI bridge and inserts the resulting contracts into the current checkpoint. */ addContractsFromLogs(contractDeploymentData) {
30
30
  const currentState = this.getCurrentState();
31
- await this.addContractClassesFromEvents(ContractClassPublishedEvent.extractContractClassEvents(contractDeploymentData.getContractClassLogs()), currentState);
31
+ this.addContractClassesFromEvents(ContractClassPublishedEvent.extractContractClassEvents(contractDeploymentData.getContractClassLogs()), currentState);
32
32
  this.addContractInstancesFromEvents(ContractInstancePublishedEvent.extractContractInstanceEvents(contractDeploymentData.getPrivateLogs()), currentState);
33
33
  }
34
- async addNewContracts(tx) {
34
+ addNewContracts(tx) {
35
35
  const contractDeploymentData = AllContractDeploymentData.fromTx(tx);
36
- await this.addContracts(contractDeploymentData.getNonRevertibleContractDeploymentData());
37
- await this.addContracts(contractDeploymentData.getRevertibleContractDeploymentData());
36
+ this.addContractsFromLogs(contractDeploymentData.getNonRevertibleContractDeploymentData());
37
+ this.addContractsFromLogs(contractDeploymentData.getRevertibleContractDeploymentData());
38
+ }
39
+ /** Inserts typed contract instances directly into the current checkpoint. */ addContracts(contractInstances) {
40
+ const currentState = this.getCurrentState();
41
+ for (const instance of contractInstances ?? []){
42
+ currentState.addInstance(instance.address, instance);
43
+ }
38
44
  }
39
45
  /**
40
46
  * Creates a new checkpoint, copying the current state for upcoming modifications,
41
47
  * and enabling rollbacks to current state in case of a revert.
42
48
  */ createCheckpoint() {
43
49
  const currentState = this.getCurrentState();
44
- const newState = currentState.deepCopy();
50
+ const newState = currentState.fork();
45
51
  this.contractStateStack.push(newState);
46
52
  }
47
53
  /**
@@ -115,12 +121,12 @@ import { L1ToL2MessageIndexOutOfRangeError, NoteHashIndexOutOfRangeError } from
115
121
  async getDebugFunctionName(address, selector) {
116
122
  return await this.dataSource.getDebugFunctionName(address, selector);
117
123
  }
118
- async addContractClassesFromEvents(contractClassEvents, state) {
119
- await Promise.all(contractClassEvents.map(async (event)=>{
124
+ addContractClassesFromEvents(contractClassEvents, state) {
125
+ for (const event of contractClassEvents){
120
126
  this.log.debug(`Adding class ${event.contractClassId.toString()} to contract state`);
121
- const contractClass = await event.toContractClassPublic();
127
+ const contractClass = event.toContractClassPublic();
122
128
  state.addClass(event.contractClassId, contractClass);
123
- }));
129
+ }
124
130
  }
125
131
  addContractInstancesFromEvents(contractInstanceEvents, state) {
126
132
  contractInstanceEvents.forEach((e)=>{