@aztec/simulator 0.0.0-test.1 → 0.0.1-commit.24de95ac

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 (466) hide show
  1. package/README.md +6 -0
  2. package/dest/client.d.ts +5 -3
  3. package/dest/client.d.ts.map +1 -1
  4. package/dest/client.js +4 -2
  5. package/dest/common/errors.d.ts +4 -7
  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 +0 -1
  9. package/dest/common/index.d.ts.map +1 -1
  10. package/dest/common/index.js +0 -1
  11. package/dest/private/acvm/acvm.d.ts +11 -5
  12. package/dest/private/acvm/acvm.d.ts.map +1 -1
  13. package/dest/private/acvm/acvm.js +10 -16
  14. package/dest/private/acvm/acvm_types.d.ts +1 -1
  15. package/dest/private/acvm/acvm_types.d.ts.map +1 -1
  16. package/dest/private/acvm/deserialize.d.ts +17 -18
  17. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  18. package/dest/private/acvm/deserialize.js +31 -23
  19. package/dest/private/acvm/index.d.ts +0 -1
  20. package/dest/private/acvm/index.d.ts.map +1 -1
  21. package/dest/private/acvm/index.js +0 -1
  22. package/dest/private/acvm/serialize.d.ts +19 -2
  23. package/dest/private/acvm/serialize.d.ts.map +1 -1
  24. package/dest/private/acvm/serialize.js +53 -0
  25. package/dest/private/{providers/acvm_native.d.ts → acvm_native.d.ts} +9 -10
  26. package/dest/private/acvm_native.d.ts.map +1 -0
  27. package/dest/private/{providers/acvm_native.js → acvm_native.js} +26 -20
  28. package/dest/private/acvm_wasm.d.ts +15 -0
  29. package/dest/private/acvm_wasm.d.ts.map +1 -0
  30. package/dest/private/{providers/acvm_wasm.js → acvm_wasm.js} +22 -19
  31. package/dest/private/acvm_wasm_with_blobs.d.ts +20 -0
  32. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -0
  33. package/dest/private/acvm_wasm_with_blobs.js +35 -0
  34. package/dest/private/circuit_recording/circuit_recorder.d.ts +108 -0
  35. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -0
  36. package/dest/private/circuit_recording/circuit_recorder.js +209 -0
  37. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +31 -0
  38. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -0
  39. package/dest/private/circuit_recording/file_circuit_recorder.js +135 -0
  40. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +5 -0
  41. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -0
  42. package/dest/private/circuit_recording/memory_circuit_recorder.js +9 -0
  43. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +21 -0
  44. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -0
  45. package/dest/private/circuit_recording/simulator_recorder_wrapper.js +44 -0
  46. package/dest/private/circuit_simulator.d.ts +35 -0
  47. package/dest/private/circuit_simulator.d.ts.map +1 -0
  48. package/dest/private/circuit_simulator.js +43 -0
  49. package/dest/private/factory.d.ts +12 -0
  50. package/dest/private/factory.d.ts.map +1 -0
  51. package/dest/private/{providers/factory.js → factory.js} +2 -2
  52. package/dest/public/avm/avm_context.d.ts +5 -5
  53. package/dest/public/avm/avm_context.d.ts.map +1 -1
  54. package/dest/public/avm/avm_contract_call_result.d.ts +4 -2
  55. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  56. package/dest/public/avm/avm_contract_call_result.js +11 -7
  57. package/dest/public/avm/avm_execution_environment.d.ts +3 -1
  58. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  59. package/dest/public/avm/avm_execution_environment.js +7 -2
  60. package/dest/public/avm/avm_gas.d.ts +4 -20
  61. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  62. package/dest/public/avm/avm_gas.js +27 -35
  63. package/dest/public/avm/avm_machine_state.d.ts +2 -0
  64. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  65. package/dest/public/avm/avm_machine_state.js +2 -0
  66. package/dest/public/avm/avm_memory_types.d.ts +98 -87
  67. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  68. package/dest/public/avm/avm_memory_types.js +17 -6
  69. package/dest/public/avm/avm_simulator.d.ts +4 -5
  70. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  71. package/dest/public/avm/avm_simulator.js +23 -35
  72. package/dest/public/avm/avm_simulator_interface.d.ts +9 -0
  73. package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -0
  74. package/dest/public/avm/avm_simulator_interface.js +3 -0
  75. package/dest/public/avm/errors.d.ts +6 -30
  76. package/dest/public/avm/errors.d.ts.map +1 -1
  77. package/dest/public/avm/errors.js +7 -57
  78. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +5 -4
  79. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  80. package/dest/public/avm/fixtures/avm_simulation_tester.js +12 -14
  81. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +6 -4
  82. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  83. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +37 -14
  84. package/dest/public/avm/fixtures/initializers.d.ts +43 -0
  85. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
  86. package/dest/public/avm/fixtures/initializers.js +42 -0
  87. package/dest/public/avm/fixtures/utils.d.ts +38 -0
  88. package/dest/public/avm/fixtures/utils.d.ts.map +1 -0
  89. package/dest/public/avm/fixtures/utils.js +95 -0
  90. package/dest/public/avm/index.d.ts +0 -2
  91. package/dest/public/avm/index.d.ts.map +1 -1
  92. package/dest/public/avm/index.js +0 -2
  93. package/dest/public/avm/opcodes/accrued_substate.d.ts +2 -2
  94. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  95. package/dest/public/avm/opcodes/accrued_substate.js +28 -25
  96. package/dest/public/avm/opcodes/addressing_mode.d.ts +11 -7
  97. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  98. package/dest/public/avm/opcodes/addressing_mode.js +46 -26
  99. package/dest/public/avm/opcodes/arithmetic.d.ts +11 -1
  100. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  101. package/dest/public/avm/opcodes/arithmetic.js +16 -2
  102. package/dest/public/avm/opcodes/bitwise.d.ts +5 -13
  103. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  104. package/dest/public/avm/opcodes/bitwise.js +19 -26
  105. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  106. package/dest/public/avm/opcodes/comparators.js +3 -3
  107. package/dest/public/avm/opcodes/contract.d.ts +1 -2
  108. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  109. package/dest/public/avm/opcodes/contract.js +9 -10
  110. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  111. package/dest/public/avm/opcodes/control_flow.js +10 -8
  112. package/dest/public/avm/opcodes/conversion.d.ts +1 -0
  113. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  114. package/dest/public/avm/opcodes/conversion.js +267 -3
  115. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  116. package/dest/public/avm/opcodes/ec_add.js +6 -6
  117. package/dest/public/avm/opcodes/environment_getters.d.ts +2 -2
  118. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  119. package/dest/public/avm/opcodes/environment_getters.js +17 -19
  120. package/dest/public/avm/opcodes/external_calls.d.ts +8 -7
  121. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  122. package/dest/public/avm/opcodes/external_calls.js +39 -34
  123. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  124. package/dest/public/avm/opcodes/hashing.js +6 -6
  125. package/dest/public/avm/opcodes/instruction.d.ts +14 -10
  126. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  127. package/dest/public/avm/opcodes/instruction.js +23 -19
  128. package/dest/public/avm/opcodes/memory.d.ts +4 -4
  129. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  130. package/dest/public/avm/opcodes/memory.js +37 -33
  131. package/dest/public/avm/opcodes/misc.d.ts +2 -1
  132. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  133. package/dest/public/avm/opcodes/misc.js +41 -16
  134. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  135. package/dest/public/avm/opcodes/storage.js +7 -5
  136. package/dest/public/avm/revert_reason.d.ts +18 -0
  137. package/dest/public/avm/revert_reason.d.ts.map +1 -0
  138. package/dest/public/avm/revert_reason.js +38 -0
  139. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
  140. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  141. package/dest/public/avm/serialization/bytecode_serialization.d.ts +2 -6
  142. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  143. package/dest/public/avm/serialization/bytecode_serialization.js +70 -69
  144. package/dest/public/avm/serialization/instruction_serialization.d.ts +13 -4
  145. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  146. package/dest/public/avm/serialization/instruction_serialization.js +70 -35
  147. package/dest/public/avm/test_utils.d.ts +10 -13
  148. package/dest/public/avm/test_utils.d.ts.map +1 -1
  149. package/dest/public/avm/test_utils.js +16 -24
  150. package/dest/public/db_interfaces.d.ts +56 -0
  151. package/dest/public/db_interfaces.d.ts.map +1 -0
  152. package/dest/public/db_interfaces.js +3 -0
  153. package/dest/public/debug_fn_name.d.ts +5 -0
  154. package/dest/public/debug_fn_name.d.ts.map +1 -0
  155. package/dest/public/debug_fn_name.js +9 -0
  156. package/dest/public/executor_metrics.d.ts +10 -3
  157. package/dest/public/executor_metrics.d.ts.map +1 -1
  158. package/dest/public/executor_metrics.js +37 -6
  159. package/dest/public/executor_metrics_interface.d.ts +9 -0
  160. package/dest/public/executor_metrics_interface.d.ts.map +1 -0
  161. package/dest/public/executor_metrics_interface.js +1 -0
  162. package/dest/public/fixtures/amm_test.d.ts +10 -0
  163. package/dest/public/fixtures/amm_test.d.ts.map +1 -0
  164. package/dest/public/fixtures/amm_test.js +213 -0
  165. package/dest/public/fixtures/bulk_test.d.ts +6 -0
  166. package/dest/public/fixtures/bulk_test.d.ts.map +1 -0
  167. package/dest/public/fixtures/bulk_test.js +326 -0
  168. package/dest/public/fixtures/custom_bytecode_tester.d.ts +12 -0
  169. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
  170. package/dest/public/fixtures/custom_bytecode_tester.js +29 -0
  171. package/dest/public/fixtures/custom_bytecode_tests.d.ts +9 -0
  172. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
  173. package/dest/public/fixtures/custom_bytecode_tests.js +109 -0
  174. package/dest/public/fixtures/index.d.ts +7 -0
  175. package/dest/public/fixtures/index.d.ts.map +1 -1
  176. package/dest/public/fixtures/index.js +7 -0
  177. package/dest/public/fixtures/minimal_public_tx.d.ts +10 -0
  178. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
  179. package/dest/public/fixtures/minimal_public_tx.js +29 -0
  180. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +35 -13
  181. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  182. package/dest/public/fixtures/public_tx_simulation_tester.js +96 -71
  183. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.d.ts +6 -6
  184. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -0
  185. package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.js +31 -10
  186. package/dest/public/fixtures/token_test.d.ts +8 -0
  187. package/dest/public/fixtures/token_test.d.ts.map +1 -0
  188. package/dest/public/fixtures/token_test.js +95 -0
  189. package/dest/public/fixtures/utils.d.ts +16 -3
  190. package/dest/public/fixtures/utils.d.ts.map +1 -1
  191. package/dest/public/fixtures/utils.js +100 -58
  192. package/dest/public/hinting_db_sources.d.ts +70 -0
  193. package/dest/public/hinting_db_sources.d.ts.map +1 -0
  194. package/dest/public/hinting_db_sources.js +297 -0
  195. package/dest/public/index.d.ts +4 -8
  196. package/dest/public/index.d.ts.map +1 -1
  197. package/dest/public/index.js +4 -7
  198. package/dest/public/public_db_sources.d.ts +30 -39
  199. package/dest/public/public_db_sources.d.ts.map +1 -1
  200. package/dest/public/public_db_sources.js +151 -67
  201. package/dest/public/public_errors.d.ts +12 -0
  202. package/dest/public/public_errors.d.ts.map +1 -0
  203. package/dest/public/public_errors.js +13 -0
  204. package/dest/public/public_processor/guarded_merkle_tree.d.ts +49 -0
  205. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -0
  206. package/dest/public/public_processor/guarded_merkle_tree.js +108 -0
  207. package/dest/public/public_processor/public_processor.d.ts +25 -30
  208. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  209. package/dest/public/public_processor/public_processor.js +141 -96
  210. package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
  211. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  212. package/dest/public/public_processor/public_processor_metrics.js +1 -1
  213. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +41 -0
  214. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
  215. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +89 -0
  216. package/dest/public/public_tx_simulator/index.d.ts +4 -0
  217. package/dest/public/public_tx_simulator/index.d.ts.map +1 -0
  218. package/dest/public/public_tx_simulator/index.js +2 -0
  219. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +24 -0
  220. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
  221. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +51 -0
  222. package/dest/public/public_tx_simulator/public_tx_context.d.ts +19 -29
  223. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  224. package/dest/public/public_tx_simulator/public_tx_context.js +63 -91
  225. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +45 -47
  226. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  227. package/dest/public/public_tx_simulator/public_tx_simulator.js +209 -184
  228. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +9 -0
  229. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -0
  230. package/dest/public/public_tx_simulator/public_tx_simulator_interface.js +1 -0
  231. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +21 -0
  232. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
  233. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +39 -0
  234. package/dest/public/side_effect_errors.d.ts +41 -1
  235. package/dest/public/side_effect_errors.d.ts.map +1 -1
  236. package/dest/public/side_effect_errors.js +70 -1
  237. package/dest/public/side_effect_trace.d.ts +20 -65
  238. package/dest/public/side_effect_trace.d.ts.map +1 -1
  239. package/dest/public/side_effect_trace.js +71 -121
  240. package/dest/public/side_effect_trace_interface.d.ts +11 -22
  241. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  242. package/dest/public/state_manager/index.d.ts +2 -0
  243. package/dest/public/state_manager/index.d.ts.map +1 -0
  244. package/dest/public/state_manager/index.js +1 -0
  245. package/dest/public/{avm/journal → state_manager}/nullifiers.d.ts +2 -5
  246. package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
  247. package/dest/public/{avm/journal → state_manager}/nullifiers.js +3 -8
  248. package/dest/public/{avm/journal → state_manager}/public_storage.d.ts +2 -2
  249. package/dest/public/state_manager/public_storage.d.ts.map +1 -0
  250. package/dest/public/{avm/journal/journal.d.ts → state_manager/state_manager.d.ts} +42 -85
  251. package/dest/public/state_manager/state_manager.d.ts.map +1 -0
  252. package/dest/public/state_manager/state_manager.js +391 -0
  253. package/dest/public/test_executor_metrics.d.ts +54 -0
  254. package/dest/public/test_executor_metrics.d.ts.map +1 -0
  255. package/dest/public/test_executor_metrics.js +306 -0
  256. package/dest/public/unique_class_ids.d.ts.map +1 -1
  257. package/dest/public/utils.d.ts +2 -4
  258. package/dest/public/utils.d.ts.map +1 -1
  259. package/dest/public/utils.js +4 -21
  260. package/dest/server.d.ts +6 -3
  261. package/dest/server.d.ts.map +1 -1
  262. package/dest/server.js +5 -2
  263. package/dest/testing.d.ts +2 -0
  264. package/dest/testing.d.ts.map +1 -0
  265. package/dest/testing.js +1 -0
  266. package/package.json +36 -31
  267. package/src/client.ts +5 -3
  268. package/src/common/errors.ts +79 -44
  269. package/src/common/index.ts +0 -1
  270. package/src/private/acvm/acvm.ts +17 -32
  271. package/src/private/acvm/acvm_types.ts +1 -1
  272. package/src/private/acvm/deserialize.ts +35 -29
  273. package/src/private/acvm/index.ts +0 -1
  274. package/src/private/acvm/serialize.ts +63 -0
  275. package/src/private/{providers/acvm_native.ts → acvm_native.ts} +47 -24
  276. package/src/private/acvm_wasm.ts +72 -0
  277. package/src/private/acvm_wasm_with_blobs.ts +54 -0
  278. package/src/private/circuit_recording/circuit_recorder.ts +260 -0
  279. package/src/private/circuit_recording/file_circuit_recorder.ts +158 -0
  280. package/src/private/circuit_recording/memory_circuit_recorder.ts +11 -0
  281. package/src/private/circuit_recording/simulator_recorder_wrapper.ts +91 -0
  282. package/src/private/circuit_simulator.ts +90 -0
  283. package/src/private/{providers/factory.ts → factory.ts} +6 -6
  284. package/src/public/avm/avm_context.ts +4 -4
  285. package/src/public/avm/avm_contract_call_result.ts +17 -5
  286. package/src/public/avm/avm_execution_environment.ts +10 -1
  287. package/src/public/avm/avm_gas.ts +23 -35
  288. package/src/public/avm/avm_machine_state.ts +5 -0
  289. package/src/public/avm/avm_memory_types.ts +19 -6
  290. package/src/public/avm/avm_simulator.ts +44 -54
  291. package/src/public/avm/avm_simulator_interface.ts +8 -0
  292. package/src/public/avm/errors.ts +8 -77
  293. package/src/public/avm/fixtures/avm_simulation_tester.ts +23 -20
  294. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +45 -12
  295. package/src/public/avm/fixtures/initializers.ts +104 -0
  296. package/src/public/avm/fixtures/utils.ts +150 -0
  297. package/src/public/avm/index.ts +0 -2
  298. package/src/public/avm/opcodes/accrued_substate.ts +64 -29
  299. package/src/public/avm/opcodes/addressing_mode.ts +56 -32
  300. package/src/public/avm/opcodes/arithmetic.ts +24 -2
  301. package/src/public/avm/opcodes/bitwise.ts +33 -29
  302. package/src/public/avm/opcodes/comparators.ts +6 -3
  303. package/src/public/avm/opcodes/contract.ts +10 -7
  304. package/src/public/avm/opcodes/control_flow.ts +19 -10
  305. package/src/public/avm/opcodes/conversion.ts +27 -3
  306. package/src/public/avm/opcodes/ec_add.ts +9 -6
  307. package/src/public/avm/opcodes/environment_getters.ts +27 -22
  308. package/src/public/avm/opcodes/external_calls.ts +61 -29
  309. package/src/public/avm/opcodes/hashing.ts +28 -8
  310. package/src/public/avm/opcodes/instruction.ts +31 -21
  311. package/src/public/avm/opcodes/memory.ts +71 -32
  312. package/src/public/avm/opcodes/misc.ts +60 -18
  313. package/src/public/avm/opcodes/storage.ts +22 -6
  314. package/src/public/avm/revert_reason.ts +55 -0
  315. package/src/public/avm/serialization/buffer_cursor.ts +4 -1
  316. package/src/public/avm/serialization/bytecode_serialization.ts +72 -74
  317. package/src/public/avm/serialization/instruction_serialization.ts +75 -34
  318. package/src/public/avm/test_utils.ts +24 -41
  319. package/src/public/db_interfaces.ts +61 -0
  320. package/src/{common → public}/debug_fn_name.ts +7 -7
  321. package/src/public/executor_metrics.ts +55 -6
  322. package/src/public/executor_metrics_interface.ts +14 -0
  323. package/src/public/fixtures/amm_test.ts +331 -0
  324. package/src/public/fixtures/bulk_test.ts +169 -0
  325. package/src/public/fixtures/custom_bytecode_tester.ts +49 -0
  326. package/src/public/fixtures/custom_bytecode_tests.ts +135 -0
  327. package/src/public/fixtures/index.ts +7 -0
  328. package/src/public/fixtures/minimal_public_tx.ts +36 -0
  329. package/src/public/fixtures/public_tx_simulation_tester.ts +158 -113
  330. package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +36 -18
  331. package/src/public/fixtures/token_test.ts +140 -0
  332. package/src/public/fixtures/utils.ts +141 -68
  333. package/src/public/hinting_db_sources.ts +505 -0
  334. package/src/public/index.ts +9 -8
  335. package/src/public/public_db_sources.ts +196 -97
  336. package/src/public/public_errors.ts +14 -0
  337. package/src/public/public_processor/guarded_merkle_tree.ts +153 -0
  338. package/src/public/public_processor/public_processor.ts +191 -153
  339. package/src/public/public_processor/public_processor_metrics.ts +2 -2
  340. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +128 -0
  341. package/src/public/public_tx_simulator/index.ts +3 -0
  342. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +109 -0
  343. package/src/public/public_tx_simulator/public_tx_context.ts +160 -193
  344. package/src/public/public_tx_simulator/public_tx_simulator.ts +294 -220
  345. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +11 -0
  346. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +63 -0
  347. package/src/public/side_effect_errors.ts +91 -1
  348. package/src/public/side_effect_trace.ts +94 -320
  349. package/src/public/side_effect_trace_interface.ts +10 -58
  350. package/src/public/state_manager/index.ts +1 -0
  351. package/src/public/{avm/journal → state_manager}/nullifiers.ts +5 -11
  352. package/src/public/{avm/journal → state_manager}/public_storage.ts +2 -2
  353. package/src/public/state_manager/state_manager.ts +560 -0
  354. package/src/public/test_executor_metrics.ts +395 -0
  355. package/src/public/utils.ts +5 -21
  356. package/src/server.ts +6 -3
  357. package/src/testing.ts +1 -0
  358. package/dest/common/db_interfaces.d.ts +0 -80
  359. package/dest/common/db_interfaces.d.ts.map +0 -1
  360. package/dest/common/db_interfaces.js +0 -1
  361. package/dest/common/debug_fn_name.d.ts +0 -5
  362. package/dest/common/debug_fn_name.d.ts.map +0 -1
  363. package/dest/common/debug_fn_name.js +0 -6
  364. package/dest/common/message_load_oracle_inputs.d.ts +0 -15
  365. package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
  366. package/dest/common/message_load_oracle_inputs.js +0 -15
  367. package/dest/private/acvm/oracle/index.d.ts +0 -14
  368. package/dest/private/acvm/oracle/index.d.ts.map +0 -1
  369. package/dest/private/acvm/oracle/index.js +0 -2
  370. package/dest/private/acvm/oracle/oracle.d.ts +0 -49
  371. package/dest/private/acvm/oracle/oracle.d.ts.map +0 -1
  372. package/dest/private/acvm/oracle/oracle.js +0 -263
  373. package/dest/private/acvm/oracle/typed_oracle.d.ts +0 -83
  374. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +0 -1
  375. package/dest/private/acvm/oracle/typed_oracle.js +0 -132
  376. package/dest/private/execution_data_provider.d.ts +0 -261
  377. package/dest/private/execution_data_provider.d.ts.map +0 -1
  378. package/dest/private/execution_data_provider.js +0 -14
  379. package/dest/private/execution_note_cache.d.ts +0 -93
  380. package/dest/private/execution_note_cache.d.ts.map +0 -1
  381. package/dest/private/execution_note_cache.js +0 -180
  382. package/dest/private/hashed_values_cache.d.ts +0 -28
  383. package/dest/private/hashed_values_cache.d.ts.map +0 -1
  384. package/dest/private/hashed_values_cache.js +0 -46
  385. package/dest/private/index.d.ts +0 -13
  386. package/dest/private/index.d.ts.map +0 -1
  387. package/dest/private/index.js +0 -12
  388. package/dest/private/pick_notes.d.ts +0 -85
  389. package/dest/private/pick_notes.d.ts.map +0 -1
  390. package/dest/private/pick_notes.js +0 -51
  391. package/dest/private/private_execution.d.ts +0 -25
  392. package/dest/private/private_execution.d.ts.map +0 -1
  393. package/dest/private/private_execution.js +0 -92
  394. package/dest/private/private_execution_oracle.d.ts +0 -215
  395. package/dest/private/private_execution_oracle.d.ts.map +0 -1
  396. package/dest/private/private_execution_oracle.js +0 -382
  397. package/dest/private/providers/acvm_native.d.ts.map +0 -1
  398. package/dest/private/providers/acvm_wasm.d.ts +0 -15
  399. package/dest/private/providers/acvm_wasm.d.ts.map +0 -1
  400. package/dest/private/providers/acvm_wasm_with_blobs.d.ts +0 -19
  401. package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  402. package/dest/private/providers/acvm_wasm_with_blobs.js +0 -32
  403. package/dest/private/providers/factory.d.ts +0 -12
  404. package/dest/private/providers/factory.d.ts.map +0 -1
  405. package/dest/private/providers/simulation_provider.d.ts +0 -19
  406. package/dest/private/providers/simulation_provider.d.ts.map +0 -1
  407. package/dest/private/providers/simulation_provider.js +0 -24
  408. package/dest/private/simulator.d.ts +0 -34
  409. package/dest/private/simulator.d.ts.map +0 -1
  410. package/dest/private/simulator.js +0 -76
  411. package/dest/private/unconstrained_execution.d.ts +0 -10
  412. package/dest/private/unconstrained_execution.d.ts.map +0 -1
  413. package/dest/private/unconstrained_execution.js +0 -27
  414. package/dest/private/unconstrained_execution_oracle.d.ts +0 -161
  415. package/dest/private/unconstrained_execution_oracle.d.ts.map +0 -1
  416. package/dest/private/unconstrained_execution_oracle.js +0 -258
  417. package/dest/public/avm/bytecode_utils.d.ts +0 -5
  418. package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
  419. package/dest/public/avm/bytecode_utils.js +0 -17
  420. package/dest/public/avm/fixtures/index.d.ts +0 -84
  421. package/dest/public/avm/fixtures/index.d.ts.map +0 -1
  422. package/dest/public/avm/fixtures/index.js +0 -175
  423. package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  424. package/dest/public/avm/journal/index.d.ts +0 -2
  425. package/dest/public/avm/journal/index.d.ts.map +0 -1
  426. package/dest/public/avm/journal/index.js +0 -1
  427. package/dest/public/avm/journal/journal.d.ts.map +0 -1
  428. package/dest/public/avm/journal/journal.js +0 -486
  429. package/dest/public/avm/journal/nullifiers.d.ts.map +0 -1
  430. package/dest/public/avm/journal/public_storage.d.ts.map +0 -1
  431. package/dest/public/bytecode_errors.d.ts +0 -4
  432. package/dest/public/bytecode_errors.d.ts.map +0 -1
  433. package/dest/public/bytecode_errors.js +0 -6
  434. package/dest/public/execution.d.ts +0 -108
  435. package/dest/public/execution.d.ts.map +0 -1
  436. package/dest/public/execution.js +0 -9
  437. package/dest/test/utils.d.ts +0 -13
  438. package/dest/test/utils.d.ts.map +0 -1
  439. package/dest/test/utils.js +0 -22
  440. package/src/common/db_interfaces.ts +0 -94
  441. package/src/common/message_load_oracle_inputs.ts +0 -15
  442. package/src/private/acvm/oracle/index.ts +0 -16
  443. package/src/private/acvm/oracle/oracle.ts +0 -455
  444. package/src/private/acvm/oracle/typed_oracle.ts +0 -259
  445. package/src/private/execution_data_provider.ts +0 -323
  446. package/src/private/execution_note_cache.ts +0 -217
  447. package/src/private/hashed_values_cache.ts +0 -55
  448. package/src/private/index.ts +0 -16
  449. package/src/private/pick_notes.ts +0 -141
  450. package/src/private/private_execution.ts +0 -151
  451. package/src/private/private_execution_oracle.ts +0 -614
  452. package/src/private/providers/acvm_wasm.ts +0 -63
  453. package/src/private/providers/acvm_wasm_with_blobs.ts +0 -50
  454. package/src/private/providers/simulation_provider.ts +0 -45
  455. package/src/private/simulator.ts +0 -147
  456. package/src/private/unconstrained_execution.ts +0 -50
  457. package/src/private/unconstrained_execution_oracle.ts +0 -373
  458. package/src/public/avm/bytecode_utils.ts +0 -17
  459. package/src/public/avm/fixtures/index.ts +0 -296
  460. package/src/public/avm/journal/index.ts +0 -1
  461. package/src/public/avm/journal/journal.ts +0 -742
  462. package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
  463. package/src/public/bytecode_errors.ts +0 -6
  464. package/src/public/execution.ts +0 -140
  465. package/src/test/utils.ts +0 -36
  466. /package/dest/public/{avm/journal → state_manager}/public_storage.js +0 -0
@@ -1,296 +0,0 @@
1
- import {
2
- DEPLOYER_CONTRACT_ADDRESS,
3
- MAX_L2_GAS_PER_TX_PUBLIC_PORTION,
4
- PUBLIC_DISPATCH_SELECTOR,
5
- } from '@aztec/constants';
6
- import { EthAddress } from '@aztec/foundation/eth-address';
7
- import { Fr } from '@aztec/foundation/fields';
8
- import { AvmGadgetsTestContractArtifact } from '@aztec/noir-contracts.js/AvmGadgetsTest';
9
- import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
10
- import { type ContractArtifact, type FunctionArtifact, FunctionSelector } from '@aztec/stdlib/abi';
11
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
12
- import {
13
- type ContractClassPublic,
14
- type ContractInstanceWithAddress,
15
- computeInitializationHash,
16
- } from '@aztec/stdlib/contract';
17
- import { isNoirCallStackUnresolved } from '@aztec/stdlib/errors';
18
- import { GasFees } from '@aztec/stdlib/gas';
19
- import { siloNullifier } from '@aztec/stdlib/hash';
20
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
21
- import { makeContractClassPublic, makeContractInstanceFromClassId } from '@aztec/stdlib/testing';
22
- import { GlobalVariables } from '@aztec/stdlib/tx';
23
-
24
- import { strict as assert } from 'assert';
25
- import { mock } from 'jest-mock-extended';
26
- import merge from 'lodash.merge';
27
-
28
- import { resolveAssertionMessageFromRevertData, traverseCauseChain } from '../../../common/index.js';
29
- import type { WorldStateDB } from '../../public_db_sources.js';
30
- import type { PublicSideEffectTraceInterface } from '../../side_effect_trace_interface.js';
31
- import { AvmContext } from '../avm_context.js';
32
- import { AvmExecutionEnvironment } from '../avm_execution_environment.js';
33
- import { AvmMachineState } from '../avm_machine_state.js';
34
- import { Field, Uint8, Uint32, Uint64 } from '../avm_memory_types.js';
35
- import { AvmSimulator } from '../avm_simulator.js';
36
- import type { AvmRevertReason } from '../errors.js';
37
- import { AvmPersistableStateManager } from '../journal/journal.js';
38
- import { NullifierManager } from '../journal/nullifiers.js';
39
- import { PublicStorage } from '../journal/public_storage.js';
40
-
41
- export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
42
-
43
- /**
44
- * Create a new AVM context with default values.
45
- */
46
- export function initContext(overrides?: {
47
- persistableState?: AvmPersistableStateManager;
48
- env?: AvmExecutionEnvironment;
49
- machineState?: AvmMachineState;
50
- }): AvmContext {
51
- const ctx = new AvmContext(
52
- overrides?.persistableState || initPersistableStateManager(),
53
- overrides?.env || initExecutionEnvironment(),
54
- overrides?.machineState || initMachineState(),
55
- );
56
- ctx.provideSimulator = AvmSimulator.build;
57
- return ctx;
58
- }
59
-
60
- /** Creates an empty state manager with mocked host storage. */
61
- export function initPersistableStateManager(overrides?: {
62
- worldStateDB?: WorldStateDB;
63
- trace?: PublicSideEffectTraceInterface;
64
- publicStorage?: PublicStorage;
65
- nullifiers?: NullifierManager;
66
- doMerkleOperations?: boolean;
67
- db?: MerkleTreeWriteOperations;
68
- firstNullifier?: Fr;
69
- }): AvmPersistableStateManager {
70
- const worldStateDB = overrides?.worldStateDB || mock<WorldStateDB>();
71
- return new AvmPersistableStateManager(
72
- worldStateDB,
73
- overrides?.trace || mock<PublicSideEffectTraceInterface>(),
74
- overrides?.publicStorage || new PublicStorage(worldStateDB),
75
- overrides?.nullifiers || new NullifierManager(worldStateDB),
76
- overrides?.doMerkleOperations || false,
77
- overrides?.db || mock<MerkleTreeWriteOperations>(),
78
- overrides?.firstNullifier || new Fr(27),
79
- );
80
- }
81
-
82
- /**
83
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
84
- */
85
- export function initExecutionEnvironment(overrides?: Partial<AvmExecutionEnvironment>): AvmExecutionEnvironment {
86
- return new AvmExecutionEnvironment(
87
- overrides?.address ?? AztecAddress.zero(),
88
- overrides?.sender ?? AztecAddress.zero(),
89
- overrides?.contractCallDepth ?? Fr.zero(),
90
- overrides?.transactionFee ?? Fr.zero(),
91
- overrides?.globals ?? GlobalVariables.empty(),
92
- overrides?.isStaticCall ?? false,
93
- overrides?.calldata ?? [],
94
- );
95
- }
96
-
97
- /**
98
- * Create an empty instance of the Execution Environment where all values are zero, unless overridden in the overrides object
99
- */
100
- export function initGlobalVariables(overrides?: Partial<GlobalVariables>): GlobalVariables {
101
- return new GlobalVariables(
102
- overrides?.chainId ?? Fr.zero(),
103
- overrides?.version ?? Fr.zero(),
104
- overrides?.blockNumber ?? Fr.zero(),
105
- overrides?.slotNumber ?? Fr.zero(),
106
- overrides?.timestamp ?? Fr.zero(),
107
- overrides?.coinbase ?? EthAddress.ZERO,
108
- overrides?.feeRecipient ?? AztecAddress.zero(),
109
- overrides?.gasFees ?? GasFees.empty(),
110
- );
111
- }
112
-
113
- /**
114
- * Create an empty instance of the Machine State where all values are set to a large enough amount, unless overridden in the overrides object
115
- */
116
- export function initMachineState(overrides?: Partial<AvmMachineState>): AvmMachineState {
117
- return AvmMachineState.fromState({
118
- l2GasLeft: overrides?.l2GasLeft ?? MAX_L2_GAS_PER_TX_PUBLIC_PORTION,
119
- daGasLeft: overrides?.daGasLeft ?? 1e8,
120
- });
121
- }
122
-
123
- /**
124
- * Create a new object with all the same properties as the original, except for the ones in the overrides object.
125
- */
126
- export function allSameExcept(original: any, overrides: any): any {
127
- return merge({}, original, overrides);
128
- }
129
-
130
- export function randomMemoryBytes(length: number): Uint8[] {
131
- return [...Array(length)].map(_ => new Uint8(Math.floor(Math.random() * 255)));
132
- }
133
-
134
- export function randomMemoryUint32s(length: number): Uint32[] {
135
- return [...Array(length)].map(_ => new Uint32(Math.floor(Math.random() * 255)));
136
- }
137
-
138
- export function randomMemoryUint64s(length: number): Uint64[] {
139
- return [...Array(length)].map(_ => new Uint64(Math.floor(Math.random() * 255)));
140
- }
141
-
142
- export function randomMemoryFields(length: number): Field[] {
143
- return [...Array(length)].map(_ => new Field(Fr.random()));
144
- }
145
-
146
- export function getFunctionSelector(
147
- functionName: string,
148
- contractArtifact: ContractArtifact,
149
- ): Promise<FunctionSelector> {
150
- const fnArtifact = contractArtifact.functions.find(f => f.name === functionName)!;
151
- assert(!!fnArtifact, `Function ${functionName} not found in ${contractArtifact.name}`);
152
- const params = fnArtifact.parameters;
153
- return FunctionSelector.fromNameAndParameters(fnArtifact.name, params);
154
- }
155
-
156
- export function getContractFunctionArtifact(
157
- functionName: string,
158
- contractArtifact: ContractArtifact,
159
- ): FunctionArtifact | undefined {
160
- const artifact = contractArtifact.functions.find(f => f.name === functionName)!;
161
- if (!artifact) {
162
- return undefined;
163
- }
164
- return artifact;
165
- }
166
-
167
- export function resolveContractAssertionMessage(
168
- functionName: string,
169
- revertReason: AvmRevertReason,
170
- output: Fr[],
171
- contractArtifact: ContractArtifact,
172
- ): string | undefined {
173
- traverseCauseChain(revertReason, cause => {
174
- revertReason = cause as AvmRevertReason;
175
- });
176
-
177
- const functionArtifact = contractArtifact.functions.find(f => f.name === functionName);
178
- if (!functionArtifact || !revertReason.noirCallStack || !isNoirCallStackUnresolved(revertReason.noirCallStack)) {
179
- return undefined;
180
- }
181
-
182
- return resolveAssertionMessageFromRevertData(output, functionArtifact);
183
- }
184
-
185
- export function getAvmTestContractFunctionSelector(functionName: string): Promise<FunctionSelector> {
186
- return getFunctionSelector(functionName, AvmTestContractArtifact);
187
- }
188
-
189
- export function getAvmGadgetsTestContractFunctionSelector(functionName: string): Promise<FunctionSelector> {
190
- const artifact = AvmGadgetsTestContractArtifact.functions.find(f => f.name === functionName)!;
191
- assert(!!artifact, `Function ${functionName} not found in AvmGadgetsTestContractArtifact`);
192
- const params = artifact.parameters;
193
- return FunctionSelector.fromNameAndParameters(artifact.name, params);
194
- }
195
-
196
- export function getAvmTestContractArtifact(functionName: string): FunctionArtifact {
197
- const artifact = getContractFunctionArtifact(functionName, AvmTestContractArtifact);
198
- assert(
199
- !!artifact?.bytecode,
200
- `No bytecode found for function ${functionName}. Try re-running bootstrap.sh on the repository root.`,
201
- );
202
- return artifact;
203
- }
204
-
205
- export function getAvmGadgetsTestContractArtifact(functionName: string): FunctionArtifact {
206
- const artifact = AvmGadgetsTestContractArtifact.functions.find(f => f.name === functionName)!;
207
- assert(
208
- !!artifact?.bytecode,
209
- `No bytecode found for function ${functionName}. Try re-running bootstrap.sh on the repository root.`,
210
- );
211
- return artifact;
212
- }
213
-
214
- export function getAvmTestContractBytecode(functionName: string): Buffer {
215
- const artifact = getAvmTestContractArtifact(functionName);
216
- return artifact.bytecode;
217
- }
218
-
219
- export function getAvmGadgetsTestContractBytecode(functionName: string): Buffer {
220
- const artifact = getAvmGadgetsTestContractArtifact(functionName);
221
- return artifact.bytecode;
222
- }
223
-
224
- export function resolveAvmTestContractAssertionMessage(
225
- functionName: string,
226
- revertReason: AvmRevertReason,
227
- output: Fr[],
228
- ): string | undefined {
229
- return resolveContractAssertionMessage(functionName, revertReason, output, AvmTestContractArtifact);
230
- }
231
-
232
- export function resolveAvmGadgetsTestContractAssertionMessage(
233
- functionName: string,
234
- revertReason: AvmRevertReason,
235
- output: Fr[],
236
- ): string | undefined {
237
- traverseCauseChain(revertReason, cause => {
238
- revertReason = cause as AvmRevertReason;
239
- });
240
-
241
- const functionArtifact = AvmGadgetsTestContractArtifact.functions.find(f => f.name === functionName);
242
- if (!functionArtifact || !revertReason.noirCallStack || !isNoirCallStackUnresolved(revertReason.noirCallStack)) {
243
- return undefined;
244
- }
245
-
246
- return resolveAssertionMessageFromRevertData(output, functionArtifact);
247
- }
248
-
249
- /**
250
- * Create a contract class and instance given constructor args, artifact, etc.
251
- * NOTE: This is useful for testing real-ish contract class registration and instance deployment TXs (via logs)
252
- * @param constructorArgs - The constructor arguments for the contract.
253
- * @param deployer - The deployer of the contract.
254
- * @param contractArtifact - The contract artifact for the contract.
255
- * @param seed - The seed for the contract.
256
- * @param originalContractClassId - The original contract class ID (if upgraded)
257
- * @returns The contract class, instance, and contract address nullifier.
258
- */
259
- export async function createContractClassAndInstance(
260
- constructorArgs: any[],
261
- deployer: AztecAddress,
262
- contractArtifact: ContractArtifact,
263
- seed = 0,
264
- originalContractClassId?: Fr, // if previously upgraded
265
- ): Promise<{
266
- contractClass: ContractClassPublic;
267
- contractInstance: ContractInstanceWithAddress;
268
- contractAddressNullifier: Fr;
269
- }> {
270
- const bytecode = getContractFunctionArtifact(PUBLIC_DISPATCH_FN_NAME, contractArtifact)!.bytecode;
271
- const contractClass = await makeContractClassPublic(
272
- seed,
273
- /*publicDispatchFunction=*/ { bytecode, selector: new FunctionSelector(PUBLIC_DISPATCH_SELECTOR) },
274
- );
275
-
276
- const constructorAbi = getContractFunctionArtifact('constructor', contractArtifact);
277
- const initializationHash = await computeInitializationHash(constructorAbi, constructorArgs);
278
- const contractInstance =
279
- originalContractClassId === undefined
280
- ? await makeContractInstanceFromClassId(contractClass.id, seed, {
281
- deployer,
282
- initializationHash,
283
- })
284
- : await makeContractInstanceFromClassId(originalContractClassId, seed, {
285
- deployer,
286
- initializationHash,
287
- currentClassId: contractClass.id,
288
- });
289
-
290
- const contractAddressNullifier = await siloNullifier(
291
- AztecAddress.fromNumber(DEPLOYER_CONTRACT_ADDRESS),
292
- contractInstance.address.toField(),
293
- );
294
-
295
- return { contractClass, contractInstance, contractAddressNullifier };
296
- }
@@ -1 +0,0 @@
1
- export * from './journal.js';