@aztec/simulator 0.0.1-commit.9593d84 → 0.0.1-commit.96bb3f7

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 (248) hide show
  1. package/dest/common/errors.d.ts +2 -2
  2. package/dest/common/errors.d.ts.map +1 -1
  3. package/dest/private/acvm/deserialize.d.ts +2 -2
  4. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  5. package/dest/private/acvm/deserialize.js +1 -1
  6. package/dest/private/acvm/serialize.d.ts +2 -2
  7. package/dest/private/acvm/serialize.d.ts.map +1 -1
  8. package/dest/private/acvm/serialize.js +1 -1
  9. package/dest/private/circuit_recording/circuit_recorder.d.ts +1 -1
  10. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  11. package/dest/private/circuit_recording/circuit_recorder.js +16 -15
  12. package/dest/public/avm/avm_context.d.ts +2 -2
  13. package/dest/public/avm/avm_context.d.ts.map +1 -1
  14. package/dest/public/avm/avm_contract_call_result.d.ts +2 -2
  15. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  16. package/dest/public/avm/avm_execution_environment.d.ts +2 -2
  17. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  18. package/dest/public/avm/avm_execution_environment.js +1 -1
  19. package/dest/public/avm/avm_gas.d.ts +1 -1
  20. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  21. package/dest/public/avm/avm_machine_state.d.ts +2 -2
  22. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  23. package/dest/public/avm/avm_memory_types.d.ts +2 -2
  24. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  25. package/dest/public/avm/avm_memory_types.js +1 -1
  26. package/dest/public/avm/avm_simulator.d.ts +2 -2
  27. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  28. package/dest/public/avm/avm_simulator.js +6 -5
  29. package/dest/public/avm/errors.d.ts +8 -2
  30. package/dest/public/avm/errors.d.ts.map +1 -1
  31. package/dest/public/avm/errors.js +14 -2
  32. package/dest/public/avm/fixtures/avm_simulation_tester.js +1 -1
  33. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +2 -2
  34. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
  35. package/dest/public/avm/fixtures/base_avm_simulation_tester.js +1 -1
  36. package/dest/public/avm/fixtures/initializers.d.ts +2 -2
  37. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  38. package/dest/public/avm/fixtures/initializers.js +3 -3
  39. package/dest/public/avm/fixtures/utils.d.ts +4 -3
  40. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  41. package/dest/public/avm/fixtures/utils.js +3 -2
  42. package/dest/public/avm/opcodes/accrued_substate.js +1 -1
  43. package/dest/public/avm/opcodes/addressing_mode.js +2 -2
  44. package/dest/public/avm/opcodes/arithmetic.d.ts +3 -1
  45. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  46. package/dest/public/avm/opcodes/arithmetic.js +11 -1
  47. package/dest/public/avm/opcodes/ec_add.js +2 -2
  48. package/dest/public/avm/opcodes/environment_getters.d.ts +3 -3
  49. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  50. package/dest/public/avm/opcodes/environment_getters.js +2 -2
  51. package/dest/public/avm/opcodes/external_calls.d.ts +1 -1
  52. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  53. package/dest/public/avm/opcodes/external_calls.js +1 -0
  54. package/dest/public/avm/opcodes/hashing.d.ts +1 -1
  55. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  56. package/dest/public/avm/opcodes/hashing.js +9 -4
  57. package/dest/public/avm/opcodes/memory.js +1 -1
  58. package/dest/public/avm/opcodes/misc.js +2 -2
  59. package/dest/public/avm/revert_reason.d.ts +2 -2
  60. package/dest/public/avm/revert_reason.d.ts.map +1 -1
  61. package/dest/public/avm/revert_reason.js +3 -2
  62. package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
  63. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  64. package/dest/public/avm/serialization/bytecode_serialization.js +9 -6
  65. package/dest/public/avm/serialization/instruction_serialization.js +1 -1
  66. package/dest/public/avm/test_utils.d.ts +2 -2
  67. package/dest/public/avm/test_utils.d.ts.map +1 -1
  68. package/dest/public/avm/test_utils.js +1 -1
  69. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  70. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  71. package/dest/public/db_interfaces.d.ts +2 -2
  72. package/dest/public/db_interfaces.d.ts.map +1 -1
  73. package/dest/public/debug_fn_name.d.ts +15 -2
  74. package/dest/public/debug_fn_name.d.ts.map +1 -1
  75. package/dest/public/debug_fn_name.js +28 -2
  76. package/dest/public/executor_metrics.d.ts +1 -1
  77. package/dest/public/executor_metrics.d.ts.map +1 -1
  78. package/dest/public/executor_metrics.js +8 -34
  79. package/dest/public/fixtures/amm_test.js +2 -2
  80. package/dest/public/fixtures/bulk_test.js +5 -69
  81. package/dest/public/fixtures/custom_bytecode_tester.d.ts +28 -6
  82. package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
  83. package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
  84. package/dest/public/fixtures/custom_bytecode_tests.d.ts +4 -1
  85. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  86. package/dest/public/fixtures/custom_bytecode_tests.js +74 -9
  87. package/dest/public/fixtures/index.d.ts +4 -2
  88. package/dest/public/fixtures/index.d.ts.map +1 -1
  89. package/dest/public/fixtures/index.js +3 -1
  90. package/dest/public/fixtures/minimal_public_tx.d.ts +2 -7
  91. package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
  92. package/dest/public/fixtures/minimal_public_tx.js +2 -12
  93. package/dest/public/fixtures/opcode_spammer.d.ts +123 -0
  94. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
  95. package/dest/public/fixtures/opcode_spammer.js +1681 -0
  96. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +22 -3
  97. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  98. package/dest/public/fixtures/public_tx_simulation_tester.js +50 -13
  99. package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
  100. package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
  101. package/dest/public/fixtures/simple_contract_data_source.js +4 -4
  102. package/dest/public/fixtures/token_test.d.ts +6 -2
  103. package/dest/public/fixtures/token_test.d.ts.map +1 -1
  104. package/dest/public/fixtures/token_test.js +13 -11
  105. package/dest/public/fixtures/utils.d.ts +2 -2
  106. package/dest/public/fixtures/utils.d.ts.map +1 -1
  107. package/dest/public/fixtures/utils.js +4 -3
  108. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +46 -0
  109. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
  110. package/dest/public/fuzzing/avm_fuzzer_simulator.js +139 -0
  111. package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
  112. package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
  113. package/dest/public/fuzzing/avm_simulator_bin.js +111 -0
  114. package/dest/public/hinting_db_sources.d.ts +5 -3
  115. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  116. package/dest/public/hinting_db_sources.js +7 -2
  117. package/dest/public/index.d.ts +2 -2
  118. package/dest/public/index.d.ts.map +1 -1
  119. package/dest/public/index.js +1 -1
  120. package/dest/public/public_db_sources.d.ts +2 -2
  121. package/dest/public/public_db_sources.d.ts.map +1 -1
  122. package/dest/public/public_db_sources.js +1 -1
  123. package/dest/public/public_processor/guarded_merkle_tree.d.ts +4 -2
  124. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  125. package/dest/public/public_processor/guarded_merkle_tree.js +5 -0
  126. package/dest/public/public_processor/public_processor.d.ts +5 -5
  127. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  128. package/dest/public/public_processor/public_processor.js +434 -42
  129. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  130. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  131. package/dest/public/public_processor/public_processor_metrics.js +12 -45
  132. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +1 -13
  133. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -1
  134. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +18 -53
  135. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +21 -34
  136. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  137. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +60 -139
  138. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
  139. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
  140. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
  141. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
  142. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
  143. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
  144. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +22 -0
  145. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
  146. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
  147. package/dest/public/public_tx_simulator/factories.d.ts +13 -0
  148. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
  149. package/dest/public/public_tx_simulator/factories.js +28 -0
  150. package/dest/public/public_tx_simulator/index.d.ts +4 -1
  151. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  152. package/dest/public/public_tx_simulator/index.js +3 -0
  153. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +2 -2
  154. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  155. package/dest/public/public_tx_simulator/public_tx_context.d.ts +2 -2
  156. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  157. package/dest/public/public_tx_simulator/public_tx_context.js +1 -1
  158. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +3 -3
  159. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  160. package/dest/public/public_tx_simulator/public_tx_simulator.js +11 -5
  161. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +24 -1
  162. package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
  163. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +2 -2
  164. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  165. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
  166. package/dest/public/side_effect_trace.d.ts +2 -2
  167. package/dest/public/side_effect_trace.d.ts.map +1 -1
  168. package/dest/public/side_effect_trace.js +1 -1
  169. package/dest/public/side_effect_trace_interface.d.ts +2 -2
  170. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  171. package/dest/public/state_manager/nullifiers.d.ts +2 -2
  172. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  173. package/dest/public/state_manager/public_storage.d.ts +2 -2
  174. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  175. package/dest/public/state_manager/public_storage.js +1 -1
  176. package/dest/public/state_manager/state_manager.d.ts +7 -2
  177. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  178. package/dest/public/state_manager/state_manager.js +5 -2
  179. package/package.json +19 -19
  180. package/src/common/errors.ts +1 -1
  181. package/src/private/acvm/deserialize.ts +1 -1
  182. package/src/private/acvm/serialize.ts +1 -1
  183. package/src/private/circuit_recording/circuit_recorder.ts +17 -16
  184. package/src/public/avm/avm_context.ts +1 -1
  185. package/src/public/avm/avm_contract_call_result.ts +1 -1
  186. package/src/public/avm/avm_execution_environment.ts +1 -1
  187. package/src/public/avm/avm_gas.ts +3 -3
  188. package/src/public/avm/avm_machine_state.ts +1 -1
  189. package/src/public/avm/avm_memory_types.ts +1 -1
  190. package/src/public/avm/avm_simulator.ts +8 -5
  191. package/src/public/avm/errors.ts +17 -3
  192. package/src/public/avm/fixtures/avm_simulation_tester.ts +1 -1
  193. package/src/public/avm/fixtures/base_avm_simulation_tester.ts +1 -1
  194. package/src/public/avm/fixtures/initializers.ts +3 -3
  195. package/src/public/avm/fixtures/utils.ts +3 -2
  196. package/src/public/avm/opcodes/accrued_substate.ts +1 -1
  197. package/src/public/avm/opcodes/addressing_mode.ts +2 -2
  198. package/src/public/avm/opcodes/arithmetic.ts +13 -1
  199. package/src/public/avm/opcodes/ec_add.ts +2 -2
  200. package/src/public/avm/opcodes/environment_getters.ts +4 -4
  201. package/src/public/avm/opcodes/external_calls.ts +1 -0
  202. package/src/public/avm/opcodes/hashing.ts +10 -4
  203. package/src/public/avm/opcodes/memory.ts +1 -1
  204. package/src/public/avm/opcodes/misc.ts +2 -2
  205. package/src/public/avm/revert_reason.ts +6 -3
  206. package/src/public/avm/serialization/bytecode_serialization.ts +17 -6
  207. package/src/public/avm/serialization/instruction_serialization.ts +1 -1
  208. package/src/public/avm/test_utils.ts +1 -1
  209. package/src/public/contracts_db_checkpoint.ts +1 -1
  210. package/src/public/db_interfaces.ts +1 -1
  211. package/src/public/debug_fn_name.ts +35 -3
  212. package/src/public/executor_metrics.ts +7 -34
  213. package/src/public/fixtures/amm_test.ts +2 -2
  214. package/src/public/fixtures/bulk_test.ts +9 -9
  215. package/src/public/fixtures/custom_bytecode_tester.ts +53 -19
  216. package/src/public/fixtures/custom_bytecode_tests.ts +93 -9
  217. package/src/public/fixtures/index.ts +7 -1
  218. package/src/public/fixtures/minimal_public_tx.ts +4 -13
  219. package/src/public/fixtures/opcode_spammer.ts +1638 -0
  220. package/src/public/fixtures/public_tx_simulation_tester.ts +69 -13
  221. package/src/public/fixtures/simple_contract_data_source.ts +8 -9
  222. package/src/public/fixtures/token_test.ts +18 -9
  223. package/src/public/fixtures/utils.ts +2 -3
  224. package/src/public/fuzzing/avm_fuzzer_simulator.ts +240 -0
  225. package/src/public/fuzzing/avm_simulator_bin.ts +153 -0
  226. package/src/public/hinting_db_sources.ts +8 -3
  227. package/src/public/index.ts +7 -1
  228. package/src/public/public_db_sources.ts +1 -1
  229. package/src/public/public_processor/guarded_merkle_tree.ts +6 -1
  230. package/src/public/public_processor/public_processor.ts +43 -27
  231. package/src/public/public_processor/public_processor_metrics.ts +11 -45
  232. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +19 -60
  233. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +75 -174
  234. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +132 -0
  235. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +237 -0
  236. package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +81 -0
  237. package/src/public/public_tx_simulator/factories.ts +41 -0
  238. package/src/public/public_tx_simulator/index.ts +3 -0
  239. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +1 -1
  240. package/src/public/public_tx_simulator/public_tx_context.ts +1 -1
  241. package/src/public/public_tx_simulator/public_tx_simulator.ts +24 -9
  242. package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +23 -0
  243. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +1 -1
  244. package/src/public/side_effect_trace.ts +1 -1
  245. package/src/public/side_effect_trace_interface.ts +1 -1
  246. package/src/public/state_manager/nullifiers.ts +1 -1
  247. package/src/public/state_manager/public_storage.ts +1 -1
  248. package/src/public/state_manager/state_manager.ts +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"nullifiers.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/nullifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,kCAAkC;IAClC,OAAO,CAAC,KAAK;IACb,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN1B;IACE,+DAA+D;IAC9C,cAAc,EAAE,aAAa;IAC9C,kCAAkC;IAC1B,KAAK,GAAE,GAAG,CAAC,MAAM,CAAa;IACtC,+CAA+C;IAC9B,MAAM,CAAC,8BAAkB,EACxC;IAEJ;;OAEG;IACI,IAAI,qBAEV;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;;;;OAUG;IACU,WAAW,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAiB7F;IAED;;;;OAIG;IACU,MAAM,CAAC,eAAe,EAAE,EAAE,iBAMtC;IAED;;;;OAIG;IACI,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,QASzD;CACF"}
1
+ {"version":3,"file":"nullifiers.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/nullifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,kCAAkC;IAClC,OAAO,CAAC,KAAK;IACb,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN1B;IACE,+DAA+D;IAC9C,cAAc,EAAE,aAAa;IAC9C,kCAAkC;IAC1B,KAAK,GAAE,GAAG,CAAC,MAAM,CAAa;IACtC,+CAA+C;IAC9B,MAAM,CAAC,8BAAkB,EACxC;IAEJ;;OAEG;IACI,IAAI,qBAEV;IAED;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;;;;OAUG;IACU,WAAW,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAiB7F;IAED;;;;OAIG;IACU,MAAM,CAAC,eAAe,EAAE,EAAE,iBAMtC;IAED;;;;OAIG;IACI,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,QASzD;CACF"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { PublicStateDBInterface } from '../db_interfaces.js';
4
4
  type PublicStorageReadResult = {
@@ -63,4 +63,4 @@ export declare class PublicStorage {
63
63
  acceptAndMerge(incomingPublicStorage: PublicStorage): void;
64
64
  }
65
65
  export {};
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3N0b3JhZ2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvc3RhdGVfbWFuYWdlci9wdWJsaWNfc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRSxLQUFLLHVCQUF1QixHQUFHO0lBQzdCLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTyxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gscUJBQWEsYUFBYTtJQUt0QiwrREFBK0Q7SUFDL0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMscURBQXFEO0lBQ3JELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBUDFCLDZCQUE2QjtJQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBcUI7SUFFM0M7SUFDRSwrREFBK0Q7SUFDOUMsaUJBQWlCLEVBQUUsc0JBQXNCO0lBQzFELHFEQUFxRDtJQUNwQyxNQUFNLENBQUMsMkJBQWUsRUFHeEM7SUFFRDs7T0FFRztJQUNJLElBQUksa0JBRVY7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBUy9FO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNVLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBaUIzRjtJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFFOUQ7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLHFCQUFxQixFQUFFLGFBQWEsUUFFekQ7Q0FDRiJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3N0b3JhZ2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvc3RhdGVfbWFuYWdlci9wdWJsaWNfc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRSxLQUFLLHVCQUF1QixHQUFHO0lBQzdCLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsT0FBTyxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gscUJBQWEsYUFBYTtJQUt0QiwrREFBK0Q7SUFDL0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMscURBQXFEO0lBQ3JELE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBUDFCLDZCQUE2QjtJQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBcUI7SUFFM0M7SUFDRSwrREFBK0Q7SUFDOUMsaUJBQWlCLEVBQUUsc0JBQXNCO0lBQzFELHFEQUFxRDtJQUNwQyxNQUFNLENBQUMsMkJBQWUsRUFHeEM7SUFFRDs7T0FFRztJQUNJLElBQUksa0JBRVY7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBUy9FO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNVLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBaUIzRjtJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsUUFFOUQ7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLHFCQUFxQixFQUFFLGFBQWEsUUFFekQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"public_storage.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/public_storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAKtB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAE3C;IACE,+DAA+D;IAC9C,iBAAiB,EAAE,sBAAsB;IAC1D,qDAAqD;IACpC,MAAM,CAAC,2BAAe,EAGxC;IAED;;OAEG;IACI,IAAI,kBAEV;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAS/E;IAED;;;;;;;;;;OAUG;IACU,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiB3F;IAED;;;;;;OAMG;IACI,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,QAE9D;IAED;;;;OAIG;IACI,cAAc,CAAC,qBAAqB,EAAE,aAAa,QAEzD;CACF"}
1
+ {"version":3,"file":"public_storage.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/public_storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAa;IAKtB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAE3C;IACE,+DAA+D;IAC9C,iBAAiB,EAAE,sBAAsB;IAC1D,qDAAqD;IACpC,MAAM,CAAC,2BAAe,EAGxC;IAED;;OAEG;IACI,IAAI,kBAEV;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAS/E;IAED;;;;;;;;;;OAUG;IACU,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiB3F;IAED;;;;;;OAMG;IACI,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,QAE9D;IAED;;;;OAIG;IACI,cAAc,CAAC,qBAAqB,EAAE,aAAa,QAEzD;CACF"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  /**
3
3
  * A class to manage public storage reads and writes during a contract call's AVM simulation.
4
4
  * Maintains a storage write cache, and ensures that reads fall back to the correct source.
@@ -1,5 +1,6 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { type LogLevel } from '@aztec/foundation/log';
3
+ import { FunctionSelector } from '@aztec/stdlib/abi';
3
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
5
  import { SerializableContractInstance } from '@aztec/stdlib/contract';
5
6
  import type { DebugLog } from '@aztec/stdlib/logs';
@@ -153,7 +154,11 @@ export declare class PublicPersistableStateManager {
153
154
  */
154
155
  getBytecode(contractAddress: AztecAddress): Promise<Buffer | undefined>;
155
156
  getPublicFunctionDebugName(avmEnvironment: AvmExecutionEnvironment): Promise<string>;
157
+ getPublicFunctionSelectorAndName(avmEnvironment: AvmExecutionEnvironment): Promise<{
158
+ functionSelector?: FunctionSelector;
159
+ functionName?: string;
160
+ }>;
156
161
  padTree(treeId: MerkleTreeId, leavesToInsert: number): Promise<void>;
157
162
  getTreeSnapshots(): Promise<TreeSnapshots>;
158
163
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfbWFuYWdlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9zdGF0ZV9tYW5hZ2VyL3N0YXRlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWxELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RCxPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLDZCQUE2QjtJQU90QyxPQUFPLENBQUMsUUFBUSxD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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfbWFuYWdlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9zdGF0ZV9tYW5hZ2VyL3N0YXRlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSWxELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU83RCxPQUFPLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRDs7Ozs7Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state_manager.d.ts","sourceRoot":"","sources":["../../../src/public/state_manager/state_manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CANONICAL_AUTH_REGISTRY_ADDRESS, CONTRACT_CLASS_REGISTRY_CONTRACT_ADDRESS, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, FEE_JUICE_ADDRESS, MULTI_CALL_ENTRYPOINT_ADDRESS, ROUTER_ADDRESS } from '@aztec/constants';
2
- import { poseidon2Hash } from '@aztec/foundation/crypto';
2
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
3
3
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
4
  import { createLogger } from '@aztec/foundation/log';
5
5
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
@@ -8,7 +8,7 @@ import { SerializableContractInstance } from '@aztec/stdlib/contract';
8
8
  import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
9
9
  import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
10
10
  import { strict as assert } from 'assert';
11
- import { getPublicFunctionDebugName } from '../debug_fn_name.js';
11
+ import { getPublicFunctionDebugName, getPublicFunctionSelectorAndName } from '../debug_fn_name.js';
12
12
  import { L1ToL2MessageIndexOutOfRangeError, MaxCallsToUniqueContractClassIdsError, NoteHashIndexOutOfRangeError, NullifierCollisionError } from '../side_effect_errors.js';
13
13
  import { NullifierManager } from './nullifiers.js';
14
14
  import { PublicStorage } from './public_storage.js';
@@ -380,6 +380,9 @@ import { PublicStorage } from './public_storage.js';
380
380
  async getPublicFunctionDebugName(avmEnvironment) {
381
381
  return await getPublicFunctionDebugName(this.contractsDB, avmEnvironment.address, avmEnvironment.calldata);
382
382
  }
383
+ async getPublicFunctionSelectorAndName(avmEnvironment) {
384
+ return await getPublicFunctionSelectorAndName(this.contractsDB, avmEnvironment.address, avmEnvironment.calldata);
385
+ }
383
386
  async padTree(treeId, leavesToInsert) {
384
387
  await this.treesDB.padTree(treeId, leavesToInsert);
385
388
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/simulator",
3
- "version": "0.0.1-commit.9593d84",
3
+ "version": "0.0.1-commit.96bb3f7",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./server": "./dest/server.js",
@@ -17,11 +17,11 @@
17
17
  "tsconfig": "./tsconfig.json"
18
18
  },
19
19
  "scripts": {
20
- "build": "yarn clean && tsgo -b",
21
- "build:dev": "tsgo -b --watch",
20
+ "build": "yarn clean && ../scripts/tsc.sh",
21
+ "build:dev": "../scripts/tsc.sh --watch",
22
22
  "clean": "rm -rf ./dest .tsbuildinfo",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
24
- "build:fuzzer": "tsgo scripts/fuzzing/avm_simulator_bin.ts --outDir dest/scripts/fuzzing --module commonjs --target es2022 --esModuleInterop --allowSyntheticDefaultImports --resolveJsonModule --skipLibCheck"
24
+ "build:fuzzer": "yarn clean && ../scripts/tsc.sh"
25
25
  },
26
26
  "inherits": [
27
27
  "../package.common.json"
@@ -64,26 +64,26 @@
64
64
  ]
65
65
  },
66
66
  "dependencies": {
67
- "@aztec/constants": "0.0.1-commit.9593d84",
68
- "@aztec/foundation": "0.0.1-commit.9593d84",
69
- "@aztec/native": "0.0.1-commit.9593d84",
70
- "@aztec/noir-acvm_js": "0.0.1-commit.9593d84",
71
- "@aztec/noir-noirc_abi": "0.0.1-commit.9593d84",
72
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.9593d84",
73
- "@aztec/noir-types": "0.0.1-commit.9593d84",
74
- "@aztec/protocol-contracts": "0.0.1-commit.9593d84",
75
- "@aztec/stdlib": "0.0.1-commit.9593d84",
76
- "@aztec/telemetry-client": "0.0.1-commit.9593d84",
77
- "@aztec/world-state": "0.0.1-commit.9593d84",
67
+ "@aztec/constants": "0.0.1-commit.96bb3f7",
68
+ "@aztec/foundation": "0.0.1-commit.96bb3f7",
69
+ "@aztec/native": "0.0.1-commit.96bb3f7",
70
+ "@aztec/noir-acvm_js": "0.0.1-commit.96bb3f7",
71
+ "@aztec/noir-noirc_abi": "0.0.1-commit.96bb3f7",
72
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.96bb3f7",
73
+ "@aztec/noir-types": "0.0.1-commit.96bb3f7",
74
+ "@aztec/protocol-contracts": "0.0.1-commit.96bb3f7",
75
+ "@aztec/stdlib": "0.0.1-commit.96bb3f7",
76
+ "@aztec/telemetry-client": "0.0.1-commit.96bb3f7",
77
+ "@aztec/world-state": "0.0.1-commit.96bb3f7",
78
78
  "lodash.clonedeep": "^4.5.0",
79
79
  "lodash.merge": "^4.6.2",
80
80
  "tslib": "^2.4.0"
81
81
  },
82
82
  "devDependencies": {
83
- "@aztec/kv-store": "0.0.1-commit.9593d84",
84
- "@aztec/merkle-tree": "0.0.1-commit.9593d84",
85
- "@aztec/noir-contracts.js": "0.0.1-commit.9593d84",
86
- "@aztec/noir-test-contracts.js": "0.0.1-commit.9593d84",
83
+ "@aztec/kv-store": "0.0.1-commit.96bb3f7",
84
+ "@aztec/merkle-tree": "0.0.1-commit.96bb3f7",
85
+ "@aztec/noir-contracts.js": "0.0.1-commit.96bb3f7",
86
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.96bb3f7",
87
87
  "@jest/globals": "^30.0.0",
88
88
  "@types/jest": "^30.0.0",
89
89
  "@types/lodash.clonedeep": "^4.5.7",
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { jsonStringify } from '@aztec/foundation/json-rpc';
3
3
  import type { RawAssertionPayload } from '@aztec/noir-acvm_js';
4
4
  import { abiDecodeError } from '@aztec/noir-noirc_abi';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { hexToBuffer } from '@aztec/foundation/string';
3
3
 
4
4
  import type { ACVMField, ACVMWitness } from './acvm_types.js';
@@ -1,5 +1,5 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
- import { Fr } from '@aztec/foundation/fields';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
 
5
5
  import type { ACVMField } from './acvm_types.js';
@@ -1,4 +1,4 @@
1
- import { sha512 } from '@aztec/foundation/crypto';
1
+ import { sha512 } from '@aztec/foundation/crypto/sha512';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { Timer } from '@aztec/foundation/timer';
4
4
  import type { ForeignCallHandler, ForeignCallInput, ForeignCallOutput } from '@aztec/noir-acvm_js';
@@ -108,16 +108,16 @@ export class CircuitRecorder {
108
108
  * contracts as protocol circuits artifacts always contain a single entrypoint function called 'main'.
109
109
  */
110
110
  start(input: ACVMWitness, circuitBytecode: Buffer, circuitName: string, functionName: string): Promise<void> {
111
- const parentRef = this.recording;
112
111
  if (this.newCircuit) {
112
+ const parentRef = this.recording;
113
113
  this.recording = new CircuitRecording(
114
114
  circuitName,
115
115
  functionName,
116
116
  sha512(circuitBytecode).toString('hex'),
117
117
  Object.fromEntries(input),
118
118
  );
119
+ this.recording.setParent(parentRef);
119
120
  }
120
- this.recording!.setParent(parentRef);
121
121
 
122
122
  return Promise.resolve();
123
123
  }
@@ -173,22 +173,22 @@ export class CircuitRecorder {
173
173
  if (result instanceof Promise) {
174
174
  return result.then(async r => {
175
175
  // Once we leave the nested circuit, we decrease the stack depth and set newCircuit to false
176
- // since we are going back to the "parent" circuit which can never be new
176
+ // so that the parent circuit continues with its existing recording
177
+ // Note: recording restoration is handled by finish()
177
178
  if (isExternalCall) {
178
179
  this.stackDepth--;
179
180
  this.newCircuit = false;
180
- this.recording = this.recording!.parent;
181
181
  }
182
182
  await this.recordCall(name, args, r, timer.ms(), this.stackDepth);
183
183
  return r;
184
184
  }) as ReturnType<typeof fn>;
185
185
  }
186
186
  // Once we leave the nested circuit, we decrease the stack depth and set newCircuit to false
187
- // since we are going back to the "parent" circuit which can never be new
187
+ // so that the parent circuit continues with its existing recording
188
+ // Note: recording restoration is handled by finish()
188
189
  if (isExternalCall) {
189
190
  this.stackDepth--;
190
191
  this.newCircuit = false;
191
- this.recording = this.recording!.parent;
192
192
  }
193
193
  void this.recordCall(name, args, result, timer.ms(), this.stackDepth);
194
194
  return result;
@@ -239,6 +239,12 @@ export class CircuitRecorder {
239
239
  if (!result!.parent) {
240
240
  this.newCircuit = true;
241
241
  this.recording = undefined;
242
+ } else {
243
+ // For nested circuits (utility calls, nested contract calls), restore to parent recording
244
+ // Note: we don't set newCircuit=false here because:
245
+ // - For privateCallPrivateFunction, the callback wrapper will set it to false
246
+ // - For utility calls, we want newCircuit to remain true so the next circuit creates its own recording
247
+ this.recording = result!.parent;
242
248
  }
243
249
  return Promise.resolve(result!);
244
250
  }
@@ -247,14 +253,9 @@ export class CircuitRecorder {
247
253
  * Finalizes the recording by resetting the state and returning the recording object with an attached error.
248
254
  * @param error - The error that occurred during circuit execution
249
255
  */
250
- finishWithError(error: unknown): Promise<CircuitRecording> {
251
- const result = this.recording;
252
- // If this is the top-level circuit recording, we reset the state for the next simulator call
253
- if (!result!.parent) {
254
- this.newCircuit = true;
255
- this.recording = undefined;
256
- }
257
- result!.error = JSON.stringify(error);
258
- return Promise.resolve(result!);
256
+ async finishWithError(error: unknown): Promise<CircuitRecording> {
257
+ const result = await this.finish();
258
+ result.error = JSON.stringify(error);
259
+ return result;
259
260
  }
260
261
  }
@@ -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 { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
 
4
4
  import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
@@ -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 { SimulationError } from '@aztec/stdlib/errors';
3
3
  import { Gas } from '@aztec/stdlib/gas';
4
4
 
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
3
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
4
  import type { GlobalVariables } from '@aztec/stdlib/tx';
@@ -26,9 +26,9 @@ export function makeGas(gasCost: Partial<Gas>) {
26
26
  }
27
27
 
28
28
  /** Sums together multiple instances of Gas. */
29
- export function sumGas(...gases: Partial<Gas>[]) {
30
- return gases.reduce(
31
- (acc: Gas, gas) => ({
29
+ export function sumGas(...gases: Partial<Gas>[]): Gas {
30
+ return gases.reduce<Gas>(
31
+ (acc, gas) => ({
32
32
  l2Gas: acc.l2Gas + (gas.l2Gas ?? 0),
33
33
  daGas: acc.daGas + (gas.daGas ?? 0),
34
34
  }),
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import type { Gas } from './avm_gas.js';
4
4
  import { TaggedMemory } from './avm_memory_types.js';
@@ -8,7 +8,7 @@ import {
8
8
  MEM_TAG_U128,
9
9
  } from '@aztec/constants';
10
10
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
11
- import { Fr } from '@aztec/foundation/fields';
11
+ import { Fr } from '@aztec/foundation/curves/bn254';
12
12
  import { type Logger, createLogger } from '@aztec/foundation/log';
13
13
  import type { FunctionsOf } from '@aztec/foundation/types';
14
14
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
3
  import { Timer } from '@aztec/foundation/timer';
4
4
  import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
@@ -104,7 +104,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
104
104
 
105
105
  if (!bytecode) {
106
106
  return await this.handleFailureToRetrieveBytecode(
107
- `No bytecode found, or limit encountered for max calls to unique contract class IDs. Contract address: ${this.context.environment.address}. Reverting...`,
107
+ `No bytecode found. Contract is not deployed, or limit encountered for max calls to unique contract class IDs. Contract address: ${this.context.environment.address}. Reverting...`,
108
108
  );
109
109
  }
110
110
 
@@ -177,7 +177,7 @@ export class AvmSimulator implements AvmSimulatorInterface {
177
177
 
178
178
  if (machineState.pc >= bytecode.length) {
179
179
  this.log.warn('Passed end of program');
180
- throw new InvalidProgramCounterError(machineState.pc, /*max=*/ bytecode.length);
180
+ throw new InvalidProgramCounterError(machineState.pc, /*max=*/ bytecode.length - 1);
181
181
  }
182
182
  }
183
183
 
@@ -235,12 +235,15 @@ export class AvmSimulator implements AvmSimulatorInterface {
235
235
 
236
236
  private async handleFailureToRetrieveBytecode(message: string): Promise<AvmContractCallResult> {
237
237
  // revert, consuming all gas
238
- const fnName = await this.context.persistableState.getPublicFunctionDebugName(this.context.environment);
238
+ const { functionSelector, functionName } = await this.context.persistableState.getPublicFunctionSelectorAndName(
239
+ this.context.environment,
240
+ );
239
241
  const revertReason = new AvmRevertReason(
240
242
  message,
241
243
  /*failingFunction=*/ {
242
244
  contractAddress: this.context.environment.address,
243
- functionName: fnName,
245
+ functionSelector,
246
+ functionName,
244
247
  },
245
248
  /*noirCallStack=*/ [],
246
249
  );
@@ -1,4 +1,4 @@
1
- import type { Point } from '@aztec/foundation/fields';
1
+ import type { Point } from '@aztec/foundation/curves/grumpkin';
2
2
  import type { FailingFunction, NoirCallStack } from '@aztec/stdlib/errors';
3
3
 
4
4
  import { ExecutionError } from '../../common/errors.js';
@@ -58,7 +58,7 @@ export class AvmParsingError extends AvmExecutionError {
58
58
  */
59
59
  export class InvalidTagValueError extends AvmExecutionError {
60
60
  constructor(tagValue: number) {
61
- super(`Tag value ${tagValue} is invalid.`);
61
+ super(`Tag check failed: Tag value ${tagValue} is invalid.`);
62
62
  this.name = 'InvalidTagValueError';
63
63
  }
64
64
  }
@@ -77,6 +77,12 @@ export class InstructionExecutionError extends AvmExecutionError {
77
77
  * Error thrown on failed AVM memory tag check.
78
78
  */
79
79
  export class TagCheckError extends AvmExecutionError {
80
+ public static forBaseAddress(gotTag: string): TagCheckError {
81
+ return new TagCheckError(`Base address (mem[0]) is not a valid address (has tag ${gotTag})`);
82
+ }
83
+ public static forIndirectAddress(address: number, gotTag: string): TagCheckError {
84
+ return new TagCheckError(`Address after indirection is not a valid address (address ${address} has tag ${gotTag})`);
85
+ }
80
86
  public static forOffset(offset: number, gotTag: string, expectedTag: string): TagCheckError {
81
87
  return new TagCheckError(`Tag mismatch at offset ${offset}, got ${gotTag}, expected ${expectedTag}`);
82
88
  }
@@ -97,7 +103,7 @@ export class TagCheckError extends AvmExecutionError {
97
103
  */
98
104
  export class RelativeAddressOutOfRangeError extends AvmExecutionError {
99
105
  constructor(baseAddr: number, relOffset: number) {
100
- super(`Address out of range. Base address ${baseAddr}, relative offset ${relOffset}`);
106
+ super(`Relative address out of range. Base address ${baseAddr}, relative offset ${relOffset}`);
101
107
  this.name = 'RelativeAddressOutOfRangeError';
102
108
  }
103
109
  }
@@ -161,3 +167,11 @@ export class AvmRevertReason extends ExecutionError {
161
167
  super(message, failingFunction, noirCallStack, options);
162
168
  }
163
169
  }
170
+
171
+ /**
172
+ * Helper to annotate errors occurring during instruction fetching.
173
+ */
174
+ export function duringInstrFetch(error: Error, pc: number) {
175
+ error.message = `Instruction fetching error at pc ${pc}: ${error.message}`;
176
+ return error;
177
+ }
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { encodeArguments } from '@aztec/stdlib/abi';
3
3
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -1,5 +1,5 @@
1
1
  import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
5
  import { getCanonicalAuthRegistry } from '@aztec/protocol-contracts/auth-registry';
@@ -1,7 +1,7 @@
1
1
  import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
2
- import { SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { Fr } from '@aztec/foundation/fields';
5
5
  import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
7
  import { GasFees } from '@aztec/stdlib/gas';
@@ -82,7 +82,7 @@ export function initGlobalVariables(overrides?: Partial<GlobalVariables>): Globa
82
82
  return new GlobalVariables(
83
83
  overrides?.chainId ?? Fr.zero(),
84
84
  overrides?.version ?? Fr.zero(),
85
- overrides?.blockNumber ?? 0,
85
+ overrides?.blockNumber ?? BlockNumber.ZERO,
86
86
  overrides?.slotNumber ?? SlotNumber.ZERO,
87
87
  overrides?.timestamp ?? 0n,
88
88
  overrides?.coinbase ?? EthAddress.ZERO,
@@ -1,5 +1,6 @@
1
1
  import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import {
4
5
  type ContractArtifact,
5
6
  type FunctionAbi,
@@ -28,7 +29,7 @@ import type { AvmRevertReason } from '../errors.js';
28
29
 
29
30
  export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
30
31
  export const DEFAULT_TIMESTAMP: UInt64 = 99833n;
31
- export const DEFAULT_BLOCK_NUMBER = 42;
32
+ export const DEFAULT_BLOCK_NUMBER = BlockNumber(42);
32
33
 
33
34
  /**
34
35
  * Create a new object with all the same properties as the original, except for the ones in the overrides object.
@@ -241,11 +241,11 @@ export class EmitUnencryptedLog extends Instruction {
241
241
  const [logSizeOffset, logOffset] = addressing.resolve(operands, memory);
242
242
  memory.checkTag(TypeTag.UINT32, logSizeOffset);
243
243
  const logSize = memory.get(logSizeOffset).toNumber();
244
- memory.checkTagsRange(TypeTag.FIELD, logOffset, logSize);
245
244
 
246
245
  const contractAddress = context.environment.address;
247
246
 
248
247
  context.machineState.consumeGas(this.dynamicGasCost(logSize));
248
+ memory.checkTagsRange(TypeTag.FIELD, logOffset, logSize);
249
249
  const log = memory.getSlice(logOffset, logSize).map(f => f.toFr());
250
250
  context.persistableState.writePublicLog(contractAddress, log);
251
251
  }
@@ -83,7 +83,7 @@ export class Addressing {
83
83
  baseAddr = mem.get(0);
84
84
  const baseAddrTag = baseAddr.getTag();
85
85
  if (!TaggedMemory.isValidMemoryAddressTag(baseAddrTag!)) {
86
- throw TagCheckError.forOffset(0, TypeTag[baseAddrTag!], TypeTag[TypeTag.UINT32]);
86
+ throw TagCheckError.forBaseAddress(TypeTag[baseAddrTag!]);
87
87
  }
88
88
  }
89
89
  // Here we know that resolved[i] is at most 32 bits and baseAddr is at most 32 bits.
@@ -100,7 +100,7 @@ export class Addressing {
100
100
 
101
101
  // Final check.
102
102
  if (!TaggedMemory.isValidMemoryAddressTag(resolvedTag)) {
103
- throw TagCheckError.forOffset(resolved[i], TypeTag[resolvedTag], TypeTag[TypeTag.UINT32]);
103
+ throw TagCheckError.forIndirectAddress(resolved[i], TypeTag[resolvedTag]);
104
104
  }
105
105
 
106
106
  resolved[i] = Number(resolvedValue.toBigInt());
@@ -88,7 +88,9 @@ export class FieldDiv extends ThreeOperandArithmeticInstruction {
88
88
  static readonly opcode = Opcode.FDIV_8; // FIXME: needed for gas.
89
89
 
90
90
  protected compute(a: Field, b: Field): Field {
91
- // return (a as Field).fdiv(b as Field);
91
+ if (b.toBigInt() === 0n) {
92
+ throw new ArithmeticError('Division by zero');
93
+ }
92
94
  return a.fdiv(b);
93
95
  }
94
96
 
@@ -105,6 +107,11 @@ export class Shl extends ThreeOperandArithmeticInstruction {
105
107
  protected override compute(a: IntegralValue, b: IntegralValue): IntegralValue {
106
108
  return a.shl(b);
107
109
  }
110
+
111
+ protected override checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number) {
112
+ memory.checkTagsAreSame(aOffset, bOffset);
113
+ TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset)); // Follows that bOffset tag is also of integral type
114
+ }
108
115
  }
109
116
 
110
117
  export class Shr extends ThreeOperandArithmeticInstruction {
@@ -114,4 +121,9 @@ export class Shr extends ThreeOperandArithmeticInstruction {
114
121
  protected override compute(a: IntegralValue, b: IntegralValue): IntegralValue {
115
122
  return a.shr(b);
116
123
  }
124
+
125
+ protected override checkTags(memory: TaggedMemoryInterface, aOffset: number, bOffset: number) {
126
+ memory.checkTagsAreSame(aOffset, bOffset);
127
+ TaggedMemory.checkIsIntegralTag(memory.getTag(aOffset)); // Follows that bOffset tag is also of integral type
128
+ }
117
129
  }
@@ -1,5 +1,5 @@
1
- import { Grumpkin } from '@aztec/foundation/crypto';
2
- import { Point } from '@aztec/foundation/fields';
1
+ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
2
+ import { Point } from '@aztec/foundation/curves/grumpkin';
3
3
 
4
4
  import type { AvmContext } from '../avm_context.js';
5
5
  import { Field, TypeTag, Uint1 } from '../avm_memory_types.js';
@@ -13,8 +13,8 @@ export enum EnvironmentVariable {
13
13
  VERSION,
14
14
  BLOCKNUMBER,
15
15
  TIMESTAMP,
16
- BASEFEEPERL2GAS,
17
- BASEFEEPERDAGAS,
16
+ MINFEEPERL2GAS,
17
+ MINFEEPERDAGAS,
18
18
  ISSTATICCALL,
19
19
  L2GASLEFT,
20
20
  DAGASLEFT,
@@ -36,9 +36,9 @@ function getValue(varEnum: EnvironmentVariable, ctx: AvmContext) {
36
36
  return new Uint32(ctx.environment.globals.blockNumber);
37
37
  case EnvironmentVariable.TIMESTAMP:
38
38
  return new Uint64(ctx.environment.globals.timestamp);
39
- case EnvironmentVariable.BASEFEEPERL2GAS:
39
+ case EnvironmentVariable.MINFEEPERL2GAS:
40
40
  return new Uint128(ctx.environment.globals.gasFees.feePerL2Gas);
41
- case EnvironmentVariable.BASEFEEPERDAGAS:
41
+ case EnvironmentVariable.MINFEEPERDAGAS:
42
42
  return new Uint128(ctx.environment.globals.gasFees.feePerDaGas);
43
43
  case EnvironmentVariable.ISSTATICCALL:
44
44
  return new Uint1(ctx.environment.isStaticCall ? 1 : 0);
@@ -45,6 +45,7 @@ abstract class ExternalCall extends Instruction {
45
45
  memory.checkTag(TypeTag.UINT32, argsSizeOffset);
46
46
 
47
47
  const calldataSize = memory.get(argsSizeOffset).toNumber();
48
+ // This is a DOS vector. CalldataSize is chosen by the bytecode, and can be arbitrarily large leading to a OOM here.
48
49
  const calldata = memory.getSlice(argsOffset, calldataSize).map(f => f.toFr());
49
50
 
50
51
  const callAddress = memory.getAs<Field>(addrOffset);