@aztec/simulator 0.0.1-commit.4d79d1f2d → 0.0.1-commit.4d9804df

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 (360) 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_wasm.d.ts +1 -1
  6. package/dest/private/acvm_wasm.d.ts.map +1 -1
  7. package/dest/private/acvm_wasm.js +3 -1
  8. package/dest/private/circuit_recording/circuit_recorder.d.ts +36 -23
  9. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  10. package/dest/private/circuit_recording/circuit_recorder.js +65 -69
  11. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +7 -19
  12. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  13. package/dest/private/circuit_recording/file_circuit_recorder.js +38 -42
  14. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  15. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  16. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
  17. package/dest/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  18. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  19. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  20. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  21. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +18 -3
  22. package/dest/public/avm/testing/utils.d.ts +32 -0
  23. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  24. package/dest/public/avm/{fixtures → testing}/utils.js +4 -34
  25. package/dest/public/avm_simulator.d.ts +28 -0
  26. package/dest/public/avm_simulator.d.ts.map +1 -0
  27. package/dest/public/avm_simulator.js +4 -0
  28. package/dest/public/avm_simulator_pool.d.ts +45 -0
  29. package/dest/public/avm_simulator_pool.d.ts.map +1 -0
  30. package/dest/public/avm_simulator_pool.js +197 -0
  31. package/dest/public/cdb/generated/api_types.d.ts +171 -0
  32. package/dest/public/cdb/generated/api_types.d.ts.map +1 -0
  33. package/dest/public/cdb/generated/api_types.js +314 -0
  34. package/dest/public/cdb/generated/server.d.ts +26 -0
  35. package/dest/public/cdb/generated/server.d.ts.map +1 -0
  36. package/dest/public/cdb/generated/server.js +135 -0
  37. package/dest/public/cdb_ipc_server.d.ts +33 -0
  38. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  39. package/dest/public/cdb_ipc_server.js +153 -0
  40. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  41. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  42. package/dest/public/contracts_db_checkpoint.js +1 -1
  43. package/dest/public/fixtures/amm_test.js +4 -4
  44. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  45. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  46. package/dest/public/fixtures/bulk_test.js +33 -6
  47. package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
  48. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  49. package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
  50. package/dest/public/fixtures/index.d.ts +2 -4
  51. package/dest/public/fixtures/index.d.ts.map +1 -1
  52. package/dest/public/fixtures/index.js +1 -3
  53. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  54. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  55. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  56. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +12 -7
  57. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  58. package/dest/public/fixtures/public_tx_simulation_tester.js +32 -15
  59. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  60. package/dest/public/fixtures/token_test.js +3 -3
  61. package/dest/public/fixtures/utils.d.ts +2 -2
  62. package/dest/public/fixtures/utils.d.ts.map +1 -1
  63. package/dest/public/fixtures/utils.js +21 -20
  64. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  65. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  66. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  67. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  68. package/dest/public/index.d.ts +5 -2
  69. package/dest/public/index.d.ts.map +1 -1
  70. package/dest/public/index.js +2 -1
  71. package/dest/public/public_db_sources.d.ts +6 -3
  72. package/dest/public/public_db_sources.d.ts.map +1 -1
  73. package/dest/public/public_db_sources.js +16 -10
  74. package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -7
  75. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  76. package/dest/public/public_processor/guarded_merkle_tree.js +8 -5
  77. package/dest/public/public_processor/public_processor.d.ts +15 -8
  78. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  79. package/dest/public/public_processor/public_processor.js +117 -78
  80. package/dest/public/public_processor/public_processor_metrics.d.ts +4 -1
  81. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  82. package/dest/public/public_processor/public_processor_metrics.js +8 -0
  83. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  84. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  85. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  86. package/dest/public/public_tx_simulator/factories.d.ts +8 -8
  87. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  88. package/dest/public/public_tx_simulator/factories.js +9 -9
  89. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  90. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  91. package/dest/public/public_tx_simulator/index.js +2 -4
  92. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -71
  93. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  94. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -318
  95. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  96. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  97. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  98. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  99. package/package.json +22 -19
  100. package/src/client.ts +0 -2
  101. package/src/private/acvm_wasm.ts +4 -1
  102. package/src/private/circuit_recording/circuit_recorder.ts +84 -78
  103. package/src/private/circuit_recording/file_circuit_recorder.ts +38 -48
  104. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
  105. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +23 -3
  106. package/src/public/avm/{fixtures → testing}/utils.ts +4 -40
  107. package/src/public/avm_simulator.ts +29 -0
  108. package/src/public/avm_simulator_pool.ts +226 -0
  109. package/src/public/cdb/generated/api_types.ts +457 -0
  110. package/src/public/cdb/generated/server.ts +109 -0
  111. package/src/public/cdb_ipc_server.ts +197 -0
  112. package/src/public/contracts_db_checkpoint.ts +1 -1
  113. package/src/public/fixtures/amm_test.ts +4 -4
  114. package/src/public/fixtures/bulk_test.ts +31 -6
  115. package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
  116. package/src/public/fixtures/index.ts +1 -3
  117. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  118. package/src/public/fixtures/public_tx_simulation_tester.ts +45 -18
  119. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  120. package/src/public/fixtures/token_test.ts +3 -3
  121. package/src/public/fixtures/utils.ts +23 -24
  122. package/src/public/fuzzing/avm_fuzzer_simulator.ts +26 -11
  123. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  124. package/src/public/index.ts +7 -3
  125. package/src/public/public_db_sources.ts +21 -14
  126. package/src/public/public_processor/guarded_merkle_tree.ts +11 -8
  127. package/src/public/public_processor/public_processor.ts +154 -98
  128. package/src/public/public_processor/public_processor_metrics.ts +12 -0
  129. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
  130. package/src/public/public_tx_simulator/factories.ts +29 -11
  131. package/src/public/public_tx_simulator/index.ts +6 -5
  132. package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -476
  133. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  134. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  135. package/dest/public/avm/avm_context.d.ts +0 -41
  136. package/dest/public/avm/avm_context.d.ts.map +0 -1
  137. package/dest/public/avm/avm_context.js +0 -44
  138. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  139. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  140. package/dest/public/avm/avm_contract_call_result.js +0 -54
  141. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  142. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  143. package/dest/public/avm/avm_execution_environment.js +0 -33
  144. package/dest/public/avm/avm_gas.d.ts +0 -44
  145. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  146. package/dest/public/avm/avm_gas.js +0 -195
  147. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  148. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  149. package/dest/public/avm/avm_machine_state.js +0 -110
  150. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  151. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  152. package/dest/public/avm/avm_memory_types.js +0 -354
  153. package/dest/public/avm/avm_simulator.d.ts +0 -41
  154. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  155. package/dest/public/avm/avm_simulator.js +0 -192
  156. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  157. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  158. package/dest/public/avm/avm_simulator_interface.js +0 -3
  159. package/dest/public/avm/calldata.d.ts +0 -51
  160. package/dest/public/avm/calldata.d.ts.map +0 -1
  161. package/dest/public/avm/calldata.js +0 -63
  162. package/dest/public/avm/errors.d.ts +0 -104
  163. package/dest/public/avm/errors.d.ts.map +0 -1
  164. package/dest/public/avm/errors.js +0 -141
  165. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +0 -2
  166. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +0 -1
  167. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  168. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  169. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  170. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  171. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  172. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  173. package/dest/public/avm/fixtures/initializers.js +0 -45
  174. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  175. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  176. package/dest/public/avm/index.d.ts +0 -2
  177. package/dest/public/avm/index.d.ts.map +0 -1
  178. package/dest/public/avm/index.js +0 -1
  179. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  180. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  181. package/dest/public/avm/opcodes/accrued_substate.js +0 -255
  182. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  183. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  184. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  185. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  186. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  187. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  188. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  189. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  190. package/dest/public/avm/opcodes/bitwise.js +0 -99
  191. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  192. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  193. package/dest/public/avm/opcodes/comparators.js +0 -43
  194. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  195. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  196. package/dest/public/avm/opcodes/contract.js +0 -65
  197. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  198. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  199. package/dest/public/avm/opcodes/control_flow.js +0 -107
  200. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  201. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  202. package/dest/public/avm/opcodes/conversion.js +0 -333
  203. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  204. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  205. package/dest/public/avm/opcodes/ec_add.js +0 -93
  206. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  207. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  208. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  209. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  210. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  211. package/dest/public/avm/opcodes/external_calls.js +0 -210
  212. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  213. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  214. package/dest/public/avm/opcodes/hashing.js +0 -119
  215. package/dest/public/avm/opcodes/index.d.ts +0 -16
  216. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  217. package/dest/public/avm/opcodes/index.js +0 -15
  218. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  219. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  220. package/dest/public/avm/opcodes/instruction.js +0 -95
  221. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  222. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  223. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  224. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  225. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  226. package/dest/public/avm/opcodes/memory.js +0 -257
  227. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  228. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  229. package/dest/public/avm/opcodes/misc.js +0 -73
  230. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  231. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  232. package/dest/public/avm/opcodes/storage.js +0 -78
  233. package/dest/public/avm/revert_reason.d.ts +0 -18
  234. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  235. package/dest/public/avm/revert_reason.js +0 -39
  236. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  237. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  238. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  239. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  240. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  241. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  242. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  243. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  244. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  245. package/dest/public/avm/test_utils.d.ts +0 -15
  246. package/dest/public/avm/test_utils.d.ts.map +0 -1
  247. package/dest/public/avm/test_utils.js +0 -44
  248. package/dest/public/debug_fn_name.d.ts +0 -18
  249. package/dest/public/debug_fn_name.d.ts.map +0 -1
  250. package/dest/public/debug_fn_name.js +0 -37
  251. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  252. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  253. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  254. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  255. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  256. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  257. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  258. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  259. package/dest/public/fixtures/opcode_spammer.js +0 -1653
  260. package/dest/public/hinting_db_sources.d.ts +0 -80
  261. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  262. package/dest/public/hinting_db_sources.js +0 -355
  263. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
  264. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  265. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -98
  266. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  267. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  268. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -132
  269. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  270. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  271. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  272. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  273. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  274. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  275. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  276. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  277. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  278. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  279. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  280. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -131
  281. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  282. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  283. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  284. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  285. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  286. package/dest/public/side_effect_trace.d.ts +0 -87
  287. package/dest/public/side_effect_trace.d.ts.map +0 -1
  288. package/dest/public/side_effect_trace.js +0 -199
  289. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  290. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  291. package/dest/public/side_effect_trace_interface.js +0 -1
  292. package/dest/public/state_manager/index.d.ts +0 -2
  293. package/dest/public/state_manager/index.d.ts.map +0 -1
  294. package/dest/public/state_manager/index.js +0 -1
  295. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  296. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  297. package/dest/public/state_manager/nullifiers.js +0 -92
  298. package/dest/public/state_manager/public_storage.d.ts +0 -66
  299. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  300. package/dest/public/state_manager/public_storage.js +0 -145
  301. package/dest/public/state_manager/state_manager.d.ts +0 -170
  302. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  303. package/dest/public/state_manager/state_manager.js +0 -402
  304. package/src/public/avm/avm_context.ts +0 -61
  305. package/src/public/avm/avm_contract_call_result.ts +0 -69
  306. package/src/public/avm/avm_execution_environment.ts +0 -51
  307. package/src/public/avm/avm_gas.ts +0 -183
  308. package/src/public/avm/avm_machine_state.ts +0 -170
  309. package/src/public/avm/avm_memory_types.ts +0 -440
  310. package/src/public/avm/avm_simulator.ts +0 -279
  311. package/src/public/avm/avm_simulator_interface.ts +0 -8
  312. package/src/public/avm/calldata.ts +0 -100
  313. package/src/public/avm/errors.ts +0 -177
  314. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  315. package/src/public/avm/fixtures/initializers.ts +0 -103
  316. package/src/public/avm/index.ts +0 -1
  317. package/src/public/avm/opcodes/accrued_substate.ts +0 -286
  318. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  319. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  320. package/src/public/avm/opcodes/bitwise.ts +0 -113
  321. package/src/public/avm/opcodes/comparators.ts +0 -55
  322. package/src/public/avm/opcodes/contract.ts +0 -72
  323. package/src/public/avm/opcodes/control_flow.ts +0 -123
  324. package/src/public/avm/opcodes/conversion.ts +0 -104
  325. package/src/public/avm/opcodes/ec_add.ts +0 -105
  326. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  327. package/src/public/avm/opcodes/external_calls.ts +0 -262
  328. package/src/public/avm/opcodes/hashing.ts +0 -151
  329. package/src/public/avm/opcodes/index.ts +0 -15
  330. package/src/public/avm/opcodes/instruction.ts +0 -136
  331. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  332. package/src/public/avm/opcodes/memory.ts +0 -293
  333. package/src/public/avm/opcodes/misc.ts +0 -102
  334. package/src/public/avm/opcodes/storage.ts +0 -95
  335. package/src/public/avm/revert_reason.ts +0 -58
  336. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  337. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  338. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  339. package/src/public/avm/test_utils.ts +0 -64
  340. package/src/public/debug_fn_name.ts +0 -52
  341. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  342. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  343. package/src/public/fixtures/opcode_spammer.ts +0 -1721
  344. package/src/public/hinting_db_sources.ts +0 -607
  345. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -124
  346. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -211
  347. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  348. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  349. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  350. package/src/public/public_tx_simulator/public_tx_context.ts +0 -484
  351. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  352. package/src/public/side_effect_trace.ts +0 -293
  353. package/src/public/side_effect_trace_interface.ts +0 -28
  354. package/src/public/state_manager/index.ts +0 -1
  355. package/src/public/state_manager/nullifiers.ts +0 -103
  356. package/src/public/state_manager/public_storage.ts +0 -174
  357. package/src/public/state_manager/state_manager.ts +0 -569
  358. /package/dest/public/avm/{fixtures → testing}/account_proof_fetcher.js +0 -0
  359. /package/src/public/avm/{fixtures → testing}/account_proof.json +0 -0
  360. /package/src/public/avm/{fixtures → testing}/account_proof_fetcher.ts +0 -0
@@ -0,0 +1,226 @@
1
+ import { AvmService } from '@aztec/bb-avm-sim';
2
+ import { type Logger, createLogger } from '@aztec/foundation/log';
3
+
4
+ import type { AvmContractsDBContext, AvmSimulator } from './avm_simulator.js';
5
+ import { CdbIpcServer } from './cdb_ipc_server.js';
6
+
7
+ export interface AvmSimulatorPoolOptions {
8
+ /** Maximum number of concurrent AVM processes. If not set, defaults to AVM_MAX_CONCURRENT_SIMULATIONS env var or 4. */
9
+ maxSize?: number;
10
+ /** Path to the bb-avm-sim binary. If omitted, the generated package resolves it. */
11
+ avmBinaryPath?: string;
12
+ /** IPC path for the shared WSDB server. */
13
+ wsdbIpcPath: string;
14
+ /** Optional logger function for AVM process output. */
15
+ logger?: (msg: string) => void;
16
+ }
17
+
18
+ /**
19
+ * A raw handle to a single bb-avm-sim process: it runs a serialized simulation and connects back to the
20
+ * shared CDB/WSDB servers for state, but is unaware of which fork's contract data it is reading — that is
21
+ * routed by the fork id baked into the input buffer.
22
+ */
23
+ interface AvmProcessHandle {
24
+ simulate(inputBuffer: Uint8Array, signal?: AbortSignal): Promise<Uint8Array>;
25
+ simulateWithHints(inputBuffer: Uint8Array): Promise<Uint8Array>;
26
+ destroy(): Promise<void>;
27
+ }
28
+
29
+ /**
30
+ * The public-execution AVM backend: a lazily-grown pool of bb-avm-sim processes plus the CDB server that
31
+ * answers those processes' contract-data callbacks. Callers hold this as an {@link AvmSimulator}; the pool,
32
+ * the CDB server, its IPC path, and fork-id routing are all hidden behind that interface. Each `simulate`
33
+ * registers the call's contracts DB on the CDB server for the duration of the simulation (keyed by fork id
34
+ * so concurrent simulations on different forks don't collide) and unregisters it once the call returns.
35
+ */
36
+ export class AvmSimulatorPool implements AvmSimulator {
37
+ private slots: Array<AvmProcessHandle | null> = [];
38
+ private available: number[] = [];
39
+ private waiters: Array<{ resolve: (simulator: AvmProcessHandle) => void; reject: (error: Error) => void }> = [];
40
+ private createdCount = 0;
41
+ private log: Logger;
42
+ private maxSize: number;
43
+ private cdbServer: CdbIpcServer;
44
+
45
+ constructor(private options: AvmSimulatorPoolOptions) {
46
+ this.log = createLogger('simulator:avm-pool');
47
+ this.maxSize = options.maxSize ?? parseInt(process.env.AVM_MAX_CONCURRENT_SIMULATIONS ?? '4', 10);
48
+ this.cdbServer = new CdbIpcServer();
49
+ }
50
+
51
+ static async spawn(options: AvmSimulatorPoolOptions): Promise<AvmSimulatorPool> {
52
+ const pool = new AvmSimulatorPool(options);
53
+ // Always start one process up front so the first simulate() doesn't pay process spawn/connect cost.
54
+ await pool.prewarm();
55
+ return pool;
56
+ }
57
+
58
+ async [Symbol.asyncDispose](): Promise<void> {
59
+ await this.destroy();
60
+ }
61
+
62
+ async simulate(inputBuffer: Uint8Array, context: AvmContractsDBContext, signal?: AbortSignal): Promise<Uint8Array> {
63
+ // Register the fork's contracts DB so the C++ AVM's callbacks (which carry this fork id) route to it,
64
+ // and unregister once the simulation returns — registration is only needed while the call is running.
65
+ this.cdbServer.registerFork(context.forkId, context.contractsDB, context.timestamp);
66
+ try {
67
+ const simulator = await this.checkout();
68
+ try {
69
+ return await simulator.simulate(inputBuffer, signal);
70
+ } finally {
71
+ this.return(simulator);
72
+ }
73
+ } finally {
74
+ this.cdbServer.unregisterFork(context.forkId);
75
+ }
76
+ }
77
+
78
+ async simulateWithHints(inputBuffer: Uint8Array): Promise<Uint8Array> {
79
+ // The hinted path makes no contract-data callbacks, so no CDB registration is needed.
80
+ const simulator = await this.checkout();
81
+ try {
82
+ return await simulator.simulateWithHints(inputBuffer);
83
+ } finally {
84
+ this.return(simulator);
85
+ }
86
+ }
87
+
88
+ /** Destroy all AVM processes in the pool and close the CDB server. */
89
+ async destroy(): Promise<void> {
90
+ for (const waiter of this.waiters) {
91
+ waiter.reject(new Error('AVM simulator pool destroyed'));
92
+ }
93
+ this.waiters = [];
94
+
95
+ const destroyPromises: Promise<void>[] = [];
96
+ for (const slot of this.slots) {
97
+ if (slot) {
98
+ destroyPromises.push(slot.destroy());
99
+ }
100
+ }
101
+ await Promise.all(destroyPromises);
102
+
103
+ this.slots = [];
104
+ this.available = [];
105
+ this.createdCount = 0;
106
+ await this.cdbServer.close();
107
+ this.log.info('AVM simulator pool destroyed');
108
+ }
109
+
110
+ /**
111
+ * Eagerly spawn up to `count` AVM processes (capped at maxSize) and leave them available, so the
112
+ * first simulate() doesn't pay process spawn/connect cost. Idempotent.
113
+ */
114
+ async prewarm(count = 1): Promise<void> {
115
+ const target = Math.min(count, this.maxSize);
116
+ const created: AvmProcessHandle[] = [];
117
+ while (this.createdCount < target) {
118
+ created.push(await this.createSlot());
119
+ }
120
+ // Hand the freshly-spawned processes back to the pool so checkout() reuses them.
121
+ for (const simulator of created) {
122
+ this.return(simulator);
123
+ }
124
+ }
125
+
126
+ /** Check out an AVM process from the pool, blocking until one is free. Caller must return() it when done. */
127
+ private async checkout(): Promise<AvmProcessHandle> {
128
+ const idx = this.available.pop();
129
+ if (idx !== undefined && this.slots[idx]) {
130
+ return this.slots[idx]!;
131
+ }
132
+
133
+ if (this.createdCount < this.maxSize || (idx !== undefined && !this.slots[idx])) {
134
+ return await this.createSlot(idx);
135
+ }
136
+
137
+ return new Promise<AvmProcessHandle>((resolve, reject) => {
138
+ this.waiters.push({ resolve, reject });
139
+ });
140
+ }
141
+
142
+ /** Return an AVM process to the pool after use. */
143
+ private return(simulator: AvmProcessHandle): void {
144
+ const waiter = this.waiters.shift();
145
+ if (waiter) {
146
+ waiter.resolve(simulator);
147
+ } else {
148
+ const idx = this.slots.indexOf(simulator);
149
+ if (idx >= 0) {
150
+ this.available.push(idx);
151
+ }
152
+ }
153
+ }
154
+
155
+ private async createSlot(reuseIdx?: number): Promise<AvmProcessHandle> {
156
+ const reuse = reuseIdx !== undefined && reuseIdx < this.slots.length;
157
+ // Reserve the slot count synchronously, before the async spawn, so concurrent checkouts can't all
158
+ // observe `createdCount < maxSize` and overshoot the pool (the count is only bumped once control has
159
+ // yielded on the await). Roll back the reservation if the spawn itself fails.
160
+ if (!reuse) {
161
+ this.createdCount++;
162
+ }
163
+ let simulator: AvmProcessHandle;
164
+ try {
165
+ simulator = await AvmSimulatorProcess.spawn({
166
+ binaryPath: this.options.avmBinaryPath,
167
+ wsdbIpcPath: this.options.wsdbIpcPath,
168
+ cdbIpcPath: this.cdbServer.ipcPath,
169
+ logger: this.options.logger,
170
+ });
171
+ } catch (err) {
172
+ if (!reuse) {
173
+ this.createdCount--;
174
+ }
175
+ throw err;
176
+ }
177
+ if (reuse) {
178
+ this.slots[reuseIdx!] = simulator;
179
+ } else {
180
+ this.slots.push(simulator);
181
+ }
182
+ this.log.debug(`Created AVM pool slot (${this.createdCount}/${this.maxSize})`);
183
+ return simulator;
184
+ }
185
+ }
186
+
187
+ class AvmSimulatorProcess implements AvmProcessHandle {
188
+ private constructor(private service: AvmService) {}
189
+
190
+ static async spawn(options: {
191
+ binaryPath?: string;
192
+ wsdbIpcPath: string;
193
+ cdbIpcPath: string;
194
+ logger?: (msg: string) => void;
195
+ }): Promise<AvmSimulatorProcess> {
196
+ const service = await AvmService.spawn({
197
+ binaryPath: options.binaryPath,
198
+ transport: 'uds',
199
+ logger: options.logger,
200
+ extraArgs: ['--wsdb', options.wsdbIpcPath, '--cdb', options.cdbIpcPath],
201
+ });
202
+ return new AvmSimulatorProcess(service);
203
+ }
204
+
205
+ public async simulate(inputBuffer: Uint8Array, signal?: AbortSignal): Promise<Uint8Array> {
206
+ // Signal the C++ process to stop at its next cancellation checkpoint when the caller aborts.
207
+ const onAbort = () => this.service.sendProcessSignal('SIGUSR1');
208
+ if (signal?.aborted) {
209
+ onAbort();
210
+ }
211
+ signal?.addEventListener('abort', onAbort, { once: true });
212
+ try {
213
+ return (await this.service.simulate({ inputs: inputBuffer })).result;
214
+ } finally {
215
+ signal?.removeEventListener('abort', onAbort);
216
+ }
217
+ }
218
+
219
+ public async simulateWithHints(inputBuffer: Uint8Array): Promise<Uint8Array> {
220
+ return (await this.service.simulateWithHints({ inputs: inputBuffer })).result;
221
+ }
222
+
223
+ public async destroy(): Promise<void> {
224
+ await this.service.destroy();
225
+ }
226
+ }
@@ -0,0 +1,457 @@
1
+ // AUTOGENERATED FILE - DO NOT EDIT
2
+
3
+ /** Schema version hash for compatibility checking */
4
+ export const SCHEMA_HASH = 'ef6a34b441b65d90238d2b3616a763136f5f53f9239ecabe9163ebf9388c89bd';
5
+
6
+ // Runtime guards for wire types that JS cannot represent natively.
7
+ // TODO: migrate u64 fields to bigint end-to-end and drop these.
8
+ //
9
+ // Decode: msgpackr returns uint64/int64 wire values as bigint once they
10
+ // exceed 32 bits; values must fit in the JS safe integer range.
11
+ function assertU64(value: number | bigint, ctx: string): number {
12
+ if (typeof value === "bigint") {
13
+ if (value < 0n || value > BigInt(Number.MAX_SAFE_INTEGER)) {
14
+ throw new Error(`${ctx}: u64 value ${value} is outside JS safe integer range`);
15
+ }
16
+ return Number(value);
17
+ }
18
+ if (!Number.isSafeInteger(value) || value < 0) {
19
+ throw new Error(`${ctx}: u64 value ${value} is outside JS safe integer range`);
20
+ }
21
+ return value;
22
+ }
23
+
24
+ // Encode: msgpackr encodes JS numbers above 2^32 as float64, which strict
25
+ // u64 decoders reject; route them through bigint so the wire type stays uint.
26
+ function toWireU64(value: number | bigint, ctx: string): number | bigint {
27
+ const checked = assertU64(value, ctx);
28
+ return checked > 0xffffffff ? BigInt(checked) : checked;
29
+ }
30
+
31
+ function assertBin32(value: Uint8Array, ctx: string): Uint8Array {
32
+ if (value.length !== 32) {
33
+ throw new Error(`${ctx}: expected 32 bytes, got ${value.length}`);
34
+ }
35
+ return value;
36
+ }
37
+
38
+ // Type aliases for primitive types
39
+ export type AztecAddress = Uint8Array;
40
+ export type ContractClassId = Uint8Array;
41
+ export type ForkId = number;
42
+ export type Fr = Uint8Array;
43
+ export type FunctionSelector = Uint8Array;
44
+
45
+ // Public interfaces (exported)
46
+ export interface CdbGetContractInstance {
47
+ address: AztecAddress;
48
+ forkId: ForkId;
49
+ }
50
+
51
+ export interface CdbGetContractClass {
52
+ classId: ContractClassId;
53
+ forkId: ForkId;
54
+ }
55
+
56
+ export interface CdbGetBytecodeCommitment {
57
+ classId: ContractClassId;
58
+ forkId: ForkId;
59
+ }
60
+
61
+ export interface CdbGetDebugFunctionName {
62
+ address: AztecAddress;
63
+ selector: FunctionSelector;
64
+ forkId: ForkId;
65
+ }
66
+
67
+ export interface CdbAddContracts {
68
+ contractDeploymentData: Uint8Array;
69
+ forkId: ForkId;
70
+ }
71
+
72
+ export interface CdbCreateCheckpoint {
73
+ forkId: ForkId;
74
+ }
75
+
76
+ export interface CdbCommitCheckpoint {
77
+ forkId: ForkId;
78
+ }
79
+
80
+ export interface CdbRevertCheckpoint {
81
+ forkId: ForkId;
82
+ }
83
+
84
+ export interface CdbGetContractInstanceResponse {
85
+ instance: Uint8Array | null;
86
+ }
87
+
88
+ export interface CdbGetContractClassResponse {
89
+ contractClass: Uint8Array | null;
90
+ }
91
+
92
+ export interface CdbGetBytecodeCommitmentResponse {
93
+ commitment: Fr | null;
94
+ }
95
+
96
+ export interface CdbGetDebugFunctionNameResponse {
97
+ name: string | null;
98
+ }
99
+
100
+ export interface CdbAddContractsResponse {
101
+
102
+ }
103
+
104
+ export interface CdbCreateCheckpointResponse {
105
+
106
+ }
107
+
108
+ export interface CdbCommitCheckpointResponse {
109
+
110
+ }
111
+
112
+ export interface CdbRevertCheckpointResponse {
113
+
114
+ }
115
+
116
+ export interface CdbErrorResponse {
117
+ message: string;
118
+ }
119
+
120
+ // Private Msgpack interfaces (not exported)
121
+ interface MsgpackCdbGetContractInstance {
122
+ address: Uint8Array;
123
+ forkId: number | bigint;
124
+ }
125
+
126
+ interface MsgpackCdbGetContractClass {
127
+ classId: Uint8Array;
128
+ forkId: number | bigint;
129
+ }
130
+
131
+ interface MsgpackCdbGetBytecodeCommitment {
132
+ classId: Uint8Array;
133
+ forkId: number | bigint;
134
+ }
135
+
136
+ interface MsgpackCdbGetDebugFunctionName {
137
+ address: Uint8Array;
138
+ selector: Uint8Array;
139
+ forkId: number | bigint;
140
+ }
141
+
142
+ interface MsgpackCdbAddContracts {
143
+ contractDeploymentData: Uint8Array;
144
+ forkId: number | bigint;
145
+ }
146
+
147
+ interface MsgpackCdbCreateCheckpoint {
148
+ forkId: number | bigint;
149
+ }
150
+
151
+ interface MsgpackCdbCommitCheckpoint {
152
+ forkId: number | bigint;
153
+ }
154
+
155
+ interface MsgpackCdbRevertCheckpoint {
156
+ forkId: number | bigint;
157
+ }
158
+
159
+ interface MsgpackCdbGetContractInstanceResponse {
160
+ instance: Uint8Array | null;
161
+ }
162
+
163
+ interface MsgpackCdbGetContractClassResponse {
164
+ contractClass: Uint8Array | null;
165
+ }
166
+
167
+ interface MsgpackCdbGetBytecodeCommitmentResponse {
168
+ commitment: Uint8Array | null;
169
+ }
170
+
171
+ interface MsgpackCdbGetDebugFunctionNameResponse {
172
+ name: string | null;
173
+ }
174
+
175
+ interface MsgpackCdbAddContractsResponse {
176
+
177
+ }
178
+
179
+ interface MsgpackCdbCreateCheckpointResponse {
180
+
181
+ }
182
+
183
+ interface MsgpackCdbCommitCheckpointResponse {
184
+
185
+ }
186
+
187
+ interface MsgpackCdbRevertCheckpointResponse {
188
+
189
+ }
190
+
191
+ interface MsgpackCdbErrorResponse {
192
+ message: string;
193
+ }
194
+
195
+ // Conversion functions (exported)
196
+ export function toCdbGetContractInstance(o: MsgpackCdbGetContractInstance): CdbGetContractInstance {
197
+ if (o.address === undefined) { throw new Error("Expected address in CdbGetContractInstance deserialization"); }
198
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetContractInstance deserialization"); };
199
+ return {
200
+ address: assertBin32(o.address, "o.address"),
201
+ forkId: assertU64(o.forkId, "o.forkId"),
202
+ };
203
+ }
204
+
205
+ export function toCdbGetContractClass(o: MsgpackCdbGetContractClass): CdbGetContractClass {
206
+ if (o.classId === undefined) { throw new Error("Expected classId in CdbGetContractClass deserialization"); }
207
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetContractClass deserialization"); };
208
+ return {
209
+ classId: assertBin32(o.classId, "o.classId"),
210
+ forkId: assertU64(o.forkId, "o.forkId"),
211
+ };
212
+ }
213
+
214
+ export function toCdbGetBytecodeCommitment(o: MsgpackCdbGetBytecodeCommitment): CdbGetBytecodeCommitment {
215
+ if (o.classId === undefined) { throw new Error("Expected classId in CdbGetBytecodeCommitment deserialization"); }
216
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetBytecodeCommitment deserialization"); };
217
+ return {
218
+ classId: assertBin32(o.classId, "o.classId"),
219
+ forkId: assertU64(o.forkId, "o.forkId"),
220
+ };
221
+ }
222
+
223
+ export function toCdbGetDebugFunctionName(o: MsgpackCdbGetDebugFunctionName): CdbGetDebugFunctionName {
224
+ if (o.address === undefined) { throw new Error("Expected address in CdbGetDebugFunctionName deserialization"); }
225
+ if (o.selector === undefined) { throw new Error("Expected selector in CdbGetDebugFunctionName deserialization"); }
226
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetDebugFunctionName deserialization"); };
227
+ return {
228
+ address: assertBin32(o.address, "o.address"),
229
+ selector: assertBin32(o.selector, "o.selector"),
230
+ forkId: assertU64(o.forkId, "o.forkId"),
231
+ };
232
+ }
233
+
234
+ export function toCdbAddContracts(o: MsgpackCdbAddContracts): CdbAddContracts {
235
+ if (o.contractDeploymentData === undefined) { throw new Error("Expected contractDeploymentData in CdbAddContracts deserialization"); }
236
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbAddContracts deserialization"); };
237
+ return {
238
+ contractDeploymentData: o.contractDeploymentData,
239
+ forkId: assertU64(o.forkId, "o.forkId"),
240
+ };
241
+ }
242
+
243
+ export function toCdbCreateCheckpoint(o: MsgpackCdbCreateCheckpoint): CdbCreateCheckpoint {
244
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbCreateCheckpoint deserialization"); };
245
+ return {
246
+ forkId: assertU64(o.forkId, "o.forkId"),
247
+ };
248
+ }
249
+
250
+ export function toCdbCommitCheckpoint(o: MsgpackCdbCommitCheckpoint): CdbCommitCheckpoint {
251
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbCommitCheckpoint deserialization"); };
252
+ return {
253
+ forkId: assertU64(o.forkId, "o.forkId"),
254
+ };
255
+ }
256
+
257
+ export function toCdbRevertCheckpoint(o: MsgpackCdbRevertCheckpoint): CdbRevertCheckpoint {
258
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbRevertCheckpoint deserialization"); };
259
+ return {
260
+ forkId: assertU64(o.forkId, "o.forkId"),
261
+ };
262
+ }
263
+
264
+ export function toCdbGetContractInstanceResponse(o: MsgpackCdbGetContractInstanceResponse): CdbGetContractInstanceResponse {
265
+ ;
266
+ return {
267
+ instance: o.instance ?? null,
268
+ };
269
+ }
270
+
271
+ export function toCdbGetContractClassResponse(o: MsgpackCdbGetContractClassResponse): CdbGetContractClassResponse {
272
+ ;
273
+ return {
274
+ contractClass: o.contractClass ?? null,
275
+ };
276
+ }
277
+
278
+ export function toCdbGetBytecodeCommitmentResponse(o: MsgpackCdbGetBytecodeCommitmentResponse): CdbGetBytecodeCommitmentResponse {
279
+ ;
280
+ return {
281
+ commitment: o.commitment != null ? assertBin32(o.commitment, "o.commitment") : null,
282
+ };
283
+ }
284
+
285
+ export function toCdbGetDebugFunctionNameResponse(o: MsgpackCdbGetDebugFunctionNameResponse): CdbGetDebugFunctionNameResponse {
286
+ ;
287
+ return {
288
+ name: o.name ?? null,
289
+ };
290
+ }
291
+
292
+ export function toCdbAddContractsResponse(o: MsgpackCdbAddContractsResponse): CdbAddContractsResponse {
293
+ return {};
294
+ }
295
+
296
+ export function toCdbCreateCheckpointResponse(o: MsgpackCdbCreateCheckpointResponse): CdbCreateCheckpointResponse {
297
+ return {};
298
+ }
299
+
300
+ export function toCdbCommitCheckpointResponse(o: MsgpackCdbCommitCheckpointResponse): CdbCommitCheckpointResponse {
301
+ return {};
302
+ }
303
+
304
+ export function toCdbRevertCheckpointResponse(o: MsgpackCdbRevertCheckpointResponse): CdbRevertCheckpointResponse {
305
+ return {};
306
+ }
307
+
308
+ export function toCdbErrorResponse(o: MsgpackCdbErrorResponse): CdbErrorResponse {
309
+ if (o.message === undefined) { throw new Error("Expected message in CdbErrorResponse deserialization"); };
310
+ return {
311
+ message: o.message,
312
+ };
313
+ }
314
+
315
+ export function fromCdbGetContractInstance(o: CdbGetContractInstance): MsgpackCdbGetContractInstance {
316
+ if (o.address === undefined) { throw new Error("Expected address in CdbGetContractInstance serialization"); }
317
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetContractInstance serialization"); };
318
+ return {
319
+ address: assertBin32(o.address, "o.address"),
320
+ forkId: toWireU64(o.forkId, "o.forkId"),
321
+ };
322
+ }
323
+
324
+ export function fromCdbGetContractClass(o: CdbGetContractClass): MsgpackCdbGetContractClass {
325
+ if (o.classId === undefined) { throw new Error("Expected classId in CdbGetContractClass serialization"); }
326
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetContractClass serialization"); };
327
+ return {
328
+ classId: assertBin32(o.classId, "o.classId"),
329
+ forkId: toWireU64(o.forkId, "o.forkId"),
330
+ };
331
+ }
332
+
333
+ export function fromCdbGetBytecodeCommitment(o: CdbGetBytecodeCommitment): MsgpackCdbGetBytecodeCommitment {
334
+ if (o.classId === undefined) { throw new Error("Expected classId in CdbGetBytecodeCommitment serialization"); }
335
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetBytecodeCommitment serialization"); };
336
+ return {
337
+ classId: assertBin32(o.classId, "o.classId"),
338
+ forkId: toWireU64(o.forkId, "o.forkId"),
339
+ };
340
+ }
341
+
342
+ export function fromCdbGetDebugFunctionName(o: CdbGetDebugFunctionName): MsgpackCdbGetDebugFunctionName {
343
+ if (o.address === undefined) { throw new Error("Expected address in CdbGetDebugFunctionName serialization"); }
344
+ if (o.selector === undefined) { throw new Error("Expected selector in CdbGetDebugFunctionName serialization"); }
345
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbGetDebugFunctionName serialization"); };
346
+ return {
347
+ address: assertBin32(o.address, "o.address"),
348
+ selector: assertBin32(o.selector, "o.selector"),
349
+ forkId: toWireU64(o.forkId, "o.forkId"),
350
+ };
351
+ }
352
+
353
+ export function fromCdbAddContracts(o: CdbAddContracts): MsgpackCdbAddContracts {
354
+ if (o.contractDeploymentData === undefined) { throw new Error("Expected contractDeploymentData in CdbAddContracts serialization"); }
355
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbAddContracts serialization"); };
356
+ return {
357
+ contractDeploymentData: o.contractDeploymentData,
358
+ forkId: toWireU64(o.forkId, "o.forkId"),
359
+ };
360
+ }
361
+
362
+ export function fromCdbCreateCheckpoint(o: CdbCreateCheckpoint): MsgpackCdbCreateCheckpoint {
363
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbCreateCheckpoint serialization"); };
364
+ return {
365
+ forkId: toWireU64(o.forkId, "o.forkId"),
366
+ };
367
+ }
368
+
369
+ export function fromCdbCommitCheckpoint(o: CdbCommitCheckpoint): MsgpackCdbCommitCheckpoint {
370
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbCommitCheckpoint serialization"); };
371
+ return {
372
+ forkId: toWireU64(o.forkId, "o.forkId"),
373
+ };
374
+ }
375
+
376
+ export function fromCdbRevertCheckpoint(o: CdbRevertCheckpoint): MsgpackCdbRevertCheckpoint {
377
+ if (o.forkId === undefined) { throw new Error("Expected forkId in CdbRevertCheckpoint serialization"); };
378
+ return {
379
+ forkId: toWireU64(o.forkId, "o.forkId"),
380
+ };
381
+ }
382
+
383
+ export function fromCdbGetContractInstanceResponse(o: CdbGetContractInstanceResponse): MsgpackCdbGetContractInstanceResponse {
384
+ ;
385
+ return {
386
+ instance: o.instance ?? null,
387
+ };
388
+ }
389
+
390
+ export function fromCdbGetContractClassResponse(o: CdbGetContractClassResponse): MsgpackCdbGetContractClassResponse {
391
+ ;
392
+ return {
393
+ contractClass: o.contractClass ?? null,
394
+ };
395
+ }
396
+
397
+ export function fromCdbGetBytecodeCommitmentResponse(o: CdbGetBytecodeCommitmentResponse): MsgpackCdbGetBytecodeCommitmentResponse {
398
+ ;
399
+ return {
400
+ commitment: o.commitment != null ? assertBin32(o.commitment, "o.commitment") : null,
401
+ };
402
+ }
403
+
404
+ export function fromCdbGetDebugFunctionNameResponse(o: CdbGetDebugFunctionNameResponse): MsgpackCdbGetDebugFunctionNameResponse {
405
+ ;
406
+ return {
407
+ name: o.name ?? null,
408
+ };
409
+ }
410
+
411
+ export function fromCdbAddContractsResponse(o: CdbAddContractsResponse): MsgpackCdbAddContractsResponse {
412
+ return {};
413
+ }
414
+
415
+ export function fromCdbCreateCheckpointResponse(o: CdbCreateCheckpointResponse): MsgpackCdbCreateCheckpointResponse {
416
+ return {};
417
+ }
418
+
419
+ export function fromCdbCommitCheckpointResponse(o: CdbCommitCheckpointResponse): MsgpackCdbCommitCheckpointResponse {
420
+ return {};
421
+ }
422
+
423
+ export function fromCdbRevertCheckpointResponse(o: CdbRevertCheckpointResponse): MsgpackCdbRevertCheckpointResponse {
424
+ return {};
425
+ }
426
+
427
+ export function fromCdbErrorResponse(o: CdbErrorResponse): MsgpackCdbErrorResponse {
428
+ if (o.message === undefined) { throw new Error("Expected message in CdbErrorResponse serialization"); };
429
+ return {
430
+ message: o.message,
431
+ };
432
+ }
433
+
434
+ // Base API interfaces
435
+ export interface AsyncApiBase {
436
+ getContractInstance(command: CdbGetContractInstance): Promise<CdbGetContractInstanceResponse>;
437
+ getContractClass(command: CdbGetContractClass): Promise<CdbGetContractClassResponse>;
438
+ getBytecodeCommitment(command: CdbGetBytecodeCommitment): Promise<CdbGetBytecodeCommitmentResponse>;
439
+ getDebugFunctionName(command: CdbGetDebugFunctionName): Promise<CdbGetDebugFunctionNameResponse>;
440
+ addContracts(command: CdbAddContracts): Promise<CdbAddContractsResponse>;
441
+ createCheckpoint(command: CdbCreateCheckpoint): Promise<CdbCreateCheckpointResponse>;
442
+ commitCheckpoint(command: CdbCommitCheckpoint): Promise<CdbCommitCheckpointResponse>;
443
+ revertCheckpoint(command: CdbRevertCheckpoint): Promise<CdbRevertCheckpointResponse>;
444
+ destroy(): Promise<void>;
445
+ }
446
+
447
+ export interface SyncApiBase {
448
+ getContractInstance(command: CdbGetContractInstance): CdbGetContractInstanceResponse;
449
+ getContractClass(command: CdbGetContractClass): CdbGetContractClassResponse;
450
+ getBytecodeCommitment(command: CdbGetBytecodeCommitment): CdbGetBytecodeCommitmentResponse;
451
+ getDebugFunctionName(command: CdbGetDebugFunctionName): CdbGetDebugFunctionNameResponse;
452
+ addContracts(command: CdbAddContracts): CdbAddContractsResponse;
453
+ createCheckpoint(command: CdbCreateCheckpoint): CdbCreateCheckpointResponse;
454
+ commitCheckpoint(command: CdbCommitCheckpoint): CdbCommitCheckpointResponse;
455
+ revertCheckpoint(command: CdbRevertCheckpoint): CdbRevertCheckpointResponse;
456
+ destroy(): void;
457
+ }