@aztec/simulator 0.0.1-commit.24de95ac → 0.0.1-commit.2606882

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 (371) hide show
  1. package/README.md +6 -4
  2. package/dest/client.d.ts +1 -1
  3. package/dest/common/errors.d.ts +2 -2
  4. package/dest/common/errors.d.ts.map +1 -1
  5. package/dest/common/index.d.ts +1 -1
  6. package/dest/common/stats/index.d.ts +1 -1
  7. package/dest/common/stats/stats.d.ts +1 -1
  8. package/dest/private/acvm/acvm.d.ts +4 -2
  9. package/dest/private/acvm/acvm.d.ts.map +1 -1
  10. package/dest/private/acvm/acvm.js +4 -3
  11. package/dest/private/acvm/acvm_types.d.ts +1 -1
  12. package/dest/private/acvm/deserialize.d.ts +2 -2
  13. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  14. package/dest/private/acvm/deserialize.js +1 -1
  15. package/dest/private/acvm/index.d.ts +1 -1
  16. package/dest/private/acvm/serialize.d.ts +2 -2
  17. package/dest/private/acvm/serialize.d.ts.map +1 -1
  18. package/dest/private/acvm/serialize.js +1 -1
  19. package/dest/private/acvm_native.d.ts +5 -3
  20. package/dest/private/acvm_native.d.ts.map +1 -1
  21. package/dest/private/acvm_native.js +8 -6
  22. package/dest/private/acvm_wasm.d.ts +4 -3
  23. package/dest/private/acvm_wasm.d.ts.map +1 -1
  24. package/dest/private/acvm_wasm.js +7 -5
  25. package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
  26. package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
  27. package/dest/private/circuit_recording/circuit_recorder.d.ts +4 -3
  28. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  29. package/dest/private/circuit_recording/circuit_recorder.js +23 -20
  30. package/dest/private/circuit_recording/file_circuit_recorder.d.ts +3 -2
  31. package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
  32. package/dest/private/circuit_recording/file_circuit_recorder.js +2 -2
  33. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +7 -2
  34. package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
  35. package/dest/private/circuit_recording/memory_circuit_recorder.js +4 -4
  36. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +1 -1
  37. package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
  38. package/dest/private/circuit_simulator.d.ts +1 -1
  39. package/dest/private/factory.d.ts +3 -3
  40. package/dest/private/factory.d.ts.map +1 -1
  41. package/dest/private/factory.js +7 -4
  42. package/dest/public/avm/avm_context.d.ts +3 -3
  43. package/dest/public/avm/avm_context.d.ts.map +1 -1
  44. package/dest/public/avm/avm_contract_call_result.d.ts +6 -6
  45. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  46. package/dest/public/avm/avm_contract_call_result.js +3 -3
  47. package/dest/public/avm/avm_execution_environment.d.ts +9 -8
  48. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  49. package/dest/public/avm/avm_execution_environment.js +5 -8
  50. package/dest/public/avm/avm_gas.d.ts +2 -2
  51. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  52. package/dest/public/avm/avm_gas.js +3 -3
  53. package/dest/public/avm/avm_machine_state.d.ts +7 -6
  54. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  55. package/dest/public/avm/avm_machine_state.js +3 -2
  56. package/dest/public/avm/avm_memory_types.d.ts +14 -14
  57. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  58. package/dest/public/avm/avm_memory_types.js +4 -1
  59. package/dest/public/avm/avm_simulator.d.ts +5 -3
  60. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  61. package/dest/public/avm/avm_simulator.js +14 -12
  62. package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
  63. package/dest/public/avm/calldata.d.ts +51 -0
  64. package/dest/public/avm/calldata.d.ts.map +1 -0
  65. package/dest/public/avm/calldata.js +64 -0
  66. package/dest/public/avm/errors.d.ts +8 -2
  67. package/dest/public/avm/errors.d.ts.map +1 -1
  68. package/dest/public/avm/errors.js +14 -2
  69. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +2 -0
  70. package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +1 -0
  71. package/dest/public/avm/fixtures/account_proof_fetcher.js +152 -0
  72. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
  73. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  74. package/dest/public/avm/fixtures/avm_simulation_tester.js +15 -5
  75. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +3 -2
  76. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  77. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +18 -3
  78. package/dest/public/avm/fixtures/initializers.d.ts +2 -3
  79. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  80. package/dest/public/avm/fixtures/initializers.js +8 -5
  81. package/dest/public/avm/fixtures/utils.d.ts +4 -3
  82. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  83. package/dest/public/avm/fixtures/utils.js +6 -2
  84. package/dest/public/avm/index.d.ts +1 -1
  85. package/dest/public/avm/opcodes/accrued_substate.d.ts +17 -18
  86. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  87. package/dest/public/avm/opcodes/accrued_substate.js +42 -43
  88. package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
  89. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  90. package/dest/public/avm/opcodes/addressing_mode.js +2 -2
  91. package/dest/public/avm/opcodes/arithmetic.d.ts +3 -1
  92. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  93. package/dest/public/avm/opcodes/arithmetic.js +12 -2
  94. package/dest/public/avm/opcodes/bitwise.d.ts +3 -3
  95. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  96. package/dest/public/avm/opcodes/bitwise.js +5 -5
  97. package/dest/public/avm/opcodes/comparators.d.ts +1 -1
  98. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  99. package/dest/public/avm/opcodes/comparators.js +1 -1
  100. package/dest/public/avm/opcodes/contract.d.ts +5 -4
  101. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  102. package/dest/public/avm/opcodes/contract.js +13 -9
  103. package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
  104. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  105. package/dest/public/avm/opcodes/control_flow.js +4 -4
  106. package/dest/public/avm/opcodes/conversion.d.ts +3 -3
  107. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  108. package/dest/public/avm/opcodes/conversion.js +4 -4
  109. package/dest/public/avm/opcodes/ec_add.d.ts +3 -5
  110. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  111. package/dest/public/avm/opcodes/ec_add.js +24 -29
  112. package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
  113. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  114. package/dest/public/avm/opcodes/environment_getters.js +6 -6
  115. package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
  116. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  117. package/dest/public/avm/opcodes/external_calls.js +23 -22
  118. package/dest/public/avm/opcodes/hashing.d.ts +7 -7
  119. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  120. package/dest/public/avm/opcodes/hashing.js +21 -16
  121. package/dest/public/avm/opcodes/index.d.ts +1 -1
  122. package/dest/public/avm/opcodes/instruction.d.ts +2 -2
  123. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  124. package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
  125. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  126. package/dest/public/avm/opcodes/instruction_impl.js +4 -4
  127. package/dest/public/avm/opcodes/memory.d.ts +13 -13
  128. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  129. package/dest/public/avm/opcodes/memory.js +26 -26
  130. package/dest/public/avm/opcodes/misc.d.ts +3 -3
  131. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  132. package/dest/public/avm/opcodes/misc.js +8 -8
  133. package/dest/public/avm/opcodes/storage.d.ts +14 -13
  134. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  135. package/dest/public/avm/opcodes/storage.js +34 -24
  136. package/dest/public/avm/revert_reason.d.ts +2 -2
  137. package/dest/public/avm/revert_reason.d.ts.map +1 -1
  138. package/dest/public/avm/revert_reason.js +3 -2
  139. package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
  140. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  141. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  142. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  143. package/dest/public/avm/serialization/bytecode_serialization.js +12 -9
  144. package/dest/public/avm/serialization/instruction_serialization.d.ts +2 -2
  145. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  146. package/dest/public/avm/serialization/instruction_serialization.js +2 -2
  147. package/dest/public/avm/test_utils.d.ts +2 -2
  148. package/dest/public/avm/test_utils.d.ts.map +1 -1
  149. package/dest/public/avm/test_utils.js +1 -1
  150. package/dest/public/contracts_db_checkpoint.d.ts +16 -0
  151. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
  152. package/dest/public/contracts_db_checkpoint.js +30 -0
  153. package/dest/public/db_interfaces.d.ts +14 -2
  154. package/dest/public/db_interfaces.d.ts.map +1 -1
  155. package/dest/public/debug_fn_name.d.ts +16 -3
  156. package/dest/public/debug_fn_name.d.ts.map +1 -1
  157. package/dest/public/debug_fn_name.js +31 -3
  158. package/dest/public/executor_metrics.d.ts +3 -2
  159. package/dest/public/executor_metrics.d.ts.map +1 -1
  160. package/dest/public/executor_metrics.js +13 -34
  161. package/dest/public/executor_metrics_interface.d.ts +3 -2
  162. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  163. package/dest/public/fixtures/amm_test.d.ts +1 -1
  164. package/dest/public/fixtures/amm_test.js +4 -4
  165. package/dest/public/fixtures/bulk_test.d.ts +3 -3
  166. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  167. package/dest/public/fixtures/bulk_test.js +36 -73
  168. package/dest/public/fixtures/custom_bytecode_tester.d.ts +29 -7
  169. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  170. package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
  171. package/dest/public/fixtures/custom_bytecode_tests.d.ts +13 -8
  172. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  173. package/dest/public/fixtures/custom_bytecode_tests.js +143 -18
  174. package/dest/public/fixtures/index.d.ts +4 -2
  175. package/dest/public/fixtures/index.d.ts.map +1 -1
  176. package/dest/public/fixtures/index.js +3 -1
  177. package/dest/public/fixtures/minimal_public_tx.d.ts +2 -8
  178. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  179. package/dest/public/fixtures/minimal_public_tx.js +6 -16
  180. package/dest/public/fixtures/opcode_spammer.d.ts +122 -0
  181. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  182. package/dest/public/fixtures/opcode_spammer.js +1645 -0
  183. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +29 -10
  184. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  185. package/dest/public/fixtures/public_tx_simulation_tester.js +97 -29
  186. package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
  187. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  188. package/dest/public/fixtures/simple_contract_data_source.js +4 -4
  189. package/dest/public/fixtures/token_test.d.ts +6 -2
  190. package/dest/public/fixtures/token_test.d.ts.map +1 -1
  191. package/dest/public/fixtures/token_test.js +13 -12
  192. package/dest/public/fixtures/utils.d.ts +3 -3
  193. package/dest/public/fixtures/utils.d.ts.map +1 -1
  194. package/dest/public/fixtures/utils.js +23 -23
  195. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +60 -0
  196. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  197. package/dest/public/fuzzing/avm_fuzzer_simulator.js +171 -0
  198. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  199. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  200. package/dest/public/fuzzing/avm_simulator_bin.js +118 -0
  201. package/dest/public/hinting_db_sources.d.ts +17 -7
  202. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  203. package/dest/public/hinting_db_sources.js +77 -18
  204. package/dest/public/index.d.ts +3 -2
  205. package/dest/public/index.d.ts.map +1 -1
  206. package/dest/public/index.js +1 -1
  207. package/dest/public/public_db_sources.d.ts +29 -66
  208. package/dest/public/public_db_sources.d.ts.map +1 -1
  209. package/dest/public/public_db_sources.js +83 -134
  210. package/dest/public/public_errors.d.ts +1 -1
  211. package/dest/public/public_errors.d.ts.map +1 -1
  212. package/dest/public/public_processor/guarded_merkle_tree.d.ts +9 -7
  213. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  214. package/dest/public/public_processor/guarded_merkle_tree.js +9 -4
  215. package/dest/public/public_processor/public_processor.d.ts +19 -21
  216. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  217. package/dest/public/public_processor/public_processor.js +554 -124
  218. package/dest/public/public_processor/public_processor_metrics.d.ts +5 -2
  219. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  220. package/dest/public/public_processor/public_processor_metrics.js +36 -45
  221. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +19 -0
  222. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
  223. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +99 -0
  224. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +35 -23
  225. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  226. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +95 -53
  227. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  228. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  229. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  230. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  231. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  232. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  233. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +23 -0
  234. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  235. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  236. package/dest/public/public_tx_simulator/factories.d.ts +14 -0
  237. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  238. package/dest/public/public_tx_simulator/factories.js +28 -0
  239. package/dest/public/public_tx_simulator/index.d.ts +5 -1
  240. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  241. package/dest/public/public_tx_simulator/index.js +3 -0
  242. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +14 -7
  243. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  244. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +5 -5
  245. package/dest/public/public_tx_simulator/public_tx_context.d.ts +14 -6
  246. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  247. package/dest/public/public_tx_simulator/public_tx_context.js +25 -19
  248. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +20 -34
  249. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  250. package/dest/public/public_tx_simulator/public_tx_simulator.js +127 -134
  251. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +25 -2
  252. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
  253. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +4 -4
  254. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  255. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
  256. package/dest/public/side_effect_errors.d.ts +1 -1
  257. package/dest/public/side_effect_errors.d.ts.map +1 -1
  258. package/dest/public/side_effect_trace.d.ts +5 -5
  259. package/dest/public/side_effect_trace.d.ts.map +1 -1
  260. package/dest/public/side_effect_trace.js +4 -4
  261. package/dest/public/side_effect_trace_interface.d.ts +3 -4
  262. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  263. package/dest/public/state_manager/index.d.ts +1 -1
  264. package/dest/public/state_manager/nullifiers.d.ts +2 -2
  265. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  266. package/dest/public/state_manager/public_storage.d.ts +2 -2
  267. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  268. package/dest/public/state_manager/public_storage.js +1 -1
  269. package/dest/public/state_manager/state_manager.d.ts +16 -12
  270. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  271. package/dest/public/state_manager/state_manager.js +21 -10
  272. package/dest/public/test_executor_metrics.d.ts +11 -4
  273. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  274. package/dest/public/test_executor_metrics.js +29 -6
  275. package/dest/public/unique_class_ids.d.ts +1 -1
  276. package/dest/public/unique_class_ids.d.ts.map +1 -1
  277. package/dest/public/utils.d.ts +1 -1
  278. package/dest/server.d.ts +1 -1
  279. package/dest/testing.d.ts +1 -1
  280. package/package.json +21 -20
  281. package/src/common/errors.ts +1 -1
  282. package/src/private/acvm/acvm.ts +4 -3
  283. package/src/private/acvm/deserialize.ts +1 -1
  284. package/src/private/acvm/serialize.ts +1 -1
  285. package/src/private/acvm_native.ts +11 -5
  286. package/src/private/acvm_wasm.ts +11 -4
  287. package/src/private/circuit_recording/circuit_recorder.ts +24 -21
  288. package/src/private/circuit_recording/file_circuit_recorder.ts +7 -2
  289. package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
  290. package/src/private/factory.ts +7 -4
  291. package/src/public/avm/avm_context.ts +2 -2
  292. package/src/public/avm/avm_contract_call_result.ts +8 -6
  293. package/src/public/avm/avm_execution_environment.ts +13 -10
  294. package/src/public/avm/avm_gas.ts +5 -5
  295. package/src/public/avm/avm_machine_state.ts +7 -6
  296. package/src/public/avm/avm_memory_types.ts +5 -1
  297. package/src/public/avm/avm_simulator.ts +20 -15
  298. package/src/public/avm/calldata.ts +101 -0
  299. package/src/public/avm/errors.ts +17 -3
  300. package/src/public/avm/fixtures/account_proof.json +553 -0
  301. package/src/public/avm/fixtures/account_proof_fetcher.ts +166 -0
  302. package/src/public/avm/fixtures/avm_simulation_tester.ts +18 -4
  303. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +23 -3
  304. package/src/public/avm/fixtures/initializers.ts +10 -11
  305. package/src/public/avm/fixtures/utils.ts +6 -2
  306. package/src/public/avm/opcodes/accrued_substate.ts +31 -34
  307. package/src/public/avm/opcodes/addressing_mode.ts +2 -2
  308. package/src/public/avm/opcodes/arithmetic.ts +14 -2
  309. package/src/public/avm/opcodes/bitwise.ts +3 -3
  310. package/src/public/avm/opcodes/comparators.ts +1 -1
  311. package/src/public/avm/opcodes/contract.ts +9 -8
  312. package/src/public/avm/opcodes/control_flow.ts +2 -2
  313. package/src/public/avm/opcodes/conversion.ts +3 -3
  314. package/src/public/avm/opcodes/ec_add.ts +23 -33
  315. package/src/public/avm/opcodes/environment_getters.ts +7 -7
  316. package/src/public/avm/opcodes/external_calls.ts +18 -16
  317. package/src/public/avm/opcodes/hashing.ts +16 -10
  318. package/src/public/avm/opcodes/instruction_impl.ts +2 -2
  319. package/src/public/avm/opcodes/memory.ts +20 -20
  320. package/src/public/avm/opcodes/misc.ts +6 -6
  321. package/src/public/avm/opcodes/storage.ts +30 -22
  322. package/src/public/avm/revert_reason.ts +6 -3
  323. package/src/public/avm/serialization/bytecode_serialization.ts +19 -8
  324. package/src/public/avm/serialization/instruction_serialization.ts +2 -2
  325. package/src/public/avm/test_utils.ts +1 -1
  326. package/src/public/contracts_db_checkpoint.ts +41 -0
  327. package/src/public/db_interfaces.ts +16 -1
  328. package/src/public/debug_fn_name.ts +39 -5
  329. package/src/public/executor_metrics.ts +11 -34
  330. package/src/public/executor_metrics_interface.ts +2 -1
  331. package/src/public/fixtures/amm_test.ts +4 -4
  332. package/src/public/fixtures/bulk_test.ts +38 -13
  333. package/src/public/fixtures/custom_bytecode_tester.ts +54 -20
  334. package/src/public/fixtures/custom_bytecode_tests.ts +249 -18
  335. package/src/public/fixtures/index.ts +7 -1
  336. package/src/public/fixtures/minimal_public_tx.ts +7 -17
  337. package/src/public/fixtures/opcode_spammer.ts +1713 -0
  338. package/src/public/fixtures/public_tx_simulation_tester.ts +129 -24
  339. package/src/public/fixtures/simple_contract_data_source.ts +8 -9
  340. package/src/public/fixtures/token_test.ts +18 -10
  341. package/src/public/fixtures/utils.ts +28 -25
  342. package/src/public/fuzzing/avm_fuzzer_simulator.ts +288 -0
  343. package/src/public/fuzzing/avm_simulator_bin.ts +175 -0
  344. package/src/public/hinting_db_sources.ts +121 -16
  345. package/src/public/index.ts +6 -4
  346. package/src/public/public_db_sources.ts +112 -174
  347. package/src/public/public_processor/guarded_merkle_tree.ts +13 -8
  348. package/src/public/public_processor/public_processor.ts +226 -137
  349. package/src/public/public_processor/public_processor_metrics.ts +28 -44
  350. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +125 -0
  351. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +141 -59
  352. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +134 -0
  353. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +239 -0
  354. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +83 -0
  355. package/src/public/public_tx_simulator/factories.ts +44 -0
  356. package/src/public/public_tx_simulator/index.ts +4 -0
  357. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +10 -14
  358. package/src/public/public_tx_simulator/public_tx_context.ts +30 -19
  359. package/src/public/public_tx_simulator/public_tx_simulator.ts +185 -202
  360. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +24 -2
  361. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +3 -3
  362. package/src/public/side_effect_trace.ts +6 -3
  363. package/src/public/side_effect_trace_interface.ts +1 -1
  364. package/src/public/state_manager/nullifiers.ts +1 -1
  365. package/src/public/state_manager/public_storage.ts +1 -1
  366. package/src/public/state_manager/state_manager.ts +35 -26
  367. package/src/public/test_executor_metrics.ts +34 -8
  368. package/dest/public/tx_contract_cache.d.ts +0 -41
  369. package/dest/public/tx_contract_cache.d.ts.map +0 -1
  370. package/dest/public/tx_contract_cache.js +0 -49
  371. package/src/public/tx_contract_cache.ts +0 -69
@@ -0,0 +1,30 @@
1
+ export class ContractsDbCheckpoint {
2
+ instances = new Map();
3
+ classes = new Map();
4
+ bytecodeCommitments = new Map();
5
+ addInstance(address, instance) {
6
+ this.instances.set(address.toString(), instance);
7
+ }
8
+ addClass(classId, contractClass) {
9
+ this.classes.set(classId.toString(), contractClass);
10
+ }
11
+ addBytecodeCommitment(classId, commitment) {
12
+ this.bytecodeCommitments.set(classId.toString(), commitment);
13
+ }
14
+ getInstance(address) {
15
+ return this.instances.get(address.toString());
16
+ }
17
+ getClass(classId) {
18
+ return this.classes.get(classId.toString());
19
+ }
20
+ getBytecodeCommitment(classId) {
21
+ return this.bytecodeCommitments.get(classId.toString());
22
+ }
23
+ fork() {
24
+ const copy = new ContractsDbCheckpoint();
25
+ this.instances.forEach((value, key)=>copy.instances.set(key, value));
26
+ this.classes.forEach((value, key)=>copy.classes.set(key, value));
27
+ this.bytecodeCommitments.forEach((value, key)=>copy.bytecodeCommitments.set(key, value));
28
+ return copy;
29
+ }
30
+ }
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { FunctionSelector } from '@aztec/stdlib/abi';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
@@ -52,5 +52,17 @@ export interface PublicContractsDBInterface {
52
52
  * @returns The name of the function or undefined if not found.
53
53
  */
54
54
  getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
55
+ /**
56
+ * Creates a checkpoint of the current contract state.
57
+ */
58
+ createCheckpoint(): void;
59
+ /**
60
+ * Commits the current checkpoint, merging its state with the parent.
61
+ */
62
+ commitCheckpoint(): void;
63
+ /**
64
+ * Reverts the current checkpoint, discarding its state.
65
+ */
66
+ revertCheckpoint(): void;
55
67
  }
56
- //# sourceMappingURL=db_interfaces.d.ts.map
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJfaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kYl9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sV0FBVyxzQkFBc0I7SUFDckM7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUzRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0U7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVywwQkFBMEI7SUFDekM7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRWhIOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoRjs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXBFOzs7OztPQUtHO0lBQ0gsb0JBQW9CLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3Rzs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNILGdCQUFnQixJQUFJLElBQUksQ0FBQztDQUMxQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAEhH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G"}
1
+ {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAEhH;;;;OAIG;IACH,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7G;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;CAC1B"}
@@ -1,5 +1,18 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import { FunctionSelector } from '@aztec/stdlib/abi';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { CallData } from './avm/calldata.js';
3
4
  import type { PublicContractsDBInterface } from './db_interfaces.js';
4
- export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: Fr[]): Promise<string>;
5
- //# sourceMappingURL=debug_fn_name.d.ts.map
5
+ export declare function getPublicFunctionDebugName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: CallData): Promise<string>;
6
+ /**
7
+ * Get the function selector and optional debug name for a public function.
8
+ * Returns the selector and name separately, with name only populated if a debug name is available.
9
+ * @param db - The contracts database
10
+ * @param contractAddress - The contract address
11
+ * @param calldata - The calldata (selector is in calldata[0])
12
+ * @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
13
+ */
14
+ export declare function getPublicFunctionSelectorAndName(db: PublicContractsDBInterface, contractAddress: AztecAddress, calldata: CallData): Promise<{
15
+ functionSelector?: FunctionSelector;
16
+ functionName?: string;
17
+ }>;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfZm5fbmFtZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9kZWJ1Z19mbl9uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckUsd0JBQXNCLDBCQUEwQixDQUM5QyxFQUFFLEVBQUUsMEJBQTBCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxRQUFRLEdBQ2pCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FZakI7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLGdDQUFnQyxDQUNwRCxFQUFFLEVBQUUsMEJBQTBCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxRQUFRLEdBQ2pCLE9BQU8sQ0FBQztJQUFFLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFBQyxZQUFZLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDLENBZXpFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"debug_fn_name.d.ts","sourceRoot":"","sources":["../../src/public/debug_fn_name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,0BAA0B,EAC9B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAezE"}
@@ -1,9 +1,37 @@
1
1
  import { FunctionSelector } from '@aztec/stdlib/abi';
2
2
  export async function getPublicFunctionDebugName(db, contractAddress, calldata) {
3
3
  // Public function is dispatched and therefore the target function is passed in the first argument.
4
- if (!calldata[0]) {
4
+ const selectorField = calldata.read(0);
5
+ if (!selectorField) {
5
6
  return `<calldata[0] undefined> (Contract Address: ${contractAddress})`;
6
7
  }
7
- const selector = FunctionSelector.fromField(calldata[0]);
8
- return await db.getDebugFunctionName(contractAddress, selector) ?? selector.toString();
8
+ const fallbackName = `<calldata[0]:${selectorField.toString()}> (Contract Address: ${contractAddress})`;
9
+ const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
10
+ if (!selector) {
11
+ return fallbackName;
12
+ }
13
+ return await db.getDebugFunctionName(contractAddress, selector) ?? fallbackName;
14
+ }
15
+ /**
16
+ * Get the function selector and optional debug name for a public function.
17
+ * Returns the selector and name separately, with name only populated if a debug name is available.
18
+ * @param db - The contracts database
19
+ * @param contractAddress - The contract address
20
+ * @param calldata - The calldata (selector is in calldata[0])
21
+ * @returns An object with functionSelector (always if calldata[0] exists) and functionName (only if debug name found)
22
+ */ export async function getPublicFunctionSelectorAndName(db, contractAddress, calldata) {
23
+ // Public function is dispatched and therefore the target function is passed in the first argument.
24
+ const selectorField = calldata.read(0);
25
+ if (!selectorField) {
26
+ return {};
27
+ }
28
+ const selector = FunctionSelector.fromFieldOrUndefined(selectorField);
29
+ if (!selector) {
30
+ return {};
31
+ }
32
+ const debugName = await db.getDebugFunctionName(contractAddress, selector);
33
+ return {
34
+ functionSelector: selector,
35
+ functionName: debugName ?? undefined
36
+ };
9
37
  }
@@ -1,4 +1,5 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
3
4
  import type { ExecutorMetricsInterface } from './executor_metrics_interface.js';
4
5
  export declare class ExecutorMetrics implements ExecutorMetricsInterface {
@@ -12,9 +13,9 @@ export declare class ExecutorMetrics implements ExecutorMetricsInterface {
12
13
  private privateEffectsInsertions;
13
14
  constructor(client: TelemetryClient, name?: string);
14
15
  startRecordingTxSimulation(_txLabel: string): void;
15
- stopRecordingTxSimulation(_txLabel: string, _revertedCode?: RevertCode): void;
16
+ stopRecordingTxSimulation(_txLabel: string, _gasUsed?: GasUsed, _revertedCode?: RevertCode): void;
16
17
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
17
18
  recordEnqueuedCallSimulationFailure(_fnName: string, _durationMs: number, _manaUsed: number, _totalInstructionsExecuted: number): void;
18
19
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
19
20
  }
20
- //# sourceMappingURL=executor_metrics.d.ts.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3JfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRvcl9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFJTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLHFCQUFhLGVBQWdCLFlBQVcsd0JBQXdCO0lBQzlELFNBQWdCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUM5QixPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxRQUFRLENBQVk7SUFDNUIsT0FBTyxDQUFDLHlCQUF5QixDQUFZO0lBQzdDLE9BQU8sQ0FBQyxTQUFTLENBQVk7SUFDN0IsT0FBTyxDQUFDLHdCQUF3QixDQUFZO0lBRTVDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLFNBQW1CLEVBbUIzRDtJQUVELDBCQUEwQixDQUFDLFFBQVEsRUFBRSxNQUFNLFFBRTFDO0lBRUQseUJBQXlCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsVUFBVSxRQUV6RjtJQUVELDRCQUE0QixDQUMxQixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLHlCQUF5QixFQUFFLE1BQU0sUUFxQmxDO0lBRUQsbUNBQW1DLENBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQ2YsV0FBVyxFQUFFLE1BQU0sRUFDbkIsU0FBUyxFQUFFLE1BQU0sRUFDakIsMEJBQTBCLEVBQUUsTUFBTSxRQUtuQztJQUVELDZCQUE2QixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksR0FBRyxnQkFBZ0IsUUFJdEY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB;IA6C5D,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAI3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU;IAItE,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAuBnC,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM;IAOpC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;CAKxF"}
1
+ {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;IAE5C,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB,EAmB3D;IAED,0BAA0B,CAAC,QAAQ,EAAE,MAAM,QAE1C;IAED,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,UAAU,QAEzF;IAED,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,QAqBlC;IAED,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM,QAKnC;IAED,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,QAItF;CACF"}
@@ -1,4 +1,4 @@
1
- import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
1
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
2
2
  export class ExecutorMetrics {
3
3
  tracer;
4
4
  fnCount;
@@ -11,44 +11,23 @@ export class ExecutorMetrics {
11
11
  constructor(client, name = 'PublicExecutor'){
12
12
  this.tracer = client.getTracer(name);
13
13
  const meter = client.getMeter(name);
14
- this.fnCount = meter.createUpDownCounter(Metrics.PUBLIC_EXECUTOR_SIMULATION_COUNT, {
15
- description: 'Number of functions executed'
16
- });
17
- this.fnDuration = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_DURATION, {
18
- description: 'How long it takes to execute a function',
19
- unit: 'ms',
20
- valueType: ValueType.INT
21
- });
22
- this.manaPerSecond = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_PER_SECOND, {
23
- description: 'Mana used per second',
24
- unit: 'mana/s',
25
- valueType: ValueType.INT
26
- });
27
- this.manaUsed = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_USED, {
28
- description: 'Total mana used',
29
- unit: 'mana',
30
- valueType: ValueType.INT
31
- });
32
- this.totalInstructionsExecuted = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS, {
33
- description: 'Total number of instructions executed',
34
- unit: '#instructions',
35
- valueType: ValueType.INT
36
- });
37
- this.txHashing = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_TX_HASHING, {
38
- description: 'Tx hashing time',
39
- unit: 'ms',
40
- valueType: ValueType.INT
41
- });
42
- this.privateEffectsInsertions = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_PRIVATE_EFFECTS_INSERTION, {
43
- description: 'Private effects insertion time',
44
- unit: 'us',
45
- valueType: ValueType.INT
14
+ this.fnCount = createUpDownCounterWithDefault(meter, Metrics.PUBLIC_EXECUTOR_SIMULATION_COUNT, {
15
+ [Attributes.OK]: [
16
+ true,
17
+ false
18
+ ]
46
19
  });
20
+ this.fnDuration = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_DURATION);
21
+ this.manaPerSecond = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_PER_SECOND);
22
+ this.manaUsed = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_MANA_USED);
23
+ this.totalInstructionsExecuted = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS);
24
+ this.txHashing = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_TX_HASHING);
25
+ this.privateEffectsInsertions = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_PRIVATE_EFFECTS_INSERTION);
47
26
  }
48
27
  startRecordingTxSimulation(_txLabel) {
49
28
  // do nothing (unimplemented)
50
29
  }
51
- stopRecordingTxSimulation(_txLabel, _revertedCode) {
30
+ stopRecordingTxSimulation(_txLabel, _gasUsed, _revertedCode) {
52
31
  // do nothing (unimplemented)
53
32
  }
54
33
  recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructionsExecuted) {
@@ -1,9 +1,10 @@
1
1
  import type { RevertCode } from '@aztec/stdlib/avm';
2
+ import type { GasUsed } from '@aztec/stdlib/gas';
2
3
  export interface ExecutorMetricsInterface {
3
4
  startRecordingTxSimulation(txLabel: string): void;
4
- stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
5
+ stopRecordingTxSimulation(txLabel: string, gasUsed?: GasUsed, revertedCode?: RevertCode): void;
5
6
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
6
7
  recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
7
8
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
8
9
  }
9
- //# sourceMappingURL=executor_metrics_interface.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3JfbWV0cmljc19pbnRlcmZhY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvZXhlY3V0b3JfbWV0cmljc19pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxXQUFXLHdCQUF3QjtJQUN2QywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNsRCx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQy9GLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDcEgsbUNBQW1DLENBQ2pDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE1BQU0sRUFDbEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIseUJBQXlCLEVBQUUsTUFBTSxHQUNoQyxJQUFJLENBQUM7SUFDUiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0NBQ2hHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5E,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,GAChC,IAAI,CAAC;IACR,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
1
+ {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/F,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,GAChC,IAAI,CAAC;IACR,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
@@ -7,4 +7,4 @@ import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
7
7
  * You do NOT need permission to remove this test!
8
8
  */
9
9
  export declare function ammTest(tester: PublicTxSimulationTester, logger: Logger, tokenArtifact: ContractArtifact, ammArtifact: ContractArtifact, expectToBeTrue: (x: boolean) => void): Promise<void>;
10
- //# sourceMappingURL=amm_test.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1tX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvYW1tX3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUk1RTs7OztHQUlHO0FBQ0gsd0JBQXNCLE9BQU8sQ0FDM0IsTUFBTSxFQUFFLHdCQUF3QixFQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsRUFBRSxnQkFBZ0IsRUFDL0IsV0FBVyxFQUFFLGdCQUFnQixFQUM3QixjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxLQUFLLElBQUksaUJBcUdyQyJ9
@@ -1,6 +1,6 @@
1
- import { GeneratorIndex } from '@aztec/constants';
2
- import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Timer } from '@aztec/foundation/timer';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import { setUpToken } from './token_test.js';
@@ -209,5 +209,5 @@ async function computePartialNoteValidityCommitment(partialNote, completer) {
209
209
  return await poseidon2HashWithSeparator([
210
210
  partialNote.commitment,
211
211
  completer
212
- ], GeneratorIndex.PARTIAL_NOTE_VALIDITY_COMMITMENT);
212
+ ], DomainSeparator.PARTIAL_NOTE_VALIDITY_COMMITMENT);
213
213
  }
@@ -1,6 +1,6 @@
1
1
  import type { Logger } from '@aztec/foundation/log';
2
2
  import type { ContractArtifact } from '@aztec/stdlib/abi';
3
3
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
4
- export declare function bulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("../index.js").PublicTxResult>;
5
- export declare function megaBulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("../index.js").PublicTxResult>;
6
- //# sourceMappingURL=bulk_test.d.ts.map
4
+ export declare function bulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
5
+ export declare function megaBulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa190ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2J1bGtfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVFLHdCQUFzQixRQUFRLENBQzVCLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsdURBZ0cxQztBQUVELHdCQUFzQixZQUFZLENBQ2hDLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsdURBaUYxQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"bulk_test.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/bulk_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAkF1C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,iDAsE1C"}
1
+ {"version":3,"file":"bulk_test.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/bulk_test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,uDAgG1C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,uDAiF1C"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { Timer } from '@aztec/foundation/timer';
3
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  export async function bulkTest(tester, logger, avmTestContractArtifact) {
@@ -10,6 +10,7 @@ export async function bulkTest(tester, logger, avmTestContractArtifact) {
10
10
  // Register multiple different protocol contracts (to ensure we don't dedup bytecode hashing events):
11
11
  await tester.registerAuthContract();
12
12
  await tester.registerInstanceRegistryContract();
13
+ await tester.registerClassRegistryContract();
13
14
  // Get a deployed contract instance to pass to the contract
14
15
  // for it to use as "expected" values when testing contract instance retrieval.
15
16
  const expectContractInstance = avmTestContract;
@@ -33,10 +34,23 @@ export async function bulkTest(tester, logger, avmTestContractArtifact) {
33
34
  5,
34
35
  6,
35
36
  7,
36
- 8
37
+ 8,
38
+ 9,
39
+ 10
37
40
  ].map((x)=>new Fr(x));
38
- argsU8.push(new Fr(2n ** 128n + 9n)); // Trigger truncation from large (> 128 bits) value (canonical decomposition event)
39
- argsU8.push(new Fr(2n ** 125n + 10n)); // Trigger truncation from small (< 128 bits) value (no canonical decomposition event)
41
+ // Pinned grumpkin-Poseidon2 Schnorr signature (mirrors the C++ `pinned_test_vector_large`
42
+ // and noir-lang/schnorr v0.4.0's `pinned_vector_large`). Passing these in as calldata
43
+ // (rather than baking them into Noir as constants) keeps MSM + Poseidon2 from being folded
44
+ // by the Noir compiler.
45
+ const schnorrInputs = [
46
+ Fr.fromHexString('0x065812e335a97c2108ea8cf4ccfe2f9dd6b117a0714f5e18461575be93f61da6'),
47
+ Fr.fromHexString('0x1a915003e8ec534f9a15d926a7ded478e178468ccc4f28e236e67450a55ac622'),
48
+ Fr.fromHexString('0xf3bc3b7147acb9c621fd9f72dbf15ffa'),
49
+ Fr.fromHexString('0x08599f379f0301dfefdbd0272554454d'),
50
+ Fr.fromHexString('0x97065383ebbbd76620398792bd259bc2'),
51
+ Fr.fromHexString('0x2ceaee87f45b7a417f0ffb05451a8c92'),
52
+ Fr.fromHexString('0x0123456789abcdef0fedcba9876543210123456789abcdef0fedcba987654321')
53
+ ];
40
54
  const args = [
41
55
  argsField,
42
56
  argsU8,
@@ -44,6 +58,8 @@ export async function bulkTest(tester, logger, avmTestContractArtifact) {
44
58
  /*expectedDeployer=*/ expectContractInstance.deployer,
45
59
  /*expectedClassId=*/ expectContractInstance.currentContractClassId,
46
60
  /*expectedInitializationHash=*/ expectContractInstance.initializationHash,
61
+ /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash,
62
+ /*schnorrInputs=*/ schnorrInputs,
47
63
  /*skip_strictly_limited_side_effects=*/ false
48
64
  ];
49
65
  const bulkResult = await tester.executeTxWithLabel(/*txLabel=*/ 'AvmTest/bulk_testing', /*sender=*/ deployer, /*setupCalls=*/ [], /*appCalls=*/ [
@@ -67,7 +83,7 @@ export async function bulkTest(tester, logger, avmTestContractArtifact) {
67
83
  address: avmTestContract.address,
68
84
  fnName: 'assert_calldata_copy',
69
85
  args: [
70
- argsField.slice(3),
86
+ argsField.slice(0, 3),
71
87
  /* with_selector: */ true
72
88
  ]
73
89
  },
@@ -187,54 +203,10 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
187
203
  9,
188
204
  10
189
205
  ].map((x)=>new Fr(x));
190
- const argsField5 = [
191
- 11,
192
- 2,
193
- 3,
194
- 4,
195
- 5,
196
- 6,
197
- 7,
198
- 8,
199
- 9,
200
- 10
201
- ].map((x)=>new Fr(x));
202
- const argsField6 = [
203
- 13,
204
- 2,
205
- 3,
206
- 4,
207
- 5,
208
- 6,
209
- 7,
210
- 8,
211
- 9,
212
- 10
213
- ].map((x)=>new Fr(x));
214
- const argsField7 = [
215
- 15,
216
- 2,
217
- 3,
218
- 4,
219
- 5,
220
- 6,
221
- 7,
222
- 8,
223
- 9,
224
- 10
225
- ].map((x)=>new Fr(x));
226
- const argsField8 = [
227
- 17,
228
- 2,
229
- 3,
230
- 4,
231
- 5,
232
- 6,
233
- 7,
234
- 8,
235
- 9,
236
- 10
237
- ].map((x)=>new Fr(x));
206
+ //const argsField5 = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(x => new Fr(x));
207
+ //const argsField6 = [13, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(x => new Fr(x));
208
+ //const argsField7 = [15, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(x => new Fr(x));
209
+ //const argsField8 = [17, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(x => new Fr(x));
238
210
  const argsU8 = [
239
211
  1,
240
212
  2,
@@ -247,6 +219,15 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
247
219
  9,
248
220
  10
249
221
  ].map((x)=>new Fr(x));
222
+ const schnorrInputs = [
223
+ Fr.fromHexString('0x065812e335a97c2108ea8cf4ccfe2f9dd6b117a0714f5e18461575be93f61da6'),
224
+ Fr.fromHexString('0x1a915003e8ec534f9a15d926a7ded478e178468ccc4f28e236e67450a55ac622'),
225
+ Fr.fromHexString('0xf3bc3b7147acb9c621fd9f72dbf15ffa'),
226
+ Fr.fromHexString('0x08599f379f0301dfefdbd0272554454d'),
227
+ Fr.fromHexString('0x97065383ebbbd76620398792bd259bc2'),
228
+ Fr.fromHexString('0x2ceaee87f45b7a417f0ffb05451a8c92'),
229
+ Fr.fromHexString('0x0123456789abcdef0fedcba9876543210123456789abcdef0fedcba987654321')
230
+ ];
250
231
  const genArgs = (argsField)=>[
251
232
  argsField,
252
233
  argsU8,
@@ -254,6 +235,8 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
254
235
  /*expectedDeployer=*/ expectContractInstance.deployer.toField(),
255
236
  /*expectedClassId=*/ expectContractInstance.currentContractClassId.toField(),
256
237
  /*expectedInitializationHash=*/ expectContractInstance.initializationHash.toField(),
238
+ /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash.toField(),
239
+ /*schnorrInputs=*/ schnorrInputs,
257
240
  // Must skip strictly limited side effects (logs, messages) so we can spam the bulk test several times.
258
241
  /*skip_strictly_limited_side_effects=*/ true
259
242
  ];
@@ -282,26 +265,6 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
282
265
  address: avmTestContract.address,
283
266
  fnName: 'bulk_testing',
284
267
  args: genArgs(argsField4)
285
- },
286
- {
287
- address: avmTestContract.address,
288
- fnName: 'bulk_testing',
289
- args: genArgs(argsField5)
290
- },
291
- {
292
- address: avmTestContract.address,
293
- fnName: 'bulk_testing',
294
- args: genArgs(argsField6)
295
- },
296
- {
297
- address: avmTestContract.address,
298
- fnName: 'bulk_testing',
299
- args: genArgs(argsField7)
300
- },
301
- {
302
- address: avmTestContract.address,
303
- fnName: 'bulk_testing',
304
- args: genArgs(argsField8)
305
268
  }
306
269
  ], /*teardownCall=*/ undefined, /*feePayer*/ undefined, /*privateInsertions=*/ {
307
270
  nonRevertible: {
@@ -1,12 +1,34 @@
1
- import type { PublicTxResult } from '../public_tx_simulator/public_tx_simulator.js';
1
+ import type { PublicTxResult } from '@aztec/stdlib/avm';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
2
4
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
3
5
  /**
4
- *
5
- * Test custom bytecode (simulation or proving) with the provided bytecode.
6
+ * Deploy a contract with the provided bytecode.
6
7
  * @param bytecode - The bytecode buffer to use
7
- * @param tester - The tester to use (simulation or proving)
8
+ * @param tester - The tester to use
9
+ * @param contractName - The name of the contract
10
+ * @param deployer - The deployer address
11
+ * @returns The deployed contract instance
12
+ */
13
+ export declare function deployCustomBytecode(bytecode: Buffer, tester: PublicTxSimulationTester, contractName?: string, deployer?: AztecAddress): Promise<ContractInstanceWithAddress>;
14
+ /**
15
+ * Execute a custom bytecode contract.
16
+ * @param contract - The contract instance to execute
17
+ * @param tester - The tester to use
18
+ * @param txLabel - The label of the transaction
19
+ * @param calldata - The calldata to use
20
+ * @returns The execution result
21
+ */
22
+ export declare function executeCustomBytecode(contract: ContractInstanceWithAddress, tester: PublicTxSimulationTester, txLabel?: string, calldata?: any[]): Promise<PublicTxResult>;
23
+ /**
24
+ * Deploy and execute a custom bytecode contract.
25
+ * @param bytecode - The bytecode buffer to use
26
+ * @param tester - The tester to use
8
27
  * @param txLabel - The label of the transaction
9
- * @param contractName - The name of the contract (default: 'CustomBytecodeContract')
28
+ * @param contractName - The name of the contract
29
+ * @param deployer - The deployer address
30
+ * @param calldata - The calldata to use
31
+ * @returns The execution result
10
32
  */
11
- export declare function testCustomBytecode(bytecode: Buffer, tester: PublicTxSimulationTester, txLabel: string, contractName?: string): Promise<PublicTxResult>;
12
- //# sourceMappingURL=custom_bytecode_tester.d.ts.map
33
+ export declare function deployAndExecuteCustomBytecode(bytecode: Buffer, tester: PublicTxSimulationTester, txLabel?: string, contractName?: string, deployer?: AztecAddress, calldata?: any[]): Promise<PublicTxResult>;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tX2J5dGVjb2RlX3Rlc3Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9maXh0dXJlcy9jdXN0b21fYnl0ZWNvZGVfdGVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQ3hDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsWUFBWSxHQUFFLE1BQWlDLEVBQy9DLFFBQVEsR0FBRSxZQUEwQyxHQUNuRCxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FpQnRDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQixxQkFBcUIsQ0FDekMsUUFBUSxFQUFFLDJCQUEyQixFQUNyQyxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLE9BQU8sR0FBRSxNQUE2QixFQUN0QyxRQUFRLEdBQUUsR0FBRyxFQUFPLEdBQ25CLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FRekI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsOEJBQThCLENBQ2xELFFBQVEsRUFBRSxNQUFNLEVBQ2hCLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsT0FBTyxHQUFFLE1BQTZCLEVBQ3RDLFlBQVksR0FBRSxNQUFpQyxFQUMvQyxRQUFRLEdBQUUsWUFBMEMsRUFDcEQsUUFBUSxHQUFFLEdBQUcsRUFBTyxHQUNuQixPQUFPLENBQUMsY0FBYyxDQUFDLENBR3pCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"custom_bytecode_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/custom_bytecode_tester.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAiC,GAC9C,OAAO,CAAC,cAAc,CAAC,CA6BzB"}
1
+ {"version":3,"file":"custom_bytecode_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/custom_bytecode_tester.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,wBAAwB,EAChC,YAAY,GAAE,MAAiC,EAC/C,QAAQ,GAAE,YAA0C,GACnD,OAAO,CAAC,2BAA2B,CAAC,CAiBtC;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,2BAA2B,EACrC,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,MAA6B,EACtC,QAAQ,GAAE,GAAG,EAAO,GACnB,OAAO,CAAC,cAAc,CAAC,CAQzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,MAA6B,EACtC,YAAY,GAAE,MAAiC,EAC/C,QAAQ,GAAE,YAA0C,EACpD,QAAQ,GAAE,GAAG,EAAO,GACnB,OAAO,CAAC,cAAc,CAAC,CAGzB"}
@@ -1,29 +1,53 @@
1
1
  import { FunctionType, emptyContractArtifact, emptyFunctionArtifact } from '@aztec/stdlib/abi';
2
2
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  /**
4
- *
5
- * Test custom bytecode (simulation or proving) with the provided bytecode.
4
+ * Deploy a contract with the provided bytecode.
6
5
  * @param bytecode - The bytecode buffer to use
7
- * @param tester - The tester to use (simulation or proving)
8
- * @param txLabel - The label of the transaction
9
- * @param contractName - The name of the contract (default: 'CustomBytecodeContract')
10
- */ export async function testCustomBytecode(bytecode, tester, txLabel, contractName = 'CustomBytecodeContract') {
11
- const deployer = AztecAddress.fromNumber(42);
6
+ * @param tester - The tester to use
7
+ * @param contractName - The name of the contract
8
+ * @param deployer - The deployer address
9
+ * @returns The deployed contract instance
10
+ */ export async function deployCustomBytecode(bytecode, tester, contractName = 'CustomBytecodeContract', deployer = AztecAddress.fromNumber(42)) {
12
11
  const contractArtifact = emptyContractArtifact();
13
12
  contractArtifact.name = contractName;
14
13
  contractArtifact.functions = [
15
14
  emptyFunctionArtifact()
16
15
  ];
16
+ // We use name 'public_dispatch' since that is what is expected
17
+ // in a ContractArtifact. But function selectors are not required
18
+ // when executing since the custom bytecode likely has no dispatch.
17
19
  contractArtifact.functions[0].name = 'public_dispatch';
18
20
  contractArtifact.functions[0].functionType = FunctionType.PUBLIC;
19
21
  contractArtifact.functions[0].bytecode = bytecode;
20
- const testContract = await tester.registerAndDeployContract(/*constructorArgs=*/ [], deployer, /*contractArtifact=*/ contractArtifact);
22
+ // return the contract instance
23
+ return await tester.registerAndDeployContract(/*constructorArgs=*/ [], deployer, /*contractArtifact=*/ contractArtifact);
24
+ }
25
+ /**
26
+ * Execute a custom bytecode contract.
27
+ * @param contract - The contract instance to execute
28
+ * @param tester - The tester to use
29
+ * @param txLabel - The label of the transaction
30
+ * @param calldata - The calldata to use
31
+ * @returns The execution result
32
+ */ export async function executeCustomBytecode(contract, tester, txLabel = 'CustomBytecodeTest', calldata = []) {
21
33
  // EXECUTE! This means that if using AvmProvingTester subclass, it will PROVE the transaction!
22
- return await tester.executeTxWithLabel(/*txLabel=*/ txLabel, /*sender=*/ deployer, /*setupCalls=*/ [], /*appCalls=*/ [
34
+ return await tester.executeTxWithLabel(/*txLabel=*/ txLabel, /*sender=*/ contract.deployer, /*setupCalls=*/ [], /*appCalls=*/ [
23
35
  {
24
- address: testContract.address,
25
- fnName: 'public_dispatch',
26
- args: []
36
+ address: contract.address,
37
+ args: calldata
27
38
  }
28
39
  ]);
29
40
  }
41
+ /**
42
+ * Deploy and execute a custom bytecode contract.
43
+ * @param bytecode - The bytecode buffer to use
44
+ * @param tester - The tester to use
45
+ * @param txLabel - The label of the transaction
46
+ * @param contractName - The name of the contract
47
+ * @param deployer - The deployer address
48
+ * @param calldata - The calldata to use
49
+ * @returns The execution result
50
+ */ export async function deployAndExecuteCustomBytecode(bytecode, tester, txLabel = 'CustomBytecodeTest', contractName = 'CustomBytecodeContract', deployer = AztecAddress.fromNumber(42), calldata = []) {
51
+ const testContract = await deployCustomBytecode(bytecode, tester, contractName, deployer);
52
+ return await executeCustomBytecode(testContract, tester, txLabel, calldata);
53
+ }
@@ -1,9 +1,14 @@
1
1
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
2
- export declare function addressingWithBaseTagIssueTest(isIndirect: boolean, tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
3
- export declare function pcOutOfRangeTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
4
- export declare function invalidOpcodeTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
5
- export declare function invalidByteTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
6
- export declare function instructionTruncatedTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
7
- export declare function invalidTagValueTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
8
- export declare function invalidTagValueAndInstructionTruncatedTest(tester: PublicTxSimulationTester): Promise<import("../index.js").PublicTxResult>;
9
- //# sourceMappingURL=custom_bytecode_tests.d.ts.map
2
+ export declare function addressingWithBaseTagIssueTest(isIndirect: boolean, tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
3
+ export declare function addressingWithIndirectTagIssueTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
4
+ export declare function addressingWithIndirectThenRelativeTagIssueTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
5
+ export declare function addressingWithRelativeOverflowAndIndirectTagIssueTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
6
+ export declare function pcOutOfRangeTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
7
+ export declare function invalidOpcodeTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
8
+ export declare function invalidByteTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
9
+ export declare function instructionTruncatedTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
10
+ export declare function invalidTagValueTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
11
+ export declare function invalidTagValueAndInstructionTruncatedTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
12
+ export declare function setTruncationTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
13
+ export declare function castTruncationTest(tester: PublicTxSimulationTester): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tX2J5dGVjb2RlX3Rlc3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2N1c3RvbV9ieXRlY29kZV90ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUk1RSx3QkFBc0IsOEJBQThCLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsd0JBQXdCLHVEQWN6RztBQUtELHdCQUFzQixrQ0FBa0MsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLHVEQXNCeEY7QUFPRCx3QkFBc0IsOENBQThDLENBQUMsTUFBTSxFQUFFLHdCQUF3Qix1REF3QnBHO0FBT0Qsd0JBQXNCLHFEQUFxRCxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsdURBeUIzRztBQUVELHdCQUFzQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLHVEQVF0RTtBQUVELHdCQUFzQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLHVEQWlCdkU7QUFHRCx3QkFBc0IsZUFBZSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsdURBT3JFO0FBR0Qsd0JBQXNCLHdCQUF3QixDQUFDLE1BQU0sRUFBRSx3QkFBd0IsdURBVTlFO0FBR0Qsd0JBQXNCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSx3QkFBd0IsdURBWXpFO0FBR0Qsd0JBQXNCLDBDQUEwQyxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsdURBaUJoRztBQU1ELHdCQUFzQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLHVEQTJEdkU7QUFNRCx3QkFBc0Isa0JBQWtCLENBQUMsTUFBTSxFQUFFLHdCQUF3Qix1REFtRXhFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"custom_bytecode_tests.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/custom_bytecode_tests.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,iDAczG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,iDAQtE;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,iDAiBvE;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,wBAAwB,iDAOrE;AAGD,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,iDAU9E;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,iDAYzE;AAGD,wBAAsB,0CAA0C,CAAC,MAAM,EAAE,wBAAwB,iDAchG"}
1
+ {"version":3,"file":"custom_bytecode_tests.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/custom_bytecode_tests.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,uDAczG;AAKD,wBAAsB,kCAAkC,CAAC,MAAM,EAAE,wBAAwB,uDAsBxF;AAOD,wBAAsB,8CAA8C,CAAC,MAAM,EAAE,wBAAwB,uDAwBpG;AAOD,wBAAsB,qDAAqD,CAAC,MAAM,EAAE,wBAAwB,uDAyB3G;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,uDAQtE;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,uDAiBvE;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,wBAAwB,uDAOrE;AAGD,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,uDAU9E;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,uDAYzE;AAGD,wBAAsB,0CAA0C,CAAC,MAAM,EAAE,wBAAwB,uDAiBhG;AAMD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,uDA2DvE;AAMD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,uDAmExE"}