@aztec/simulator 0.0.0-test.1 → 0.0.1-commit.0b941701

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 (527) hide show
  1. package/README.md +8 -0
  2. package/dest/client.d.ts +6 -4
  3. package/dest/client.d.ts.map +1 -1
  4. package/dest/client.js +4 -2
  5. package/dest/common/errors.d.ts +6 -9
  6. package/dest/common/errors.d.ts.map +1 -1
  7. package/dest/common/errors.js +51 -32
  8. package/dest/common/index.d.ts +1 -2
  9. package/dest/common/index.d.ts.map +1 -1
  10. package/dest/common/index.js +0 -1
  11. package/dest/common/stats/index.d.ts +1 -1
  12. package/dest/common/stats/stats.d.ts +1 -1
  13. package/dest/private/acvm/acvm.d.ts +12 -6
  14. package/dest/private/acvm/acvm.d.ts.map +1 -1
  15. package/dest/private/acvm/acvm.js +10 -16
  16. package/dest/private/acvm/acvm_types.d.ts +2 -2
  17. package/dest/private/acvm/acvm_types.d.ts.map +1 -1
  18. package/dest/private/acvm/deserialize.d.ts +19 -20
  19. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  20. package/dest/private/acvm/deserialize.js +32 -24
  21. package/dest/private/acvm/index.d.ts +1 -2
  22. package/dest/private/acvm/index.d.ts.map +1 -1
  23. package/dest/private/acvm/index.js +0 -1
  24. package/dest/private/acvm/serialize.d.ts +21 -4
  25. package/dest/private/acvm/serialize.d.ts.map +1 -1
  26. package/dest/private/acvm/serialize.js +54 -1
  27. package/dest/private/acvm_native.d.ts +39 -0
  28. package/dest/private/acvm_native.d.ts.map +1 -0
  29. package/dest/private/{providers/acvm_native.js → acvm_native.js} +26 -20
  30. package/dest/private/acvm_wasm.d.ts +15 -0
  31. package/dest/private/acvm_wasm.d.ts.map +1 -0
  32. package/dest/private/{providers/acvm_wasm.js → acvm_wasm.js} +22 -19
  33. package/dest/private/acvm_wasm_with_blobs.d.ts +20 -0
  34. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -0
  35. package/dest/private/acvm_wasm_with_blobs.js +35 -0
  36. package/dest/private/circuit_recording/circuit_recorder.d.ts +108 -0
  37. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -0
  38. package/dest/private/circuit_recording/circuit_recorder.js +210 -0
  39. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +31 -0
  40. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -0
  41. package/dest/private/circuit_recording/file_circuit_recorder.js +135 -0
  42. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +5 -0
  43. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -0
  44. package/dest/private/circuit_recording/memory_circuit_recorder.js +9 -0
  45. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +21 -0
  46. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -0
  47. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +44 -0
  48. package/dest/private/circuit_simulator.d.ts +35 -0
  49. package/dest/private/circuit_simulator.d.ts.map +1 -0
  50. package/dest/private/circuit_simulator.js +43 -0
  51. package/dest/private/factory.d.ts +12 -0
  52. package/dest/private/factory.d.ts.map +1 -0
  53. package/dest/private/{providers/factory.js → factory.js} +2 -2
  54. package/dest/public/avm/avm_context.d.ts +8 -8
  55. package/dest/public/avm/avm_context.d.ts.map +1 -1
  56. package/dest/public/avm/avm_contract_call_result.d.ts +8 -6
  57. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  58. package/dest/public/avm/avm_contract_call_result.js +12 -8
  59. package/dest/public/avm/avm_execution_environment.d.ts +9 -6
  60. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  61. package/dest/public/avm/avm_execution_environment.js +5 -3
  62. package/dest/public/avm/avm_gas.d.ts +5 -21
  63. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  64. package/dest/public/avm/avm_gas.js +27 -35
  65. package/dest/public/avm/avm_machine_state.d.ts +9 -6
  66. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  67. package/dest/public/avm/avm_machine_state.js +5 -2
  68. package/dest/public/avm/avm_memory_types.d.ts +100 -89
  69. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  70. package/dest/public/avm/avm_memory_types.js +21 -7
  71. package/dest/public/avm/avm_simulator.d.ts +8 -7
  72. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  73. package/dest/public/avm/avm_simulator.js +32 -42
  74. package/dest/public/avm/avm_simulator_interface.d.ts +9 -0
  75. package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -0
  76. package/dest/public/avm/avm_simulator_interface.js +3 -0
  77. package/dest/public/avm/calldata.d.ts +51 -0
  78. package/dest/public/avm/calldata.d.ts.map +1 -0
  79. package/dest/public/avm/calldata.js +63 -0
  80. package/dest/public/avm/errors.d.ts +11 -29
  81. package/dest/public/avm/errors.d.ts.map +1 -1
  82. package/dest/public/avm/errors.js +19 -57
  83. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +6 -5
  84. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  85. package/dest/public/avm/fixtures/avm_simulation_tester.js +26 -18
  86. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +8 -6
  87. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  88. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +38 -15
  89. package/dest/public/avm/fixtures/initializers.d.ts +42 -0
  90. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
  91. package/dest/public/avm/fixtures/initializers.js +45 -0
  92. package/dest/public/avm/fixtures/utils.d.ts +39 -0
  93. package/dest/public/avm/fixtures/utils.d.ts.map +1 -0
  94. package/dest/public/avm/fixtures/utils.js +96 -0
  95. package/dest/public/avm/index.d.ts +1 -3
  96. package/dest/public/avm/index.d.ts.map +1 -1
  97. package/dest/public/avm/index.js +0 -2
  98. package/dest/public/avm/opcodes/accrued_substate.d.ts +16 -16
  99. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  100. package/dest/public/avm/opcodes/accrued_substate.js +52 -45
  101. package/dest/public/avm/opcodes/addressing_mode.d.ts +12 -8
  102. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  103. package/dest/public/avm/opcodes/addressing_mode.js +46 -26
  104. package/dest/public/avm/opcodes/arithmetic.d.ts +14 -2
  105. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  106. package/dest/public/avm/opcodes/arithmetic.js +27 -3
  107. package/dest/public/avm/opcodes/bitwise.d.ts +8 -16
  108. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  109. package/dest/public/avm/opcodes/bitwise.js +22 -29
  110. package/dest/public/avm/opcodes/comparators.d.ts +1 -1
  111. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  112. package/dest/public/avm/opcodes/comparators.js +3 -3
  113. package/dest/public/avm/opcodes/contract.d.ts +3 -4
  114. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  115. package/dest/public/avm/opcodes/contract.js +11 -12
  116. package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
  117. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  118. package/dest/public/avm/opcodes/control_flow.js +13 -11
  119. package/dest/public/avm/opcodes/conversion.d.ts +4 -3
  120. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  121. package/dest/public/avm/opcodes/conversion.js +270 -6
  122. package/dest/public/avm/opcodes/ec_add.d.ts +3 -3
  123. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  124. package/dest/public/avm/opcodes/ec_add.js +21 -12
  125. package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
  126. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  127. package/dest/public/avm/opcodes/environment_getters.js +20 -22
  128. package/dest/public/avm/opcodes/external_calls.d.ts +14 -13
  129. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  130. package/dest/public/avm/opcodes/external_calls.js +52 -46
  131. package/dest/public/avm/opcodes/hashing.d.ts +7 -7
  132. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  133. package/dest/public/avm/opcodes/hashing.js +24 -19
  134. package/dest/public/avm/opcodes/index.d.ts +1 -1
  135. package/dest/public/avm/opcodes/instruction.d.ts +15 -11
  136. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  137. package/dest/public/avm/opcodes/instruction.js +23 -19
  138. package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
  139. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  140. package/dest/public/avm/opcodes/instruction_impl.js +4 -4
  141. package/dest/public/avm/opcodes/memory.d.ts +15 -15
  142. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  143. package/dest/public/avm/opcodes/memory.js +52 -48
  144. package/dest/public/avm/opcodes/misc.d.ts +4 -3
  145. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  146. package/dest/public/avm/opcodes/misc.js +42 -17
  147. package/dest/public/avm/opcodes/storage.d.ts +14 -13
  148. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  149. package/dest/public/avm/opcodes/storage.js +39 -27
  150. package/dest/public/avm/revert_reason.d.ts +18 -0
  151. package/dest/public/avm/revert_reason.d.ts.map +1 -0
  152. package/dest/public/avm/revert_reason.js +39 -0
  153. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -3
  154. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  155. package/dest/public/avm/serialization/bytecode_serialization.d.ts +3 -7
  156. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  157. package/dest/public/avm/serialization/bytecode_serialization.js +79 -75
  158. package/dest/public/avm/serialization/instruction_serialization.d.ts +14 -5
  159. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  160. package/dest/public/avm/serialization/instruction_serialization.js +70 -35
  161. package/dest/public/avm/test_utils.d.ts +12 -15
  162. package/dest/public/avm/test_utils.d.ts.map +1 -1
  163. package/dest/public/avm/test_utils.js +17 -25
  164. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  165. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  166. package/dest/public/contracts_db_checkpoint.js +30 -0
  167. package/dest/public/db_interfaces.d.ts +68 -0
  168. package/dest/public/db_interfaces.d.ts.map +1 -0
  169. package/dest/public/db_interfaces.js +3 -0
  170. package/dest/public/debug_fn_name.d.ts +18 -0
  171. package/dest/public/debug_fn_name.d.ts.map +1 -0
  172. package/dest/public/debug_fn_name.js +37 -0
  173. package/dest/public/executor_metrics.d.ts +12 -4
  174. package/dest/public/executor_metrics.d.ts.map +1 -1
  175. package/dest/public/executor_metrics.js +29 -24
  176. package/dest/public/executor_metrics_interface.d.ts +10 -0
  177. package/dest/public/executor_metrics_interface.d.ts.map +1 -0
  178. package/dest/public/executor_metrics_interface.js +1 -0
  179. package/dest/public/fixtures/amm_test.d.ts +10 -0
  180. package/dest/public/fixtures/amm_test.d.ts.map +1 -0
  181. package/dest/public/fixtures/amm_test.js +213 -0
  182. package/dest/public/fixtures/bulk_test.d.ts +6 -0
  183. package/dest/public/fixtures/bulk_test.d.ts.map +1 -0
  184. package/dest/public/fixtures/bulk_test.js +262 -0
  185. package/dest/public/fixtures/custom_bytecode_tester.d.ts +34 -0
  186. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
  187. package/dest/public/fixtures/custom_bytecode_tester.js +53 -0
  188. package/dest/public/fixtures/custom_bytecode_tests.d.ts +12 -0
  189. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
  190. package/dest/public/fixtures/custom_bytecode_tests.js +174 -0
  191. package/dest/public/fixtures/index.d.ts +10 -1
  192. package/dest/public/fixtures/index.d.ts.map +1 -1
  193. package/dest/public/fixtures/index.js +9 -0
  194. package/dest/public/fixtures/minimal_public_tx.d.ts +4 -0
  195. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
  196. package/dest/public/fixtures/minimal_public_tx.js +19 -0
  197. package/dest/public/fixtures/opcode_spammer.d.ts +123 -0
  198. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  199. package/dest/public/fixtures/opcode_spammer.js +1693 -0
  200. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +55 -15
  201. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  202. package/dest/public/fixtures/public_tx_simulation_tester.js +138 -72
  203. package/dest/public/fixtures/simple_contract_data_source.d.ts +36 -0
  204. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -0
  205. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.js +31 -10
  206. package/dest/public/fixtures/token_test.d.ts +12 -0
  207. package/dest/public/fixtures/token_test.d.ts.map +1 -0
  208. package/dest/public/fixtures/token_test.js +96 -0
  209. package/dest/public/fixtures/utils.d.ts +18 -5
  210. package/dest/public/fixtures/utils.d.ts.map +1 -1
  211. package/dest/public/fixtures/utils.js +102 -59
  212. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +60 -0
  213. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  214. package/dest/public/fuzzing/avm_fuzzer_simulator.js +171 -0
  215. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  216. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  217. package/dest/public/fuzzing/avm_simulator_bin.js +118 -0
  218. package/dest/public/hinting_db_sources.d.ts +80 -0
  219. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  220. package/dest/public/hinting_db_sources.js +355 -0
  221. package/dest/public/index.d.ts +6 -9
  222. package/dest/public/index.d.ts.map +1 -1
  223. package/dest/public/index.js +4 -7
  224. package/dest/public/public_db_sources.d.ts +52 -102
  225. package/dest/public/public_db_sources.d.ts.map +1 -1
  226. package/dest/public/public_db_sources.js +220 -193
  227. package/dest/public/public_errors.d.ts +12 -0
  228. package/dest/public/public_errors.d.ts.map +1 -0
  229. package/dest/public/public_errors.js +13 -0
  230. package/dest/public/public_processor/guarded_merkle_tree.d.ts +51 -0
  231. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -0
  232. package/dest/public/public_processor/guarded_merkle_tree.js +113 -0
  233. package/dest/public/public_processor/public_processor.d.ts +26 -38
  234. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  235. package/dest/public/public_processor/public_processor.js +573 -136
  236. package/dest/public/public_processor/public_processor_metrics.d.ts +3 -3
  237. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  238. package/dest/public/public_processor/public_processor_metrics.js +13 -46
  239. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +18 -0
  240. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  241. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +98 -0
  242. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +53 -0
  243. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
  244. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +132 -0
  245. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  246. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  247. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  248. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  249. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  250. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  251. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +22 -0
  252. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  253. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  254. package/dest/public/public_tx_simulator/factories.d.ts +13 -0
  255. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  256. package/dest/public/public_tx_simulator/factories.js +28 -0
  257. package/dest/public/public_tx_simulator/index.d.ts +8 -0
  258. package/dest/public/public_tx_simulator/index.d.ts.map +1 -0
  259. package/dest/public/public_tx_simulator/index.js +5 -0
  260. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +31 -0
  261. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
  262. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +51 -0
  263. package/dest/public/public_tx_simulator/public_tx_context.d.ts +24 -31
  264. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  265. package/dest/public/public_tx_simulator/public_tx_context.js +72 -92
  266. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +37 -58
  267. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  268. package/dest/public/public_tx_simulator/public_tx_simulator.js +217 -206
  269. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +32 -0
  270. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -0
  271. package/dest/public/public_tx_simulator/public_tx_simulator_interface.js +1 -0
  272. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +21 -0
  273. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
  274. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +415 -0
  275. package/dest/public/side_effect_errors.d.ts +42 -2
  276. package/dest/public/side_effect_errors.d.ts.map +1 -1
  277. package/dest/public/side_effect_errors.js +70 -1
  278. package/dest/public/side_effect_trace.d.ts +22 -67
  279. package/dest/public/side_effect_trace.d.ts.map +1 -1
  280. package/dest/public/side_effect_trace.js +72 -122
  281. package/dest/public/side_effect_trace_interface.d.ts +13 -25
  282. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  283. package/dest/public/state_manager/index.d.ts +2 -0
  284. package/dest/public/state_manager/index.d.ts.map +1 -0
  285. package/dest/public/state_manager/index.js +1 -0
  286. package/dest/public/{avm/journal → state_manager}/nullifiers.d.ts +4 -7
  287. package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
  288. package/dest/public/{avm/journal → state_manager}/nullifiers.js +3 -8
  289. package/dest/public/{avm/journal → state_manager}/public_storage.d.ts +4 -4
  290. package/dest/public/state_manager/public_storage.d.ts.map +1 -0
  291. package/dest/public/{avm/journal → state_manager}/public_storage.js +1 -1
  292. package/dest/public/state_manager/state_manager.d.ts +164 -0
  293. package/dest/public/state_manager/state_manager.d.ts.map +1 -0
  294. package/dest/public/state_manager/state_manager.js +395 -0
  295. package/dest/public/test_executor_metrics.d.ts +55 -0
  296. package/dest/public/test_executor_metrics.d.ts.map +1 -0
  297. package/dest/public/test_executor_metrics.js +307 -0
  298. package/dest/public/unique_class_ids.d.ts +1 -1
  299. package/dest/public/unique_class_ids.d.ts.map +1 -1
  300. package/dest/public/utils.d.ts +3 -5
  301. package/dest/public/utils.d.ts.map +1 -1
  302. package/dest/public/utils.js +4 -21
  303. package/dest/server.d.ts +7 -4
  304. package/dest/server.d.ts.map +1 -1
  305. package/dest/server.js +5 -2
  306. package/dest/testing.d.ts +2 -0
  307. package/dest/testing.d.ts.map +1 -0
  308. package/dest/testing.js +1 -0
  309. package/package.json +39 -33
  310. package/src/client.ts +5 -3
  311. package/src/common/errors.ts +80 -45
  312. package/src/common/index.ts +0 -1
  313. package/src/private/acvm/acvm.ts +17 -32
  314. package/src/private/acvm/acvm_types.ts +1 -1
  315. package/src/private/acvm/deserialize.ts +36 -30
  316. package/src/private/acvm/index.ts +0 -1
  317. package/src/private/acvm/serialize.ts +64 -1
  318. package/src/private/{providers/acvm_native.ts → acvm_native.ts} +47 -24
  319. package/src/private/acvm_wasm.ts +72 -0
  320. package/src/private/acvm_wasm_with_blobs.ts +54 -0
  321. package/src/private/circuit_recording/circuit_recorder.ts +261 -0
  322. package/src/private/circuit_recording/file_circuit_recorder.ts +158 -0
  323. package/src/private/circuit_recording/memory_circuit_recorder.ts +11 -0
  324. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +91 -0
  325. package/src/private/circuit_simulator.ts +90 -0
  326. package/src/private/{providers/factory.ts → factory.ts} +6 -6
  327. package/src/public/avm/avm_context.ts +6 -6
  328. package/src/public/avm/avm_contract_call_result.ts +23 -9
  329. package/src/public/avm/avm_execution_environment.ts +17 -5
  330. package/src/public/avm/avm_gas.ts +26 -38
  331. package/src/public/avm/avm_machine_state.ts +12 -6
  332. package/src/public/avm/avm_memory_types.ts +24 -7
  333. package/src/public/avm/avm_simulator.ts +57 -62
  334. package/src/public/avm/avm_simulator_interface.ts +8 -0
  335. package/src/public/avm/calldata.ts +100 -0
  336. package/src/public/avm/errors.ts +20 -75
  337. package/src/public/avm/fixtures/avm_simulation_tester.ts +41 -24
  338. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +46 -13
  339. package/src/public/avm/fixtures/initializers.ts +103 -0
  340. package/src/public/avm/fixtures/utils.ts +151 -0
  341. package/src/public/avm/index.ts +0 -2
  342. package/src/public/avm/opcodes/accrued_substate.ts +74 -33
  343. package/src/public/avm/opcodes/addressing_mode.ts +56 -32
  344. package/src/public/avm/opcodes/arithmetic.ts +37 -3
  345. package/src/public/avm/opcodes/bitwise.ts +33 -29
  346. package/src/public/avm/opcodes/comparators.ts +6 -3
  347. package/src/public/avm/opcodes/contract.ts +10 -10
  348. package/src/public/avm/opcodes/control_flow.ts +19 -10
  349. package/src/public/avm/opcodes/conversion.ts +29 -5
  350. package/src/public/avm/opcodes/ec_add.ts +22 -10
  351. package/src/public/avm/opcodes/environment_getters.ts +28 -23
  352. package/src/public/avm/opcodes/external_calls.ts +70 -36
  353. package/src/public/avm/opcodes/hashing.ts +39 -13
  354. package/src/public/avm/opcodes/instruction.ts +31 -21
  355. package/src/public/avm/opcodes/instruction_impl.ts +2 -2
  356. package/src/public/avm/opcodes/memory.ts +81 -42
  357. package/src/public/avm/opcodes/misc.ts +61 -19
  358. package/src/public/avm/opcodes/storage.ts +47 -23
  359. package/src/public/avm/revert_reason.ts +58 -0
  360. package/src/public/avm/serialization/buffer_cursor.ts +4 -1
  361. package/src/public/avm/serialization/bytecode_serialization.ts +89 -80
  362. package/src/public/avm/serialization/instruction_serialization.ts +75 -34
  363. package/src/public/avm/test_utils.ts +25 -42
  364. package/src/public/contracts_db_checkpoint.ts +41 -0
  365. package/src/public/db_interfaces.ts +76 -0
  366. package/src/public/debug_fn_name.ts +52 -0
  367. package/src/public/executor_metrics.ts +47 -24
  368. package/src/public/executor_metrics_interface.ts +15 -0
  369. package/src/public/fixtures/amm_test.ts +331 -0
  370. package/src/public/fixtures/bulk_test.ts +169 -0
  371. package/src/public/fixtures/custom_bytecode_tester.ts +83 -0
  372. package/src/public/fixtures/custom_bytecode_tests.ts +228 -0
  373. package/src/public/fixtures/index.ts +13 -0
  374. package/src/public/fixtures/minimal_public_tx.ts +26 -0
  375. package/src/public/fixtures/opcode_spammer.ts +1754 -0
  376. package/src/public/fixtures/public_tx_simulation_tester.ts +223 -114
  377. package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +37 -20
  378. package/src/public/fixtures/token_test.ts +148 -0
  379. package/src/public/fixtures/utils.ts +141 -69
  380. package/src/public/fuzzing/avm_fuzzer_simulator.ts +288 -0
  381. package/src/public/fuzzing/avm_simulator_bin.ts +175 -0
  382. package/src/public/hinting_db_sources.ts +607 -0
  383. package/src/public/index.ts +11 -8
  384. package/src/public/public_db_sources.ts +279 -259
  385. package/src/public/public_errors.ts +14 -0
  386. package/src/public/public_processor/guarded_merkle_tree.ts +158 -0
  387. package/src/public/public_processor/public_processor.ts +243 -178
  388. package/src/public/public_processor/public_processor_metrics.ts +13 -47
  389. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +121 -0
  390. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +208 -0
  391. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +132 -0
  392. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +237 -0
  393. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +81 -0
  394. package/src/public/public_tx_simulator/factories.ts +41 -0
  395. package/src/public/public_tx_simulator/index.ts +7 -0
  396. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +105 -0
  397. package/src/public/public_tx_simulator/public_tx_context.ts +168 -195
  398. package/src/public/public_tx_simulator/public_tx_simulator.ts +310 -261
  399. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +33 -0
  400. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +63 -0
  401. package/src/public/side_effect_errors.ts +91 -1
  402. package/src/public/side_effect_trace.ts +95 -321
  403. package/src/public/side_effect_trace_interface.ts +11 -59
  404. package/src/public/state_manager/index.ts +1 -0
  405. package/src/public/{avm/journal → state_manager}/nullifiers.ts +6 -12
  406. package/src/public/{avm/journal → state_manager}/public_storage.ts +3 -3
  407. package/src/public/state_manager/state_manager.ts +546 -0
  408. package/src/public/test_executor_metrics.ts +397 -0
  409. package/src/public/utils.ts +5 -21
  410. package/src/server.ts +6 -3
  411. package/src/testing.ts +1 -0
  412. package/dest/common/db_interfaces.d.ts +0 -80
  413. package/dest/common/db_interfaces.d.ts.map +0 -1
  414. package/dest/common/db_interfaces.js +0 -1
  415. package/dest/common/debug_fn_name.d.ts +0 -5
  416. package/dest/common/debug_fn_name.d.ts.map +0 -1
  417. package/dest/common/debug_fn_name.js +0 -6
  418. package/dest/common/message_load_oracle_inputs.d.ts +0 -15
  419. package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
  420. package/dest/common/message_load_oracle_inputs.js +0 -15
  421. package/dest/private/acvm/oracle/index.d.ts +0 -14
  422. package/dest/private/acvm/oracle/index.d.ts.map +0 -1
  423. package/dest/private/acvm/oracle/index.js +0 -2
  424. package/dest/private/acvm/oracle/oracle.d.ts +0 -49
  425. package/dest/private/acvm/oracle/oracle.d.ts.map +0 -1
  426. package/dest/private/acvm/oracle/oracle.js +0 -263
  427. package/dest/private/acvm/oracle/typed_oracle.d.ts +0 -83
  428. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +0 -1
  429. package/dest/private/acvm/oracle/typed_oracle.js +0 -132
  430. package/dest/private/execution_data_provider.d.ts +0 -261
  431. package/dest/private/execution_data_provider.d.ts.map +0 -1
  432. package/dest/private/execution_data_provider.js +0 -14
  433. package/dest/private/execution_note_cache.d.ts +0 -93
  434. package/dest/private/execution_note_cache.d.ts.map +0 -1
  435. package/dest/private/execution_note_cache.js +0 -180
  436. package/dest/private/hashed_values_cache.d.ts +0 -28
  437. package/dest/private/hashed_values_cache.d.ts.map +0 -1
  438. package/dest/private/hashed_values_cache.js +0 -46
  439. package/dest/private/index.d.ts +0 -13
  440. package/dest/private/index.d.ts.map +0 -1
  441. package/dest/private/index.js +0 -12
  442. package/dest/private/pick_notes.d.ts +0 -85
  443. package/dest/private/pick_notes.d.ts.map +0 -1
  444. package/dest/private/pick_notes.js +0 -51
  445. package/dest/private/private_execution.d.ts +0 -25
  446. package/dest/private/private_execution.d.ts.map +0 -1
  447. package/dest/private/private_execution.js +0 -92
  448. package/dest/private/private_execution_oracle.d.ts +0 -215
  449. package/dest/private/private_execution_oracle.d.ts.map +0 -1
  450. package/dest/private/private_execution_oracle.js +0 -382
  451. package/dest/private/providers/acvm_native.d.ts +0 -40
  452. package/dest/private/providers/acvm_native.d.ts.map +0 -1
  453. package/dest/private/providers/acvm_wasm.d.ts +0 -15
  454. package/dest/private/providers/acvm_wasm.d.ts.map +0 -1
  455. package/dest/private/providers/acvm_wasm_with_blobs.d.ts +0 -19
  456. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  457. package/dest/private/providers/acvm_wasm_with_blobs.js +0 -32
  458. package/dest/private/providers/factory.d.ts +0 -12
  459. package/dest/private/providers/factory.d.ts.map +0 -1
  460. package/dest/private/providers/simulation_provider.d.ts +0 -19
  461. package/dest/private/providers/simulation_provider.d.ts.map +0 -1
  462. package/dest/private/providers/simulation_provider.js +0 -24
  463. package/dest/private/simulator.d.ts +0 -34
  464. package/dest/private/simulator.d.ts.map +0 -1
  465. package/dest/private/simulator.js +0 -76
  466. package/dest/private/unconstrained_execution.d.ts +0 -10
  467. package/dest/private/unconstrained_execution.d.ts.map +0 -1
  468. package/dest/private/unconstrained_execution.js +0 -27
  469. package/dest/private/unconstrained_execution_oracle.d.ts +0 -161
  470. package/dest/private/unconstrained_execution_oracle.d.ts.map +0 -1
  471. package/dest/private/unconstrained_execution_oracle.js +0 -258
  472. package/dest/public/avm/bytecode_utils.d.ts +0 -5
  473. package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
  474. package/dest/public/avm/bytecode_utils.js +0 -17
  475. package/dest/public/avm/fixtures/index.d.ts +0 -84
  476. package/dest/public/avm/fixtures/index.d.ts.map +0 -1
  477. package/dest/public/avm/fixtures/index.js +0 -175
  478. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts +0 -35
  479. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  480. package/dest/public/avm/journal/index.d.ts +0 -2
  481. package/dest/public/avm/journal/index.d.ts.map +0 -1
  482. package/dest/public/avm/journal/index.js +0 -1
  483. package/dest/public/avm/journal/journal.d.ts +0 -209
  484. package/dest/public/avm/journal/journal.d.ts.map +0 -1
  485. package/dest/public/avm/journal/journal.js +0 -486
  486. package/dest/public/avm/journal/nullifiers.d.ts.map +0 -1
  487. package/dest/public/avm/journal/public_storage.d.ts.map +0 -1
  488. package/dest/public/bytecode_errors.d.ts +0 -4
  489. package/dest/public/bytecode_errors.d.ts.map +0 -1
  490. package/dest/public/bytecode_errors.js +0 -6
  491. package/dest/public/execution.d.ts +0 -108
  492. package/dest/public/execution.d.ts.map +0 -1
  493. package/dest/public/execution.js +0 -9
  494. package/dest/public/tx_contract_cache.d.ts +0 -41
  495. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  496. package/dest/public/tx_contract_cache.js +0 -49
  497. package/dest/test/utils.d.ts +0 -13
  498. package/dest/test/utils.d.ts.map +0 -1
  499. package/dest/test/utils.js +0 -22
  500. package/src/common/db_interfaces.ts +0 -94
  501. package/src/common/debug_fn_name.ts +0 -18
  502. package/src/common/message_load_oracle_inputs.ts +0 -15
  503. package/src/private/acvm/oracle/index.ts +0 -16
  504. package/src/private/acvm/oracle/oracle.ts +0 -455
  505. package/src/private/acvm/oracle/typed_oracle.ts +0 -259
  506. package/src/private/execution_data_provider.ts +0 -323
  507. package/src/private/execution_note_cache.ts +0 -217
  508. package/src/private/hashed_values_cache.ts +0 -55
  509. package/src/private/index.ts +0 -16
  510. package/src/private/pick_notes.ts +0 -141
  511. package/src/private/private_execution.ts +0 -151
  512. package/src/private/private_execution_oracle.ts +0 -614
  513. package/src/private/providers/acvm_wasm.ts +0 -63
  514. package/src/private/providers/acvm_wasm_with_blobs.ts +0 -50
  515. package/src/private/providers/simulation_provider.ts +0 -45
  516. package/src/private/simulator.ts +0 -147
  517. package/src/private/unconstrained_execution.ts +0 -50
  518. package/src/private/unconstrained_execution_oracle.ts +0 -373
  519. package/src/public/avm/bytecode_utils.ts +0 -17
  520. package/src/public/avm/fixtures/index.ts +0 -296
  521. package/src/public/avm/journal/index.ts +0 -1
  522. package/src/public/avm/journal/journal.ts +0 -742
  523. package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
  524. package/src/public/bytecode_errors.ts +0 -6
  525. package/src/public/execution.ts +0 -140
  526. package/src/public/tx_contract_cache.ts +0 -69
  527. package/src/test/utils.ts +0 -36
@@ -36,25 +36,9 @@ export declare const EmptyGas: Gas;
36
36
  export declare const GAS_DIMENSIONS: readonly ["l2Gas", "daGas"];
37
37
  /** Returns the fixed base gas cost for a given opcode. */
38
38
  export declare function getBaseGasCost(opcode: Opcode): Gas;
39
+ export declare function computeAddressingCost(indirectOperandsCount: number, relativeOperandsCount: number): Gas;
39
40
  export declare function getDynamicGasCost(opcode: Opcode): Gas;
40
- /** Returns the gas cost associated with the memory operations performed. */
41
- export declare function getMemoryGasCost(args: {
42
- reads?: number;
43
- writes?: number;
44
- indirect?: number;
45
- }): {
46
- l2Gas: number;
47
- daGas: number;
48
- };
49
- /** Constants used in base cost calculations. */
50
- export declare const GAS_COST_CONSTANTS: {
51
- MEMORY_READ: number;
52
- MEMORY_INDIRECT_READ_PENALTY: number;
53
- MEMORY_WRITE: number;
54
- };
55
- /** Returns gas cost for an operation on a given type tag based on the base cost per byte. */
56
- export declare function getGasCostForTypeTag(tag: TypeTag, baseCost: Gas): {
57
- l2Gas: number;
58
- daGas: number;
59
- };
60
- //# sourceMappingURL=avm_gas.d.ts.map
41
+ /** Returns a multiplier based on the byte size of the type represented by the integer tag.
42
+ * Used to account for necessary rows in the bitwise trace. Throws on invalid. */
43
+ export declare function getBitwiseDynamicGasMultiplier(tag: TypeTag): 0 | 1 | 2 | 4 | 8 | 16;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2dhcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vYXZtX2dhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRFLHNDQUFzQztBQUN0QyxNQUFNLE1BQU0sR0FBRyxHQUFHO0lBQ2hCLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2YsQ0FBQztBQUVGLCtDQUErQztBQUMvQyx3QkFBZ0IsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHOzs7RUFFcEM7QUFFRCwrQ0FBK0M7QUFDL0Msd0JBQWdCLFlBQVksQ0FBQyxPQUFPLEVBQUU7SUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtDQUFFOzs7RUFFN0U7QUFFRCw4RUFBOEU7QUFDOUUsd0JBQWdCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQzs7O0VBRTVDO0FBRUQsK0NBQStDO0FBQy9DLHdCQUFnQixNQUFNLENBQUMsR0FBRyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQVFwRDtBQUVELDZDQUE2QztBQUM3Qyx3QkFBZ0IsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU07OztFQUV2RDtBQUVELDBDQUEwQztBQUMxQyxlQUFPLE1BQU0sUUFBUSxFQUFFLEdBR3RCLENBQUM7QUFNRiwrQ0FBK0M7QUFDL0MsZUFBTyxNQUFNLGNBQWMsNkJBQThCLENBQUM7QUF5RjFELDBEQUEwRDtBQUMxRCx3QkFBZ0IsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUVsRDtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FPdkc7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxHQUFHLENBRXJEO0FBRUQ7aUZBQ2lGO0FBQ2pGLHdCQUFnQiw4QkFBOEIsQ0FBQyxHQUFHLEVBQUUsT0FBTywwQkFtQjFEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"avm_gas.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_gas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAEtE,sCAAsC;AACtC,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG;;;EAEpC;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAE7E;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;;;EAE5C;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAQ9C;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;;;EAEvD;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,GAGtB,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,cAAc,6BAA8B,CAAC;AAuF1D,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAElD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAErD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAQ5F;AAED,gDAAgD;AAChD,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;;;EAE/D"}
1
+ {"version":3,"file":"avm_gas.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_gas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAEtE,sCAAsC;AACtC,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG;;;EAEpC;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAE7E;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;;;EAE5C;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAQpD;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;;;EAEvD;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,GAGtB,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,cAAc,6BAA8B,CAAC;AAyF1D,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAElD;AAED,wBAAgB,qBAAqB,CAAC,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,GAAG,CAOvG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAErD;AAED;iFACiF;AACjF,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,0BAmB1D"}
@@ -1,7 +1,6 @@
1
1
  import * as c from '@aztec/constants';
2
2
  import { TypeTag } from './avm_memory_types.js';
3
3
  import { InstructionExecutionError } from './errors.js';
4
- import { Addressing, AddressingMode } from './opcodes/addressing_mode.js';
5
4
  import { Opcode } from './serialization/instruction_serialization.js';
6
5
  /** Maps a Gas struct to gasLeft properties. */ export function gasToGasLeft(gas) {
7
6
  return {
@@ -96,13 +95,13 @@ function makeCost(l2Gas, daGas) {
96
95
  [Opcode.MOV_8]: makeCost(c.AVM_MOV_BASE_L2_GAS, 0),
97
96
  [Opcode.MOV_16]: makeCost(c.AVM_MOV_BASE_L2_GAS, 0),
98
97
  [Opcode.SLOAD]: makeCost(c.AVM_SLOAD_BASE_L2_GAS, 0),
99
- [Opcode.SSTORE]: makeCost(c.AVM_SSTORE_BASE_L2_GAS, c.AVM_SSTORE_BASE_DA_GAS),
98
+ [Opcode.SSTORE]: makeCost(c.AVM_SSTORE_BASE_L2_GAS, 0),
100
99
  [Opcode.NOTEHASHEXISTS]: makeCost(c.AVM_NOTEHASHEXISTS_BASE_L2_GAS, 0),
101
100
  [Opcode.EMITNOTEHASH]: makeCost(c.AVM_EMITNOTEHASH_BASE_L2_GAS, c.AVM_EMITNOTEHASH_BASE_DA_GAS),
102
101
  [Opcode.NULLIFIEREXISTS]: makeCost(c.AVM_NULLIFIEREXISTS_BASE_L2_GAS, 0),
103
102
  [Opcode.EMITNULLIFIER]: makeCost(c.AVM_EMITNULLIFIER_BASE_L2_GAS, c.AVM_EMITNULLIFIER_BASE_DA_GAS),
104
103
  [Opcode.L1TOL2MSGEXISTS]: makeCost(c.AVM_L1TOL2MSGEXISTS_BASE_L2_GAS, 0),
105
- [Opcode.EMITUNENCRYPTEDLOG]: makeCost(c.AVM_EMITUNENCRYPTEDLOG_BASE_L2_GAS, 0),
104
+ [Opcode.EMITUNENCRYPTEDLOG]: makeCost(c.AVM_EMITUNENCRYPTEDLOG_BASE_L2_GAS, c.AVM_EMITUNENCRYPTEDLOG_BASE_DA_GAS),
106
105
  [Opcode.SENDL2TOL1MSG]: makeCost(c.AVM_SENDL2TOL1MSG_BASE_L2_GAS, c.AVM_SENDL2TOL1MSG_BASE_DA_GAS),
107
106
  [Opcode.GETCONTRACTINSTANCE]: makeCost(c.AVM_GETCONTRACTINSTANCE_BASE_L2_GAS, 0),
108
107
  [Opcode.CALL]: makeCost(c.AVM_CALL_BASE_L2_GAS, 0),
@@ -126,62 +125,55 @@ const DYNAMIC_GAS_COSTS = new Map([
126
125
  Opcode.RETURNDATACOPY,
127
126
  makeCost(c.AVM_RETURNDATACOPY_DYN_L2_GAS, 0)
128
127
  ],
128
+ // TODO: Call and static call based on bytecode length
129
129
  [
130
130
  Opcode.EMITUNENCRYPTEDLOG,
131
131
  makeCost(c.AVM_EMITUNENCRYPTEDLOG_DYN_L2_GAS, c.AVM_EMITUNENCRYPTEDLOG_DYN_DA_GAS)
132
132
  ],
133
133
  [
134
- Opcode.CALL,
135
- makeCost(c.AVM_CALL_DYN_L2_GAS, 0)
134
+ Opcode.TORADIXBE,
135
+ makeCost(c.AVM_TORADIXBE_DYN_L2_GAS, 0)
136
136
  ],
137
137
  [
138
- Opcode.STATICCALL,
139
- makeCost(c.AVM_STATICCALL_DYN_L2_GAS, 0)
138
+ Opcode.AND_8,
139
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
140
140
  ],
141
141
  [
142
- Opcode.RETURN,
143
- makeCost(c.AVM_RETURN_DYN_L2_GAS, 0)
142
+ Opcode.AND_16,
143
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
144
144
  ],
145
145
  [
146
- Opcode.REVERT_8,
147
- makeCost(c.AVM_REVERT_DYN_L2_GAS, 0)
146
+ Opcode.OR_8,
147
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
148
148
  ],
149
149
  [
150
- Opcode.REVERT_16,
151
- makeCost(c.AVM_REVERT_DYN_L2_GAS, 0)
150
+ Opcode.OR_16,
151
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
152
152
  ],
153
153
  [
154
- Opcode.DEBUGLOG,
155
- makeCost(c.AVM_DEBUGLOG_DYN_L2_GAS, 0)
154
+ Opcode.XOR_8,
155
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
156
156
  ],
157
157
  [
158
- Opcode.TORADIXBE,
159
- makeCost(c.AVM_TORADIXBE_DYN_L2_GAS, 0)
158
+ Opcode.XOR_16,
159
+ makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
160
+ ],
161
+ [
162
+ Opcode.SSTORE,
163
+ makeCost(0, c.AVM_SSTORE_DYN_DA_GAS)
160
164
  ]
161
165
  ]);
162
166
  /** Returns the fixed base gas cost for a given opcode. */ export function getBaseGasCost(opcode) {
163
167
  return BASE_GAS_COSTS[opcode];
164
168
  }
169
+ export function computeAddressingCost(indirectOperandsCount, relativeOperandsCount) {
170
+ return makeCost((relativeOperandsCount !== 0 ? c.AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS : 0) + indirectOperandsCount * c.AVM_ADDRESSING_INDIRECT_L2_GAS + relativeOperandsCount * c.AVM_ADDRESSING_RELATIVE_L2_GAS, 0);
171
+ }
165
172
  export function getDynamicGasCost(opcode) {
166
173
  return DYNAMIC_GAS_COSTS.has(opcode) ? DYNAMIC_GAS_COSTS.get(opcode) : makeCost(0, 0);
167
174
  }
168
- /** Returns the gas cost associated with the memory operations performed. */ export function getMemoryGasCost(args) {
169
- const { reads, writes, indirect } = args;
170
- const indirectCount = Addressing.fromWire(indirect ?? 0).count(AddressingMode.INDIRECT);
171
- const l2MemoryGasCost = (reads ?? 0) * GAS_COST_CONSTANTS.MEMORY_READ + (writes ?? 0) * GAS_COST_CONSTANTS.MEMORY_WRITE + indirectCount * GAS_COST_CONSTANTS.MEMORY_INDIRECT_READ_PENALTY;
172
- return makeGas({
173
- l2Gas: l2MemoryGasCost
174
- });
175
- }
176
- /** Constants used in base cost calculations. */ export const GAS_COST_CONSTANTS = {
177
- MEMORY_READ: 10,
178
- MEMORY_INDIRECT_READ_PENALTY: 10,
179
- MEMORY_WRITE: 100
180
- };
181
- /** Returns gas cost for an operation on a given type tag based on the base cost per byte. */ export function getGasCostForTypeTag(tag, baseCost) {
182
- return mulGas(baseCost, getGasCostMultiplierFromTypeTag(tag));
183
- }
184
- /** Returns a multiplier based on the size of the type represented by the tag. Throws on uninitialized or invalid. */ function getGasCostMultiplierFromTypeTag(tag) {
175
+ /** Returns a multiplier based on the byte size of the type represented by the integer tag.
176
+ * Used to account for necessary rows in the bitwise trace. Throws on invalid. */ export function getBitwiseDynamicGasMultiplier(tag) {
185
177
  switch(tag){
186
178
  case TypeTag.UINT1:
187
179
  return 1;
@@ -196,7 +188,7 @@ export function getDynamicGasCost(opcode) {
196
188
  case TypeTag.UINT128:
197
189
  return 16;
198
190
  case TypeTag.FIELD:
199
- return 32;
191
+ return 0; // Field is not allowed for bitwise operations. However we don't fail in gas, since we'll fail in bitwise.
200
192
  case TypeTag.INVALID:
201
193
  throw new InstructionExecutionError(`Invalid tag type for gas cost multiplier: ${TypeTag[tag]}`);
202
194
  }
@@ -1,6 +1,7 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { Gas } from './avm_gas.js';
3
3
  import { TaggedMemory } from './avm_memory_types.js';
4
+ import { type ReturnData } from './calldata.js';
4
5
  import { type AvmRevertReason } from './errors.js';
5
6
  /**
6
7
  * A few fields of machine state are initialized from AVM session inputs or call instruction arguments
@@ -34,7 +35,7 @@ export declare class AvmMachineState {
34
35
  /** program counter of the next instruction, byte based */
35
36
  nextPc: number;
36
37
  /** return/revertdata of the last nested call. */
37
- nestedReturndata: Fr[];
38
+ nestedReturndata: ReturnData;
38
39
  /** Tracks whether the last external call was successful */
39
40
  nestedCallSuccess: boolean;
40
41
  /**
@@ -59,6 +60,8 @@ export declare class AvmMachineState {
59
60
  private reverted;
60
61
  /** Output data must NOT be modified once it is set */
61
62
  private output;
63
+ /** instruction counter, including nested calls */
64
+ instrCounter: number;
62
65
  constructor(gasLeft: Gas);
63
66
  constructor(l2GasLeft: number, daGasLeft: number);
64
67
  get gasLeft(): Gas;
@@ -76,20 +79,20 @@ export declare class AvmMachineState {
76
79
  * Output data must NOT be modified once it is set
77
80
  * @param output
78
81
  */
79
- return(output: Fr[]): void;
82
+ return(output: ReturnData): void;
80
83
  /**
81
84
  * Halt as reverted
82
85
  * Output data must NOT be modified once it is set
83
86
  * @param output
84
87
  */
85
- revert(output: Fr[]): void;
88
+ revert(output: ReturnData): void;
86
89
  getHalted(): boolean;
87
90
  getReverted(): boolean;
88
- getOutput(): Fr[];
91
+ getOutput(): ReturnData;
89
92
  /**
90
93
  * Flag an exceptional halt. Clears gas left and sets the reverted flag. No output data.
91
94
  */
92
95
  private exceptionalHalt;
93
96
  }
94
97
  export {};
95
- //# sourceMappingURL=avm_machine_state.d.ts.map
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX21hY2hpbmVfc3RhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL2F2bV9tYWNoaW5lX3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQWlCLE1BQU0sYUFBYSxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILEtBQUssaUJBQWlCLEdBQUc7SUFDdkIsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDL0IscUJBQXFCLEVBQUUsZUFBZSxDQUFDO0NBQ3hDLENBQUM7QUFFRixLQUFLLGNBQWMsR0FBRztJQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQztDQUNsQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxxQkFBYSxlQUFlO0lBQzFCLDZEQUE2RDtJQUN0RCxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDekIsa0NBQWtDO0lBQzNCLEVBQUUsRUFBRSxNQUFNLENBQUs7SUFDdEIsMERBQTBEO0lBQ25ELE1BQU0sRUFBRSxNQUFNLENBQUs7SUFDMUIsaURBQWlEO0lBQzFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBMkI7SUFDOUQsMkRBQTJEO0lBQ3BELGlCQUFpQixFQUFFLE9BQU8sQ0FBUztJQUMxQzs7OztPQUlHO0lBQ0ksbUJBQW1CLEVBQUUsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0lBRTFEOzs7T0FHRztJQUNJLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxDQUFNO0lBRWhELHFDQUFxQztJQUNyQyxTQUFnQixNQUFNLEVBQUUsWUFBWSxDQUFzQjtJQUUxRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsTUFBTSxDQUFrQjtJQUNoQywyRkFBMkY7SUFDM0YsT0FBTyxDQUFDLFFBQVEsQ0FBa0I7SUFDbEMsc0RBQXNEO0lBQ3RELE9BQU8sQ0FBQyxNQUFNLENBQXVDO0lBR3JELGtEQUFrRDtJQUMzQyxZQUFZLEVBQUUsTUFBTSxDQUFLO0lBR2hDLFlBQVksT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUMxQixZQUFZLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtJQVVsRCxJQUFXLE9BQU8sSUFBSSxHQUFHLENBRXhCO0lBRUQsT0FBYyxTQUFTLENBQUMsS0FBSyxFQUFFLHNCQUFzQixHQUFHLGVBQWUsQ0FFdEU7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBbUJ0QztJQUVELHVEQUF1RDtJQUNoRCxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFHdkM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLFFBRy9CO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxRQUkvQjtJQUVNLFNBQVMsSUFBSSxPQUFPLENBRTFCO0lBRU0sV0FBVyxJQUFJLE9BQU8sQ0FFNUI7SUFFTSxTQUFTLElBQUksVUFBVSxDQUU3QjtJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGVBQWU7Q0FNeEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"avm_machine_state.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_machine_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACvB,wBAAwB,EAAE,EAAE,EAAE,CAAC;IAC/B,qBAAqB,EAAE,eAAe,CAAC;CACxC,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,6DAA6D;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAC3B,EAAE,EAAE,MAAM,CAAK;IACtB,0DAA0D;IACnD,MAAM,EAAE,MAAM,CAAK;IAC1B,iDAAiD;IAC1C,gBAAgB,EAAE,EAAE,EAAE,CAAM;IACnC,2DAA2D;IACpD,iBAAiB,EAAE,OAAO,CAAS;IAC1C;;;;OAIG;IACI,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACI,iBAAiB,EAAE,cAAc,EAAE,CAAM;IAEhD,qCAAqC;IACrC,SAAgB,MAAM,EAAE,YAAY,CAAsB;IAE1D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAkB;IAChC,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAkB;IAClC,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAUhD,IAAW,OAAO,IAAI,GAAG,CAExB;WAEa,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe;IAIvE;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAqBvC,uDAAuD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IAKxC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE;IAK1B;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE;IAMnB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,EAAE,EAAE;IAIxB;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
1
+ {"version":3,"file":"avm_machine_state.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_machine_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACvB,wBAAwB,EAAE,EAAE,EAAE,CAAC;IAC/B,qBAAqB,EAAE,eAAe,CAAC;CACxC,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,6DAA6D;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAC3B,EAAE,EAAE,MAAM,CAAK;IACtB,0DAA0D;IACnD,MAAM,EAAE,MAAM,CAAK;IAC1B,iDAAiD;IAC1C,gBAAgB,EAAE,UAAU,CAA2B;IAC9D,2DAA2D;IACpD,iBAAiB,EAAE,OAAO,CAAS;IAC1C;;;;OAIG;IACI,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACI,iBAAiB,EAAE,cAAc,EAAE,CAAM;IAEhD,qCAAqC;IACrC,SAAgB,MAAM,EAAE,YAAY,CAAsB;IAE1D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAkB;IAChC,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAkB;IAClC,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAuC;IAGrD,kDAAkD;IAC3C,YAAY,EAAE,MAAM,CAAK;IAGhC,YAAY,OAAO,EAAE,GAAG,EAAE;IAC1B,YAAY,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAUlD,IAAW,OAAO,IAAI,GAAG,CAExB;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,CAEtE;IAED;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAmBtC;IAED,uDAAuD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAGvC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,QAG/B;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,QAI/B;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,WAAW,IAAI,OAAO,CAE5B;IAEM,SAAS,IAAI,UAAU,CAE7B;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
@@ -1,4 +1,5 @@
1
1
  import { TaggedMemory } from './avm_memory_types.js';
2
+ import { ReturnDataArray } from './calldata.js';
2
3
  import { OutOfGasError } from './errors.js';
3
4
  /**
4
5
  * Avm state modified on an instruction-per-instruction basis.
@@ -7,7 +8,7 @@ import { OutOfGasError } from './errors.js';
7
8
  daGasLeft;
8
9
  /** program counter, byte based */ pc = 0;
9
10
  /** program counter of the next instruction, byte based */ nextPc = 0;
10
- /** return/revertdata of the last nested call. */ nestedReturndata = [];
11
+ /** return/revertdata of the last nested call. */ nestedReturndata = new ReturnDataArray([]);
11
12
  /** Tracks whether the last external call was successful */ nestedCallSuccess = false;
12
13
  /**
13
14
  * Used to track the call stack and revert data of nested calls.
@@ -24,7 +25,9 @@ import { OutOfGasError } from './errors.js';
24
25
  * AvmContext execution continues executing instructions until the machine state signals "halted"
25
26
  */ halted = false;
26
27
  /** Signals that execution has reverted normally (this does not cover exceptional halts) */ reverted = false;
27
- /** Output data must NOT be modified once it is set */ output = [];
28
+ /** Output data must NOT be modified once it is set */ output = new ReturnDataArray([]);
29
+ // Metrics only - not needed for execution
30
+ /** instruction counter, including nested calls */ instrCounter = 0;
28
31
  constructor(gasLeftOrL2GasLeft, daGasLeft){
29
32
  if (typeof gasLeftOrL2GasLeft === 'object') {
30
33
  ({ l2Gas: this.l2GasLeft, daGas: this.daGasLeft } = gasLeftOrL2GasLeft);
@@ -1,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
2
  import { type Logger } from '@aztec/foundation/log';
5
3
  import type { FunctionsOf } from '@aztec/foundation/types';
6
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -14,6 +12,7 @@ export declare abstract class MemoryValue {
14
12
  abstract lt(rhs: MemoryValue): boolean;
15
13
  abstract build(n: bigint): MemoryValue;
16
14
  abstract toBigInt(): bigint;
15
+ getTag(): TypeTag;
17
16
  abstract toBuffer(): Buffer;
18
17
  toFr(): Fr;
19
18
  toAztecAddress(): AztecAddress;
@@ -32,26 +31,28 @@ export declare abstract class IntegralValue extends MemoryValue {
32
31
  declare const Uint1_base: {
33
32
  new (n: number | bigint): {
34
33
  readonly n: bigint;
35
- build(n: bigint): any;
36
- add(rhs: any): any;
37
- sub(rhs: any): any;
38
- mul(rhs: any): any;
39
- div(rhs: any): any;
40
- shr(rhs: any): any;
41
- shl(rhs: any): any;
42
- and(rhs: any): any;
43
- or(rhs: any): any;
44
- xor(rhs: any): any;
45
- not(): any;
46
- equals(rhs: any): boolean;
47
- lt(rhs: any): boolean;
34
+ build(n: bigint): /*elided*/ any;
35
+ add(rhs: /*elided*/ any): /*elided*/ any;
36
+ sub(rhs: /*elided*/ any): /*elided*/ any;
37
+ mul(rhs: /*elided*/ any): /*elided*/ any;
38
+ div(rhs: /*elided*/ any): /*elided*/ any;
39
+ shr(rhs: /*elided*/ any): /*elided*/ any;
40
+ shl(rhs: /*elided*/ any): /*elided*/ any;
41
+ and(rhs: /*elided*/ any): /*elided*/ any;
42
+ or(rhs: /*elided*/ any): /*elided*/ any;
43
+ xor(rhs: /*elided*/ any): /*elided*/ any;
44
+ not(): /*elided*/ any;
45
+ equals(rhs: /*elided*/ any): boolean;
46
+ lt(rhs: /*elided*/ any): boolean;
48
47
  toBigInt(): bigint;
49
- toBuffer(): Buffer;
48
+ toBuffer(): Buffer<ArrayBufferLike>;
49
+ getTag(): TypeTag;
50
50
  toFr(): Fr;
51
51
  toAztecAddress(): AztecAddress;
52
52
  toNumber(): number;
53
53
  toString(): string;
54
54
  };
55
+ readonly bits: number;
55
56
  readonly mod: bigint;
56
57
  readonly bitmask: bigint;
57
58
  };
@@ -60,26 +61,28 @@ export declare class Uint1 extends Uint1_base {
60
61
  declare const Uint8_base: {
61
62
  new (n: number | bigint): {
62
63
  readonly n: bigint;
63
- build(n: bigint): any;
64
- add(rhs: any): any;
65
- sub(rhs: any): any;
66
- mul(rhs: any): any;
67
- div(rhs: any): any;
68
- shr(rhs: any): any;
69
- shl(rhs: any): any;
70
- and(rhs: any): any;
71
- or(rhs: any): any;
72
- xor(rhs: any): any;
73
- not(): any;
74
- equals(rhs: any): boolean;
75
- lt(rhs: any): boolean;
64
+ build(n: bigint): /*elided*/ any;
65
+ add(rhs: /*elided*/ any): /*elided*/ any;
66
+ sub(rhs: /*elided*/ any): /*elided*/ any;
67
+ mul(rhs: /*elided*/ any): /*elided*/ any;
68
+ div(rhs: /*elided*/ any): /*elided*/ any;
69
+ shr(rhs: /*elided*/ any): /*elided*/ any;
70
+ shl(rhs: /*elided*/ any): /*elided*/ any;
71
+ and(rhs: /*elided*/ any): /*elided*/ any;
72
+ or(rhs: /*elided*/ any): /*elided*/ any;
73
+ xor(rhs: /*elided*/ any): /*elided*/ any;
74
+ not(): /*elided*/ any;
75
+ equals(rhs: /*elided*/ any): boolean;
76
+ lt(rhs: /*elided*/ any): boolean;
76
77
  toBigInt(): bigint;
77
- toBuffer(): Buffer;
78
+ toBuffer(): Buffer<ArrayBufferLike>;
79
+ getTag(): TypeTag;
78
80
  toFr(): Fr;
79
81
  toAztecAddress(): AztecAddress;
80
82
  toNumber(): number;
81
83
  toString(): string;
82
84
  };
85
+ readonly bits: number;
83
86
  readonly mod: bigint;
84
87
  readonly bitmask: bigint;
85
88
  };
@@ -88,26 +91,28 @@ export declare class Uint8 extends Uint8_base {
88
91
  declare const Uint16_base: {
89
92
  new (n: number | bigint): {
90
93
  readonly n: bigint;
91
- build(n: bigint): any;
92
- add(rhs: any): any;
93
- sub(rhs: any): any;
94
- mul(rhs: any): any;
95
- div(rhs: any): any;
96
- shr(rhs: any): any;
97
- shl(rhs: any): any;
98
- and(rhs: any): any;
99
- or(rhs: any): any;
100
- xor(rhs: any): any;
101
- not(): any;
102
- equals(rhs: any): boolean;
103
- lt(rhs: any): boolean;
94
+ build(n: bigint): /*elided*/ any;
95
+ add(rhs: /*elided*/ any): /*elided*/ any;
96
+ sub(rhs: /*elided*/ any): /*elided*/ any;
97
+ mul(rhs: /*elided*/ any): /*elided*/ any;
98
+ div(rhs: /*elided*/ any): /*elided*/ any;
99
+ shr(rhs: /*elided*/ any): /*elided*/ any;
100
+ shl(rhs: /*elided*/ any): /*elided*/ any;
101
+ and(rhs: /*elided*/ any): /*elided*/ any;
102
+ or(rhs: /*elided*/ any): /*elided*/ any;
103
+ xor(rhs: /*elided*/ any): /*elided*/ any;
104
+ not(): /*elided*/ any;
105
+ equals(rhs: /*elided*/ any): boolean;
106
+ lt(rhs: /*elided*/ any): boolean;
104
107
  toBigInt(): bigint;
105
- toBuffer(): Buffer;
108
+ toBuffer(): Buffer<ArrayBufferLike>;
109
+ getTag(): TypeTag;
106
110
  toFr(): Fr;
107
111
  toAztecAddress(): AztecAddress;
108
112
  toNumber(): number;
109
113
  toString(): string;
110
114
  };
115
+ readonly bits: number;
111
116
  readonly mod: bigint;
112
117
  readonly bitmask: bigint;
113
118
  };
@@ -116,26 +121,28 @@ export declare class Uint16 extends Uint16_base {
116
121
  declare const Uint32_base: {
117
122
  new (n: number | bigint): {
118
123
  readonly n: bigint;
119
- build(n: bigint): any;
120
- add(rhs: any): any;
121
- sub(rhs: any): any;
122
- mul(rhs: any): any;
123
- div(rhs: any): any;
124
- shr(rhs: any): any;
125
- shl(rhs: any): any;
126
- and(rhs: any): any;
127
- or(rhs: any): any;
128
- xor(rhs: any): any;
129
- not(): any;
130
- equals(rhs: any): boolean;
131
- lt(rhs: any): boolean;
124
+ build(n: bigint): /*elided*/ any;
125
+ add(rhs: /*elided*/ any): /*elided*/ any;
126
+ sub(rhs: /*elided*/ any): /*elided*/ any;
127
+ mul(rhs: /*elided*/ any): /*elided*/ any;
128
+ div(rhs: /*elided*/ any): /*elided*/ any;
129
+ shr(rhs: /*elided*/ any): /*elided*/ any;
130
+ shl(rhs: /*elided*/ any): /*elided*/ any;
131
+ and(rhs: /*elided*/ any): /*elided*/ any;
132
+ or(rhs: /*elided*/ any): /*elided*/ any;
133
+ xor(rhs: /*elided*/ any): /*elided*/ any;
134
+ not(): /*elided*/ any;
135
+ equals(rhs: /*elided*/ any): boolean;
136
+ lt(rhs: /*elided*/ any): boolean;
132
137
  toBigInt(): bigint;
133
- toBuffer(): Buffer;
138
+ toBuffer(): Buffer<ArrayBufferLike>;
139
+ getTag(): TypeTag;
134
140
  toFr(): Fr;
135
141
  toAztecAddress(): AztecAddress;
136
142
  toNumber(): number;
137
143
  toString(): string;
138
144
  };
145
+ readonly bits: number;
139
146
  readonly mod: bigint;
140
147
  readonly bitmask: bigint;
141
148
  };
@@ -144,26 +151,28 @@ export declare class Uint32 extends Uint32_base {
144
151
  declare const Uint64_base: {
145
152
  new (n: number | bigint): {
146
153
  readonly n: bigint;
147
- build(n: bigint): any;
148
- add(rhs: any): any;
149
- sub(rhs: any): any;
150
- mul(rhs: any): any;
151
- div(rhs: any): any;
152
- shr(rhs: any): any;
153
- shl(rhs: any): any;
154
- and(rhs: any): any;
155
- or(rhs: any): any;
156
- xor(rhs: any): any;
157
- not(): any;
158
- equals(rhs: any): boolean;
159
- lt(rhs: any): boolean;
154
+ build(n: bigint): /*elided*/ any;
155
+ add(rhs: /*elided*/ any): /*elided*/ any;
156
+ sub(rhs: /*elided*/ any): /*elided*/ any;
157
+ mul(rhs: /*elided*/ any): /*elided*/ any;
158
+ div(rhs: /*elided*/ any): /*elided*/ any;
159
+ shr(rhs: /*elided*/ any): /*elided*/ any;
160
+ shl(rhs: /*elided*/ any): /*elided*/ any;
161
+ and(rhs: /*elided*/ any): /*elided*/ any;
162
+ or(rhs: /*elided*/ any): /*elided*/ any;
163
+ xor(rhs: /*elided*/ any): /*elided*/ any;
164
+ not(): /*elided*/ any;
165
+ equals(rhs: /*elided*/ any): boolean;
166
+ lt(rhs: /*elided*/ any): boolean;
160
167
  toBigInt(): bigint;
161
- toBuffer(): Buffer;
168
+ toBuffer(): Buffer<ArrayBufferLike>;
169
+ getTag(): TypeTag;
162
170
  toFr(): Fr;
163
171
  toAztecAddress(): AztecAddress;
164
172
  toNumber(): number;
165
173
  toString(): string;
166
174
  };
175
+ readonly bits: number;
167
176
  readonly mod: bigint;
168
177
  readonly bitmask: bigint;
169
178
  };
@@ -172,26 +181,28 @@ export declare class Uint64 extends Uint64_base {
172
181
  declare const Uint128_base: {
173
182
  new (n: number | bigint): {
174
183
  readonly n: bigint;
175
- build(n: bigint): any;
176
- add(rhs: any): any;
177
- sub(rhs: any): any;
178
- mul(rhs: any): any;
179
- div(rhs: any): any;
180
- shr(rhs: any): any;
181
- shl(rhs: any): any;
182
- and(rhs: any): any;
183
- or(rhs: any): any;
184
- xor(rhs: any): any;
185
- not(): any;
186
- equals(rhs: any): boolean;
187
- lt(rhs: any): boolean;
184
+ build(n: bigint): /*elided*/ any;
185
+ add(rhs: /*elided*/ any): /*elided*/ any;
186
+ sub(rhs: /*elided*/ any): /*elided*/ any;
187
+ mul(rhs: /*elided*/ any): /*elided*/ any;
188
+ div(rhs: /*elided*/ any): /*elided*/ any;
189
+ shr(rhs: /*elided*/ any): /*elided*/ any;
190
+ shl(rhs: /*elided*/ any): /*elided*/ any;
191
+ and(rhs: /*elided*/ any): /*elided*/ any;
192
+ or(rhs: /*elided*/ any): /*elided*/ any;
193
+ xor(rhs: /*elided*/ any): /*elided*/ any;
194
+ not(): /*elided*/ any;
195
+ equals(rhs: /*elided*/ any): boolean;
196
+ lt(rhs: /*elided*/ any): boolean;
188
197
  toBigInt(): bigint;
189
- toBuffer(): Buffer;
198
+ toBuffer(): Buffer<ArrayBufferLike>;
199
+ getTag(): TypeTag;
190
200
  toFr(): Fr;
191
201
  toAztecAddress(): AztecAddress;
192
202
  toNumber(): number;
193
203
  toString(): string;
194
204
  };
205
+ readonly bits: number;
195
206
  readonly mod: bigint;
196
207
  readonly bitmask: bigint;
197
208
  };
@@ -242,7 +253,7 @@ export declare class TaggedMemory implements TaggedMemoryInterface {
242
253
  * Check that the memory at the given offset matches the specified tag.
243
254
  */
244
255
  checkTag(tag: TypeTag, offset: number): void;
245
- checkIsValidMemoryOffsetTag(offset: number): void;
256
+ static isValidMemoryAddressTag(tag: TypeTag): tag is TypeTag.UINT32;
246
257
  static checkIsIntegralTag(tag: TypeTag): void;
247
258
  static checkIsValidTag(tagNumber: number): void;
248
259
  /**
@@ -261,4 +272,4 @@ export declare class TaggedMemory implements TaggedMemoryInterface {
261
272
  static buildFromTagTruncating(v: bigint | number, tag: TypeTag): MemoryValue;
262
273
  }
263
274
  export {};
264
- //# sourceMappingURL=avm_memory_types.d.ts.map
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX21lbW9yeV90eXBlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vYXZtX21lbW9yeV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU0zRCxzRUFBc0U7QUFDdEUsOEJBQXNCLFdBQVc7SUFDL0IsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25ELFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuRCxTQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkQsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRW5ELFNBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUNsRCxTQUFnQixFQUFFLENBQUMsR0FBRyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFHOUMsU0FBZ0IsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDO0lBRzlDLFNBQWdCLFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDNUIsTUFBTSxJQUFJLE9BQU8sQ0FFdkI7SUFHRCxTQUFnQixRQUFRLElBQUksTUFBTSxDQUFDO0lBRzVCLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRU0sY0FBYyxJQUFJLFlBQVksQ0FFcEM7SUFHTSxRQUFRLElBQUksTUFBTSxDQUV4QjtJQUVNLFFBQVEsSUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"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"}