@aztec/simulator 0.0.1-commit.c31f2472 → 0.0.1-commit.c52d6e7

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 (350) 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/testing/account_proof_fetcher.js +152 -0
  20. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  21. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  22. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +18 -3
  23. package/dest/public/avm/testing/utils.d.ts +32 -0
  24. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  25. package/dest/public/avm/{fixtures → testing}/utils.js +4 -34
  26. package/dest/public/avm_simulator.d.ts +28 -0
  27. package/dest/public/avm_simulator.d.ts.map +1 -0
  28. package/dest/public/avm_simulator.js +4 -0
  29. package/dest/public/avm_simulator_pool.d.ts +45 -0
  30. package/dest/public/avm_simulator_pool.d.ts.map +1 -0
  31. package/dest/public/avm_simulator_pool.js +197 -0
  32. package/dest/public/cdb_ipc_server.d.ts +40 -0
  33. package/dest/public/cdb_ipc_server.d.ts.map +1 -0
  34. package/dest/public/cdb_ipc_server.js +153 -0
  35. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  36. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  37. package/dest/public/contracts_db_checkpoint.js +1 -1
  38. package/dest/public/fixtures/amm_test.js +4 -4
  39. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  40. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  41. package/dest/public/fixtures/bulk_test.js +33 -6
  42. package/dest/public/fixtures/custom_bytecode_tester.d.ts +1 -1
  43. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  44. package/dest/public/fixtures/custom_bytecode_tester.js +2 -2
  45. package/dest/public/fixtures/index.d.ts +2 -4
  46. package/dest/public/fixtures/index.d.ts.map +1 -1
  47. package/dest/public/fixtures/index.js +1 -3
  48. package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
  49. package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
  50. package/dest/public/fixtures/public_processor_test_env.js +73 -0
  51. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +12 -7
  52. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  53. package/dest/public/fixtures/public_tx_simulation_tester.js +32 -15
  54. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  55. package/dest/public/fixtures/token_test.js +3 -3
  56. package/dest/public/fixtures/utils.d.ts +2 -2
  57. package/dest/public/fixtures/utils.d.ts.map +1 -1
  58. package/dest/public/fixtures/utils.js +21 -20
  59. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
  60. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  61. package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
  62. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  63. package/dest/public/index.d.ts +5 -2
  64. package/dest/public/index.d.ts.map +1 -1
  65. package/dest/public/index.js +2 -1
  66. package/dest/public/public_db_sources.d.ts +6 -3
  67. package/dest/public/public_db_sources.d.ts.map +1 -1
  68. package/dest/public/public_db_sources.js +16 -10
  69. package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -7
  70. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  71. package/dest/public/public_processor/guarded_merkle_tree.js +8 -5
  72. package/dest/public/public_processor/public_processor.d.ts +15 -8
  73. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  74. package/dest/public/public_processor/public_processor.js +117 -78
  75. package/dest/public/public_processor/public_processor_metrics.d.ts +4 -1
  76. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  77. package/dest/public/public_processor/public_processor_metrics.js +8 -0
  78. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
  79. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  80. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
  81. package/dest/public/public_tx_simulator/factories.d.ts +8 -8
  82. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  83. package/dest/public/public_tx_simulator/factories.js +9 -9
  84. package/dest/public/public_tx_simulator/index.d.ts +4 -6
  85. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  86. package/dest/public/public_tx_simulator/index.js +2 -4
  87. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -71
  88. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  89. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -318
  90. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
  91. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  92. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
  93. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +5 -5
  94. package/package.json +20 -18
  95. package/src/client.ts +0 -2
  96. package/src/private/acvm_wasm.ts +4 -1
  97. package/src/private/circuit_recording/circuit_recorder.ts +84 -78
  98. package/src/private/circuit_recording/file_circuit_recorder.ts +38 -48
  99. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
  100. package/src/public/avm/testing/account_proof.json +553 -0
  101. package/src/public/avm/testing/account_proof_fetcher.ts +166 -0
  102. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +23 -3
  103. package/src/public/avm/{fixtures → testing}/utils.ts +4 -40
  104. package/src/public/avm_simulator.ts +29 -0
  105. package/src/public/avm_simulator_pool.ts +226 -0
  106. package/src/public/cdb_ipc_server.ts +198 -0
  107. package/src/public/contracts_db_checkpoint.ts +1 -1
  108. package/src/public/fixtures/amm_test.ts +4 -4
  109. package/src/public/fixtures/bulk_test.ts +31 -6
  110. package/src/public/fixtures/custom_bytecode_tester.ts +2 -2
  111. package/src/public/fixtures/index.ts +1 -3
  112. package/src/public/fixtures/public_processor_test_env.ts +88 -0
  113. package/src/public/fixtures/public_tx_simulation_tester.ts +45 -18
  114. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  115. package/src/public/fixtures/token_test.ts +3 -3
  116. package/src/public/fixtures/utils.ts +23 -24
  117. package/src/public/fuzzing/avm_fuzzer_simulator.ts +26 -11
  118. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  119. package/src/public/index.ts +7 -3
  120. package/src/public/public_db_sources.ts +21 -14
  121. package/src/public/public_processor/guarded_merkle_tree.ts +11 -8
  122. package/src/public/public_processor/public_processor.ts +154 -98
  123. package/src/public/public_processor/public_processor_metrics.ts +12 -0
  124. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
  125. package/src/public/public_tx_simulator/factories.ts +29 -11
  126. package/src/public/public_tx_simulator/index.ts +6 -5
  127. package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -476
  128. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
  129. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
  130. package/dest/public/avm/avm_context.d.ts +0 -41
  131. package/dest/public/avm/avm_context.d.ts.map +0 -1
  132. package/dest/public/avm/avm_context.js +0 -44
  133. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  134. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  135. package/dest/public/avm/avm_contract_call_result.js +0 -54
  136. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  137. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  138. package/dest/public/avm/avm_execution_environment.js +0 -33
  139. package/dest/public/avm/avm_gas.d.ts +0 -44
  140. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  141. package/dest/public/avm/avm_gas.js +0 -195
  142. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  143. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  144. package/dest/public/avm/avm_machine_state.js +0 -110
  145. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  146. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  147. package/dest/public/avm/avm_memory_types.js +0 -354
  148. package/dest/public/avm/avm_simulator.d.ts +0 -41
  149. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  150. package/dest/public/avm/avm_simulator.js +0 -192
  151. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  152. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  153. package/dest/public/avm/avm_simulator_interface.js +0 -3
  154. package/dest/public/avm/calldata.d.ts +0 -51
  155. package/dest/public/avm/calldata.d.ts.map +0 -1
  156. package/dest/public/avm/calldata.js +0 -63
  157. package/dest/public/avm/errors.d.ts +0 -104
  158. package/dest/public/avm/errors.d.ts.map +0 -1
  159. package/dest/public/avm/errors.js +0 -141
  160. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  161. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  162. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  163. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  164. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  165. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  166. package/dest/public/avm/fixtures/initializers.js +0 -45
  167. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  168. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  169. package/dest/public/avm/index.d.ts +0 -2
  170. package/dest/public/avm/index.d.ts.map +0 -1
  171. package/dest/public/avm/index.js +0 -1
  172. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  173. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  174. package/dest/public/avm/opcodes/accrued_substate.js +0 -255
  175. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  176. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  177. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  178. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  179. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  180. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  181. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  182. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  183. package/dest/public/avm/opcodes/bitwise.js +0 -99
  184. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  185. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  186. package/dest/public/avm/opcodes/comparators.js +0 -43
  187. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  188. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  189. package/dest/public/avm/opcodes/contract.js +0 -65
  190. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  191. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  192. package/dest/public/avm/opcodes/control_flow.js +0 -107
  193. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  194. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  195. package/dest/public/avm/opcodes/conversion.js +0 -333
  196. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  197. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  198. package/dest/public/avm/opcodes/ec_add.js +0 -93
  199. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  200. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  201. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  202. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  203. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  204. package/dest/public/avm/opcodes/external_calls.js +0 -210
  205. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  206. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  207. package/dest/public/avm/opcodes/hashing.js +0 -119
  208. package/dest/public/avm/opcodes/index.d.ts +0 -16
  209. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  210. package/dest/public/avm/opcodes/index.js +0 -15
  211. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  212. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  213. package/dest/public/avm/opcodes/instruction.js +0 -95
  214. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  215. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  216. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  217. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  218. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  219. package/dest/public/avm/opcodes/memory.js +0 -257
  220. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  221. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  222. package/dest/public/avm/opcodes/misc.js +0 -73
  223. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  224. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  225. package/dest/public/avm/opcodes/storage.js +0 -78
  226. package/dest/public/avm/revert_reason.d.ts +0 -18
  227. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  228. package/dest/public/avm/revert_reason.js +0 -39
  229. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  230. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  231. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  232. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  233. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  234. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  235. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  236. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  237. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  238. package/dest/public/avm/test_utils.d.ts +0 -15
  239. package/dest/public/avm/test_utils.d.ts.map +0 -1
  240. package/dest/public/avm/test_utils.js +0 -44
  241. package/dest/public/debug_fn_name.d.ts +0 -18
  242. package/dest/public/debug_fn_name.d.ts.map +0 -1
  243. package/dest/public/debug_fn_name.js +0 -37
  244. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  245. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  246. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  247. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  248. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  249. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  250. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  251. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  252. package/dest/public/fixtures/opcode_spammer.js +0 -1653
  253. package/dest/public/hinting_db_sources.d.ts +0 -80
  254. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  255. package/dest/public/hinting_db_sources.js +0 -355
  256. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
  257. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
  258. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -98
  259. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  260. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  261. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -132
  262. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  263. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  264. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  265. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  266. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  267. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  268. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  269. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  270. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  271. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  272. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  273. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -131
  274. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  275. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  276. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  277. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  278. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  279. package/dest/public/side_effect_trace.d.ts +0 -87
  280. package/dest/public/side_effect_trace.d.ts.map +0 -1
  281. package/dest/public/side_effect_trace.js +0 -199
  282. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  283. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  284. package/dest/public/side_effect_trace_interface.js +0 -1
  285. package/dest/public/state_manager/index.d.ts +0 -2
  286. package/dest/public/state_manager/index.d.ts.map +0 -1
  287. package/dest/public/state_manager/index.js +0 -1
  288. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  289. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  290. package/dest/public/state_manager/nullifiers.js +0 -92
  291. package/dest/public/state_manager/public_storage.d.ts +0 -66
  292. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  293. package/dest/public/state_manager/public_storage.js +0 -145
  294. package/dest/public/state_manager/state_manager.d.ts +0 -170
  295. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  296. package/dest/public/state_manager/state_manager.js +0 -402
  297. package/src/public/avm/avm_context.ts +0 -61
  298. package/src/public/avm/avm_contract_call_result.ts +0 -69
  299. package/src/public/avm/avm_execution_environment.ts +0 -51
  300. package/src/public/avm/avm_gas.ts +0 -183
  301. package/src/public/avm/avm_machine_state.ts +0 -170
  302. package/src/public/avm/avm_memory_types.ts +0 -440
  303. package/src/public/avm/avm_simulator.ts +0 -279
  304. package/src/public/avm/avm_simulator_interface.ts +0 -8
  305. package/src/public/avm/calldata.ts +0 -100
  306. package/src/public/avm/errors.ts +0 -177
  307. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  308. package/src/public/avm/fixtures/initializers.ts +0 -103
  309. package/src/public/avm/index.ts +0 -1
  310. package/src/public/avm/opcodes/accrued_substate.ts +0 -286
  311. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  312. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  313. package/src/public/avm/opcodes/bitwise.ts +0 -113
  314. package/src/public/avm/opcodes/comparators.ts +0 -55
  315. package/src/public/avm/opcodes/contract.ts +0 -72
  316. package/src/public/avm/opcodes/control_flow.ts +0 -123
  317. package/src/public/avm/opcodes/conversion.ts +0 -104
  318. package/src/public/avm/opcodes/ec_add.ts +0 -105
  319. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  320. package/src/public/avm/opcodes/external_calls.ts +0 -262
  321. package/src/public/avm/opcodes/hashing.ts +0 -151
  322. package/src/public/avm/opcodes/index.ts +0 -15
  323. package/src/public/avm/opcodes/instruction.ts +0 -136
  324. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  325. package/src/public/avm/opcodes/memory.ts +0 -293
  326. package/src/public/avm/opcodes/misc.ts +0 -102
  327. package/src/public/avm/opcodes/storage.ts +0 -95
  328. package/src/public/avm/revert_reason.ts +0 -58
  329. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  330. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  331. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  332. package/src/public/avm/test_utils.ts +0 -64
  333. package/src/public/debug_fn_name.ts +0 -52
  334. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  335. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  336. package/src/public/fixtures/opcode_spammer.ts +0 -1721
  337. package/src/public/hinting_db_sources.ts +0 -607
  338. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -124
  339. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -211
  340. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  341. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  342. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  343. package/src/public/public_tx_simulator/public_tx_context.ts +0 -484
  344. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  345. package/src/public/side_effect_trace.ts +0 -293
  346. package/src/public/side_effect_trace_interface.ts +0 -28
  347. package/src/public/state_manager/index.ts +0 -1
  348. package/src/public/state_manager/nullifiers.ts +0 -103
  349. package/src/public/state_manager/public_storage.ts +0 -174
  350. package/src/public/state_manager/state_manager.ts +0 -569
@@ -1,63 +0,0 @@
1
- import { TaggedMemory } from './avm_memory_types.js';
2
- // Allow reading up to 300 kB of return data when unspecified.
3
- const DEFAULT_BEST_EFFORT_READ_CAP = 10000;
4
- export class LazyReaderMemory {
5
- memory;
6
- offset;
7
- size;
8
- constructor(memory, offset, size){
9
- this.memory = memory;
10
- this.offset = offset;
11
- this.size = size;
12
- }
13
- bestEffortReadAll(readCap = DEFAULT_BEST_EFFORT_READ_CAP) {
14
- const size = Math.min(this.size, readCap, TaggedMemory.MAX_MEMORY_SIZE - this.offset);
15
- return this.memory.getSlice(this.offset, size).map((word)=>word.toFr());
16
- }
17
- read(idx) {
18
- if (idx >= this.size) {
19
- return undefined;
20
- }
21
- return this.memory.get(this.offset + idx).toFr();
22
- }
23
- slice(start, end) {
24
- const clampedEnd = Math.min(end, this.size);
25
- const length = Math.max(0, clampedEnd - start);
26
- return this.memory.getSlice(this.offset + start, length).map((word)=>word.toFr());
27
- }
28
- readAll() {
29
- return this.memory.getSlice(this.offset, this.size).map((word)=>word.toFr());
30
- }
31
- length() {
32
- return this.size;
33
- }
34
- }
35
- export class LazyReaderArray {
36
- array;
37
- constructor(array){
38
- this.array = array;
39
- }
40
- bestEffortReadAll(readCap = DEFAULT_BEST_EFFORT_READ_CAP) {
41
- return this.array.slice(0, readCap);
42
- }
43
- read(idx) {
44
- return this.array[idx];
45
- }
46
- slice(start, end) {
47
- return this.array.slice(start, end);
48
- }
49
- readAll() {
50
- return this.array;
51
- }
52
- length() {
53
- return this.array.length;
54
- }
55
- }
56
- export class CallDataArray extends LazyReaderArray {
57
- }
58
- export class CallDataMemory extends LazyReaderMemory {
59
- }
60
- export class ReturnDataArray extends LazyReaderArray {
61
- }
62
- export class ReturnDataMemory extends LazyReaderMemory {
63
- }
@@ -1,104 +0,0 @@
1
- import type { Point } from '@aztec/foundation/curves/grumpkin';
2
- import type { FailingFunction, NoirCallStack } from '@aztec/stdlib/errors';
3
- import { ExecutionError } from '../../common/errors.js';
4
- import { CheckedPublicExecutionError } from '../public_errors.js';
5
- /**
6
- * Avm-specific errors should derive from this
7
- */
8
- export declare abstract class AvmExecutionError extends CheckedPublicExecutionError {
9
- constructor(message: string);
10
- }
11
- export declare class ArithmeticError extends AvmExecutionError {
12
- constructor(message: string);
13
- }
14
- /**
15
- * Error is thrown when the program counter goes to an invalid location.
16
- * There is no instruction at the provided pc
17
- */
18
- export declare class InvalidProgramCounterError extends AvmExecutionError {
19
- constructor(pc: number, max: number);
20
- }
21
- /**
22
- * Error is thrown when the program counter points to a byte
23
- * of an invalid opcode.
24
- */
25
- export declare class InvalidOpcodeError extends AvmExecutionError {
26
- constructor(str: string);
27
- }
28
- /**
29
- * Error is thrown during parsing.
30
- */
31
- export declare class AvmParsingError extends AvmExecutionError {
32
- constructor(str: string);
33
- }
34
- /**
35
- * Error is thrown when the tag has an invalid value.
36
- */
37
- export declare class InvalidTagValueError extends AvmExecutionError {
38
- constructor(tagValue: number);
39
- }
40
- /**
41
- * Error thrown during an instruction's execution (during its execute()).
42
- */
43
- export declare class InstructionExecutionError extends AvmExecutionError {
44
- constructor(message: string);
45
- }
46
- /**
47
- * Error thrown on failed AVM memory tag check.
48
- */
49
- export declare class TagCheckError extends AvmExecutionError {
50
- static forBaseAddress(gotTag: string): TagCheckError;
51
- static forIndirectAddress(address: number, gotTag: string): TagCheckError;
52
- static forOffset(offset: number, gotTag: string, expectedTag: string): TagCheckError;
53
- static forTag(gotTag: string, expectedTag: string): TagCheckError;
54
- constructor(message: string);
55
- }
56
- /**
57
- * Error is thrown when a relative memory address resolved to an offset which
58
- * is out of range, i.e, greater than maxUint32.
59
- */
60
- export declare class RelativeAddressOutOfRangeError extends AvmExecutionError {
61
- constructor(baseAddr: number, relOffset: number);
62
- }
63
- /**
64
- * Error is thrown when a memory slice contains addresses which are
65
- * out of range, i.e, greater than maxUint32.
66
- */
67
- export declare class MemorySliceOutOfRangeError extends AvmExecutionError {
68
- constructor(baseAddr: number, size: number);
69
- }
70
- /** Error thrown when out of gas. */
71
- export declare class OutOfGasError extends AvmExecutionError {
72
- constructor(dimensions: string[]);
73
- }
74
- /**
75
- * Error is thrown when one of the supplied points does not lie on the Grumpkin curve. Specific for ECADD opcode.
76
- */
77
- export declare class EcAddPointNotOnCurveError extends AvmExecutionError {
78
- constructor(pointIndex: number, point: Point);
79
- }
80
- /**
81
- * Error is thrown when some inputs of ToRadixBE are not valid.
82
- */
83
- export declare class InvalidToRadixInputsError extends AvmExecutionError {
84
- constructor(errorString: string);
85
- }
86
- /**
87
- * Error is thrown when a static call attempts to alter some state
88
- */
89
- export declare class StaticCallAlterationError extends InstructionExecutionError {
90
- constructor();
91
- }
92
- /**
93
- * Meaningfully named alias for ExecutionError when used in the context of the AVM.
94
- * Maintains a recursive structure reflecting the AVM's external callstack/errorstack, where
95
- * options.cause is the error that caused this error (if this is not the root-cause itself).
96
- */
97
- export declare class AvmRevertReason extends ExecutionError {
98
- constructor(message: string, failingFunction: FailingFunction, noirCallStack: NoirCallStack, options?: ErrorOptions);
99
- }
100
- /**
101
- * Helper to annotate errors occurring during instruction fetching.
102
- */
103
- export declare function duringInstrFetch(error: Error, pc: number): Error;
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2F2bS9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRTs7R0FFRztBQUNILDhCQUFzQixpQkFBa0IsU0FBUSwyQkFBMkI7SUFDekUsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUcxQjtDQUNGO0FBRUQscUJBQWEsZUFBZ0IsU0FBUSxpQkFBaUI7SUFDcEQsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUcxQjtDQUNGO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsMEJBQTJCLFNBQVEsaUJBQWlCO0lBQy9ELFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUdsQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQVksR0FBRyxFQUFFLE1BQU0sRUFHdEI7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsZUFBZ0IsU0FBUSxpQkFBaUI7SUFDcEQsWUFBWSxHQUFHLEVBQUUsTUFBTSxFQUd0QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxvQkFBcUIsU0FBUSxpQkFBaUI7SUFDekQsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUczQjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSx5QkFBMEIsU0FBUSxpQkFBaUI7SUFDOUQsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUcxQjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxhQUFjLFNBQVEsaUJBQWlCO0lBQ2xELE9BQWMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUUxRDtJQUNELE9BQWMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FFL0U7SUFDRCxPQUFjLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxhQUFhLENBRTFGO0lBRUQsT0FBYyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FFdkU7SUFFRCxZQUFZLE9BQU8sRUFBRSxNQUFNLEVBRzFCO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSw4QkFBK0IsU0FBUSxpQkFBaUI7SUFDbkUsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBRzlDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSwwQkFBMkIsU0FBUSxpQkFBaUI7SUFDL0QsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBR3pDO0NBQ0Y7QUFFRCxvQ0FBb0M7QUFDcEMscUJBQWEsYUFBYyxTQUFRLGlCQUFpQjtJQUNsRCxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFHL0I7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEseUJBQTBCLFNBQVEsaUJBQWlCO0lBQzlELFlBQVksVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUczQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSx5QkFBMEIsU0FBUSxpQkFBaUI7SUFDOUQsWUFBWSxXQUFXLEVBQUUsTUFBTSxFQUc5QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSx5QkFBMEIsU0FBUSx5QkFBeUI7SUFDdEUsY0FHQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILHFCQUFhLGVBQWdCLFNBQVEsY0FBYztJQUNqRCxZQUFZLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFlBQVksRUFFbEg7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sU0FHeEQifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/public/avm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE;;GAEG;AACH,8BAAsB,iBAAkB,SAAQ,2BAA2B;IACzE,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAGlC;CACF;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,YAAY,GAAG,EAAE,MAAM,EAGtB;CACF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,YAAY,GAAG,EAAE,MAAM,EAGtB;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,YAAY,QAAQ,EAAE,MAAM,EAG3B;CACF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,OAAc,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAE1D;IACD,OAAc,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAE/E;IACD,OAAc,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAE1F;IAED,OAAc,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAEvE;IAED,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,YAAY,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAG9C;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,YAAY,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAGzC;CACF;AAED,oCAAoC;AACpC,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,YAAY,UAAU,EAAE,MAAM,EAAE,EAG/B;CACF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,YAAY,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAG3C;CACF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,YAAY,WAAW,EAAE,MAAM,EAG9B;CACF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,yBAAyB;IACtE,cAGC;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,EAElH;CACF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,SAGxD"}
@@ -1,141 +0,0 @@
1
- import { ExecutionError } from '../../common/errors.js';
2
- import { CheckedPublicExecutionError } from '../public_errors.js';
3
- /**
4
- * Avm-specific errors should derive from this
5
- */ export class AvmExecutionError extends CheckedPublicExecutionError {
6
- constructor(message){
7
- super(message);
8
- this.name = 'AvmExecutionError';
9
- }
10
- }
11
- export class ArithmeticError extends AvmExecutionError {
12
- constructor(message){
13
- super(message);
14
- this.name = 'ArithmeticError';
15
- }
16
- }
17
- /**
18
- * Error is thrown when the program counter goes to an invalid location.
19
- * There is no instruction at the provided pc
20
- */ export class InvalidProgramCounterError extends AvmExecutionError {
21
- constructor(pc, max){
22
- super(`Invalid program counter ${pc}, max is ${max}`);
23
- this.name = 'InvalidProgramCounterError';
24
- }
25
- }
26
- /**
27
- * Error is thrown when the program counter points to a byte
28
- * of an invalid opcode.
29
- */ export class InvalidOpcodeError extends AvmExecutionError {
30
- constructor(str){
31
- super(str);
32
- this.name = 'InvalidOpcodeError';
33
- }
34
- }
35
- /**
36
- * Error is thrown during parsing.
37
- */ export class AvmParsingError extends AvmExecutionError {
38
- constructor(str){
39
- super(str);
40
- this.name = 'AvmParsingError';
41
- }
42
- }
43
- /**
44
- * Error is thrown when the tag has an invalid value.
45
- */ export class InvalidTagValueError extends AvmExecutionError {
46
- constructor(tagValue){
47
- super(`Tag check failed: Tag value ${tagValue} is invalid.`);
48
- this.name = 'InvalidTagValueError';
49
- }
50
- }
51
- /**
52
- * Error thrown during an instruction's execution (during its execute()).
53
- */ export class InstructionExecutionError extends AvmExecutionError {
54
- constructor(message){
55
- super(message);
56
- this.name = 'InstructionExecutionError';
57
- }
58
- }
59
- /**
60
- * Error thrown on failed AVM memory tag check.
61
- */ export class TagCheckError extends AvmExecutionError {
62
- static forBaseAddress(gotTag) {
63
- return new TagCheckError(`Base address (mem[0]) is not a valid address (has tag ${gotTag})`);
64
- }
65
- static forIndirectAddress(address, gotTag) {
66
- return new TagCheckError(`Address after indirection is not a valid address (address ${address} has tag ${gotTag})`);
67
- }
68
- static forOffset(offset, gotTag, expectedTag) {
69
- return new TagCheckError(`Tag mismatch at offset ${offset}, got ${gotTag}, expected ${expectedTag}`);
70
- }
71
- static forTag(gotTag, expectedTag) {
72
- return new TagCheckError(`Tag mismatch, got ${gotTag}, expected ${expectedTag}`);
73
- }
74
- constructor(message){
75
- super(message);
76
- this.name = 'TagCheckError';
77
- }
78
- }
79
- /**
80
- * Error is thrown when a relative memory address resolved to an offset which
81
- * is out of range, i.e, greater than maxUint32.
82
- */ export class RelativeAddressOutOfRangeError extends AvmExecutionError {
83
- constructor(baseAddr, relOffset){
84
- super(`Relative address out of range. Base address ${baseAddr}, relative offset ${relOffset}`);
85
- this.name = 'RelativeAddressOutOfRangeError';
86
- }
87
- }
88
- /**
89
- * Error is thrown when a memory slice contains addresses which are
90
- * out of range, i.e, greater than maxUint32.
91
- */ export class MemorySliceOutOfRangeError extends AvmExecutionError {
92
- constructor(baseAddr, size){
93
- super(`Memory slice is out of range. Base address ${baseAddr}, size ${size}`);
94
- this.name = 'MemorySliceOutOfRangeError';
95
- }
96
- }
97
- /** Error thrown when out of gas. */ export class OutOfGasError extends AvmExecutionError {
98
- constructor(dimensions){
99
- super(`Not enough ${dimensions.map((d)=>d.toUpperCase()).join(', ')} gas left`);
100
- this.name = 'OutOfGasError';
101
- }
102
- }
103
- /**
104
- * Error is thrown when one of the supplied points does not lie on the Grumpkin curve. Specific for ECADD opcode.
105
- */ export class EcAddPointNotOnCurveError extends AvmExecutionError {
106
- constructor(pointIndex, point){
107
- super(`EcAdd point${pointIndex} (${point.toString()}) is not on the curve.`);
108
- this.name = 'EcAddPointNotOnCurveError';
109
- }
110
- }
111
- /**
112
- * Error is thrown when some inputs of ToRadixBE are not valid.
113
- */ export class InvalidToRadixInputsError extends AvmExecutionError {
114
- constructor(errorString){
115
- super(errorString);
116
- this.name = 'InvalidToRadixInputsError';
117
- }
118
- }
119
- /**
120
- * Error is thrown when a static call attempts to alter some state
121
- */ export class StaticCallAlterationError extends InstructionExecutionError {
122
- constructor(){
123
- super('Static call cannot update the state, emit L2->L1 messages or generate logs');
124
- this.name = 'StaticCallAlterationError';
125
- }
126
- }
127
- /**
128
- * Meaningfully named alias for ExecutionError when used in the context of the AVM.
129
- * Maintains a recursive structure reflecting the AVM's external callstack/errorstack, where
130
- * options.cause is the error that caused this error (if this is not the root-cause itself).
131
- */ export class AvmRevertReason extends ExecutionError {
132
- constructor(message, failingFunction, noirCallStack, options){
133
- super(message, failingFunction, noirCallStack, options);
134
- }
135
- }
136
- /**
137
- * Helper to annotate errors occurring during instruction fetching.
138
- */ export function duringInstrFetch(error, pc) {
139
- error.message = `Instruction fetching error at pc ${pc}: ${error.message}`;
140
- return error;
141
- }
@@ -1,22 +0,0 @@
1
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
3
- import { NativeWorldStateService } from '@aztec/world-state';
4
- import type { AvmContractCallResult } from '../../avm/avm_contract_call_result.js';
5
- import { SimpleContractDataSource } from '../../fixtures/simple_contract_data_source.js';
6
- import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
7
- import { BaseAvmSimulationTester } from './base_avm_simulation_tester.js';
8
- /**
9
- * A test class that extends the BaseAvmSimulationTester to enable real-app testing of the core AvmSimulator.
10
- * It provides an interface for simulating one top-level call at a time and maintains state between
11
- * subsequent top-level calls.
12
- */
13
- export declare class AvmSimulationTester extends BaseAvmSimulationTester {
14
- private stateManager;
15
- constructor(contractDataSource: SimpleContractDataSource, merkleTrees: MerkleTreeWriteOperations, stateManager: PublicPersistableStateManager);
16
- static create(worldStateService: NativeWorldStateService): Promise<AvmSimulationTester>;
17
- /**
18
- * Simulate a top-level contract call.
19
- */
20
- simulateCall(sender: AztecAddress, address: AztecAddress, fnName: string, args: any[], isStaticCall?: boolean): Promise<AvmContractCallResult>;
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3NpbXVsYXRpb25fdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2F2bS9maXh0dXJlcy9hdm1fc2ltdWxhdGlvbl90ZXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc3RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXpGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBVzFFOzs7O0dBSUc7QUFDSCxxQkFBYSxtQkFBb0IsU0FBUSx1QkFBdUI7SUFJNUQsT0FBTyxDQUFDLFlBQVk7SUFIdEIsWUFDRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFDNUMsV0FBVyxFQUFFLHlCQUF5QixFQUM5QixZQUFZLEVBQUUsNkJBQTZCLEVBR3BEO0lBRUQsT0FBYSxNQUFNLENBQ2pCLGlCQUFpQixFQUFFLHVCQUF1QixHQUN6QyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FnQjlCO0lBRUQ7O09BRUc7SUFDRyxZQUFZLENBQ2hCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNYLFlBQVksVUFBUSxHQUNuQixPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FrRGhDO0NBQ0YifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_simulation_tester.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/avm_simulation_tester.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAGrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAW1E;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,uBAAuB;IAI5D,OAAO,CAAC,YAAY;IAHtB,YACE,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EAC9B,YAAY,EAAE,6BAA6B,EAGpD;IAED,OAAa,MAAM,CACjB,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAgB9B;IAED;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EAAE,EACX,YAAY,UAAQ,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAkDhC;CACF"}
@@ -1,84 +0,0 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { encodeArguments } from '@aztec/stdlib/abi';
3
- import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
- import { GasFees } from '@aztec/stdlib/gas';
5
- import { GlobalVariables } from '@aztec/stdlib/tx';
6
- import { SideEffectTrace } from '../../../public/side_effect_trace.js';
7
- import { SimpleContractDataSource } from '../../fixtures/simple_contract_data_source.js';
8
- import { PublicContractsDB, PublicTreesDB } from '../../public_db_sources.js';
9
- import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
10
- import { AvmSimulator } from '../avm_simulator.js';
11
- import { CallDataArray } from '../calldata.js';
12
- import { BaseAvmSimulationTester } from './base_avm_simulation_tester.js';
13
- import { initContext, initExecutionEnvironment } from './initializers.js';
14
- import { DEFAULT_TIMESTAMP, getContractFunctionAbi, getFunctionSelector, resolveContractAssertionMessage } from './utils.js';
15
- const DEFAULT_GAS_FEES = new GasFees(2, 3);
16
- /**
17
- * A test class that extends the BaseAvmSimulationTester to enable real-app testing of the core AvmSimulator.
18
- * It provides an interface for simulating one top-level call at a time and maintains state between
19
- * subsequent top-level calls.
20
- */ export class AvmSimulationTester extends BaseAvmSimulationTester {
21
- stateManager;
22
- constructor(contractDataSource, merkleTrees, stateManager){
23
- super(contractDataSource, merkleTrees), this.stateManager = stateManager;
24
- }
25
- static async create(worldStateService) {
26
- const contractDataSource = new SimpleContractDataSource();
27
- const merkleTrees = await worldStateService.fork();
28
- const treesDB = new PublicTreesDB(merkleTrees);
29
- const contractsDB = new PublicContractsDB(contractDataSource);
30
- const trace = new SideEffectTrace();
31
- const firstNullifier = new Fr(420000);
32
- const stateManager = PublicPersistableStateManager.create(treesDB, contractsDB, trace, firstNullifier, DEFAULT_TIMESTAMP);
33
- return new AvmSimulationTester(contractDataSource, merkleTrees, stateManager);
34
- }
35
- /**
36
- * Simulate a top-level contract call.
37
- */ async simulateCall(sender, address, fnName, args, isStaticCall = false) {
38
- const contractArtifact = await this.contractDataSource.getContractArtifact(address);
39
- if (!contractArtifact) {
40
- throw new Error(`Contract not found at address: ${address}`);
41
- }
42
- const fnSelector = await getFunctionSelector(fnName, contractArtifact);
43
- const fnAbi = getContractFunctionAbi(fnName, contractArtifact);
44
- const encodedArgs = encodeArguments(fnAbi, args);
45
- const calldata = [
46
- fnSelector.toField(),
47
- ...encodedArgs
48
- ];
49
- const globals = GlobalVariables.empty();
50
- globals.timestamp = DEFAULT_TIMESTAMP;
51
- globals.gasFees = DEFAULT_GAS_FEES;
52
- const config = PublicSimulatorConfig.from({
53
- skipFeeEnforcement: false,
54
- collectDebugLogs: true,
55
- collectHints: false,
56
- collectStatistics: false,
57
- collectCallMetadata: true
58
- });
59
- const environment = initExecutionEnvironment({
60
- calldata: new CallDataArray(calldata),
61
- globals,
62
- address,
63
- sender,
64
- isStaticCall,
65
- config
66
- });
67
- const persistableState = await this.stateManager.fork();
68
- const context = initContext({
69
- env: environment,
70
- persistableState
71
- });
72
- // First we simulate (though it's not needed in this simple case).
73
- const simulator = new AvmSimulator(context);
74
- const result = await simulator.execute();
75
- if (result.reverted) {
76
- this.logger.error(`Error in ${fnName}:`);
77
- this.logger.error(resolveContractAssertionMessage(fnName, result.revertReason, result.output.bestEffortReadAll(), contractArtifact));
78
- } else {
79
- this.logger.info(`Simulation of function ${fnName} succeeded!`);
80
- await this.stateManager.merge(persistableState);
81
- }
82
- return result;
83
- }
84
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"base_avm_simulation_tester.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/base_avm_simulation_tester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAMpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAGjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAuB;IAIlC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,yBAAyB;IAC7C,OAAO,CAAC,sBAAsB;IALzB,MAAM,yCAAyC;IAEtD,YACS,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACrC,sBAAsB,KAAmB,EAC/C;IAEE,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,KAA8B,iBAIrF;IAEK,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,iBAKhE;IAED;;;OAGG;IACG,yBAAyB,CAC7B,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,sBAAsB,UAAQ,EAC9B,IAAI,SAAI,EACR,iBAAiB,SAAO,EACxB,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,2BAA2B,CAAC,CAgBtC;IAEK,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC,CASrE;IAEK,oBAAoB,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAajE;IAEK,gCAAgC,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAa7E;IAEK,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,sBAAsB,UAAQ,iBAKtG;YAEa,8BAA8B;IAQtC,eAAe,CAAC,mBAAmB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,iBAGrE;CACF"}
@@ -1,42 +0,0 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { GlobalVariables } from '@aztec/stdlib/tx';
3
- import type { UInt64 } from '@aztec/stdlib/types';
4
- import type { PublicContractsDB, PublicTreesDB } from '../../public_db_sources.js';
5
- import type { PublicSideEffectTraceInterface } from '../../side_effect_trace_interface.js';
6
- import { NullifierManager } from '../../state_manager/nullifiers.js';
7
- import { PublicStorage } from '../../state_manager/public_storage.js';
8
- import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
9
- import { AvmContext } from '../avm_context.js';
10
- import { AvmExecutionEnvironment } from '../avm_execution_environment.js';
11
- import { AvmMachineState } from '../avm_machine_state.js';
12
- /**
13
- * Create a new AVM context with default values.
14
- */
15
- export declare function initContext(overrides?: {
16
- persistableState?: PublicPersistableStateManager;
17
- env?: AvmExecutionEnvironment;
18
- machineState?: AvmMachineState;
19
- }): AvmContext;
20
- /** Creates an empty state manager with mocked host storage. */
21
- export declare function initPersistableStateManager(overrides?: {
22
- treesDB?: PublicTreesDB;
23
- contractsDB?: PublicContractsDB;
24
- trace?: PublicSideEffectTraceInterface;
25
- publicStorage?: PublicStorage;
26
- nullifiers?: NullifierManager;
27
- firstNullifier?: Fr;
28
- timestamp?: UInt64;
29
- }): PublicPersistableStateManager;
30
- /**
31
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
32
- */
33
- export declare function initExecutionEnvironment(overrides?: Partial<AvmExecutionEnvironment>): AvmExecutionEnvironment;
34
- /**
35
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
36
- */
37
- export declare function initGlobalVariables(overrides?: Partial<GlobalVariables>): GlobalVariables;
38
- /**
39
- * Create an empty instance of the Machine State where all values are set to a large enough amount, unless overridden in the overrides object
40
- */
41
- export declare function initMachineState(overrides?: Partial<AvmMachineState>): AvmMachineState;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2F2bS9maXh0dXJlcy9pbml0aWFsaXplcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBS3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUlsRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzFEOztHQUVHO0FBQ0gsd0JBQWdCLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtJQUN0QyxnQkFBZ0IsQ0FBQyxFQUFFLDZCQUE2QixDQUFDO0lBQ2pELEdBQUcsQ0FBQyxFQUFFLHVCQUF1QixDQUFDO0lBQzlCLFlBQVksQ0FBQyxFQUFFLGVBQWUsQ0FBQztDQUNoQyxHQUFHLFVBQVUsQ0FRYjtBQUVELCtEQUErRDtBQUMvRCx3QkFBZ0IsMkJBQTJCLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDdEQsT0FBTyxDQUFDLEVBQUUsYUFBYSxDQUFDO0lBQ3hCLFdBQVcsQ0FBQyxFQUFFLGlCQUFpQixDQUFDO0lBQ2hDLEtBQUssQ0FBQyxFQUFFLDhCQUE4QixDQUFDO0lBQ3ZDLGFBQWEsQ0FBQyxFQUFFLGFBQWEsQ0FBQztJQUM5QixVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztJQUM5QixjQUFjLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDcEIsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLEdBQUcsNkJBQTZCLENBVWhDO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsdUJBQXVCLENBVzlHO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGVBQWUsQ0FXekY7QUFFRDs7R0FFRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsZUFBZSxDQUt0RiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/initializers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAKpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE;IACtC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD,GAAG,CAAC,EAAE,uBAAuB,CAAC;IAC9B,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC,GAAG,UAAU,CAQb;AAED,+DAA+D;AAC/D,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,6BAA6B,CAUhC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,uBAAuB,CAW9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAWzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAKtF"}
@@ -1,45 +0,0 @@
1
- import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
2
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
- import { EthAddress } from '@aztec/foundation/eth-address';
5
- import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
6
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
- import { GasFees } from '@aztec/stdlib/gas';
8
- import { GlobalVariables } from '@aztec/stdlib/tx';
9
- import { mock } from 'jest-mock-extended';
10
- import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
11
- import { AvmContext } from '../avm_context.js';
12
- import { AvmExecutionEnvironment } from '../avm_execution_environment.js';
13
- import { AvmMachineState } from '../avm_machine_state.js';
14
- import { AvmSimulator } from '../avm_simulator.js';
15
- import { CallDataArray } from '../calldata.js';
16
- import { DEFAULT_TIMESTAMP } from './utils.js';
17
- /**
18
- * Create a new AVM context with default values.
19
- */ export function initContext(overrides) {
20
- const ctx = new AvmContext(overrides?.persistableState || initPersistableStateManager(), overrides?.env || initExecutionEnvironment(), overrides?.machineState || initMachineState());
21
- ctx.provideSimulator = AvmSimulator.build;
22
- return ctx;
23
- }
24
- /** Creates an empty state manager with mocked host storage. */ export function initPersistableStateManager(overrides) {
25
- const treesDB = overrides?.treesDB || mock();
26
- return new PublicPersistableStateManager(treesDB, overrides?.contractsDB || mock(), overrides?.trace || mock(), overrides?.firstNullifier || new Fr(27), overrides?.timestamp || DEFAULT_TIMESTAMP, /*doMerkleOperations=*/ false);
27
- }
28
- /**
29
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
30
- */ export function initExecutionEnvironment(overrides) {
31
- return new AvmExecutionEnvironment(overrides?.address ?? AztecAddress.zero(), overrides?.sender ?? AztecAddress.zero(), overrides?.contractCallDepth ?? Fr.zero(), overrides?.transactionFee ?? Fr.zero(), overrides?.globals ?? GlobalVariables.empty(), overrides?.isStaticCall ?? false, overrides?.calldata ?? new CallDataArray([]), overrides?.config ?? PublicSimulatorConfig.empty());
32
- }
33
- /**
34
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
35
- */ export function initGlobalVariables(overrides) {
36
- return new GlobalVariables(overrides?.chainId ?? Fr.zero(), overrides?.version ?? Fr.zero(), overrides?.blockNumber ?? BlockNumber.ZERO, overrides?.slotNumber ?? SlotNumber.ZERO, overrides?.timestamp ?? 0n, overrides?.coinbase ?? EthAddress.ZERO, overrides?.feeRecipient ?? AztecAddress.zero(), overrides?.gasFees ?? GasFees.empty());
37
- }
38
- /**
39
- * Create an empty instance of the Machine State where all values are set to a large enough amount, unless overridden in the overrides object
40
- */ export function initMachineState(overrides) {
41
- return AvmMachineState.fromState({
42
- l2GasLeft: overrides?.l2GasLeft ?? AVM_MAX_PROCESSABLE_L2_GAS,
43
- daGasLeft: overrides?.daGasLeft ?? 1e8
44
- });
45
- }
@@ -1,39 +0,0 @@
1
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { type ContractArtifact, type FunctionAbi, type FunctionArtifact, FunctionSelector } from '@aztec/stdlib/abi';
4
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import { type ContractClassPublic, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
- import type { UInt64 } from '@aztec/stdlib/types';
7
- import { Field, Uint8, Uint32, Uint64 } from '../avm_memory_types.js';
8
- import type { AvmRevertReason } from '../errors.js';
9
- export declare const PUBLIC_DISPATCH_FN_NAME = "public_dispatch";
10
- export declare const DEFAULT_TIMESTAMP: UInt64;
11
- export declare const DEFAULT_BLOCK_NUMBER: BlockNumber;
12
- /**
13
- * Create a new object with all the same properties as the original, except for the ones in the overrides object.
14
- */
15
- export declare function allSameExcept(original: any, overrides: any): any;
16
- export declare function randomMemoryBytes(length: number): Uint8[];
17
- export declare function randomMemoryUint32s(length: number): Uint32[];
18
- export declare function randomMemoryUint64s(length: number): Uint64[];
19
- export declare function randomMemoryFields(length: number): Field[];
20
- export declare function getFunctionSelector(functionName: string, contractArtifact: ContractArtifact): Promise<FunctionSelector>;
21
- export declare function getContractFunctionArtifact(functionName: string, contractArtifact: ContractArtifact): FunctionArtifact | undefined;
22
- export declare function getContractFunctionAbi(functionName: string, contractArtifact: ContractArtifact): FunctionAbi | undefined;
23
- export declare function resolveContractAssertionMessage(functionName: string, revertReason: AvmRevertReason, output: Fr[], contractArtifact: ContractArtifact): string | undefined;
24
- /**
25
- * Create a contract class and instance given constructor args, artifact, etc.
26
- * NOTE: This is useful for testing real-ish contract class registration and instance deployment TXs (via logs)
27
- * @param constructorArgs - The constructor arguments for the contract.
28
- * @param deployer - The deployer of the contract.
29
- * @param contractArtifact - The contract artifact for the contract.
30
- * @param seed - The seed for the contract.
31
- * @param originalContractClassId - The original contract class ID (if upgraded)
32
- * @returns The contract class, instance, and contract address nullifier.
33
- */
34
- export declare function createContractClassAndInstance(constructorArgs: any[], deployer: AztecAddress, contractArtifact: ContractArtifact, seed?: number, contractClassSeed?: number, originalContractClassId?: Fr): Promise<{
35
- contractClass: ContractClassPublic;
36
- contractInstance: ContractInstanceWithAddress;
37
- contractAddressNullifier: Fr;
38
- }>;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL2ZpeHR1cmVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssV0FBVyxFQUNoQixLQUFLLGdCQUFnQixFQUNyQixnQkFBZ0IsRUFFakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssMkJBQTJCLEVBRWpDLE1BQU0sd0JBQXdCLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFNbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxlQUFPLE1BQU0sdUJBQXVCLG9CQUFvQixDQUFDO0FBQ3pELGVBQU8sTUFBTSxpQkFBaUIsRUFBRSxNQUFlLENBQUM7QUFDaEQsZUFBTyxNQUFNLG9CQUFvQixhQUFrQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUVoRTtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUV6RDtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUU1RDtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUU1RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUUxRDtBQUVELHdCQUFnQixtQkFBbUIsQ0FDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUszQjtBQUVELHdCQUFnQiwyQkFBMkIsQ0FDekMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLGdCQUFnQixHQUFHLFNBQVMsQ0FFOUI7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQ3BDLFlBQVksRUFBRSxNQUFNLEVBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQixHQUNqQyxXQUFXLEdBQUcsU0FBUyxDQUt6QjtBQUVELHdCQUFnQiwrQkFBK0IsQ0FDN0MsWUFBWSxFQUFFLE1BQU0sRUFDcEIsWUFBWSxFQUFFLGVBQWUsRUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUNaLGdCQUFnQixFQUFFLGdCQUFnQixHQUNqQyxNQUFNLEdBQUcsU0FBUyxDQVdwQjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsZUFBZSxFQUFFLEdBQUcsRUFBRSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUN0QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxTQUFJLEVBQ1IsaUJBQWlCLFNBQU8sRUFDeEIsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQzNCLE9BQU8sQ0FBQztJQUNULGFBQWEsRUFBRSxtQkFBbUIsQ0FBQztJQUNuQyxnQkFBZ0IsRUFBRSwyQkFBMkIsQ0FBQztJQUM5Qyx3QkFBd0IsRUFBRSxFQUFFLENBQUM7Q0FDOUIsQ0FBQyxDQTRCRCJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/fixtures/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAC;AAKhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,iBAAiB,EAAE,MAAe,CAAC;AAChD,eAAO,MAAM,oBAAoB,aAAkB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS,CAE9B;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,WAAW,GAAG,SAAS,CAKzB;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,eAAe,EAC7B,MAAM,EAAE,EAAE,EAAE,EACZ,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,GAAG,SAAS,CAWpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,SAAI,EACR,iBAAiB,SAAO,EACxB,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC;IACT,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C,wBAAwB,EAAE,EAAE,CAAC;CAC9B,CAAC,CA4BD"}
@@ -1,2 +0,0 @@
1
- export * from './avm_simulator.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/avm/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- export * from './avm_simulator.js';