@aztec/simulator 0.0.1-commit.993d52e → 0.0.1-commit.9a89641

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 (351) hide show
  1. package/dest/client.d.ts +1 -3
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +0 -2
  4. package/dest/private/acvm_wasm.d.ts +1 -1
  5. package/dest/private/acvm_wasm.d.ts.map +1 -1
  6. package/dest/private/acvm_wasm.js +3 -1
  7. package/dest/private/circuit_recording/circuit_recorder.d.ts +36 -23
  8. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  9. package/dest/private/circuit_recording/circuit_recorder.js +65 -69
  10. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +7 -19
  11. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  12. package/dest/private/circuit_recording/file_circuit_recorder.js +38 -42
  13. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  14. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  15. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
  16. package/dest/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  17. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  18. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  19. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  20. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +18 -3
  21. package/dest/public/avm/testing/utils.d.ts +32 -0
  22. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  23. package/dest/public/avm/{fixtures → testing}/utils.js +4 -34
  24. package/dest/public/avm_simulator.d.ts +28 -0
  25. package/dest/public/avm_simulator.d.ts.map +1 -0
  26. package/dest/public/avm_simulator.js +4 -0
  27. package/dest/public/avm_simulator_pool.d.ts +45 -0
  28. package/dest/public/avm_simulator_pool.d.ts.map +1 -0
  29. package/dest/public/avm_simulator_pool.js +197 -0
  30. package/dest/public/cdb_ipc_server.d.ts +40 -0
  31. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  32. package/dest/public/cdb_ipc_server.js +153 -0
  33. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  34. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  35. package/dest/public/contracts_db_checkpoint.js +1 -1
  36. package/dest/public/fixtures/amm_test.js +2 -2
  37. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  38. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  39. package/dest/public/fixtures/bulk_test.js +33 -6
  40. package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
  41. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  42. package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
  43. package/dest/public/fixtures/index.d.ts +2 -4
  44. package/dest/public/fixtures/index.d.ts.map +1 -1
  45. package/dest/public/fixtures/index.js +1 -3
  46. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  47. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  48. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  49. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +12 -7
  50. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  51. package/dest/public/fixtures/public_tx_simulation_tester.js +32 -15
  52. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  53. package/dest/public/fixtures/token_test.js +3 -3
  54. package/dest/public/fixtures/utils.d.ts +2 -2
  55. package/dest/public/fixtures/utils.d.ts.map +1 -1
  56. package/dest/public/fixtures/utils.js +17 -16
  57. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  58. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  59. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  60. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  61. package/dest/public/index.d.ts +5 -2
  62. package/dest/public/index.d.ts.map +1 -1
  63. package/dest/public/index.js +2 -1
  64. package/dest/public/public_db_sources.d.ts +6 -3
  65. package/dest/public/public_db_sources.d.ts.map +1 -1
  66. package/dest/public/public_db_sources.js +16 -10
  67. package/dest/public/public_processor/guarded_merkle_tree.d.ts +7 -6
  68. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  69. package/dest/public/public_processor/guarded_merkle_tree.js +7 -4
  70. package/dest/public/public_processor/public_processor.d.ts +12 -7
  71. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  72. package/dest/public/public_processor/public_processor.js +103 -74
  73. package/dest/public/public_processor/public_processor_metrics.d.ts +4 -1
  74. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  75. package/dest/public/public_processor/public_processor_metrics.js +8 -0
  76. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  77. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  78. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  79. package/dest/public/public_tx_simulator/factories.d.ts +8 -8
  80. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  81. package/dest/public/public_tx_simulator/factories.js +8 -8
  82. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  83. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  84. package/dest/public/public_tx_simulator/index.js +2 -4
  85. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -71
  86. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  87. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -318
  88. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  89. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  90. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  91. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  92. package/package.json +20 -18
  93. package/src/client.ts +0 -2
  94. package/src/private/acvm_wasm.ts +4 -1
  95. package/src/private/circuit_recording/circuit_recorder.ts +84 -78
  96. package/src/private/circuit_recording/file_circuit_recorder.ts +38 -48
  97. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
  98. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +23 -3
  99. package/src/public/avm/{fixtures → testing}/utils.ts +4 -40
  100. package/src/public/avm_simulator.ts +29 -0
  101. package/src/public/avm_simulator_pool.ts +226 -0
  102. package/src/public/cdb_ipc_server.ts +198 -0
  103. package/src/public/contracts_db_checkpoint.ts +1 -1
  104. package/src/public/fixtures/amm_test.ts +2 -2
  105. package/src/public/fixtures/bulk_test.ts +31 -6
  106. package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
  107. package/src/public/fixtures/index.ts +1 -3
  108. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  109. package/src/public/fixtures/public_tx_simulation_tester.ts +44 -25
  110. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  111. package/src/public/fixtures/token_test.ts +3 -3
  112. package/src/public/fixtures/utils.ts +19 -20
  113. package/src/public/fuzzing/avm_fuzzer_simulator.ts +25 -10
  114. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  115. package/src/public/index.ts +7 -3
  116. package/src/public/public_db_sources.ts +21 -14
  117. package/src/public/public_processor/guarded_merkle_tree.ts +10 -7
  118. package/src/public/public_processor/public_processor.ts +134 -87
  119. package/src/public/public_processor/public_processor_metrics.ts +12 -0
  120. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
  121. package/src/public/public_tx_simulator/factories.ts +27 -10
  122. package/src/public/public_tx_simulator/index.ts +6 -5
  123. package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -476
  124. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  125. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  126. package/dest/public/avm/avm_context.d.ts +0 -41
  127. package/dest/public/avm/avm_context.d.ts.map +0 -1
  128. package/dest/public/avm/avm_context.js +0 -44
  129. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  130. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  131. package/dest/public/avm/avm_contract_call_result.js +0 -54
  132. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  133. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  134. package/dest/public/avm/avm_execution_environment.js +0 -33
  135. package/dest/public/avm/avm_gas.d.ts +0 -44
  136. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  137. package/dest/public/avm/avm_gas.js +0 -195
  138. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  139. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  140. package/dest/public/avm/avm_machine_state.js +0 -110
  141. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  142. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  143. package/dest/public/avm/avm_memory_types.js +0 -354
  144. package/dest/public/avm/avm_simulator.d.ts +0 -41
  145. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  146. package/dest/public/avm/avm_simulator.js +0 -192
  147. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  148. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  149. package/dest/public/avm/avm_simulator_interface.js +0 -3
  150. package/dest/public/avm/calldata.d.ts +0 -51
  151. package/dest/public/avm/calldata.d.ts.map +0 -1
  152. package/dest/public/avm/calldata.js +0 -63
  153. package/dest/public/avm/errors.d.ts +0 -104
  154. package/dest/public/avm/errors.d.ts.map +0 -1
  155. package/dest/public/avm/errors.js +0 -141
  156. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +0 -2
  157. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +0 -1
  158. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  159. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  160. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  161. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  162. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  163. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  164. package/dest/public/avm/fixtures/initializers.js +0 -45
  165. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  166. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  167. package/dest/public/avm/index.d.ts +0 -2
  168. package/dest/public/avm/index.d.ts.map +0 -1
  169. package/dest/public/avm/index.js +0 -1
  170. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  171. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  172. package/dest/public/avm/opcodes/accrued_substate.js +0 -254
  173. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  174. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  175. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  176. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  177. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  178. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  179. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  180. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  181. package/dest/public/avm/opcodes/bitwise.js +0 -99
  182. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  183. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  184. package/dest/public/avm/opcodes/comparators.js +0 -43
  185. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  186. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  187. package/dest/public/avm/opcodes/contract.js +0 -65
  188. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  189. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  190. package/dest/public/avm/opcodes/control_flow.js +0 -107
  191. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  192. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  193. package/dest/public/avm/opcodes/conversion.js +0 -333
  194. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  195. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  196. package/dest/public/avm/opcodes/ec_add.js +0 -93
  197. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  198. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  199. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  200. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  201. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  202. package/dest/public/avm/opcodes/external_calls.js +0 -210
  203. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  204. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  205. package/dest/public/avm/opcodes/hashing.js +0 -119
  206. package/dest/public/avm/opcodes/index.d.ts +0 -16
  207. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  208. package/dest/public/avm/opcodes/index.js +0 -15
  209. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  210. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  211. package/dest/public/avm/opcodes/instruction.js +0 -95
  212. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  213. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  214. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  215. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  216. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  217. package/dest/public/avm/opcodes/memory.js +0 -257
  218. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  219. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  220. package/dest/public/avm/opcodes/misc.js +0 -73
  221. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  222. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  223. package/dest/public/avm/opcodes/storage.js +0 -78
  224. package/dest/public/avm/revert_reason.d.ts +0 -18
  225. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  226. package/dest/public/avm/revert_reason.js +0 -39
  227. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  228. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  229. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  230. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  231. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  232. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  233. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  234. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  235. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  236. package/dest/public/avm/test_utils.d.ts +0 -15
  237. package/dest/public/avm/test_utils.d.ts.map +0 -1
  238. package/dest/public/avm/test_utils.js +0 -44
  239. package/dest/public/debug_fn_name.d.ts +0 -18
  240. package/dest/public/debug_fn_name.d.ts.map +0 -1
  241. package/dest/public/debug_fn_name.js +0 -37
  242. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  243. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  244. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  245. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  246. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  247. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  248. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  249. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  250. package/dest/public/fixtures/opcode_spammer.js +0 -1653
  251. package/dest/public/hinting_db_sources.d.ts +0 -80
  252. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  253. package/dest/public/hinting_db_sources.js +0 -355
  254. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
  255. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  256. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -98
  257. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  258. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  259. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -131
  260. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  261. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  262. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  263. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  264. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  265. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  266. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  267. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  268. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  269. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  270. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  271. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -131
  272. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  273. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  274. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  275. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  276. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  277. package/dest/public/side_effect_trace.d.ts +0 -87
  278. package/dest/public/side_effect_trace.d.ts.map +0 -1
  279. package/dest/public/side_effect_trace.js +0 -199
  280. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  281. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  282. package/dest/public/side_effect_trace_interface.js +0 -1
  283. package/dest/public/state_manager/index.d.ts +0 -2
  284. package/dest/public/state_manager/index.d.ts.map +0 -1
  285. package/dest/public/state_manager/index.js +0 -1
  286. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  287. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  288. package/dest/public/state_manager/nullifiers.js +0 -92
  289. package/dest/public/state_manager/public_storage.d.ts +0 -66
  290. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  291. package/dest/public/state_manager/public_storage.js +0 -145
  292. package/dest/public/state_manager/state_manager.d.ts +0 -170
  293. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  294. package/dest/public/state_manager/state_manager.js +0 -402
  295. package/src/public/avm/avm_context.ts +0 -61
  296. package/src/public/avm/avm_contract_call_result.ts +0 -69
  297. package/src/public/avm/avm_execution_environment.ts +0 -51
  298. package/src/public/avm/avm_gas.ts +0 -183
  299. package/src/public/avm/avm_machine_state.ts +0 -170
  300. package/src/public/avm/avm_memory_types.ts +0 -440
  301. package/src/public/avm/avm_simulator.ts +0 -279
  302. package/src/public/avm/avm_simulator_interface.ts +0 -8
  303. package/src/public/avm/calldata.ts +0 -100
  304. package/src/public/avm/errors.ts +0 -177
  305. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  306. package/src/public/avm/fixtures/initializers.ts +0 -103
  307. package/src/public/avm/index.ts +0 -1
  308. package/src/public/avm/opcodes/accrued_substate.ts +0 -285
  309. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  310. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  311. package/src/public/avm/opcodes/bitwise.ts +0 -113
  312. package/src/public/avm/opcodes/comparators.ts +0 -55
  313. package/src/public/avm/opcodes/contract.ts +0 -72
  314. package/src/public/avm/opcodes/control_flow.ts +0 -123
  315. package/src/public/avm/opcodes/conversion.ts +0 -104
  316. package/src/public/avm/opcodes/ec_add.ts +0 -105
  317. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  318. package/src/public/avm/opcodes/external_calls.ts +0 -262
  319. package/src/public/avm/opcodes/hashing.ts +0 -151
  320. package/src/public/avm/opcodes/index.ts +0 -15
  321. package/src/public/avm/opcodes/instruction.ts +0 -136
  322. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  323. package/src/public/avm/opcodes/memory.ts +0 -293
  324. package/src/public/avm/opcodes/misc.ts +0 -102
  325. package/src/public/avm/opcodes/storage.ts +0 -95
  326. package/src/public/avm/revert_reason.ts +0 -58
  327. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  328. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  329. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  330. package/src/public/avm/test_utils.ts +0 -64
  331. package/src/public/debug_fn_name.ts +0 -52
  332. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  333. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  334. package/src/public/fixtures/opcode_spammer.ts +0 -1717
  335. package/src/public/hinting_db_sources.ts +0 -607
  336. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -124
  337. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -210
  338. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  339. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  340. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  341. package/src/public/public_tx_simulator/public_tx_context.ts +0 -484
  342. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  343. package/src/public/side_effect_trace.ts +0 -293
  344. package/src/public/side_effect_trace_interface.ts +0 -28
  345. package/src/public/state_manager/index.ts +0 -1
  346. package/src/public/state_manager/nullifiers.ts +0 -103
  347. package/src/public/state_manager/public_storage.ts +0 -174
  348. package/src/public/state_manager/state_manager.ts +0 -569
  349. /package/dest/public/avm/{fixtures → testing}/account_proof_fetcher.js +0 -0
  350. /package/src/public/avm/{fixtures → testing}/account_proof.json +0 -0
  351. /package/src/public/avm/{fixtures → testing}/account_proof_fetcher.ts +0 -0
@@ -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,82 +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
- * - NullifierCollisionError
75
- * - NoteHashLimitReachedError
76
- * - L2ToL1MessageLimitReachedError
77
- */
78
- protected insertRevertiblesFromPrivate(context: PublicTxContext): Promise<void>;
79
- 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);
80
52
  }
81
- export {};
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfdHhfc2ltdWxhdG9yL3B1YmxpY190eF9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEVBQWdDLHFCQUFxQixFQUFrQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixFQUFFLEVBQ0YsZ0JBQWdCLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFJMUIsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUtqRixPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBaUIsTUFBTSx5QkFBeUIsQ0FBQztBQU9oRixPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBcUNyRiw0QkFBNEI7QUFDNUIsS0FBSyxjQUFjLEdBQUc7SUFDcEIsS0FBSyxFQUFFLGdCQUFnQixDQUFDO0lBQ3hCLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNwQixZQUFZLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUMxQyxRQUFRLEVBQUUsT0FBTyxDQUFDO0lBQ2xCLFlBQVksQ0FBQyxFQUFFLGVBQWUsQ0FBQztDQUNoQyxDQUFDO0FBRUYscUJBQWEsaUJBQWtCLFlBQVcsMEJBQTBCO0lBTWhFLFNBQVMsQ0FBQyxVQUFVLEVBQUUseUJBQXlCO0lBQy9DLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUUxQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBVGhELFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDO0lBQ2pELFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxDQUFDO0lBRTdDLFlBQ1ksVUFBVSxFQUFFLHlCQUF5QixFQUNyQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLGVBQWUsRUFBRSxlQUFlLEVBQzFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUM3QixpQkFBaUIsR0FBRSxpQkFBeUMsRUFDdEUsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUsxQjtJQUVEOzs7O09BSUc7SUFDVSxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBMklyRDtJQUVELFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUscUNBRTdCO0lBRUQ7Ozs7T0FJRztJQUNILFVBQWdCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBbUN4RztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQWdCLG9CQUFvQixDQUNsQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLFdBQVcsRUFBRSw2QkFBNkIsR0FDekMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBK0JqQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFVBQWdCLDRCQUE0QixDQUMxQyxZQUFZLEVBQUUsNkJBQTZCLEVBQzNDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLDZCQUE2QixFQUNwRCxZQUFZLEVBQUUsR0FBRyxFQUNqQixjQUFjLEVBQUUsRUFBRSxFQUNsQixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQXFCakM7SUFFRDs7T0FFRztJQUNILFVBQWdCLCtCQUErQixDQUFDLE9BQU8sRUFBRSxlQUFlLGlCQXlCdkU7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFVBQWdCLDRCQUE0QixDQUFDLE9BQU8sRUFBRSxlQUFlLGlCQTBFcEU7WUFFYSxNQUFNO0NBbUNyQiJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfdHhfc2ltdWxhdG9yL3B1YmxpY190eF9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFHTCxLQUFLLHFCQUFxQixFQUMxQixjQUFjLEVBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRWhHLE9BQU8sS0FBSyxFQUF5QixZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQ1Ysa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMzQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixTQUFRLHFCQUFzQixZQUFXLDBCQUEwQjtJQUNoRyxVQUFtQixHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQy9CLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQWtCO0lBQzFDLGtGQUFrRjtJQUNsRixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBMEI7SUFFcEQsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3ZDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFJMUI7SUFFRDs7Ozs7T0FLRztJQUNVLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTckQ7SUFFRCxVQUFnQixVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FtRC9FO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ1UsTUFBTSxDQUFDLGFBQWEsR0FBRSxNQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWM5RDtDQUNGO0FBRUQscUJBQWEseUJBQTBCLFNBQVEsaUJBQWtCLFlBQVcsa0NBQWtDO0lBTTFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLHdCQUF3QjtJQUx0RCxZQUNFLFlBQVksRUFBRSxZQUFZLEVBQzFCLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFDSyxPQUFPLEVBQUUsd0JBQXdCLEVBQ3BELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRXFCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sR0FBRSxNQUFzQixHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FTL0Y7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsMEJBQTJCLFNBQVEseUJBQXlCO0lBRXZFLFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFL0IsWUFDRSxZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsZUFBZSxHQUFFLGVBQXNDLEVBQ3ZELE1BQU0sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN2QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBSzFCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/public_tx_simulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAGvF,OAAO,EAAgC,qBAAqB,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACL,KAAK,eAAe,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,6BAA6B,EAC7B,EAAE,EACF,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAKjF,OAAO,EAAE,KAAK,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAOhF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAqCrF,4BAA4B;AAC5B,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,CAAC;AAEF,qBAAa,iBAAkB,YAAW,0BAA0B;IAMhE,SAAS,CAAC,UAAU,EAAE,yBAAyB;IAC/C,SAAS,CAAC,WAAW,EAAE,iBAAiB;IACxC,SAAS,CAAC,eAAe,EAAE,eAAe;IAE1C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAThD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE7C,YACY,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAC7B,iBAAiB,GAAE,iBAAyC,EACtE,QAAQ,CAAC,EAAE,cAAc,EAK1B;IAED;;;;OAIG;IACU,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CA2IrD;IAED,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,qCAE7B;IAED;;;;OAIG;IACH,UAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAmCxG;IAED;;;;;;OAMG;IACH,UAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,sBAAsB,CAAC,CA+BjC;IAED;;;;;;;;;;;;OAYG;IACH,UAAgB,4BAA4B,CAC1C,YAAY,EAAE,6BAA6B,EAC3C,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,6BAA6B,EACpD,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;IAED;;OAEG;IACH,UAAgB,+BAA+B,CAAC,OAAO,EAAE,eAAe,iBAyBvE;IAED;;;;;;;;OAQG;IACH,UAAgB,4BAA4B,CAAC,OAAO,EAAE,eAAe,iBA0EpE;YAEa,MAAM;CAmCrB"}
1
+ {"version":3,"file":"public_tx_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/public_tx_simulator/public_tx_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAGL,KAAK,qBAAqB,EAC1B,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAsB,MAAM,yBAAyB,CAAC;AAEhG,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,kCAAkC,EAClC,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAE5C;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,qBAAsB,YAAW,0BAA0B;IAChG,UAAmB,GAAG,EAAE,MAAM,CAAC;IAC/B,uCAAuC;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,kFAAkF;IAClF,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IAEpD,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAED;;;;;OAKG;IACU,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CASrD;IAED,UAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAmD/E;IAED;;;;;;;;;OASG;IACU,MAAM,CAAC,aAAa,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9D;CACF;AAED,qBAAa,yBAA0B,SAAQ,iBAAkB,YAAW,kCAAkC;IAM1G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB;IALtD,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACK,OAAO,EAAE,wBAAwB,EACpD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAEqB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS/F;CACF;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,yBAAyB;IAEvE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACE,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,eAAsC,EACvD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,EAK1B;CACF"}