@aztec/simulator 0.0.1-commit.3100065 → 0.0.1-commit.330febf

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 (311) 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_ipc_server.d.ts +40 -0
  15. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  16. package/dest/public/cdb_ipc_server.js +153 -0
  17. package/dest/public/fixtures/index.d.ts +2 -4
  18. package/dest/public/fixtures/index.d.ts.map +1 -1
  19. package/dest/public/fixtures/index.js +1 -3
  20. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  21. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  22. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  23. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +11 -7
  24. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  25. package/dest/public/fixtures/public_tx_simulation_tester.js +29 -41
  26. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  27. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  28. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  29. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  30. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  31. package/dest/public/index.d.ts +5 -2
  32. package/dest/public/index.d.ts.map +1 -1
  33. package/dest/public/index.js +2 -1
  34. package/dest/public/public_db_sources.d.ts +2 -2
  35. package/dest/public/public_db_sources.d.ts.map +1 -1
  36. package/dest/public/public_db_sources.js +1 -1
  37. package/dest/public/public_processor/guarded_merkle_tree.d.ts +4 -3
  38. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  39. package/dest/public/public_processor/guarded_merkle_tree.js +3 -0
  40. package/dest/public/public_processor/public_processor.d.ts +8 -4
  41. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  42. package/dest/public/public_processor/public_processor.js +19 -34
  43. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  44. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  45. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  46. package/dest/public/public_tx_simulator/factories.d.ts +8 -8
  47. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  48. package/dest/public/public_tx_simulator/factories.js +8 -8
  49. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  50. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  51. package/dest/public/public_tx_simulator/index.js +2 -4
  52. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -75
  53. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  54. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -323
  55. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  56. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  57. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  58. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  59. package/dest/public/test_executor_metrics.d.ts +1 -6
  60. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  61. package/dest/public/test_executor_metrics.js +0 -22
  62. package/package.json +20 -18
  63. package/src/public/avm/{fixtures → testing}/utils.ts +0 -39
  64. package/src/public/avm_simulator.ts +29 -0
  65. package/src/public/avm_simulator_pool.ts +226 -0
  66. package/src/public/cdb_ipc_server.ts +198 -0
  67. package/src/public/fixtures/index.ts +1 -3
  68. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  69. package/src/public/fixtures/public_tx_simulation_tester.ts +37 -50
  70. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  71. package/src/public/fuzzing/avm_fuzzer_simulator.ts +25 -10
  72. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  73. package/src/public/index.ts +7 -3
  74. package/src/public/public_db_sources.ts +1 -1
  75. package/src/public/public_processor/guarded_merkle_tree.ts +5 -2
  76. package/src/public/public_processor/public_processor.ts +25 -39
  77. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
  78. package/src/public/public_tx_simulator/factories.ts +27 -10
  79. package/src/public/public_tx_simulator/index.ts +6 -5
  80. package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -480
  81. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  82. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  83. package/src/public/test_executor_metrics.ts +0 -24
  84. package/dest/public/avm/avm_context.d.ts +0 -41
  85. package/dest/public/avm/avm_context.d.ts.map +0 -1
  86. package/dest/public/avm/avm_context.js +0 -44
  87. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  88. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  89. package/dest/public/avm/avm_contract_call_result.js +0 -54
  90. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  91. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  92. package/dest/public/avm/avm_execution_environment.js +0 -33
  93. package/dest/public/avm/avm_gas.d.ts +0 -44
  94. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  95. package/dest/public/avm/avm_gas.js +0 -195
  96. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  97. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  98. package/dest/public/avm/avm_machine_state.js +0 -110
  99. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  100. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  101. package/dest/public/avm/avm_memory_types.js +0 -354
  102. package/dest/public/avm/avm_simulator.d.ts +0 -41
  103. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  104. package/dest/public/avm/avm_simulator.js +0 -192
  105. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  106. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  107. package/dest/public/avm/avm_simulator_interface.js +0 -3
  108. package/dest/public/avm/calldata.d.ts +0 -51
  109. package/dest/public/avm/calldata.d.ts.map +0 -1
  110. package/dest/public/avm/calldata.js +0 -64
  111. package/dest/public/avm/errors.d.ts +0 -104
  112. package/dest/public/avm/errors.d.ts.map +0 -1
  113. package/dest/public/avm/errors.js +0 -141
  114. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +0 -2
  115. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +0 -1
  116. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  117. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  118. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  119. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  120. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  121. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  122. package/dest/public/avm/fixtures/initializers.js +0 -45
  123. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  124. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  125. package/dest/public/avm/index.d.ts +0 -2
  126. package/dest/public/avm/index.d.ts.map +0 -1
  127. package/dest/public/avm/index.js +0 -1
  128. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  129. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  130. package/dest/public/avm/opcodes/accrued_substate.js +0 -254
  131. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  132. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  133. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  134. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  135. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  136. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  137. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  138. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  139. package/dest/public/avm/opcodes/bitwise.js +0 -99
  140. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  141. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  142. package/dest/public/avm/opcodes/comparators.js +0 -43
  143. package/dest/public/avm/opcodes/contract.d.ts +0 -21
  144. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  145. package/dest/public/avm/opcodes/contract.js +0 -69
  146. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  147. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  148. package/dest/public/avm/opcodes/control_flow.js +0 -107
  149. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  150. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  151. package/dest/public/avm/opcodes/conversion.js +0 -333
  152. package/dest/public/avm/opcodes/ec_add.d.ts +0 -17
  153. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  154. package/dest/public/avm/opcodes/ec_add.js +0 -79
  155. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  156. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  157. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  158. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  159. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  160. package/dest/public/avm/opcodes/external_calls.js +0 -210
  161. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  162. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  163. package/dest/public/avm/opcodes/hashing.js +0 -119
  164. package/dest/public/avm/opcodes/index.d.ts +0 -16
  165. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  166. package/dest/public/avm/opcodes/index.js +0 -15
  167. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  168. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  169. package/dest/public/avm/opcodes/instruction.js +0 -95
  170. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  171. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  172. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  173. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  174. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  175. package/dest/public/avm/opcodes/memory.js +0 -257
  176. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  177. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  178. package/dest/public/avm/opcodes/misc.js +0 -73
  179. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  180. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  181. package/dest/public/avm/opcodes/storage.js +0 -78
  182. package/dest/public/avm/revert_reason.d.ts +0 -18
  183. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  184. package/dest/public/avm/revert_reason.js +0 -39
  185. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  186. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  187. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  188. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  189. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  190. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  191. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  192. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  193. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  194. package/dest/public/avm/test_utils.d.ts +0 -15
  195. package/dest/public/avm/test_utils.d.ts.map +0 -1
  196. package/dest/public/avm/test_utils.js +0 -44
  197. package/dest/public/debug_fn_name.d.ts +0 -18
  198. package/dest/public/debug_fn_name.d.ts.map +0 -1
  199. package/dest/public/debug_fn_name.js +0 -37
  200. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -19
  201. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  202. package/dest/public/fixtures/custom_bytecode_tests.js +0 -263
  203. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  204. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  205. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  206. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  207. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  208. package/dest/public/fixtures/opcode_spammer.js +0 -1645
  209. package/dest/public/hinting_db_sources.d.ts +0 -80
  210. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  211. package/dest/public/hinting_db_sources.js +0 -356
  212. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
  213. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  214. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -99
  215. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  216. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  217. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -131
  218. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  219. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  220. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  221. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  222. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  223. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  224. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  225. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  226. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  227. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  228. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  229. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -135
  230. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  231. package/dest/public/public_tx_simulator/public_tx_context.js +0 -298
  232. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  233. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  234. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  235. package/dest/public/side_effect_trace.d.ts +0 -87
  236. package/dest/public/side_effect_trace.d.ts.map +0 -1
  237. package/dest/public/side_effect_trace.js +0 -199
  238. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  239. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  240. package/dest/public/side_effect_trace_interface.js +0 -1
  241. package/dest/public/state_manager/index.d.ts +0 -2
  242. package/dest/public/state_manager/index.d.ts.map +0 -1
  243. package/dest/public/state_manager/index.js +0 -1
  244. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  245. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  246. package/dest/public/state_manager/nullifiers.js +0 -92
  247. package/dest/public/state_manager/public_storage.d.ts +0 -66
  248. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  249. package/dest/public/state_manager/public_storage.js +0 -145
  250. package/dest/public/state_manager/state_manager.d.ts +0 -170
  251. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  252. package/dest/public/state_manager/state_manager.js +0 -402
  253. package/src/public/avm/avm_context.ts +0 -61
  254. package/src/public/avm/avm_contract_call_result.ts +0 -69
  255. package/src/public/avm/avm_execution_environment.ts +0 -51
  256. package/src/public/avm/avm_gas.ts +0 -183
  257. package/src/public/avm/avm_machine_state.ts +0 -170
  258. package/src/public/avm/avm_memory_types.ts +0 -440
  259. package/src/public/avm/avm_simulator.ts +0 -279
  260. package/src/public/avm/avm_simulator_interface.ts +0 -8
  261. package/src/public/avm/calldata.ts +0 -101
  262. package/src/public/avm/errors.ts +0 -177
  263. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  264. package/src/public/avm/fixtures/initializers.ts +0 -103
  265. package/src/public/avm/index.ts +0 -1
  266. package/src/public/avm/opcodes/accrued_substate.ts +0 -285
  267. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  268. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  269. package/src/public/avm/opcodes/bitwise.ts +0 -113
  270. package/src/public/avm/opcodes/comparators.ts +0 -55
  271. package/src/public/avm/opcodes/contract.ts +0 -76
  272. package/src/public/avm/opcodes/control_flow.ts +0 -123
  273. package/src/public/avm/opcodes/conversion.ts +0 -104
  274. package/src/public/avm/opcodes/ec_add.ts +0 -86
  275. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  276. package/src/public/avm/opcodes/external_calls.ts +0 -262
  277. package/src/public/avm/opcodes/hashing.ts +0 -151
  278. package/src/public/avm/opcodes/index.ts +0 -15
  279. package/src/public/avm/opcodes/instruction.ts +0 -136
  280. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  281. package/src/public/avm/opcodes/memory.ts +0 -293
  282. package/src/public/avm/opcodes/misc.ts +0 -102
  283. package/src/public/avm/opcodes/storage.ts +0 -95
  284. package/src/public/avm/revert_reason.ts +0 -58
  285. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  286. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  287. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  288. package/src/public/avm/test_utils.ts +0 -64
  289. package/src/public/debug_fn_name.ts +0 -52
  290. package/src/public/fixtures/custom_bytecode_tests.ts +0 -435
  291. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  292. package/src/public/fixtures/opcode_spammer.ts +0 -1713
  293. package/src/public/hinting_db_sources.ts +0 -610
  294. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -125
  295. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -210
  296. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  297. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  298. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  299. package/src/public/public_tx_simulator/public_tx_context.ts +0 -482
  300. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  301. package/src/public/side_effect_trace.ts +0 -293
  302. package/src/public/side_effect_trace_interface.ts +0 -28
  303. package/src/public/state_manager/index.ts +0 -1
  304. package/src/public/state_manager/nullifiers.ts +0 -103
  305. package/src/public/state_manager/public_storage.ts +0 -174
  306. package/src/public/state_manager/state_manager.ts +0 -569
  307. /package/dest/public/avm/{fixtures → testing}/account_proof_fetcher.js +0 -0
  308. /package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +0 -0
  309. /package/src/public/avm/{fixtures → testing}/account_proof.json +0 -0
  310. /package/src/public/avm/{fixtures → testing}/account_proof_fetcher.ts +0 -0
  311. /package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +0 -0
@@ -2,7 +2,7 @@ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import type { IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
3
3
  import type { BatchInsertionResult, IndexedTreeId, MerkleTreeId, MerkleTreeLeafType, MerkleTreeWriteOperations, SequentialInsertionResult, TreeHeights, TreeInfo } from '@aztec/stdlib/trees';
4
4
  import type { BlockHeader, StateReference } from '@aztec/stdlib/tx';
5
- import type { WorldStateRevision, WorldStateRevisionWithHandle } from '@aztec/stdlib/world-state';
5
+ import type { WorldStateRevision } from '@aztec/stdlib/world-state';
6
6
  /**
7
7
  * Wraps an instance of `MerkleTreeWriteOperations` to allow the sequencer to gate access.
8
8
  * If transactions execution goes past the deadline, the simulator will continue to execute and update the world state
@@ -27,7 +27,8 @@ export declare class GuardedMerkleTreeOperations implements MerkleTreeWriteOpera
27
27
  getTreeInfo(treeId: MerkleTreeId): Promise<TreeInfo>;
28
28
  getStateReference(): Promise<StateReference>;
29
29
  getInitialHeader(): BlockHeader;
30
- getRevision(): WorldStateRevision | WorldStateRevisionWithHandle;
30
+ getRevision(): WorldStateRevision;
31
+ getIpcPath(): string;
31
32
  getSiblingPath<ID extends MerkleTreeId>(treeId: ID, index: bigint): Promise<SiblingPath<TreeHeights[ID]>>;
32
33
  getPreviousValueIndex<ID extends IndexedTreeId>(treeId: ID, value: bigint): Promise<{
33
34
  index: bigint;
@@ -48,4 +49,4 @@ export declare class GuardedMerkleTreeOperations implements MerkleTreeWriteOpera
48
49
  index: bigint;
49
50
  } | undefined)[]>;
50
51
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL2d1YXJkZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQ1Ysb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxHOzs7OztHQUtHO0FBRUgscUJBQWEsMkJBQTRCLFlBQVcseUJBQXlCO0lBSS9ELE9BQU8sQ0FBQyxNQUFNO0lBSDFCLE9BQU8sQ0FBQyxTQUFTLENBQVM7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBcUI7SUFFeEMsWUFBb0IsTUFBTSxFQUFFLHlCQUF5QixFQUVwRDtJQUVELE9BQU8sQ0FBQyxLQUFLO0lBT2IsT0FBTyxDQUFDLFlBQVk7SUFRYixpQkFBaUIsSUFBSSx5QkFBeUIsQ0FFcEQ7SUFHSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0xQjtJQUdELFlBQVksQ0FBQyxFQUFFLFNBQVMsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxD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
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL2d1YXJkZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQ1Ysb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsV0FBVyxFQUNYLFFBQVEsRUFDVCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFOzs7OztHQUtHO0FBRUgscUJBQWEsMkJBQTRCLFlBQVcseUJBQXlCO0lBSS9ELE9BQU8sQ0FBQyxNQUFNO0lBSDFCLE9BQU8sQ0FBQyxTQUFTLENBQVM7SUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBcUI7SUFFeEMsWUFBb0IsTUFBTSxFQUFFLHlCQUF5QixFQUVwRDtJQUVELE9BQU8sQ0FBQyxLQUFLO0lBT2IsT0FBTyxDQUFDLFlBQVk7SUFRYixpQkFBaUIsSUFBSSx5QkFBeUIsQ0FFcEQ7SUFHSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0xQjtJQUdELFlBQVksQ0FBQyxFQUFFLFNBQVMsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVqRztJQUVELGFB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
@@ -1 +1 @@
1
- {"version":3,"file":"guarded_merkle_tree.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/guarded_merkle_tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guarded_merkle_tree.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/guarded_merkle_tree.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,9 @@ _computedKey = Symbol.asyncDispose;
71
71
  getRevision() {
72
72
  return this.target.getRevision();
73
73
  }
74
+ getIpcPath() {
75
+ return this.target.getIpcPath();
76
+ }
74
77
  getSiblingPath(treeId, index) {
75
78
  return this.guardAndPush(()=>this.target.getSiblingPath(treeId, index));
76
79
  }
@@ -6,6 +6,7 @@ import type { MerkleTreeWriteOperations, PublicProcessorLimits, PublicProcessorV
6
6
  import { type DebugLog, type DebugLogStore } from '@aztec/stdlib/logs';
7
7
  import { type FailedTx, GlobalVariables, NestedProcessReturnValues, type ProcessedTx, Tx } from '@aztec/stdlib/tx';
8
8
  import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
9
+ import type { AvmSimulator } from '../avm_simulator.js';
9
10
  import { PublicContractsDB } from '../public_db_sources.js';
10
11
  import { type PublicTxSimulatorConfig, type PublicTxSimulatorInterface } from '../public_tx_simulator/index.js';
11
12
  import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
@@ -14,18 +15,21 @@ import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
14
15
  */
15
16
  export declare class PublicProcessorFactory {
16
17
  private contractDataSource;
18
+ private avmSimulator;
17
19
  private dateProvider;
18
20
  protected telemetryClient: TelemetryClient;
19
21
  private log;
20
- constructor(contractDataSource: ContractDataSource, dateProvider?: DateProvider, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
22
+ constructor(contractDataSource: ContractDataSource, avmSimulator: AvmSimulator, dateProvider?: DateProvider, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
21
23
  /**
22
- * Creates a new instance of a PublicProcessor.
24
+ * Creates a new instance of a PublicProcessor. The simulator it drives reads contract data from the fork's
25
+ * contracts DB, scoped by the fork id so AVM requests route to the right state.
26
+ *
23
27
  * @param globalVariables - The global variables for the block being processed.
24
28
  * @param contractsDB - Optional pre-populated contracts DB; a fresh one is constructed if omitted.
25
29
  * @returns A new instance of a PublicProcessor.
26
30
  */
27
31
  create(merkleTree: MerkleTreeWriteOperations, globalVariables: GlobalVariables, config: PublicSimulatorConfig, contractsDB?: PublicContractsDB): PublicProcessor;
28
- protected createPublicTxSimulator(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, config?: Partial<PublicTxSimulatorConfig>): PublicTxSimulatorInterface;
32
+ protected createPublicTxSimulator(forkId: number, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, config?: Partial<PublicTxSimulatorConfig>): PublicTxSimulatorInterface;
29
33
  }
30
34
  /**
31
35
  * Converts Txs lifted from the P2P module into ProcessedTx objects by executing
@@ -64,4 +68,4 @@ export declare class PublicProcessor implements Traceable {
64
68
  */
65
69
  private static generateProvingRequest;
66
70
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFJdkYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7R0FFRztBQUNILHFCQUFhLHNCQUFzQjtJQUcvQixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUo1QyxPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLFlBQ1Usa0JBQWtCLEVBQUUsa0JBQWtCLEVBQ3RDLFlBQVksR0FBRSxZQUFpQyxFQUM3QyxlQUFlLEdBQUUsZUFBc0MsRUFDakUsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUcxQjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUNYLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxFQUFFLHFCQUFxQixFQUM3QixXQUFXLEdBQUUsaUJBQTBGLEdBQ3RHLGVBQWUsQ0FhakI7SUFFRCxTQUFTLENBQUMsdUJBQXVCLENBQy9CLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsV0FBVyxFQUFFLGlCQUFpQixFQUM5QixlQUFlLEVBQUUsZUFBZSxFQUNoQyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FDeEMsMEJBQTBCLENBUzVCO0NBQ0Y7QUFvQkQ7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxTQUFTO0lBRzdDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUMxQyxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDdkQsT0FBTyxDQUFDLFlBQVk7SUFFcEIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxhQUFhO0lBVnZCLE9BQU8sQ0FBQyxPQUFPLENBQXlCO0lBQ3hDLFlBQ1ksZUFBZSxFQUFFLGVBQWUsRUFDbEMsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQzVDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQy9DLFlBQVksRUFBRSxZQUFZLEVBQ2xDLGVBQWUsNkJBQXdDLEVBQy9DLEdBQUcsRUFBRSxNQUFNLEVBQ1gsSUFBSSxHQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsNEJBQTRCLEdBQUcsaUNBQWlDLENBQU0sRUFDbEcsYUFBYSxHQUFFLGFBQXVDLEVBRy9EO0lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUVuQjtJQUVEOzs7Ozs7T0FNRztJQUNVLE9BQU8sQ0FDbEIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ3JDLE1BQU0sR0FBRSxxQkFBMEIsRUFDbEMsU0FBUyxHQUFFLHdCQUE2QixHQUN2QyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FtUHJGO1lBRWEsd0JBQXdCO1lBaUJ4QixTQUFTO1lBaUNULGdDQUFnQztZQTRCaEMsdUJBQXVCO0lBaUNyQyxPQUFPLENBQUMsbUJBQW1CO1lBMEJiLGdDQUFnQztZQTBCaEMsb0JBQW9CO1lBK0JwQix3QkFBd0I7SUF5Q3RDOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7Q0FTdEMifQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFJdkYsT0FBTyxFQU1MLHFCQUFxQixFQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQ1YseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNoQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGFBQWEsRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBQ2IsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixLQUFLLFdBQVcsRUFFaEIsRUFBRSxFQUdILE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFHWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd2RTs7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
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"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"}
@@ -371,7 +371,7 @@ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
371
371
  return (_apply_decs_2203_r = applyDecs2203RFactory())(targetClass, memberDecs, classDecs, parentClass);
372
372
  }
373
373
  var _dec, _dec1, _dec2, _initProto;
374
- import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TX_BLOB_DATA_SIZE_IN_FIELDS, NULLIFIER_SUBTREE_HEIGHT } from '@aztec/constants';
374
+ import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, NULLIFIER_SUBTREE_HEIGHT } from '@aztec/constants';
375
375
  import { padArrayEnd } from '@aztec/foundation/collection';
376
376
  import { Fr } from '@aztec/foundation/curves/bn254';
377
377
  import { createLogger } from '@aztec/foundation/log';
@@ -391,34 +391,39 @@ import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-clie
391
391
  import { ForkCheckpoint } from '@aztec/world-state/native';
392
392
  import { AssertionError } from 'assert';
393
393
  import { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
394
- import { TelemetryCppPublicTxSimulator } from '../public_tx_simulator/index.js';
394
+ import { TelemetryPublicTxSimulator } from '../public_tx_simulator/index.js';
395
395
  import { GuardedMerkleTreeOperations } from './guarded_merkle_tree.js';
396
396
  import { PublicProcessorMetrics } from './public_processor_metrics.js';
397
397
  /**
398
398
  * Creates new instances of PublicProcessor given the provided merkle tree db and contract data source.
399
399
  */ export class PublicProcessorFactory {
400
400
  contractDataSource;
401
+ avmSimulator;
401
402
  dateProvider;
402
403
  telemetryClient;
403
404
  log;
404
- constructor(contractDataSource, dateProvider = new DateProvider(), telemetryClient = getTelemetryClient(), bindings){
405
+ constructor(contractDataSource, avmSimulator, dateProvider = new DateProvider(), telemetryClient = getTelemetryClient(), bindings){
405
406
  this.contractDataSource = contractDataSource;
407
+ this.avmSimulator = avmSimulator;
406
408
  this.dateProvider = dateProvider;
407
409
  this.telemetryClient = telemetryClient;
408
410
  this.log = createLogger('simulator:public-processor-factory', bindings);
409
411
  }
410
412
  /**
411
- * Creates a new instance of a PublicProcessor.
413
+ * Creates a new instance of a PublicProcessor. The simulator it drives reads contract data from the fork's
414
+ * contracts DB, scoped by the fork id so AVM requests route to the right state.
415
+ *
412
416
  * @param globalVariables - The global variables for the block being processed.
413
417
  * @param contractsDB - Optional pre-populated contracts DB; a fresh one is constructed if omitted.
414
418
  * @returns A new instance of a PublicProcessor.
415
419
  */ create(merkleTree, globalVariables, config, contractsDB = new PublicContractsDB(this.contractDataSource, this.log.getBindings())) {
420
+ const forkId = merkleTree.getRevision().forkId;
416
421
  const guardedFork = new GuardedMerkleTreeOperations(merkleTree);
417
- const publicTxSimulator = this.createPublicTxSimulator(guardedFork, contractsDB, globalVariables, config);
422
+ const publicTxSimulator = this.createPublicTxSimulator(forkId, globalVariables, contractsDB, config);
418
423
  return new PublicProcessor(globalVariables, guardedFork, contractsDB, publicTxSimulator, this.dateProvider, this.telemetryClient, createLogger('simulator:public-processor', this.log.getBindings()));
419
424
  }
420
- createPublicTxSimulator(merkleTree, contractsDB, globalVariables, config) {
421
- return new TelemetryCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, this.telemetryClient, config, this.log.getBindings());
425
+ createPublicTxSimulator(forkId, globalVariables, contractsDB, config) {
426
+ return new TelemetryPublicTxSimulator(this.avmSimulator, globalVariables, contractsDB, forkId, this.telemetryClient, config, this.log.getBindings());
422
427
  }
423
428
  }
424
429
  class PublicProcessorTimeoutError extends Error {
@@ -433,9 +438,6 @@ class PublicProcessorAbortError extends Error {
433
438
  this.name = 'PublicProcessorAbortError';
434
439
  }
435
440
  }
436
- function isPublicProcessorInterruptError(err) {
437
- return err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError';
438
- }
439
441
  _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
440
442
  [Attributes.TX_HASH]: tx.getTxHash().toString()
441
443
  })), _dec1 = trackSpan('PublicProcessor.processPrivateOnlyTx', (tx)=>({
@@ -585,25 +587,6 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
585
587
  }
586
588
  const txBlobFields = processedTx.txEffect.getNumBlobFields();
587
589
  const txSize = txBlobFields * Fr.SIZE_IN_BYTES;
588
- // A single tx's effects must fit within the per-tx blob encoding: the rollup circuit encodes each
589
- // tx into a fixed [Field; MAX_TX_BLOB_DATA_SIZE_IN_FIELDS] array, so a larger tx effect cannot be
590
- // proven. The per-category side-effect limits already guarantee this upstream, so reaching here means
591
- // the tx is malformed; reject it as invalid rather than letting it poison proving.
592
- if (txBlobFields > MAX_TX_BLOB_DATA_SIZE_IN_FIELDS) {
593
- const error = new Error(`Tx ${txHash} produced ${txBlobFields} blob fields, exceeding the per-tx maximum of ${MAX_TX_BLOB_DATA_SIZE_IN_FIELDS}`);
594
- this.log.error(error.message, {
595
- txHash,
596
- txBlobFields
597
- });
598
- await checkpoint.revert();
599
- this.contractsDB.revertCheckpoint();
600
- failed.push({
601
- tx,
602
- error
603
- });
604
- returns.push(new NestedProcessReturnValues([]));
605
- continue;
606
- }
607
590
  // If the actual blob fields of this tx would exceed the limit, skip it.
608
591
  // Note: maxBlobFields already accounts for block end blob fields and previous blocks in checkpoint.
609
592
  if (maxBlobFields !== undefined && totalBlobFields + txBlobFields > maxBlobFields) {
@@ -651,11 +634,13 @@ _dec = trackSpan('PublicProcessor.processTx', (tx)=>({
651
634
  // Commit the tx-level contracts checkpoint on success
652
635
  this.contractsDB.commitCheckpoint();
653
636
  } catch (err) {
654
- if (isPublicProcessorInterruptError(err)) {
655
- const interruptReason = err.name === 'PublicProcessorTimeoutError' ? 'timeout' : 'abort signal';
656
- this.log.warn(`Stopping tx processing due to ${interruptReason}.`);
657
- // The tx may still be executing on a worker thread (C++ via NAPI).
658
- // Signal cancellation AND WAIT for the simulation to actually stop before touching fork checkpoints.
637
+ if (err?.name === 'PublicProcessorTimeoutError' || err?.name === 'PublicProcessorAbortError') {
638
+ this.log.warn(`Stopping tx processing due to ${err.name === 'PublicProcessorTimeoutError' ? 'timeout' : 'abort'}.`);
639
+ // We hit the transaction execution deadline or an external abort signal.
640
+ // There may still be a simulation in progress.
641
+ // Signal cancellation AND WAIT for the simulation to actually stop. Cancellation is
642
+ // cooperative: the simulator may be mid slow-operation and won't observe the flag until it
643
+ // completes, and without waiting we'd revert checkpoints while it's still writing to state.
659
644
  await this.publicTxSimulator.cancel?.();
660
645
  // Now stop the guarded fork to prevent any further TS-side access to the world state.
661
646
  await this.guardedMerkleTree.stop();
@@ -0,0 +1,17 @@
1
+ import type { LoggerBindings } from '@aztec/foundation/log';
2
+ import { type PublicSimulatorConfig, type PublicTxResult } from '@aztec/stdlib/avm';
3
+ import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
4
+ import type { AvmSimulator } from '../avm_simulator.js';
5
+ import type { PublicContractsDB } from '../public_db_sources.js';
6
+ import { PublicTxSimulator } from './public_tx_simulator.js';
7
+ /**
8
+ * A {@link PublicTxSimulator} that dumps AVM circuit inputs to disk after simulation.
9
+ * Used during nightly CI runs to collect circuit inputs for AVM proving benchmarks.
10
+ */
11
+ export declare class DumpingPublicTxSimulator extends PublicTxSimulator {
12
+ private readonly outputDir;
13
+ constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, config: Partial<PublicSimulatorConfig>, outputDir: string, bindings?: LoggerBindings);
14
+ simulate(tx: Tx): Promise<PublicTxResult>;
15
+ private dumpAvmCircuitInputs;
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtcGluZ19wdWJsaWNfdHhfc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3B1YmxpY190eF9zaW11bGF0b3IvZHVtcGluZ19wdWJsaWNfdHhfc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFJTCxLQUFLLHFCQUFxQixFQUMxQixLQUFLLGNBQWMsRUFFcEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNNUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7O0dBR0c7QUFDSCxxQkFBYSx3QkFBeUIsU0FBUSxpQkFBaUI7SUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQVM7SUFFbkMsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN0QyxTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLENBQUMsRUFBRSxjQUFjLEVBTTFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FJOUQ7SUFFRCxPQUFPLENBQUMsb0JBQW9CO0NBbUI3QiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dumping_public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/dumping_public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAEqB,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAI9D;IAED,OAAO,CAAC,oBAAoB;CAmB7B"}
@@ -2,51 +2,38 @@ import { AvmCircuitInputs, AvmCircuitPublicInputs, AvmExecutionHints, serializeW
2
2
  import { strict as assert } from 'assert';
3
3
  import { mkdirSync, writeFileSync } from 'fs';
4
4
  import { join } from 'path';
5
- import { CppPublicTxSimulator } from './cpp_public_tx_simulator.js';
5
+ import { PublicTxSimulator } from './public_tx_simulator.js';
6
6
  /**
7
- * A C++ public tx simulator that dumps AVM circuit inputs to disk after simulation.
8
- * Used during nightly CI runs to collect circuit inputs for benchmarking.
9
- */ export class DumpingCppPublicTxSimulator extends CppPublicTxSimulator {
7
+ * A {@link PublicTxSimulator} that dumps AVM circuit inputs to disk after simulation.
8
+ * Used during nightly CI runs to collect circuit inputs for AVM proving benchmarks.
9
+ */ export class DumpingPublicTxSimulator extends PublicTxSimulator {
10
10
  outputDir;
11
- constructor(merkleTree, contractsDB, globalVariables, config, outputDir, bindings){
12
- super(merkleTree, contractsDB, globalVariables, config, bindings);
11
+ constructor(avmSimulator, globalVariables, contractsDB, forkId, config, outputDir, bindings){
12
+ super(avmSimulator, globalVariables, contractsDB, forkId, config, bindings);
13
13
  assert(config.collectHints === true, 'collectHints must be enabled to dump AVM circuit inputs');
14
14
  assert(config.collectPublicInputs === true, 'collectPublicInputs must be enabled to dump AVM circuit inputs');
15
15
  this.outputDir = outputDir;
16
16
  }
17
17
  async simulate(tx) {
18
18
  const result = await super.simulate(tx);
19
- // Dump the circuit inputs after successful simulation
20
- const txHash = this.computeTxHash(tx);
21
- this.dumpAvmCircuitInputs(result, txHash);
19
+ this.dumpAvmCircuitInputs(result, tx.getTxHash().toString());
22
20
  return result;
23
21
  }
24
- /**
25
- * Dumps AVM circuit inputs to disk.
26
- *
27
- * @param result - The simulation result containing hints and public inputs
28
- * @param txHash - The transaction hash to use in the filename
29
- */ dumpAvmCircuitInputs(result, txHash) {
22
+ dumpAvmCircuitInputs(result, txHash) {
30
23
  try {
31
- // Ensure the output directory exists
32
24
  mkdirSync(this.outputDir, {
33
25
  recursive: true
34
26
  });
35
- // Generate filename using transaction hash
36
- const filename = `avm-circuit-inputs-tx-${txHash.toString()}.bin`;
27
+ const filename = `avm-circuit-inputs-tx-${txHash}.bin`;
37
28
  const filepath = join(this.outputDir, filename);
38
- // Create circuit inputs from the result
39
29
  const hints = result.hints ?? AvmExecutionHints.empty();
40
30
  const publicInputs = result.publicInputs ?? AvmCircuitPublicInputs.empty();
41
31
  const avmCircuitInputs = new AvmCircuitInputs(hints, publicInputs);
42
- // Serialize the circuit inputs using MessagePack
43
32
  const serialized = serializeWithMessagePack(avmCircuitInputs);
44
- // Write to disk
45
33
  writeFileSync(filepath, serialized);
46
34
  this.log.debug(`Dumped AVM circuit inputs to ${filepath}`);
47
35
  } catch (error) {
48
- // Non-blocking error handling - log but don't interrupt processing
49
- this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash.toString()}: ${error}`);
36
+ this.log.warn(`Failed to dump AVM circuit inputs for tx ${txHash}: ${error}`);
50
37
  }
51
38
  }
52
39
  }
@@ -1,14 +1,14 @@
1
1
  import type { LoggerBindings } from '@aztec/foundation/log';
2
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
3
2
  import type { GlobalVariables } from '@aztec/stdlib/tx';
4
3
  import type { TelemetryClient } from '@aztec/telemetry-client';
4
+ import type { AvmSimulator } from '../avm_simulator.js';
5
5
  import type { PublicContractsDB } from '../public_db_sources.js';
6
- import { TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
7
- import { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
6
+ import { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
7
+ import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
8
8
  /**
9
- * Creates a public tx simulator for block building.
10
- * Uses DumpingCppPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing avm circuit),
11
- * otherwise uses TelemetryCppPublicTxSimulator (for production).
9
+ * Creates an IPC-based public tx simulator for block building.
10
+ * Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing the AVM circuit),
11
+ * otherwise uses TelemetryPublicTxSimulator (for production).
12
12
  */
13
- export declare function createPublicTxSimulatorForBlockBuilding(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, telemetryClient: TelemetryClient, bindings?: LoggerBindings, collectDebugLogs?: boolean): DumpingCppPublicTxSimulator | TelemetryCppPublicTxSimulator;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3B1YmxpY190eF9zaW11bGF0b3IvZmFjdG9yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRjs7OztHQUlHO0FBQ0gsd0JBQWdCLHVDQUF1QyxDQUNyRCxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUN6QixnQkFBZ0IsVUFBUSwrREFzQnpCIn0=
13
+ export declare function createPublicTxSimulatorForBlockBuilding(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, telemetryClient: TelemetryClient, bindings?: LoggerBindings, collectDebugLogs?: boolean): DumpingPublicTxSimulator | TelemetryPublicTxSimulator;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL3B1YmxpY190eF9zaW11bGF0b3IvZmFjdG9yaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEU7Ozs7R0FJRztBQUNILHdCQUFnQix1Q0FBdUMsQ0FDckQsWUFBWSxFQUFFLFlBQVksRUFDMUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsV0FBVyxFQUFFLGlCQUFpQixFQUM5QixNQUFNLEVBQUUsTUFBTSxFQUNkLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFDekIsZ0JBQWdCLFVBQVEseURBc0N6QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,cAAc,EACzB,gBAAgB,UAAQ,+DAsBzB"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,cAAc,EACzB,gBAAgB,UAAQ,yDAsCzB"}
@@ -1,11 +1,11 @@
1
1
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
2
- import { TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
3
- import { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
2
+ import { DumpingPublicTxSimulator } from './dumping_public_tx_simulator.js';
3
+ import { TelemetryPublicTxSimulator } from './public_tx_simulator.js';
4
4
  /**
5
- * Creates a public tx simulator for block building.
6
- * Uses DumpingCppPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing avm circuit),
7
- * otherwise uses TelemetryCppPublicTxSimulator (for production).
8
- */ export function createPublicTxSimulatorForBlockBuilding(merkleTree, contractsDB, globalVariables, telemetryClient, bindings, collectDebugLogs = false) {
5
+ * Creates an IPC-based public tx simulator for block building.
6
+ * Uses DumpingPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing the AVM circuit),
7
+ * otherwise uses TelemetryPublicTxSimulator (for production).
8
+ */ export function createPublicTxSimulatorForBlockBuilding(avmSimulator, globalVariables, contractsDB, forkId, telemetryClient, bindings, collectDebugLogs = false) {
9
9
  const config = PublicSimulatorConfig.from({
10
10
  skipFeeEnforcement: false,
11
11
  collectDebugLogs,
@@ -22,7 +22,7 @@ import { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.j
22
22
  collectHints: true,
23
23
  collectPublicInputs: true
24
24
  };
25
- return new DumpingCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, dumpingConfig, dumpDir, bindings);
25
+ return new DumpingPublicTxSimulator(avmSimulator, globalVariables, contractsDB, forkId, dumpingConfig, dumpDir, bindings);
26
26
  }
27
- return new TelemetryCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, telemetryClient, config, bindings);
27
+ return new TelemetryPublicTxSimulator(avmSimulator, globalVariables, contractsDB, forkId, telemetryClient, config, bindings);
28
28
  }
@@ -1,8 +1,6 @@
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 { PublicTxSimulatorInterface, MeasuredPublicTxSimulatorInterface, } from './public_tx_simulator_interface.js';
7
5
  export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3R4X3NpbXVsYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25HLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hGLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3R4X3NpbXVsYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxZQUFZLEVBQ1YsMEJBQTBCLEVBQzFCLGtDQUFrQyxHQUNuQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,uCAAuC,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,uCAAuC,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EACV,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,5 +1,3 @@
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 { TelemetryPublicTxSimulator } from './telemetry_public_tx_simulator.js';
@@ -1,86 +1,53 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
2
1
  import { type Logger, type LoggerBindings } from '@aztec/foundation/log';
3
- import { PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
4
- import { SimulationError } from '@aztec/stdlib/errors';
5
- import { Gas } from '@aztec/stdlib/gas';
6
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
7
- import { type GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, Tx, TxExecutionPhase } from '@aztec/stdlib/tx';
8
- import type { AvmFinalizedCallResult } from '../avm/avm_contract_call_result.js';
9
- import { type PublicContractsDB } from '../public_db_sources.js';
10
- import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
11
- import { PublicTxContext } from './public_tx_context.js';
12
- import type { PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
13
- /** Only used internally. */
14
- type ProcessedPhase = {
15
- phase: TxExecutionPhase;
16
- durationMs?: number;
17
- returnValues: NestedProcessReturnValues[];
18
- reverted: boolean;
19
- revertReason?: SimulationError;
20
- };
21
- export declare class PublicTxSimulator implements PublicTxSimulatorInterface {
22
- protected merkleTree: MerkleTreeWriteOperations;
23
- protected contractsDB: PublicContractsDB;
24
- protected globalVariables: GlobalVariables;
25
- protected protocolContracts: ProtocolContracts;
2
+ import { type PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
3
+ import type { GlobalVariables, Tx } from '@aztec/stdlib/tx';
4
+ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
5
+ import type { AvmSimulator } from '../avm_simulator.js';
6
+ import type { ExecutorMetricsInterface } from '../executor_metrics_interface.js';
7
+ import type { PublicContractsDB } from '../public_db_sources.js';
8
+ import { PublicTxSimulatorBase } from './public_tx_simulator_base.js';
9
+ import type { MeasuredPublicTxSimulatorInterface, PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
10
+ /**
11
+ * Simulates a transaction's public portion by running its public calls through an {@link AvmSimulator}.
12
+ * `forkId` selects the fork whose contract data the simulation reads.
13
+ */
14
+ export declare class PublicTxSimulator extends PublicTxSimulatorBase implements PublicTxSimulatorInterface {
26
15
  protected log: Logger;
27
- protected readonly config: PublicSimulatorConfig;
28
- protected readonly bindings?: LoggerBindings;
29
- constructor(merkleTree: MerkleTreeWriteOperations, contractsDB: PublicContractsDB, globalVariables: GlobalVariables, config?: Partial<PublicSimulatorConfig>, protocolContracts?: ProtocolContracts, bindings?: LoggerBindings);
16
+ /** Aborts the in-flight simulation. */
17
+ private abortController?;
18
+ /** Current simulation promise, used to wait for completion after cancellation. */
19
+ private simulationPromise?;
20
+ constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
30
21
  /**
31
- * Simulate a transaction's public portion including all of its phases.
22
+ * Simulate a transaction's public portion.
23
+ *
32
24
  * @param tx - The transaction to simulate.
33
25
  * @returns The result of the transaction's public execution.
34
26
  */
35
27
  simulate(tx: Tx): Promise<PublicTxResult>;
36
- protected computeTxHash(tx: Tx): import("@aztec/stdlib/tx").TxHash;
37
- /**
38
- * Simulate the setup phase of a transaction's public execution.
39
- * @param context - WILL BE MUTATED. The context of the currently executing public transaction portion
40
- * @returns The phase result.
41
- */
42
- protected simulatePhase(phase: TxExecutionPhase, context: PublicTxContext): Promise<ProcessedPhase>;
28
+ protected doSimulate(tx: Tx, signal: AbortSignal): Promise<PublicTxResult>;
43
29
  /**
44
- * Simulate an enqueued public call.
45
- * @param phase - The current phase of public execution
46
- * @param context - WILL BE MUTATED. The context of the currently executing public transaction portion
47
- * @param callRequest - The public function call request, including the calldata.
48
- * @returns The result of execution.
49
- */
50
- protected simulateEnqueuedCall(phase: TxExecutionPhase, context: PublicTxContext, callRequest: PublicCallRequestWithCalldata): Promise<AvmFinalizedCallResult>;
51
- /**
52
- * Simulate an enqueued public call, without modifying the context (PublicTxContext).
53
- * Resulting modifications to the context can be applied by the caller.
54
- *
55
- * This function can be mocked for testing to skip actual AVM simulation
56
- * while still simulating phases and generating a proving request.
30
+ * Cancel the current simulation if one is in progress.
31
+ * This signals the underlying simulator to stop at the next safe point (between opcodes, before a
32
+ * world-state write). Safe to call even if no simulation is in progress.
57
33
  *
58
- * @param stateManager - The state manager for AvmSimulation
59
- * @param callRequest - The public function call request, including the calldata.
60
- * @param allocatedGas - The gas allocated to the enqueued call
61
- * @param fnName - The name of the function
62
- * @returns The result of execution.
34
+ * @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
35
+ * Cancellation is cooperative: the simulator may be mid slow-operation and
36
+ * won't observe the cancellation until it completes.
37
+ * Default timeout of 100ms after cancellation.
63
38
  */
64
- protected simulateEnqueuedCallInternal(stateManager: PublicPersistableStateManager, { request, calldata }: PublicCallRequestWithCalldata, allocatedGas: Gas, transactionFee: Fr, fnName: string): Promise<AvmFinalizedCallResult>;
65
- /**
66
- * Insert the non-revertible accumulated data from private into the public state.
67
- */
68
- protected insertNonRevertiblesFromPrivate(context: PublicTxContext): Promise<void>;
69
- /**
70
- * Insert the revertible accumulated data from private into the public state.
71
- * Throws TxSimRevertibleInsertionsRevert if there is some checked error during revertible insertions.
72
- * This function checks for the following errors:
73
- * - NullifierLimitReachedError
74
- * - NoteHashLimitReachedError
75
- * - L2ToL1MessageLimitReachedError
76
- *
77
- * Note: NullifierCollisionError is intentionally NOT caught here. A nullifier collision
78
- * during revertible insertions is unprovable (the nullifier originated from private, so
79
- * a collision indicates the tx should never have been proposed). It propagates as-is to
80
- * make the transaction unrecoverable, matching the AVM circuit behavior.
81
- */
82
- protected insertRevertiblesFromPrivate(context: PublicTxContext): Promise<void>;
83
- private payFee;
39
+ cancel(waitTimeoutMs?: number): Promise<void>;
40
+ }
41
+ export declare class MeasuredPublicTxSimulator extends PublicTxSimulator implements MeasuredPublicTxSimulatorInterface {
42
+ protected readonly metrics: ExecutorMetricsInterface;
43
+ constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, metrics: ExecutorMetricsInterface, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
44
+ simulate(tx: Tx, txLabel?: string): Promise<PublicTxResult>;
45
+ }
46
+ /**
47
+ * A public tx simulator that tracks runtime/production metrics with telemetry.
48
+ */
49
+ export declare class TelemetryPublicTxSimulator extends MeasuredPublicTxSimulator {
50
+ readonly tracer: Tracer;
51
+ constructor(avmSimulator: AvmSimulator, globalVariables: GlobalVariables, contractsDB: PublicContractsDB, forkId: number, telemetryClient?: TelemetryClient, config?: Partial<PublicSimulatorConfig>, bindings?: LoggerBindings);
84
52
  }
85
- export {};
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfdHhfc2ltdWxhdG9yL3B1YmxpY190eF9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEVBQWdDLHFCQUFxQixFQUFrQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixFQUFFLEVBQ0YsZ0JBQWdCLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFJMUIsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUtqRixPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQU1oRixPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUNyRiw0QkFBNEI7QUFDNUIsS0FBSyxjQUFjLEdBQUc7SUFDcEIsS0FBSyxFQUFFLGdCQUFnQixDQUFDO0lBQ3hCLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNwQixZQUFZLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUMxQyxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLFlBQVksQ0FBQyxFQUFFLGVBQWUsQ0FBQztDQUNoQyxDQUFDO0FBRUYscUJBQWEsaUJBQWtCLFlBQVcsMEJBQTBCO0lBTWhFLFNBQVMsQ0FBQyxVQUFVLEVBQUUseUJBQXlCO0lBQy9DLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUUxQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBVGhELFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDO0lBQ2pELFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDO0lBRTdDLFlBQ1ksVUFBVSxFQUFFLHlCQUF5QixFQUNyQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLGVBQWUsRUFBRSxlQUFlLEVBQzFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUM3QixpQkFBaUIsR0FBRSxpQkFBeUMsRUFDdEUsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUsxQjtJQUVEOzs7O09BSUc7SUFDVSxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBNElyRDtJQUVELFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUscUNBRTdCO0lBRUQ7Ozs7T0FJRztJQUNILFVBQWdCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBbUN4RztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQWdCLG9CQUFvQixDQUNsQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLFdBQVcsRUFBRSw2QkFBNkIsR0FDekMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBK0JqQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFVBQWdCLDRCQUE0QixDQUMxQyxZQUFZLEVBQUUsNkJBQTZCLEVBQzNDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLDZCQUE2QixFQUNwRCxZQUFZLEVBQUUsR0FBRyxFQUNqQixjQUFjLEVBQUUsRUFBRSxFQUNsQixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQXFCakM7SUFFRDs7T0FFRztJQUNILFVBQWdCLCtCQUErQixDQUFDLE9BQU8sRUFBRSxlQUFlLGlCQXlCdkU7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxVQUFnQiw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxpQkEwRXBFO1lBRWEsTUFBTTtDQW1DckIifQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfdHhfc2ltdWxhdG9yL3B1YmxpY190eF9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFHTCxLQUFLLHFCQUFxQixFQUMxQixjQUFjLEVBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRWhHLE9BQU8sS0FBSyxFQUF5QixZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQ1Ysa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMzQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixTQUFRLHFCQUFzQixZQUFXLDBCQUEwQjtJQUNoRyxVQUFtQixHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQWtCO0lBQzFDLGtGQUFrRjtJQUNsRixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBMEI7SUFFcEQsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3ZDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFJMUI7SUFFRDs7Ozs7T0FLRztJQUNVLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTckQ7SUFFRCxVQUFnQixVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FtRC9FO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ1UsTUFBTSxDQUFDLGFBQWEsR0FBRSxNQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWM5RDtDQUNGO0FBRUQscUJBQWEseUJBQTBCLFNBQVEsaUJBQWtCLFlBQVcsa0NBQWtDO0lBTTFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLHdCQUF3QjtJQUx0RCxZQUNFLFlBQVksRUFBRSxZQUFZLEVBQzFCLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFDSyxPQUFPLEVBQUUsd0JBQXdCLEVBQ3BELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sR0FBRSxNQUFzQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTL0Y7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsMEJBQTJCLFNBQVEseUJBQXlCO0lBRXZFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsZUFBZSxHQUFFLGVBQXNDLEVBQ3ZELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBSzFCO0NBQ0YifQ==