@aztec/simulator 0.0.1-commit.d431d1c → 0.0.1-commit.d58ff9d0

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 (378) hide show
  1. package/README.md +4 -4
  2. package/dest/client.d.ts +1 -3
  3. package/dest/client.d.ts.map +1 -1
  4. package/dest/client.js +0 -2
  5. package/dest/private/acvm/acvm.d.ts +4 -2
  6. package/dest/private/acvm/acvm.d.ts.map +1 -1
  7. package/dest/private/acvm/acvm.js +4 -3
  8. package/dest/private/acvm_native.d.ts +5 -3
  9. package/dest/private/acvm_native.d.ts.map +1 -1
  10. package/dest/private/acvm_native.js +8 -6
  11. package/dest/private/acvm_wasm.d.ts +4 -3
  12. package/dest/private/acvm_wasm.d.ts.map +1 -1
  13. package/dest/private/acvm_wasm.js +7 -5
  14. package/dest/private/circuit_recording/circuit_recorder.d.ts +39 -25
  15. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  16. package/dest/private/circuit_recording/circuit_recorder.js +70 -72
  17. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +9 -20
  18. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  19. package/dest/private/circuit_recording/file_circuit_recorder.js +39 -43
  20. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +7 -2
  21. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  22. package/dest/private/circuit_recording/memory_circuit_recorder.js +4 -4
  23. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  24. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  25. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
  26. package/dest/private/factory.d.ts +3 -3
  27. package/dest/private/factory.d.ts.map +1 -1
  28. package/dest/private/factory.js +7 -4
  29. package/dest/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  30. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  31. package/dest/public/avm/testing/account_proof_fetcher.js +152 -0
  32. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  33. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  34. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +18 -3
  35. package/dest/public/avm/testing/utils.d.ts +32 -0
  36. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  37. package/dest/public/avm/{fixtures → testing}/utils.js +4 -34
  38. package/dest/public/avm_simulator.d.ts +28 -0
  39. package/dest/public/avm_simulator.d.ts.map +1 -0
  40. package/dest/public/avm_simulator.js +4 -0
  41. package/dest/public/avm_simulator_pool.d.ts +45 -0
  42. package/dest/public/avm_simulator_pool.d.ts.map +1 -0
  43. package/dest/public/avm_simulator_pool.js +197 -0
  44. package/dest/public/cdb/generated/api_types.d.ts +171 -0
  45. package/dest/public/cdb/generated/api_types.d.ts.map +1 -0
  46. package/dest/public/cdb/generated/api_types.js +314 -0
  47. package/dest/public/cdb/generated/server.d.ts +26 -0
  48. package/dest/public/cdb/generated/server.d.ts.map +1 -0
  49. package/dest/public/cdb/generated/server.js +135 -0
  50. package/dest/public/cdb_ipc_server.d.ts +33 -0
  51. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  52. package/dest/public/cdb_ipc_server.js +153 -0
  53. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  54. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  55. package/dest/public/contracts_db_checkpoint.js +1 -1
  56. package/dest/public/executor_metrics.d.ts +1 -1
  57. package/dest/public/executor_metrics.d.ts.map +1 -1
  58. package/dest/public/executor_metrics.js +7 -2
  59. package/dest/public/fixtures/amm_test.js +4 -4
  60. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  61. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  62. package/dest/public/fixtures/bulk_test.js +33 -6
  63. package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
  64. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  65. package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
  66. package/dest/public/fixtures/index.d.ts +2 -4
  67. package/dest/public/fixtures/index.d.ts.map +1 -1
  68. package/dest/public/fixtures/index.js +1 -3
  69. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  70. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  71. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  72. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +12 -7
  73. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  74. package/dest/public/fixtures/public_tx_simulation_tester.js +32 -15
  75. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  76. package/dest/public/fixtures/token_test.js +3 -3
  77. package/dest/public/fixtures/utils.d.ts +2 -2
  78. package/dest/public/fixtures/utils.d.ts.map +1 -1
  79. package/dest/public/fixtures/utils.js +21 -20
  80. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  81. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  82. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  83. package/dest/public/fuzzing/avm_simulator_bin.js +11 -8
  84. package/dest/public/index.d.ts +5 -2
  85. package/dest/public/index.d.ts.map +1 -1
  86. package/dest/public/index.js +2 -1
  87. package/dest/public/public_db_sources.d.ts +9 -5
  88. package/dest/public/public_db_sources.d.ts.map +1 -1
  89. package/dest/public/public_db_sources.js +20 -14
  90. package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -7
  91. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  92. package/dest/public/public_processor/guarded_merkle_tree.js +8 -5
  93. package/dest/public/public_processor/public_processor.d.ts +17 -8
  94. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  95. package/dest/public/public_processor/public_processor.js +119 -77
  96. package/dest/public/public_processor/public_processor_metrics.d.ts +5 -2
  97. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  98. package/dest/public/public_processor/public_processor_metrics.js +28 -4
  99. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  100. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  101. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  102. package/dest/public/public_tx_simulator/factories.d.ts +9 -8
  103. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  104. package/dest/public/public_tx_simulator/factories.js +9 -9
  105. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  106. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  107. package/dest/public/public_tx_simulator/index.js +2 -4
  108. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +43 -71
  109. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  110. package/dest/public/public_tx_simulator/public_tx_simulator.js +99 -316
  111. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  112. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  113. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  114. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  115. package/dest/public/test_executor_metrics.d.ts +3 -2
  116. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  117. package/dest/public/test_executor_metrics.js +2 -2
  118. package/package.json +22 -19
  119. package/src/client.ts +0 -2
  120. package/src/private/acvm/acvm.ts +4 -3
  121. package/src/private/acvm_native.ts +11 -5
  122. package/src/private/acvm_wasm.ts +11 -4
  123. package/src/private/circuit_recording/circuit_recorder.ts +89 -81
  124. package/src/private/circuit_recording/file_circuit_recorder.ts +45 -50
  125. package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
  126. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
  127. package/src/private/factory.ts +7 -4
  128. package/src/public/avm/testing/account_proof.json +553 -0
  129. package/src/public/avm/testing/account_proof_fetcher.ts +166 -0
  130. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +23 -3
  131. package/src/public/avm/{fixtures → testing}/utils.ts +4 -40
  132. package/src/public/avm_simulator.ts +29 -0
  133. package/src/public/avm_simulator_pool.ts +226 -0
  134. package/src/public/cdb/generated/api_types.ts +457 -0
  135. package/src/public/cdb/generated/server.ts +109 -0
  136. package/src/public/cdb_ipc_server.ts +197 -0
  137. package/src/public/contracts_db_checkpoint.ts +1 -1
  138. package/src/public/executor_metrics.ts +4 -1
  139. package/src/public/fixtures/amm_test.ts +4 -4
  140. package/src/public/fixtures/bulk_test.ts +31 -6
  141. package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
  142. package/src/public/fixtures/index.ts +1 -3
  143. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  144. package/src/public/fixtures/public_tx_simulation_tester.ts +45 -18
  145. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  146. package/src/public/fixtures/token_test.ts +3 -3
  147. package/src/public/fixtures/utils.ts +23 -24
  148. package/src/public/fuzzing/avm_fuzzer_simulator.ts +26 -11
  149. package/src/public/fuzzing/avm_simulator_bin.ts +14 -6
  150. package/src/public/index.ts +7 -3
  151. package/src/public/public_db_sources.ts +36 -19
  152. package/src/public/public_processor/guarded_merkle_tree.ts +11 -8
  153. package/src/public/public_processor/public_processor.ts +166 -97
  154. package/src/public/public_processor/public_processor_metrics.ts +22 -4
  155. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +17 -31
  156. package/src/public/public_tx_simulator/factories.ts +31 -11
  157. package/src/public/public_tx_simulator/index.ts +6 -5
  158. package/src/public/public_tx_simulator/public_tx_simulator.ts +142 -470
  159. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  160. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  161. package/src/public/test_executor_metrics.ts +3 -3
  162. package/dest/public/avm/avm_context.d.ts +0 -41
  163. package/dest/public/avm/avm_context.d.ts.map +0 -1
  164. package/dest/public/avm/avm_context.js +0 -44
  165. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  166. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  167. package/dest/public/avm/avm_contract_call_result.js +0 -54
  168. package/dest/public/avm/avm_execution_environment.d.ts +0 -23
  169. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  170. package/dest/public/avm/avm_execution_environment.js +0 -33
  171. package/dest/public/avm/avm_gas.d.ts +0 -44
  172. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  173. package/dest/public/avm/avm_gas.js +0 -195
  174. package/dest/public/avm/avm_machine_state.d.ts +0 -97
  175. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  176. package/dest/public/avm/avm_machine_state.js +0 -109
  177. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  178. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  179. package/dest/public/avm/avm_memory_types.js +0 -351
  180. package/dest/public/avm/avm_simulator.d.ts +0 -40
  181. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  182. package/dest/public/avm/avm_simulator.js +0 -191
  183. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  184. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  185. package/dest/public/avm/avm_simulator_interface.js +0 -3
  186. package/dest/public/avm/errors.d.ts +0 -104
  187. package/dest/public/avm/errors.d.ts.map +0 -1
  188. package/dest/public/avm/errors.js +0 -141
  189. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  190. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  191. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -83
  192. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  193. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  194. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  195. package/dest/public/avm/fixtures/initializers.js +0 -44
  196. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  197. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  198. package/dest/public/avm/index.d.ts +0 -2
  199. package/dest/public/avm/index.d.ts.map +0 -1
  200. package/dest/public/avm/index.js +0 -1
  201. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -75
  202. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  203. package/dest/public/avm/opcodes/accrued_substate.js +0 -255
  204. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  205. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  206. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  207. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  208. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  209. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  210. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  211. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  212. package/dest/public/avm/opcodes/bitwise.js +0 -99
  213. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  214. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  215. package/dest/public/avm/opcodes/comparators.js +0 -43
  216. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  217. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  218. package/dest/public/avm/opcodes/contract.js +0 -65
  219. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  220. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  221. package/dest/public/avm/opcodes/control_flow.js +0 -107
  222. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  223. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  224. package/dest/public/avm/opcodes/conversion.js +0 -333
  225. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  226. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  227. package/dest/public/avm/opcodes/ec_add.js +0 -93
  228. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  229. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  230. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  231. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  232. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  233. package/dest/public/avm/opcodes/external_calls.js +0 -210
  234. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  235. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  236. package/dest/public/avm/opcodes/hashing.js +0 -119
  237. package/dest/public/avm/opcodes/index.d.ts +0 -16
  238. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  239. package/dest/public/avm/opcodes/index.js +0 -15
  240. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  241. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  242. package/dest/public/avm/opcodes/instruction.js +0 -95
  243. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  244. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  245. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  246. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  247. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  248. package/dest/public/avm/opcodes/memory.js +0 -257
  249. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  250. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  251. package/dest/public/avm/opcodes/misc.js +0 -73
  252. package/dest/public/avm/opcodes/storage.d.ts +0 -24
  253. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  254. package/dest/public/avm/opcodes/storage.js +0 -68
  255. package/dest/public/avm/revert_reason.d.ts +0 -18
  256. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  257. package/dest/public/avm/revert_reason.js +0 -39
  258. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  259. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  260. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  261. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  262. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  263. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  264. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  265. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  266. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  267. package/dest/public/avm/test_utils.d.ts +0 -15
  268. package/dest/public/avm/test_utils.d.ts.map +0 -1
  269. package/dest/public/avm/test_utils.js +0 -44
  270. package/dest/public/debug_fn_name.d.ts +0 -18
  271. package/dest/public/debug_fn_name.d.ts.map +0 -1
  272. package/dest/public/debug_fn_name.js +0 -35
  273. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  274. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  275. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  276. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  277. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  278. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  279. package/dest/public/fixtures/opcode_spammer.d.ts +0 -123
  280. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  281. package/dest/public/fixtures/opcode_spammer.js +0 -1681
  282. package/dest/public/hinting_db_sources.d.ts +0 -80
  283. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  284. package/dest/public/hinting_db_sources.js +0 -355
  285. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -18
  286. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  287. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -98
  288. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  289. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  290. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -132
  291. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  292. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  293. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  294. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  295. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  296. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  297. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -22
  298. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  299. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  300. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  301. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  302. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -130
  303. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  304. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  305. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  306. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  307. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  308. package/dest/public/side_effect_trace.d.ts +0 -87
  309. package/dest/public/side_effect_trace.d.ts.map +0 -1
  310. package/dest/public/side_effect_trace.js +0 -199
  311. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  312. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  313. package/dest/public/side_effect_trace_interface.js +0 -1
  314. package/dest/public/state_manager/index.d.ts +0 -2
  315. package/dest/public/state_manager/index.d.ts.map +0 -1
  316. package/dest/public/state_manager/index.js +0 -1
  317. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  318. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  319. package/dest/public/state_manager/nullifiers.js +0 -92
  320. package/dest/public/state_manager/public_storage.d.ts +0 -66
  321. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  322. package/dest/public/state_manager/public_storage.js +0 -145
  323. package/dest/public/state_manager/state_manager.d.ts +0 -164
  324. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  325. package/dest/public/state_manager/state_manager.js +0 -395
  326. package/src/public/avm/avm_context.ts +0 -61
  327. package/src/public/avm/avm_contract_call_result.ts +0 -67
  328. package/src/public/avm/avm_execution_environment.ts +0 -46
  329. package/src/public/avm/avm_gas.ts +0 -183
  330. package/src/public/avm/avm_machine_state.ts +0 -169
  331. package/src/public/avm/avm_memory_types.ts +0 -436
  332. package/src/public/avm/avm_simulator.ts +0 -276
  333. package/src/public/avm/avm_simulator_interface.ts +0 -8
  334. package/src/public/avm/errors.ts +0 -177
  335. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -116
  336. package/src/public/avm/fixtures/initializers.ts +0 -102
  337. package/src/public/avm/index.ts +0 -1
  338. package/src/public/avm/opcodes/accrued_substate.ts +0 -288
  339. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  340. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  341. package/src/public/avm/opcodes/bitwise.ts +0 -113
  342. package/src/public/avm/opcodes/comparators.ts +0 -55
  343. package/src/public/avm/opcodes/contract.ts +0 -75
  344. package/src/public/avm/opcodes/control_flow.ts +0 -123
  345. package/src/public/avm/opcodes/conversion.ts +0 -104
  346. package/src/public/avm/opcodes/ec_add.ts +0 -105
  347. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  348. package/src/public/avm/opcodes/external_calls.ts +0 -261
  349. package/src/public/avm/opcodes/hashing.ts +0 -151
  350. package/src/public/avm/opcodes/index.ts +0 -15
  351. package/src/public/avm/opcodes/instruction.ts +0 -136
  352. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  353. package/src/public/avm/opcodes/memory.ts +0 -293
  354. package/src/public/avm/opcodes/misc.ts +0 -102
  355. package/src/public/avm/opcodes/storage.ts +0 -87
  356. package/src/public/avm/revert_reason.ts +0 -58
  357. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  358. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  359. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  360. package/src/public/avm/test_utils.ts +0 -64
  361. package/src/public/debug_fn_name.ts +0 -50
  362. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  363. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  364. package/src/public/fixtures/opcode_spammer.ts +0 -1725
  365. package/src/public/hinting_db_sources.ts +0 -607
  366. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -121
  367. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -208
  368. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -132
  369. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -237
  370. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  371. package/src/public/public_tx_simulator/public_tx_context.ts +0 -477
  372. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  373. package/src/public/side_effect_trace.ts +0 -290
  374. package/src/public/side_effect_trace_interface.ts +0 -28
  375. package/src/public/state_manager/index.ts +0 -1
  376. package/src/public/state_manager/nullifiers.ts +0 -103
  377. package/src/public/state_manager/public_storage.ts +0 -174
  378. package/src/public/state_manager/state_manager.ts +0 -546
@@ -4,14 +4,11 @@ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { FunctionSelector, getAllFunctionAbis } from '@aztec/stdlib/abi';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import { computeInitializationHash } from '@aztec/stdlib/contract';
7
- import { isNoirCallStackUnresolved } from '@aztec/stdlib/errors';
8
7
  import { siloNullifier } from '@aztec/stdlib/hash';
9
8
  import { deriveKeys } from '@aztec/stdlib/keys';
10
9
  import { makeContractClassPublic, makeContractInstanceFromClassId } from '@aztec/stdlib/testing';
11
10
  import { strict as assert } from 'assert';
12
11
  import merge from 'lodash.merge';
13
- import { resolveAssertionMessageFromRevertData, traverseCauseChain } from '../../../common/index.js';
14
- import { Field, Uint8, Uint32, Uint64 } from '../avm_memory_types.js';
15
12
  export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
16
13
  export const DEFAULT_TIMESTAMP = 99833n;
17
14
  export const DEFAULT_BLOCK_NUMBER = BlockNumber(42);
@@ -20,26 +17,6 @@ export const DEFAULT_BLOCK_NUMBER = BlockNumber(42);
20
17
  */ export function allSameExcept(original, overrides) {
21
18
  return merge({}, original, overrides);
22
19
  }
23
- export function randomMemoryBytes(length) {
24
- return [
25
- ...Array(length)
26
- ].map((_)=>new Uint8(Math.floor(Math.random() * 255)));
27
- }
28
- export function randomMemoryUint32s(length) {
29
- return [
30
- ...Array(length)
31
- ].map((_)=>new Uint32(Math.floor(Math.random() * 255)));
32
- }
33
- export function randomMemoryUint64s(length) {
34
- return [
35
- ...Array(length)
36
- ].map((_)=>new Uint64(Math.floor(Math.random() * 255)));
37
- }
38
- export function randomMemoryFields(length) {
39
- return [
40
- ...Array(length)
41
- ].map((_)=>new Field(Fr.random()));
42
- }
43
20
  export function getFunctionSelector(functionName, contractArtifact) {
44
21
  const fnArtifact = getAllFunctionAbis(contractArtifact).find((f)=>f.name === functionName);
45
22
  assert(!!fnArtifact, `Function ${functionName} not found in ${contractArtifact.name}`);
@@ -52,16 +29,6 @@ export function getContractFunctionArtifact(functionName, contractArtifact) {
52
29
  export function getContractFunctionAbi(functionName, contractArtifact) {
53
30
  return contractArtifact.functions.find((f)=>f.name === functionName) ?? contractArtifact.nonDispatchPublicFunctions.find((f)=>f.name === functionName);
54
31
  }
55
- export function resolveContractAssertionMessage(functionName, revertReason, output, contractArtifact) {
56
- traverseCauseChain(revertReason, (cause)=>{
57
- revertReason = cause;
58
- });
59
- const functionArtifact = getAllFunctionAbis(contractArtifact).find((f)=>f.name === functionName);
60
- if (!functionArtifact || !revertReason.noirCallStack || !isNoirCallStackUnresolved(revertReason.noirCallStack)) {
61
- return undefined;
62
- }
63
- return resolveAssertionMessageFromRevertData(output, functionArtifact);
64
- }
65
32
  /**
66
33
  * Create a contract class and instance given constructor args, artifact, etc.
67
34
  * NOTE: This is useful for testing real-ish contract class registration and instance deployment TXs (via logs)
@@ -77,17 +44,20 @@ export function resolveContractAssertionMessage(functionName, revertReason, outp
77
44
  const constructorAbi = getContractFunctionAbi('constructor', contractArtifact);
78
45
  const { publicKeys } = await deriveKeys(new Fr(seed));
79
46
  const initializationHash = await computeInitializationHash(constructorAbi, constructorArgs);
47
+ const immutablesHash = new Fr(seed + 1);
80
48
  const contractInstance = originalContractClassId === undefined ? await makeContractInstanceFromClassId(contractClass.id, seed, {
81
49
  deployer,
82
50
  initializationHash,
51
+ immutablesHash,
83
52
  publicKeys
84
53
  }) : await makeContractInstanceFromClassId(originalContractClassId, seed, {
85
54
  deployer,
86
55
  initializationHash,
87
56
  currentClassId: contractClass.id,
57
+ immutablesHash,
88
58
  publicKeys
89
59
  });
90
- const contractAddressNullifier = await siloNullifier(AztecAddress.fromNumber(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), contractInstance.address.toField());
60
+ const contractAddressNullifier = await siloNullifier(AztecAddress.fromNumberUnsafe(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), contractInstance.address.toField());
91
61
  return {
92
62
  contractClass,
93
63
  contractInstance,
@@ -0,0 +1,28 @@
1
+ import type { PublicContractsDB } from './public_db_sources.js';
2
+ /**
3
+ * Identifies the contract data a single simulation reads. The AVM's contract-data lookups during a
4
+ * `simulate` call are answered from `contractsDB`; `forkId` and `timestamp` scope those lookups to the
5
+ * world-state fork being simulated against. How this reaches the AVM (in-process call, IPC callback
6
+ * server, ...) is the implementation's concern — callers only supply the context.
7
+ */
8
+ export interface AvmContractsDBContext {
9
+ contractsDB: PublicContractsDB;
10
+ forkId: number;
11
+ timestamp: bigint;
12
+ }
13
+ /**
14
+ * Something that can run AVM simulations, independent of how the work is dispatched (a single external
15
+ * process, a pool of them, or an in-process stub). Callers hold this and never see the underlying transport.
16
+ */
17
+ export interface AvmSimulator {
18
+ /**
19
+ * Run a fast simulation and return the msgpack-encoded result. `context` supplies the contracts DB whose
20
+ * data the simulation reads. If `signal` aborts, the simulation stops at the next cancellation checkpoint.
21
+ */
22
+ simulate(inputBuffer: Uint8Array, context: AvmContractsDBContext, signal?: AbortSignal): Promise<Uint8Array>;
23
+ /** Run a simulation collecting proving hints and return the msgpack-encoded result. */
24
+ simulateWithHints(inputBuffer: Uint8Array): Promise<Uint8Array>;
25
+ /** Release any resources held by the underlying implementation. */
26
+ destroy?(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9hdm1fc2ltdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVcscUJBQXFCO0lBQ3BDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztJQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxZQUFZO0lBQzNCOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdHLHVGQUF1RjtJQUN2RixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxtRUFBbUU7SUFDbkUsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQzNCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../src/public/avm_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7G,uFAAuF;IACvF,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,mEAAmE;IACnE,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Something that can run AVM simulations, independent of how the work is dispatched (a single external
3
+ * process, a pool of them, or an in-process stub). Callers hold this and never see the underlying transport.
4
+ */ export { };
@@ -0,0 +1,45 @@
1
+ import type { AvmContractsDBContext, AvmSimulator } from './avm_simulator.js';
2
+ export interface AvmSimulatorPoolOptions {
3
+ /** Maximum number of concurrent AVM processes. If not set, defaults to AVM_MAX_CONCURRENT_SIMULATIONS env var or 4. */
4
+ maxSize?: number;
5
+ /** Path to the bb-avm-sim binary. If omitted, the generated package resolves it. */
6
+ avmBinaryPath?: string;
7
+ /** IPC path for the shared WSDB server. */
8
+ wsdbIpcPath: string;
9
+ /** Optional logger function for AVM process output. */
10
+ logger?: (msg: string) => void;
11
+ }
12
+ /**
13
+ * The public-execution AVM backend: a lazily-grown pool of bb-avm-sim processes plus the CDB server that
14
+ * answers those processes' contract-data callbacks. Callers hold this as an {@link AvmSimulator}; the pool,
15
+ * the CDB server, its IPC path, and fork-id routing are all hidden behind that interface. Each `simulate`
16
+ * registers the call's contracts DB on the CDB server for the duration of the simulation (keyed by fork id
17
+ * so concurrent simulations on different forks don't collide) and unregisters it once the call returns.
18
+ */
19
+ export declare class AvmSimulatorPool implements AvmSimulator {
20
+ private options;
21
+ private slots;
22
+ private available;
23
+ private waiters;
24
+ private createdCount;
25
+ private log;
26
+ private maxSize;
27
+ private cdbServer;
28
+ constructor(options: AvmSimulatorPoolOptions);
29
+ static spawn(options: AvmSimulatorPoolOptions): Promise<AvmSimulatorPool>;
30
+ [Symbol.asyncDispose](): Promise<void>;
31
+ simulate(inputBuffer: Uint8Array, context: AvmContractsDBContext, signal?: AbortSignal): Promise<Uint8Array>;
32
+ simulateWithHints(inputBuffer: Uint8Array): Promise<Uint8Array>;
33
+ /** Destroy all AVM processes in the pool and close the CDB server. */
34
+ destroy(): Promise<void>;
35
+ /**
36
+ * Eagerly spawn up to `count` AVM processes (capped at maxSize) and leave them available, so the
37
+ * first simulate() doesn't pay process spawn/connect cost. Idempotent.
38
+ */
39
+ prewarm(count?: number): Promise<void>;
40
+ private checkout;
41
+ /** Return an AVM process to the pool after use. */
42
+ private return;
43
+ private createSlot;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3NpbXVsYXRvcl9wb29sLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2F2bV9zaW11bGF0b3JfcG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5RSxNQUFNLFdBQVcsdUJBQXVCO0lBQ3RDLHVIQUF1SDtJQUN2SCxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsb0ZBQW9GO0lBQ3BGLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QiwyQ0FBMkM7SUFDM0MsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQix1REFBdUQ7SUFDdkQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztDQUNoQztBQWFEOzs7Ozs7R0FNRztBQUNILHFCQUFhLGdCQUFpQixZQUFXLFlBQVk7SUFTdkMsT0FBTyxDQUFDLE9BQU87SUFSM0IsT0FBTyxDQUFDLEtBQUssQ0FBc0M7SUFDbkQsT0FBTyxDQUFDLFNBQVMsQ0FBZ0I7SUFDakMsT0FBTyxDQUFDLE9BQU8sQ0FBaUc7SUFDaEgsT0FBTyxDQUFDLFlBQVksQ0FBSztJQUN6QixPQUFPLENBQUMsR0FBRyxDQUFTO0lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLFNBQVMsQ0FBZTtJQUVoQyxZQUFvQixPQUFPLEVBQUUsdUJBQXVCLEVBSW5EO0lBRUQsT0FBYSxLQUFLLENBQUMsT0FBTyxFQUFFLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUs5RTtJQUVLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFM0M7SUFFSyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxDQUFDLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0Fjakg7SUFFSyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FRcEU7SUFFRCxzRUFBc0U7SUFDaEUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FtQjdCO0lBRUQ7OztPQUdHO0lBQ0csT0FBTyxDQUFDLEtBQUssU0FBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FVdEM7WUFHYSxRQUFRO0lBZXRCLG1EQUFtRDtJQUNuRCxPQUFPLENBQUMsTUFBTTtZQVlBLFVBQVU7Q0E4QnpCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avm_simulator_pool.d.ts","sourceRoot":"","sources":["../../src/public/avm_simulator_pool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9E,MAAM,WAAW,uBAAuB;IACtC,uHAAuH;IACvH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAaD;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IASvC,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAiG;IAChH,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAe;IAEhC,YAAoB,OAAO,EAAE,uBAAuB,EAInD;IAED,OAAa,KAAK,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAK9E;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEK,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjH;IAEK,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAQpE;IAED,sEAAsE;IAChE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB7B;IAED;;;OAGG;IACG,OAAO,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtC;YAGa,QAAQ;IAetB,mDAAmD;IACnD,OAAO,CAAC,MAAM;YAYA,UAAU;CA8BzB"}
@@ -0,0 +1,197 @@
1
+ var _computedKey;
2
+ import { AvmService } from '@aztec/bb-avm-sim';
3
+ import { createLogger } from '@aztec/foundation/log';
4
+ import { CdbIpcServer } from './cdb_ipc_server.js';
5
+ _computedKey = Symbol.asyncDispose;
6
+ /**
7
+ * The public-execution AVM backend: a lazily-grown pool of bb-avm-sim processes plus the CDB server that
8
+ * answers those processes' contract-data callbacks. Callers hold this as an {@link AvmSimulator}; the pool,
9
+ * the CDB server, its IPC path, and fork-id routing are all hidden behind that interface. Each `simulate`
10
+ * registers the call's contracts DB on the CDB server for the duration of the simulation (keyed by fork id
11
+ * so concurrent simulations on different forks don't collide) and unregisters it once the call returns.
12
+ */ export class AvmSimulatorPool {
13
+ options;
14
+ slots;
15
+ available;
16
+ waiters;
17
+ createdCount;
18
+ log;
19
+ maxSize;
20
+ cdbServer;
21
+ constructor(options){
22
+ this.options = options;
23
+ this.slots = [];
24
+ this.available = [];
25
+ this.waiters = [];
26
+ this.createdCount = 0;
27
+ this.log = createLogger('simulator:avm-pool');
28
+ this.maxSize = options.maxSize ?? parseInt(process.env.AVM_MAX_CONCURRENT_SIMULATIONS ?? '4', 10);
29
+ this.cdbServer = new CdbIpcServer();
30
+ }
31
+ static async spawn(options) {
32
+ const pool = new AvmSimulatorPool(options);
33
+ // Always start one process up front so the first simulate() doesn't pay process spawn/connect cost.
34
+ await pool.prewarm();
35
+ return pool;
36
+ }
37
+ async [_computedKey]() {
38
+ await this.destroy();
39
+ }
40
+ async simulate(inputBuffer, context, signal) {
41
+ // Register the fork's contracts DB so the C++ AVM's callbacks (which carry this fork id) route to it,
42
+ // and unregister once the simulation returns — registration is only needed while the call is running.
43
+ this.cdbServer.registerFork(context.forkId, context.contractsDB, context.timestamp);
44
+ try {
45
+ const simulator = await this.checkout();
46
+ try {
47
+ return await simulator.simulate(inputBuffer, signal);
48
+ } finally{
49
+ this.return(simulator);
50
+ }
51
+ } finally{
52
+ this.cdbServer.unregisterFork(context.forkId);
53
+ }
54
+ }
55
+ async simulateWithHints(inputBuffer) {
56
+ // The hinted path makes no contract-data callbacks, so no CDB registration is needed.
57
+ const simulator = await this.checkout();
58
+ try {
59
+ return await simulator.simulateWithHints(inputBuffer);
60
+ } finally{
61
+ this.return(simulator);
62
+ }
63
+ }
64
+ /** Destroy all AVM processes in the pool and close the CDB server. */ async destroy() {
65
+ for (const waiter of this.waiters){
66
+ waiter.reject(new Error('AVM simulator pool destroyed'));
67
+ }
68
+ this.waiters = [];
69
+ const destroyPromises = [];
70
+ for (const slot of this.slots){
71
+ if (slot) {
72
+ destroyPromises.push(slot.destroy());
73
+ }
74
+ }
75
+ await Promise.all(destroyPromises);
76
+ this.slots = [];
77
+ this.available = [];
78
+ this.createdCount = 0;
79
+ await this.cdbServer.close();
80
+ this.log.info('AVM simulator pool destroyed');
81
+ }
82
+ /**
83
+ * Eagerly spawn up to `count` AVM processes (capped at maxSize) and leave them available, so the
84
+ * first simulate() doesn't pay process spawn/connect cost. Idempotent.
85
+ */ async prewarm(count = 1) {
86
+ const target = Math.min(count, this.maxSize);
87
+ const created = [];
88
+ while(this.createdCount < target){
89
+ created.push(await this.createSlot());
90
+ }
91
+ // Hand the freshly-spawned processes back to the pool so checkout() reuses them.
92
+ for (const simulator of created){
93
+ this.return(simulator);
94
+ }
95
+ }
96
+ /** Check out an AVM process from the pool, blocking until one is free. Caller must return() it when done. */ async checkout() {
97
+ const idx = this.available.pop();
98
+ if (idx !== undefined && this.slots[idx]) {
99
+ return this.slots[idx];
100
+ }
101
+ if (this.createdCount < this.maxSize || idx !== undefined && !this.slots[idx]) {
102
+ return await this.createSlot(idx);
103
+ }
104
+ return new Promise((resolve, reject)=>{
105
+ this.waiters.push({
106
+ resolve,
107
+ reject
108
+ });
109
+ });
110
+ }
111
+ /** Return an AVM process to the pool after use. */ return(simulator) {
112
+ const waiter = this.waiters.shift();
113
+ if (waiter) {
114
+ waiter.resolve(simulator);
115
+ } else {
116
+ const idx = this.slots.indexOf(simulator);
117
+ if (idx >= 0) {
118
+ this.available.push(idx);
119
+ }
120
+ }
121
+ }
122
+ async createSlot(reuseIdx) {
123
+ const reuse = reuseIdx !== undefined && reuseIdx < this.slots.length;
124
+ // Reserve the slot count synchronously, before the async spawn, so concurrent checkouts can't all
125
+ // observe `createdCount < maxSize` and overshoot the pool (the count is only bumped once control has
126
+ // yielded on the await). Roll back the reservation if the spawn itself fails.
127
+ if (!reuse) {
128
+ this.createdCount++;
129
+ }
130
+ let simulator;
131
+ try {
132
+ simulator = await AvmSimulatorProcess.spawn({
133
+ binaryPath: this.options.avmBinaryPath,
134
+ wsdbIpcPath: this.options.wsdbIpcPath,
135
+ cdbIpcPath: this.cdbServer.ipcPath,
136
+ logger: this.options.logger
137
+ });
138
+ } catch (err) {
139
+ if (!reuse) {
140
+ this.createdCount--;
141
+ }
142
+ throw err;
143
+ }
144
+ if (reuse) {
145
+ this.slots[reuseIdx] = simulator;
146
+ } else {
147
+ this.slots.push(simulator);
148
+ }
149
+ this.log.debug(`Created AVM pool slot (${this.createdCount}/${this.maxSize})`);
150
+ return simulator;
151
+ }
152
+ }
153
+ class AvmSimulatorProcess {
154
+ service;
155
+ constructor(service){
156
+ this.service = service;
157
+ }
158
+ static async spawn(options) {
159
+ const service = await AvmService.spawn({
160
+ binaryPath: options.binaryPath,
161
+ transport: 'uds',
162
+ logger: options.logger,
163
+ extraArgs: [
164
+ '--wsdb',
165
+ options.wsdbIpcPath,
166
+ '--cdb',
167
+ options.cdbIpcPath
168
+ ]
169
+ });
170
+ return new AvmSimulatorProcess(service);
171
+ }
172
+ async simulate(inputBuffer, signal) {
173
+ // Signal the C++ process to stop at its next cancellation checkpoint when the caller aborts.
174
+ const onAbort = ()=>this.service.sendProcessSignal('SIGUSR1');
175
+ if (signal?.aborted) {
176
+ onAbort();
177
+ }
178
+ signal?.addEventListener('abort', onAbort, {
179
+ once: true
180
+ });
181
+ try {
182
+ return (await this.service.simulate({
183
+ inputs: inputBuffer
184
+ })).result;
185
+ } finally{
186
+ signal?.removeEventListener('abort', onAbort);
187
+ }
188
+ }
189
+ async simulateWithHints(inputBuffer) {
190
+ return (await this.service.simulateWithHints({
191
+ inputs: inputBuffer
192
+ })).result;
193
+ }
194
+ async destroy() {
195
+ await this.service.destroy();
196
+ }
197
+ }
@@ -0,0 +1,171 @@
1
+ /** Schema version hash for compatibility checking */
2
+ export declare const SCHEMA_HASH = "ef6a34b441b65d90238d2b3616a763136f5f53f9239ecabe9163ebf9388c89bd";
3
+ export type AztecAddress = Uint8Array;
4
+ export type ContractClassId = Uint8Array;
5
+ export type ForkId = number;
6
+ export type Fr = Uint8Array;
7
+ export type FunctionSelector = Uint8Array;
8
+ export interface CdbGetContractInstance {
9
+ address: AztecAddress;
10
+ forkId: ForkId;
11
+ }
12
+ export interface CdbGetContractClass {
13
+ classId: ContractClassId;
14
+ forkId: ForkId;
15
+ }
16
+ export interface CdbGetBytecodeCommitment {
17
+ classId: ContractClassId;
18
+ forkId: ForkId;
19
+ }
20
+ export interface CdbGetDebugFunctionName {
21
+ address: AztecAddress;
22
+ selector: FunctionSelector;
23
+ forkId: ForkId;
24
+ }
25
+ export interface CdbAddContracts {
26
+ contractDeploymentData: Uint8Array;
27
+ forkId: ForkId;
28
+ }
29
+ export interface CdbCreateCheckpoint {
30
+ forkId: ForkId;
31
+ }
32
+ export interface CdbCommitCheckpoint {
33
+ forkId: ForkId;
34
+ }
35
+ export interface CdbRevertCheckpoint {
36
+ forkId: ForkId;
37
+ }
38
+ export interface CdbGetContractInstanceResponse {
39
+ instance: Uint8Array | null;
40
+ }
41
+ export interface CdbGetContractClassResponse {
42
+ contractClass: Uint8Array | null;
43
+ }
44
+ export interface CdbGetBytecodeCommitmentResponse {
45
+ commitment: Fr | null;
46
+ }
47
+ export interface CdbGetDebugFunctionNameResponse {
48
+ name: string | null;
49
+ }
50
+ export interface CdbAddContractsResponse {
51
+ }
52
+ export interface CdbCreateCheckpointResponse {
53
+ }
54
+ export interface CdbCommitCheckpointResponse {
55
+ }
56
+ export interface CdbRevertCheckpointResponse {
57
+ }
58
+ export interface CdbErrorResponse {
59
+ message: string;
60
+ }
61
+ interface MsgpackCdbGetContractInstance {
62
+ address: Uint8Array;
63
+ forkId: number | bigint;
64
+ }
65
+ interface MsgpackCdbGetContractClass {
66
+ classId: Uint8Array;
67
+ forkId: number | bigint;
68
+ }
69
+ interface MsgpackCdbGetBytecodeCommitment {
70
+ classId: Uint8Array;
71
+ forkId: number | bigint;
72
+ }
73
+ interface MsgpackCdbGetDebugFunctionName {
74
+ address: Uint8Array;
75
+ selector: Uint8Array;
76
+ forkId: number | bigint;
77
+ }
78
+ interface MsgpackCdbAddContracts {
79
+ contractDeploymentData: Uint8Array;
80
+ forkId: number | bigint;
81
+ }
82
+ interface MsgpackCdbCreateCheckpoint {
83
+ forkId: number | bigint;
84
+ }
85
+ interface MsgpackCdbCommitCheckpoint {
86
+ forkId: number | bigint;
87
+ }
88
+ interface MsgpackCdbRevertCheckpoint {
89
+ forkId: number | bigint;
90
+ }
91
+ interface MsgpackCdbGetContractInstanceResponse {
92
+ instance: Uint8Array | null;
93
+ }
94
+ interface MsgpackCdbGetContractClassResponse {
95
+ contractClass: Uint8Array | null;
96
+ }
97
+ interface MsgpackCdbGetBytecodeCommitmentResponse {
98
+ commitment: Uint8Array | null;
99
+ }
100
+ interface MsgpackCdbGetDebugFunctionNameResponse {
101
+ name: string | null;
102
+ }
103
+ interface MsgpackCdbAddContractsResponse {
104
+ }
105
+ interface MsgpackCdbCreateCheckpointResponse {
106
+ }
107
+ interface MsgpackCdbCommitCheckpointResponse {
108
+ }
109
+ interface MsgpackCdbRevertCheckpointResponse {
110
+ }
111
+ interface MsgpackCdbErrorResponse {
112
+ message: string;
113
+ }
114
+ export declare function toCdbGetContractInstance(o: MsgpackCdbGetContractInstance): CdbGetContractInstance;
115
+ export declare function toCdbGetContractClass(o: MsgpackCdbGetContractClass): CdbGetContractClass;
116
+ export declare function toCdbGetBytecodeCommitment(o: MsgpackCdbGetBytecodeCommitment): CdbGetBytecodeCommitment;
117
+ export declare function toCdbGetDebugFunctionName(o: MsgpackCdbGetDebugFunctionName): CdbGetDebugFunctionName;
118
+ export declare function toCdbAddContracts(o: MsgpackCdbAddContracts): CdbAddContracts;
119
+ export declare function toCdbCreateCheckpoint(o: MsgpackCdbCreateCheckpoint): CdbCreateCheckpoint;
120
+ export declare function toCdbCommitCheckpoint(o: MsgpackCdbCommitCheckpoint): CdbCommitCheckpoint;
121
+ export declare function toCdbRevertCheckpoint(o: MsgpackCdbRevertCheckpoint): CdbRevertCheckpoint;
122
+ export declare function toCdbGetContractInstanceResponse(o: MsgpackCdbGetContractInstanceResponse): CdbGetContractInstanceResponse;
123
+ export declare function toCdbGetContractClassResponse(o: MsgpackCdbGetContractClassResponse): CdbGetContractClassResponse;
124
+ export declare function toCdbGetBytecodeCommitmentResponse(o: MsgpackCdbGetBytecodeCommitmentResponse): CdbGetBytecodeCommitmentResponse;
125
+ export declare function toCdbGetDebugFunctionNameResponse(o: MsgpackCdbGetDebugFunctionNameResponse): CdbGetDebugFunctionNameResponse;
126
+ export declare function toCdbAddContractsResponse(o: MsgpackCdbAddContractsResponse): CdbAddContractsResponse;
127
+ export declare function toCdbCreateCheckpointResponse(o: MsgpackCdbCreateCheckpointResponse): CdbCreateCheckpointResponse;
128
+ export declare function toCdbCommitCheckpointResponse(o: MsgpackCdbCommitCheckpointResponse): CdbCommitCheckpointResponse;
129
+ export declare function toCdbRevertCheckpointResponse(o: MsgpackCdbRevertCheckpointResponse): CdbRevertCheckpointResponse;
130
+ export declare function toCdbErrorResponse(o: MsgpackCdbErrorResponse): CdbErrorResponse;
131
+ export declare function fromCdbGetContractInstance(o: CdbGetContractInstance): MsgpackCdbGetContractInstance;
132
+ export declare function fromCdbGetContractClass(o: CdbGetContractClass): MsgpackCdbGetContractClass;
133
+ export declare function fromCdbGetBytecodeCommitment(o: CdbGetBytecodeCommitment): MsgpackCdbGetBytecodeCommitment;
134
+ export declare function fromCdbGetDebugFunctionName(o: CdbGetDebugFunctionName): MsgpackCdbGetDebugFunctionName;
135
+ export declare function fromCdbAddContracts(o: CdbAddContracts): MsgpackCdbAddContracts;
136
+ export declare function fromCdbCreateCheckpoint(o: CdbCreateCheckpoint): MsgpackCdbCreateCheckpoint;
137
+ export declare function fromCdbCommitCheckpoint(o: CdbCommitCheckpoint): MsgpackCdbCommitCheckpoint;
138
+ export declare function fromCdbRevertCheckpoint(o: CdbRevertCheckpoint): MsgpackCdbRevertCheckpoint;
139
+ export declare function fromCdbGetContractInstanceResponse(o: CdbGetContractInstanceResponse): MsgpackCdbGetContractInstanceResponse;
140
+ export declare function fromCdbGetContractClassResponse(o: CdbGetContractClassResponse): MsgpackCdbGetContractClassResponse;
141
+ export declare function fromCdbGetBytecodeCommitmentResponse(o: CdbGetBytecodeCommitmentResponse): MsgpackCdbGetBytecodeCommitmentResponse;
142
+ export declare function fromCdbGetDebugFunctionNameResponse(o: CdbGetDebugFunctionNameResponse): MsgpackCdbGetDebugFunctionNameResponse;
143
+ export declare function fromCdbAddContractsResponse(o: CdbAddContractsResponse): MsgpackCdbAddContractsResponse;
144
+ export declare function fromCdbCreateCheckpointResponse(o: CdbCreateCheckpointResponse): MsgpackCdbCreateCheckpointResponse;
145
+ export declare function fromCdbCommitCheckpointResponse(o: CdbCommitCheckpointResponse): MsgpackCdbCommitCheckpointResponse;
146
+ export declare function fromCdbRevertCheckpointResponse(o: CdbRevertCheckpointResponse): MsgpackCdbRevertCheckpointResponse;
147
+ export declare function fromCdbErrorResponse(o: CdbErrorResponse): MsgpackCdbErrorResponse;
148
+ export interface AsyncApiBase {
149
+ getContractInstance(command: CdbGetContractInstance): Promise<CdbGetContractInstanceResponse>;
150
+ getContractClass(command: CdbGetContractClass): Promise<CdbGetContractClassResponse>;
151
+ getBytecodeCommitment(command: CdbGetBytecodeCommitment): Promise<CdbGetBytecodeCommitmentResponse>;
152
+ getDebugFunctionName(command: CdbGetDebugFunctionName): Promise<CdbGetDebugFunctionNameResponse>;
153
+ addContracts(command: CdbAddContracts): Promise<CdbAddContractsResponse>;
154
+ createCheckpoint(command: CdbCreateCheckpoint): Promise<CdbCreateCheckpointResponse>;
155
+ commitCheckpoint(command: CdbCommitCheckpoint): Promise<CdbCommitCheckpointResponse>;
156
+ revertCheckpoint(command: CdbRevertCheckpoint): Promise<CdbRevertCheckpointResponse>;
157
+ destroy(): Promise<void>;
158
+ }
159
+ export interface SyncApiBase {
160
+ getContractInstance(command: CdbGetContractInstance): CdbGetContractInstanceResponse;
161
+ getContractClass(command: CdbGetContractClass): CdbGetContractClassResponse;
162
+ getBytecodeCommitment(command: CdbGetBytecodeCommitment): CdbGetBytecodeCommitmentResponse;
163
+ getDebugFunctionName(command: CdbGetDebugFunctionName): CdbGetDebugFunctionNameResponse;
164
+ addContracts(command: CdbAddContracts): CdbAddContractsResponse;
165
+ createCheckpoint(command: CdbCreateCheckpoint): CdbCreateCheckpointResponse;
166
+ commitCheckpoint(command: CdbCommitCheckpoint): CdbCommitCheckpointResponse;
167
+ revertCheckpoint(command: CdbRevertCheckpoint): CdbRevertCheckpointResponse;
168
+ destroy(): void;
169
+ }
170
+ export {};
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2NkYi9nZW5lcmF0ZWQvYXBpX3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHFEQUFxRDtBQUNyRCxlQUFPLE1BQU0sV0FBVyxxRUFBcUUsQ0FBQztBQW1DOUYsTUFBTSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDdEMsTUFBTSxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFDekMsTUFBTSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDNUIsTUFBTSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFDNUIsTUFBTSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztBQUcxQyxNQUFNLFdBQVcsc0JBQXNCO0lBQ3JDLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsT0FBTyxFQUFFLGVBQWUsQ0FBQztJQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsTUFBTSxXQUFXLHdCQUF3QjtJQUN2QyxPQUFPLEVBQUUsZUFBZSxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxNQUFNLFdBQVcsdUJBQXVCO0lBQ3RDLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsUUFBUSxFQUFFLGdCQUFnQixDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQkFBc0IsRUFBRSxVQUFVLENBQUM7SUFDbkMsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsTUFBTSxFQUFFLE1BQU0sQ0FBQztD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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api_types.d.ts","sourceRoot":"","sources":["../../../../src/public/cdb/generated/api_types.ts"],"names":[],"mappings":"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"}