@aztec/simulator 0.0.1-commit.2eb6648a → 0.0.1-commit.2f68f620

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 (312) hide show
  1. package/README.md +4 -4
  2. package/dest/private/acvm_wasm.d.ts +1 -1
  3. package/dest/private/acvm_wasm.d.ts.map +1 -1
  4. package/dest/private/acvm_wasm.js +3 -1
  5. package/dest/private/circuit_recording/circuit_recorder.js +2 -2
  6. package/dest/public/avm/testing/account_proof_fetcher.d.ts +2 -0
  7. package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
  8. package/dest/public/avm/testing/account_proof_fetcher.js +152 -0
  9. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +2 -1
  10. package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
  11. package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +17 -2
  12. package/dest/public/avm/testing/utils.d.ts +32 -0
  13. package/dest/public/avm/testing/utils.d.ts.map +1 -0
  14. package/dest/public/avm/{fixtures → testing}/utils.js +3 -33
  15. package/dest/public/contracts_db_checkpoint.d.ts +2 -2
  16. package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
  17. package/dest/public/contracts_db_checkpoint.js +1 -1
  18. package/dest/public/fixtures/amm_test.js +2 -2
  19. package/dest/public/fixtures/bulk_test.d.ts +1 -1
  20. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  21. package/dest/public/fixtures/bulk_test.js +31 -4
  22. package/dest/public/fixtures/index.d.ts +1 -4
  23. package/dest/public/fixtures/index.d.ts.map +1 -1
  24. package/dest/public/fixtures/index.js +0 -3
  25. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +8 -7
  26. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  27. package/dest/public/fixtures/public_tx_simulation_tester.js +16 -17
  28. package/dest/public/fixtures/simple_contract_data_source.js +1 -1
  29. package/dest/public/fixtures/utils.d.ts +2 -2
  30. package/dest/public/fixtures/utils.d.ts.map +1 -1
  31. package/dest/public/fixtures/utils.js +19 -20
  32. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +6 -4
  33. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  34. package/dest/public/fuzzing/avm_fuzzer_simulator.js +12 -7
  35. package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
  36. package/dest/public/index.d.ts +2 -2
  37. package/dest/public/index.d.ts.map +1 -1
  38. package/dest/public/index.js +1 -1
  39. package/dest/public/public_db_sources.d.ts +6 -3
  40. package/dest/public/public_db_sources.d.ts.map +1 -1
  41. package/dest/public/public_db_sources.js +16 -10
  42. package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -7
  43. package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
  44. package/dest/public/public_processor/guarded_merkle_tree.js +8 -5
  45. package/dest/public/public_processor/public_processor.d.ts +8 -5
  46. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  47. package/dest/public/public_processor/public_processor.js +109 -74
  48. package/dest/public/public_processor/public_processor_metrics.d.ts +4 -1
  49. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  50. package/dest/public/public_processor/public_processor_metrics.js +8 -0
  51. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +1 -1
  52. package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -1
  53. package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +3 -2
  54. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +23 -0
  55. package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
  56. package/dest/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +2 -2
  57. package/dest/public/public_tx_simulator/factories.d.ts +6 -6
  58. package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
  59. package/dest/public/public_tx_simulator/factories.js +8 -8
  60. package/dest/public/public_tx_simulator/index.d.ts +3 -5
  61. package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
  62. package/dest/public/public_tx_simulator/index.js +2 -4
  63. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +41 -70
  64. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  65. package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -319
  66. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +22 -0
  67. package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
  68. package/dest/public/public_tx_simulator/public_tx_simulator_base.js +28 -0
  69. package/package.json +17 -18
  70. package/src/private/acvm_wasm.ts +4 -1
  71. package/src/private/circuit_recording/circuit_recorder.ts +2 -2
  72. package/src/public/avm/testing/account_proof.json +553 -0
  73. package/src/public/avm/testing/account_proof_fetcher.ts +166 -0
  74. package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +22 -2
  75. package/src/public/avm/{fixtures → testing}/utils.ts +3 -39
  76. package/src/public/contracts_db_checkpoint.ts +1 -1
  77. package/src/public/fixtures/amm_test.ts +2 -2
  78. package/src/public/fixtures/bulk_test.ts +29 -4
  79. package/src/public/fixtures/index.ts +0 -3
  80. package/src/public/fixtures/public_tx_simulation_tester.ts +30 -15
  81. package/src/public/fixtures/simple_contract_data_source.ts +1 -1
  82. package/src/public/fixtures/utils.ts +26 -22
  83. package/src/public/fuzzing/avm_fuzzer_simulator.ts +16 -19
  84. package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
  85. package/src/public/index.ts +3 -3
  86. package/src/public/public_db_sources.ts +21 -14
  87. package/src/public/public_processor/guarded_merkle_tree.ts +11 -8
  88. package/src/public/public_processor/public_processor.ts +142 -93
  89. package/src/public/public_processor/public_processor_metrics.ts +12 -0
  90. package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +3 -2
  91. package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +2 -2
  92. package/src/public/public_tx_simulator/factories.ts +8 -7
  93. package/src/public/public_tx_simulator/index.ts +2 -4
  94. package/src/public/public_tx_simulator/public_tx_simulator.ts +150 -476
  95. package/src/public/public_tx_simulator/public_tx_simulator_base.ts +35 -0
  96. package/dest/public/avm/avm_context.d.ts +0 -41
  97. package/dest/public/avm/avm_context.d.ts.map +0 -1
  98. package/dest/public/avm/avm_context.js +0 -44
  99. package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
  100. package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
  101. package/dest/public/avm/avm_contract_call_result.js +0 -54
  102. package/dest/public/avm/avm_execution_environment.d.ts +0 -24
  103. package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
  104. package/dest/public/avm/avm_execution_environment.js +0 -33
  105. package/dest/public/avm/avm_gas.d.ts +0 -44
  106. package/dest/public/avm/avm_gas.d.ts.map +0 -1
  107. package/dest/public/avm/avm_gas.js +0 -195
  108. package/dest/public/avm/avm_machine_state.d.ts +0 -98
  109. package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
  110. package/dest/public/avm/avm_machine_state.js +0 -110
  111. package/dest/public/avm/avm_memory_types.d.ts +0 -275
  112. package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
  113. package/dest/public/avm/avm_memory_types.js +0 -354
  114. package/dest/public/avm/avm_simulator.d.ts +0 -41
  115. package/dest/public/avm/avm_simulator.d.ts.map +0 -1
  116. package/dest/public/avm/avm_simulator.js +0 -192
  117. package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
  118. package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
  119. package/dest/public/avm/avm_simulator_interface.js +0 -3
  120. package/dest/public/avm/calldata.d.ts +0 -51
  121. package/dest/public/avm/calldata.d.ts.map +0 -1
  122. package/dest/public/avm/calldata.js +0 -63
  123. package/dest/public/avm/errors.d.ts +0 -104
  124. package/dest/public/avm/errors.d.ts.map +0 -1
  125. package/dest/public/avm/errors.js +0 -141
  126. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
  127. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  128. package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -84
  129. package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  130. package/dest/public/avm/fixtures/initializers.d.ts +0 -42
  131. package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
  132. package/dest/public/avm/fixtures/initializers.js +0 -45
  133. package/dest/public/avm/fixtures/utils.d.ts +0 -39
  134. package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
  135. package/dest/public/avm/index.d.ts +0 -2
  136. package/dest/public/avm/index.d.ts.map +0 -1
  137. package/dest/public/avm/index.js +0 -1
  138. package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -74
  139. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
  140. package/dest/public/avm/opcodes/accrued_substate.js +0 -255
  141. package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
  142. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
  143. package/dest/public/avm/opcodes/addressing_mode.js +0 -94
  144. package/dest/public/avm/opcodes/arithmetic.d.ts +0 -49
  145. package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
  146. package/dest/public/avm/opcodes/arithmetic.js +0 -97
  147. package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
  148. package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
  149. package/dest/public/avm/opcodes/bitwise.js +0 -99
  150. package/dest/public/avm/opcodes/comparators.d.ts +0 -25
  151. package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
  152. package/dest/public/avm/opcodes/comparators.js +0 -43
  153. package/dest/public/avm/opcodes/contract.d.ts +0 -20
  154. package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
  155. package/dest/public/avm/opcodes/contract.js +0 -65
  156. package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
  157. package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
  158. package/dest/public/avm/opcodes/control_flow.js +0 -107
  159. package/dest/public/avm/opcodes/conversion.d.ts +0 -18
  160. package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
  161. package/dest/public/avm/opcodes/conversion.js +0 -333
  162. package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
  163. package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
  164. package/dest/public/avm/opcodes/ec_add.js +0 -93
  165. package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
  166. package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
  167. package/dest/public/avm/opcodes/environment_getters.js +0 -77
  168. package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
  169. package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
  170. package/dest/public/avm/opcodes/external_calls.js +0 -210
  171. package/dest/public/avm/opcodes/hashing.d.ts +0 -36
  172. package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
  173. package/dest/public/avm/opcodes/hashing.js +0 -119
  174. package/dest/public/avm/opcodes/index.d.ts +0 -16
  175. package/dest/public/avm/opcodes/index.d.ts.map +0 -1
  176. package/dest/public/avm/opcodes/index.js +0 -15
  177. package/dest/public/avm/opcodes/instruction.d.ts +0 -74
  178. package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
  179. package/dest/public/avm/opcodes/instruction.js +0 -95
  180. package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
  181. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
  182. package/dest/public/avm/opcodes/instruction_impl.js +0 -30
  183. package/dest/public/avm/opcodes/memory.d.ts +0 -74
  184. package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
  185. package/dest/public/avm/opcodes/memory.js +0 -257
  186. package/dest/public/avm/opcodes/misc.d.ts +0 -18
  187. package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
  188. package/dest/public/avm/opcodes/misc.js +0 -73
  189. package/dest/public/avm/opcodes/storage.d.ts +0 -25
  190. package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
  191. package/dest/public/avm/opcodes/storage.js +0 -78
  192. package/dest/public/avm/revert_reason.d.ts +0 -18
  193. package/dest/public/avm/revert_reason.d.ts.map +0 -1
  194. package/dest/public/avm/revert_reason.js +0 -39
  195. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
  196. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
  197. package/dest/public/avm/serialization/buffer_cursor.js +0 -99
  198. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
  199. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  200. package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
  201. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
  202. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
  203. package/dest/public/avm/serialization/instruction_serialization.js +0 -261
  204. package/dest/public/avm/test_utils.d.ts +0 -15
  205. package/dest/public/avm/test_utils.d.ts.map +0 -1
  206. package/dest/public/avm/test_utils.js +0 -44
  207. package/dest/public/debug_fn_name.d.ts +0 -18
  208. package/dest/public/debug_fn_name.d.ts.map +0 -1
  209. package/dest/public/debug_fn_name.js +0 -37
  210. package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -12
  211. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
  212. package/dest/public/fixtures/custom_bytecode_tests.js +0 -174
  213. package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
  214. package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
  215. package/dest/public/fixtures/minimal_public_tx.js +0 -19
  216. package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
  217. package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
  218. package/dest/public/fixtures/opcode_spammer.js +0 -1653
  219. package/dest/public/hinting_db_sources.d.ts +0 -80
  220. package/dest/public/hinting_db_sources.d.ts.map +0 -1
  221. package/dest/public/hinting_db_sources.js +0 -355
  222. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
  223. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
  224. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -132
  225. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
  226. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
  227. package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
  228. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
  229. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
  230. package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -171
  231. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
  232. package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
  233. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
  234. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
  235. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
  236. package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -131
  237. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
  238. package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
  239. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
  240. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
  241. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -415
  242. package/dest/public/side_effect_trace.d.ts +0 -87
  243. package/dest/public/side_effect_trace.d.ts.map +0 -1
  244. package/dest/public/side_effect_trace.js +0 -199
  245. package/dest/public/side_effect_trace_interface.d.ts +0 -22
  246. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  247. package/dest/public/side_effect_trace_interface.js +0 -1
  248. package/dest/public/state_manager/index.d.ts +0 -2
  249. package/dest/public/state_manager/index.d.ts.map +0 -1
  250. package/dest/public/state_manager/index.js +0 -1
  251. package/dest/public/state_manager/nullifiers.d.ts +0 -61
  252. package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
  253. package/dest/public/state_manager/nullifiers.js +0 -92
  254. package/dest/public/state_manager/public_storage.d.ts +0 -66
  255. package/dest/public/state_manager/public_storage.d.ts.map +0 -1
  256. package/dest/public/state_manager/public_storage.js +0 -145
  257. package/dest/public/state_manager/state_manager.d.ts +0 -170
  258. package/dest/public/state_manager/state_manager.d.ts.map +0 -1
  259. package/dest/public/state_manager/state_manager.js +0 -402
  260. package/src/public/avm/avm_context.ts +0 -61
  261. package/src/public/avm/avm_contract_call_result.ts +0 -69
  262. package/src/public/avm/avm_execution_environment.ts +0 -51
  263. package/src/public/avm/avm_gas.ts +0 -183
  264. package/src/public/avm/avm_machine_state.ts +0 -170
  265. package/src/public/avm/avm_memory_types.ts +0 -440
  266. package/src/public/avm/avm_simulator.ts +0 -279
  267. package/src/public/avm/avm_simulator_interface.ts +0 -8
  268. package/src/public/avm/calldata.ts +0 -100
  269. package/src/public/avm/errors.ts +0 -177
  270. package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
  271. package/src/public/avm/fixtures/initializers.ts +0 -103
  272. package/src/public/avm/index.ts +0 -1
  273. package/src/public/avm/opcodes/accrued_substate.ts +0 -286
  274. package/src/public/avm/opcodes/addressing_mode.ts +0 -111
  275. package/src/public/avm/opcodes/arithmetic.ts +0 -129
  276. package/src/public/avm/opcodes/bitwise.ts +0 -113
  277. package/src/public/avm/opcodes/comparators.ts +0 -55
  278. package/src/public/avm/opcodes/contract.ts +0 -72
  279. package/src/public/avm/opcodes/control_flow.ts +0 -123
  280. package/src/public/avm/opcodes/conversion.ts +0 -104
  281. package/src/public/avm/opcodes/ec_add.ts +0 -105
  282. package/src/public/avm/opcodes/environment_getters.ts +0 -87
  283. package/src/public/avm/opcodes/external_calls.ts +0 -262
  284. package/src/public/avm/opcodes/hashing.ts +0 -151
  285. package/src/public/avm/opcodes/index.ts +0 -15
  286. package/src/public/avm/opcodes/instruction.ts +0 -136
  287. package/src/public/avm/opcodes/instruction_impl.ts +0 -36
  288. package/src/public/avm/opcodes/memory.ts +0 -293
  289. package/src/public/avm/opcodes/misc.ts +0 -102
  290. package/src/public/avm/opcodes/storage.ts +0 -95
  291. package/src/public/avm/revert_reason.ts +0 -58
  292. package/src/public/avm/serialization/buffer_cursor.ts +0 -118
  293. package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
  294. package/src/public/avm/serialization/instruction_serialization.ts +0 -249
  295. package/src/public/avm/test_utils.ts +0 -64
  296. package/src/public/debug_fn_name.ts +0 -52
  297. package/src/public/fixtures/custom_bytecode_tests.ts +0 -228
  298. package/src/public/fixtures/minimal_public_tx.ts +0 -26
  299. package/src/public/fixtures/opcode_spammer.ts +0 -1721
  300. package/src/public/hinting_db_sources.ts +0 -607
  301. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -211
  302. package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
  303. package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
  304. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
  305. package/src/public/public_tx_simulator/public_tx_context.ts +0 -484
  306. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
  307. package/src/public/side_effect_trace.ts +0 -293
  308. package/src/public/side_effect_trace_interface.ts +0 -28
  309. package/src/public/state_manager/index.ts +0 -1
  310. package/src/public/state_manager/nullifiers.ts +0 -103
  311. package/src/public/state_manager/public_storage.ts +0 -174
  312. package/src/public/state_manager/state_manager.ts +0 -569
package/README.md CHANGED
@@ -12,7 +12,7 @@ It's able to simulate three different types of functions:
12
12
 
13
13
  Private functions are simulated and proved client-side, and verified client-side in the private kernel circuit.
14
14
 
15
- The public inputs of private functions is defined [here](../stdlib/src/structs/private_circuit_public_inputs.ts).
15
+ The public inputs of private functions are defined [here](../stdlib/src/structs/private_circuit_public_inputs.ts).
16
16
 
17
17
  They are run with the assistance of a DB oracle that provides any private data requested by the function.
18
18
 
@@ -22,17 +22,17 @@ Private functions can call another private function, and can request to call a p
22
22
 
23
23
  Public functions are simulated and proved on the sequencer side, and verified by the public kernel circuit.
24
24
 
25
- The public inputs of public functions is defined [here](../stdlib/src/structs/avm/avm_circuit_public_inputs.ts).
25
+ The public inputs of public functions are defined [here](../stdlib/src/structs/avm/avm_circuit_public_inputs.ts).
26
26
 
27
27
  They are run with the assistance of an oracle that provides any value read from the public state tree.
28
28
 
29
- Public functions can call other public function, but no private functions.
29
+ Public functions can call other public functions, but cannot call private functions.
30
30
 
31
31
  See the specifications of the [Aztec Virtual Machine (AVM) for public execution](./docs/avm/index.md).
32
32
 
33
33
  ### Unconstrained Functions
34
34
 
35
- Unconstrained functions are useful to extract useful data for users that could produce very large execution traces - such as the summed balance of all a users notes
35
+ Unconstrained functions are useful to extract data for users that could produce very large execution traces - such as the summed balance of all of a user's notes.
36
36
  They are not proved, and are simulated client-side.
37
37
 
38
38
  They are run with the assistance of a DB oracle that provides any private data requested by the function.
@@ -13,4 +13,4 @@ export declare class WASMSimulator implements CircuitSimulator {
13
13
  executeProtocolCircuit(input: ACVMWitness, artifact: NoirCompiledCircuitWithName, callback: ForeignCallHandler): Promise<ACVMSuccess>;
14
14
  executeUserCircuit(input: ACVMWitness, artifact: FunctionArtifactWithContractName, callback: ACIRCallback): Promise<ACIRExecutionResult>;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBRXhGLE9BQWlCLEVBQXVCLEtBQUssa0JBQWtCLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLG1CQUFtQixFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFFaEYscUJBQWEsYUFBYyxZQUFXLGdCQUFnQjtJQUNwRCxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUV0QixZQUFZLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxHQUFHLGNBQWMsRUFFckQ7SUFFSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQVExQjtJQUVLLHNCQUFzQixDQUMxQixLQUFLLEVBQUUsV0FBVyxFQUNsQixRQUFRLEVBQUUsMkJBQTJCLEVBQ3JDLFFBQVEsRUFBRSxrQkFBa0IsR0FDM0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQWdDdEI7SUFFSyxrQkFBa0IsQ0FDdEIsS0FBSyxFQUFFLFdBQVcsRUFDbEIsUUFBUSxFQUFFLGdDQUFnQyxFQUMxQyxRQUFRLEVBQUUsWUFBWSxHQUNyQixPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FHOUI7Q0FDRiJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBRXhGLE9BQWlCLEVBQXVCLEtBQUssa0JBQWtCLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLG1CQUFtQixFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFJaEYscUJBQWEsYUFBYyxZQUFXLGdCQUFnQjtJQUNwRCxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUV0QixZQUFZLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxHQUFHLGNBQWMsRUFFckQ7SUFFSyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQVMxQjtJQUVLLHNCQUFzQixDQUMxQixLQUFLLEVBQUUsV0FBVyxFQUNsQixRQUFRLEVBQUUsMkJBQTJCLEVBQ3JDLFFBQVEsRUFBRSxrQkFBa0IsR0FDM0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQWdDdEI7SUFFSyxrQkFBa0IsQ0FDdEIsS0FBSyxFQUFFLFdBQVcsRUFDbEIsUUFBUSxFQUFFLGdDQUFnQyxFQUMxQyxRQUFRLEVBQUUsWUFBWSxHQUNyQixPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FHOUI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/private/acvm_wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAExF,OAAiB,EAAuB,KAAK,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AAE7G,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAQ,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAEhF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IAEtB,YAAY,gBAAgB,CAAC,EAAE,MAAM,GAAG,cAAc,EAErD;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ1B;IAEK,sBAAsB,CAC1B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAgCtB;IAEK,kBAAkB,CACtB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,gCAAgC,EAC1C,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAG9B;CACF"}
1
+ {"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/private/acvm_wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAExF,OAAiB,EAAuB,KAAK,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AAE7G,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAQ,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAIhF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IAEtB,YAAY,gBAAgB,CAAC,EAAE,MAAM,GAAG,cAAc,EAErD;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAS1B;IAEK,sBAAsB,CAC1B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAgCtB;IAEK,kBAAkB,CACtB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,gCAAgC,EAC1C,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAG9B;CACF"}
@@ -4,6 +4,7 @@ import initACVM, { executeCircuit } from '@aztec/noir-acvm_js';
4
4
  import initAbi from '@aztec/noir-noirc_abi';
5
5
  import { acvm } from './acvm/acvm.js';
6
6
  import { enrichNoirError } from './circuit_simulator.js';
7
+ let wasmInitPromise;
7
8
  export class WASMSimulator {
8
9
  log;
9
10
  constructor(loggerOrBindings){
@@ -14,10 +15,11 @@ export class WASMSimulator {
14
15
  // web environment. For the node environment, this
15
16
  // is a no-op.
16
17
  if (typeof initAbi === 'function') {
17
- /** @ts-expect-error The node bundle doesn't include these default imports, so TS complains */ await Promise.all([
18
+ /** @ts-expect-error The node bundle doesn't include these default imports, so TS complains */ wasmInitPromise ??= Promise.all([
18
19
  initAbi(),
19
20
  initACVM()
20
21
  ]);
22
+ await wasmInitPromise;
21
23
  }
22
24
  }
23
25
  async executeProtocolCircuit(input, artifact, callback) {
@@ -120,10 +120,10 @@ export class CircuitRecording {
120
120
  if (!fn || typeof fn !== 'function') {
121
121
  throw new Error(`Oracle method ${name} not found when setting up recording callback`);
122
122
  }
123
- const isExternalCall = name === 'privateCallPrivateFunction';
123
+ const isExternalCall = name === 'aztec_prv_callPrivateFunction';
124
124
  recordingCallback[name] = (...args)=>{
125
125
  const timer = new Timer();
126
- // If we're entering another circuit via `privateCallPrivateFunction`, we increase the stack depth and set the
126
+ // If we're entering another circuit via `aztec_prv_callPrivateFunction`, we increase the stack depth and set the
127
127
  // newCircuit variable to ensure we are creating a new recording object.
128
128
  if (isExternalCall) {
129
129
  this.stackDepth++;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9wcm9vZl9mZXRjaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2F2bS90ZXN0aW5nL2FjY291bnRfcHJvb2ZfZmV0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_proof_fetcher.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/testing/account_proof_fetcher.ts"],"names":[],"mappings":""}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Fetches an account proof from the Ethereum mainnet and saves it as account_proof.json.
3
+ * This script is not using any Aztec library code, so it's easily portable.
4
+ */ import fs from 'fs';
5
+ import { dirname, join } from 'path';
6
+ import { fileURLToPath } from 'url';
7
+ import { createPublicClient, fromRlp, hexToBytes, http } from 'viem';
8
+ import { mainnet } from 'viem/chains';
9
+ const __dirname = dirname(fileURLToPath(import.meta.url));
10
+ const RPC_URL = process.env.RPC_URL;
11
+ const ADDRESS = process.env.ADDRESS || '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
12
+ const BLOCK_TAG = process.env.BLOCK_NUMBER ? BigInt(process.env.BLOCK_NUMBER) : 'latest';
13
+ const MAX_ACCOUNT_PATH = 15;
14
+ function padTo(arr, len) {
15
+ return [
16
+ ...arr,
17
+ ...Array(len - arr.length).fill(0)
18
+ ].slice(0, len);
19
+ }
20
+ function toBytes(hex) {
21
+ return Array.from(hexToBytes(hex));
22
+ }
23
+ function bytesToU64s(bytes) {
24
+ const paddedBytes = padTo(bytes, 32);
25
+ return Array.from({
26
+ length: 4
27
+ }, (_, i)=>{
28
+ let val = 0n;
29
+ for(let j = 0; j < 8; j++){
30
+ val += BigInt(paddedBytes[i * 8 + j]) << BigInt(j * 8);
31
+ }
32
+ return val.toString();
33
+ });
34
+ }
35
+ function toBytesAndLen(val) {
36
+ if (val === 0n || val === 0) {
37
+ return {
38
+ bytes: [
39
+ 0
40
+ ],
41
+ length: 0
42
+ };
43
+ }
44
+ let hex = val.toString(16);
45
+ if (hex.length % 2) {
46
+ hex = '0' + hex;
47
+ }
48
+ const bytes = toBytes(`0x${hex}`);
49
+ return {
50
+ bytes,
51
+ length: bytes.length
52
+ };
53
+ }
54
+ function parseNode(rlp) {
55
+ // Should be safe when working with branches and extensions without embedded children.
56
+ const decoded = fromRlp(rlp);
57
+ const node = {
58
+ rows: Array(16).fill(0).map(()=>Array(32).fill(0)),
59
+ row_exist: Array(16).fill(false),
60
+ node_type: 0
61
+ };
62
+ if (decoded.length === 17) {
63
+ for(let i = 0; i < 16; i++){
64
+ if (decoded[i] !== '0x') {
65
+ node.row_exist[i] = true;
66
+ node.rows[i] = padTo(toBytes(decoded[i]), 32);
67
+ }
68
+ }
69
+ } else if (decoded.length === 2) {
70
+ const keyBytes = toBytes(decoded[0]);
71
+ const prefix = keyBytes[0];
72
+ if (prefix >> 4 >= 2) {
73
+ throw new Error('Unsupported: leaf node in proof path');
74
+ }
75
+ node.node_type = 1;
76
+ // Extension header format expected by the noir code: check out storage_proof types.nr.
77
+ node.rows[0][0] = prefix >> 4;
78
+ node.rows[0][8] = prefix & 0x0f;
79
+ node.rows[0][16] = keyBytes.length - 1;
80
+ for(let i = 1; i < keyBytes.length && i < 32; i++){
81
+ node.rows[1][i - 1] = keyBytes[i];
82
+ }
83
+ node.rows[2] = padTo(toBytes(decoded[1]), 32);
84
+ node.row_exist[0] = node.row_exist[1] = node.row_exist[2] = true;
85
+ }
86
+ return node;
87
+ }
88
+ function parseProof(proof, maxLen) {
89
+ const nodes = proof.slice(0, -1).slice(0, maxLen).map(parseNode);
90
+ while(nodes.length < maxLen){
91
+ nodes.push({
92
+ rows: Array(16).fill(0).map(()=>Array(32).fill(0)),
93
+ row_exist: Array(16).fill(false),
94
+ node_type: 0
95
+ });
96
+ }
97
+ return nodes;
98
+ }
99
+ function nodeToLibFormat(node) {
100
+ return {
101
+ rows: node.rows.map(bytesToU64s),
102
+ row_exist: node.row_exist,
103
+ node_type: String(node.node_type)
104
+ };
105
+ }
106
+ async function main() {
107
+ if (!RPC_URL) {
108
+ throw new Error('RPC_URL is not set');
109
+ }
110
+ console.log(`Fetching account proof for ${ADDRESS}`);
111
+ const client = createPublicClient({
112
+ chain: mainnet,
113
+ transport: http(RPC_URL)
114
+ });
115
+ const [blockNumber, proof, block] = await Promise.all([
116
+ client.getBlockNumber(),
117
+ client.getProof({
118
+ address: ADDRESS,
119
+ storageKeys: [],
120
+ blockNumber: BLOCK_TAG === 'latest' ? undefined : BLOCK_TAG
121
+ }),
122
+ client.getBlock({
123
+ blockNumber: BLOCK_TAG === 'latest' ? undefined : BLOCK_TAG
124
+ })
125
+ ]);
126
+ console.log(`Block: ${blockNumber}, Account nodes: ${proof.accountProof.length}`);
127
+ // The -1 is because the last node in the proof is the leaf, which is excluded from path verification.
128
+ const accountPathLen = proof.accountProof.length - 1;
129
+ if (accountPathLen > MAX_ACCOUNT_PATH) {
130
+ throw new Error(`Account proof path length ${accountPathLen} exceeds MAX_ACCOUNT_PATH ${MAX_ACCOUNT_PATH}. Increase the limit.`);
131
+ }
132
+ const nonce = toBytesAndLen(proof.nonce);
133
+ const balance = toBytesAndLen(proof.balance);
134
+ const data = {
135
+ block_number: String(blockNumber),
136
+ node_length: String(accountPathLen),
137
+ root: bytesToU64s(toBytes(block.stateRoot)),
138
+ nodes: parseProof(proof.accountProof, MAX_ACCOUNT_PATH).map(nodeToLibFormat),
139
+ account: {
140
+ address: toBytes(ADDRESS).map(String),
141
+ balance: padTo(balance.bytes, 32).map(String),
142
+ balance_length: String(balance.length),
143
+ code_hash: bytesToU64s(toBytes(proof.codeHash)),
144
+ nonce: padTo(nonce.bytes, 8).map(String),
145
+ nonce_length: String(nonce.length),
146
+ storage_hash: bytesToU64s(toBytes(proof.storageHash))
147
+ }
148
+ };
149
+ fs.writeFileSync(join(__dirname, 'account_proof.json'), JSON.stringify(data, null, 2));
150
+ console.log('account_proof.json generated');
151
+ }
152
+ main().catch(console.error);
@@ -30,9 +30,10 @@ export declare abstract class BaseAvmSimulationTester {
30
30
  registerAndDeployContract(constructorArgs: any[], deployer: AztecAddress, contractArtifact: ContractArtifact, skipNullifierInsertion?: boolean, seed?: number, contractClassSeed?: number, originalContractClassId?: Fr): Promise<ContractInstanceWithAddress>;
31
31
  registerFeeJuiceContract(): Promise<ContractInstanceWithAddress>;
32
32
  registerAuthContract(): Promise<ContractInstanceWithAddress>;
33
+ registerClassRegistryContract(): Promise<ContractInstanceWithAddress>;
33
34
  registerInstanceRegistryContract(): Promise<ContractInstanceWithAddress>;
34
35
  addContractInstance(contractInstance: ContractInstanceWithAddress, skipNullifierInsertion?: boolean): Promise<void>;
35
36
  private insertContractAddressNullifier;
36
37
  insertNullifier(contractThatEmitted: AztecAddress, nullifier: Fr): Promise<void>;
37
38
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9hdm1fc2ltdWxhdGlvbl90ZXN0ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL2ZpeHR1cmVzL2Jhc2VfYXZtX3NpbXVsYXRpb25fdGVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU1wRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHakYsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUc5Rjs7Ozs7Ozs7OztHQVVHO0FBQ0gsOEJBQXNCLHVCQUF1QjtJQUlsQyxrQkFBa0IsRUFBRSx3QkFBd0I7SUFDNUMsV0FBVyxFQUFFLHlCQUF5QjtJQUM3QyxPQUFPLENBQUMsc0JBQXNCO0lBTHpCLE1BQU0seUNBQXlDO0lBRXRELFlBQ1Msa0JBQWtCLEVBQUUsd0JBQXdCLEVBQzVDLFdBQVcsRUFBRSx5QkFBeUIsRUFDckMsc0JBQXNCLEtBQW1CLEVBQy9DO0lBRUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEtBQThCLGlCQUlyRjtJQUVLLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxpQkFLaEU7SUFFRDs7O09BR0c7SUFDRyx5QkFBeUIsQ0FDN0IsZUFBZSxFQUFFLEdBQUcsRUFBRSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUN0QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsc0JBQXNCLFVBQVEsRUFDOUIsSUFBSSxTQUFJLEVBQ1IsaUJBQWlCLFNBQU8sRUFDeEIsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQzNCLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQWdCdEM7SUFFSyx3QkFBd0IsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FTckU7SUFFSyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FhakU7SUFFSyxnQ0FBZ0MsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FhN0U7SUFFSyxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsVUFBUSxpQkFLdEc7WUFFYSw4QkFBOEI7SUFRdEMsZUFBZSxDQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRSxpQkFHckU7Q0FDRiJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9hdm1fc2ltdWxhdGlvbl90ZXN0ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL3Rlc3RpbmcvYmFzZV9hdm1fc2ltdWxhdGlvbl90ZXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBT3BELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRixPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRzlGOzs7Ozs7Ozs7O0dBVUc7QUFDSCw4QkFBc0IsdUJBQXVCO0lBSWxDLGtCQUFrQixFQUFFLHdCQUF3QjtJQUM1QyxXQUFXLEVBQUUseUJBQXlCO0lBQzdDLE9BQU8sQ0FBQyxzQkFBc0I7SUFMekIsTUFBTSx5Q0FBeUM7SUFFdEQsWUFDUyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFDNUMsV0FBVyxFQUFFLHlCQUF5QixFQUNyQyxzQkFBc0IsS0FBbUIsRUFDL0M7SUFFRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sS0FBOEIsaUJBSXJGO0lBRUssZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLGlCQUtoRTtJQUVEOzs7T0FHRztJQUNHLHlCQUF5QixDQUM3QixlQUFlLEVBQUUsR0FBRyxFQUFFLEVBQ3RCLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxzQkFBc0IsVUFBUSxFQUM5QixJQUFJLFNBQUksRUFDUixpQkFBaUIsU0FBTyxFQUN4Qix1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsR0FDM0IsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBZ0J0QztJQUVLLHdCQUF3QixJQUFJLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQVNyRTtJQUVLLG9CQUFvQixJQUFJLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQWlCakU7SUFFSyw2QkFBNkIsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FhMUU7SUFFSyxnQ0FBZ0MsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FhN0U7SUFFSyxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsVUFBUSxpQkFLdEc7WUFFYSw4QkFBOEI7SUFRdEMsZUFBZSxDQUFDLG1CQUFtQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRSxpQkFHckU7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_avm_simulation_tester.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/testing/base_avm_simulation_tester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAOpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAGjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAuB;IAIlC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,yBAAyB;IAC7C,OAAO,CAAC,sBAAsB;IALzB,MAAM,yCAAyC;IAEtD,YACS,kBAAkB,EAAE,wBAAwB,EAC5C,WAAW,EAAE,yBAAyB,EACrC,sBAAsB,KAAmB,EAC/C;IAEE,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,KAA8B,iBAIrF;IAEK,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,iBAKhE;IAED;;;OAGG;IACG,yBAAyB,CAC7B,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,sBAAsB,UAAQ,EAC9B,IAAI,SAAI,EACR,iBAAiB,SAAO,EACxB,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,2BAA2B,CAAC,CAgBtC;IAEK,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC,CASrE;IAEK,oBAAoB,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAiBjE;IAEK,6BAA6B,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAa1E;IAEK,gCAAgC,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAa7E;IAEK,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,sBAAsB,UAAQ,iBAKtG;YAEa,8BAA8B;IAQtC,eAAe,CAAC,mBAAmB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,iBAGrE;CACF"}
@@ -2,9 +2,10 @@ import { CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS } from '@aztec/constants';
2
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
- import { getCanonicalAuthRegistry } from '@aztec/protocol-contracts/auth-registry';
5
+ import { getCanonicalClassRegistry } from '@aztec/protocol-contracts/class-registry';
6
6
  import { computeFeePayerBalanceStorageSlot, getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
7
7
  import { getCanonicalInstanceRegistry } from '@aztec/protocol-contracts/instance-registry';
8
+ import { getStandardAuthRegistry } from '@aztec/standard-contracts/auth-registry';
8
9
  import { PublicDataWrite } from '@aztec/stdlib/avm';
9
10
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
10
11
  import { computePublicDataTreeLeafSlot, siloNullifier } from '@aztec/stdlib/hash';
@@ -66,15 +67,29 @@ import { createContractClassAndInstance } from './utils.js';
66
67
  return feeJuice.instance;
67
68
  }
68
69
  async registerAuthContract() {
69
- const authRegistry = await getCanonicalAuthRegistry();
70
+ const authRegistry = await getStandardAuthRegistry();
70
71
  const authRegistryContractClassPublic = {
71
72
  ...authRegistry.contractClass,
72
73
  privateFunctions: [],
73
74
  utilityFunctions: []
74
75
  };
75
76
  await this.contractDataSource.addNewContract(authRegistry.artifact, authRegistryContractClassPublic, authRegistry.instance);
77
+ // AuthRegistry is a standard contract (not a protocol contract), so the AVM enforces a
78
+ // deployment-nullifier check on every instance retrieval. Insert the nullifier here so
79
+ // calls to AuthRegistry don't EXCEPTIONAL_HALT during simulation.
80
+ await this.insertContractAddressNullifier(authRegistry.instance.address);
76
81
  return authRegistry.instance;
77
82
  }
83
+ async registerClassRegistryContract() {
84
+ const classRegistry = await getCanonicalClassRegistry();
85
+ const classRegistryContractClassPublic = {
86
+ ...classRegistry.contractClass,
87
+ privateFunctions: [],
88
+ utilityFunctions: []
89
+ };
90
+ await this.contractDataSource.addNewContract(classRegistry.artifact, classRegistryContractClassPublic, classRegistry.instance);
91
+ return classRegistry.instance;
92
+ }
78
93
  async registerInstanceRegistryContract() {
79
94
  const instanceRegistry = await getCanonicalInstanceRegistry();
80
95
  const instanceRegistryContractClassPublic = {
@@ -0,0 +1,32 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { type ContractArtifact, type FunctionAbi, type FunctionArtifact, FunctionSelector } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { type ContractClassPublic, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
6
+ import type { UInt64 } from '@aztec/stdlib/types';
7
+ export declare const PUBLIC_DISPATCH_FN_NAME = "public_dispatch";
8
+ export declare const DEFAULT_TIMESTAMP: UInt64;
9
+ export declare const DEFAULT_BLOCK_NUMBER: BlockNumber;
10
+ /**
11
+ * Create a new object with all the same properties as the original, except for the ones in the overrides object.
12
+ */
13
+ export declare function allSameExcept(original: any, overrides: any): any;
14
+ export declare function getFunctionSelector(functionName: string, contractArtifact: ContractArtifact): Promise<FunctionSelector>;
15
+ export declare function getContractFunctionArtifact(functionName: string, contractArtifact: ContractArtifact): FunctionArtifact | undefined;
16
+ export declare function getContractFunctionAbi(functionName: string, contractArtifact: ContractArtifact): FunctionAbi | undefined;
17
+ /**
18
+ * Create a contract class and instance given constructor args, artifact, etc.
19
+ * NOTE: This is useful for testing real-ish contract class registration and instance deployment TXs (via logs)
20
+ * @param constructorArgs - The constructor arguments for the contract.
21
+ * @param deployer - The deployer of the contract.
22
+ * @param contractArtifact - The contract artifact for the contract.
23
+ * @param seed - The seed for the contract.
24
+ * @param originalContractClassId - The original contract class ID (if upgraded)
25
+ * @returns The contract class, instance, and contract address nullifier.
26
+ */
27
+ export declare function createContractClassAndInstance(constructorArgs: any[], deployer: AztecAddress, contractArtifact: ContractArtifact, seed?: number, contractClassSeed?: number, originalContractClassId?: Fr): Promise<{
28
+ contractClass: ContractClassPublic;
29
+ contractInstance: ContractInstanceWithAddress;
30
+ contractAddressNullifier: Fr;
31
+ }>;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL3Rlc3RpbmcvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZ0JBQWdCLEVBQ3JCLGdCQUFnQixFQUVqQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSywyQkFBMkIsRUFFakMsTUFBTSx3QkFBd0IsQ0FBQztBQUloQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUtsRCxlQUFPLE1BQU0sdUJBQXVCLG9CQUFvQixDQUFDO0FBQ3pELGVBQU8sTUFBTSxpQkFBaUIsRUFBRSxNQUFlLENBQUM7QUFDaEQsZUFBTyxNQUFNLG9CQUFvQixhQUFrQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUVoRTtBQUVELHdCQUFnQixtQkFBbUIsQ0FDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUszQjtBQUVELHdCQUFnQiwyQkFBMkIsQ0FDekMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLGdCQUFnQixHQUFHLFNBQVMsQ0FFOUI7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQ3BDLFlBQVksRUFBRSxNQUFNLEVBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQixHQUNqQyxXQUFXLEdBQUcsU0FBUyxDQUt6QjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsZUFBZSxFQUFFLEdBQUcsRUFBRSxFQUN0QixRQUFRLEVBQUUsWUFBWSxFQUN0QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxTQUFJLEVBQ1IsaUJBQWlCLFNBQU8sRUFDeEIsdUJBQXVCLENBQUMsRUFBRSxFQUFFLEdBQzNCLE9BQU8sQ0FBQztJQUNULGFBQWEsRUFBRSxtQkFBbUIsQ0FBQztJQUNuQyxnQkFBZ0IsRUFBRSwyQkFBMkIsQ0FBQztJQUM5Qyx3QkFBd0IsRUFBRSxFQUFFLENBQUM7Q0FDOUIsQ0FBQyxDQStCRCJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/testing/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,iBAAiB,EAAE,MAAe,CAAC;AAChD,eAAO,MAAM,oBAAoB,aAAkB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,CAEhE;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS,CAE9B;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,GACjC,WAAW,GAAG,SAAS,CAKzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,eAAe,EAAE,GAAG,EAAE,EACtB,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,SAAI,EACR,iBAAiB,SAAO,EACxB,uBAAuB,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC;IACT,aAAa,EAAE,mBAAmB,CAAC;IACnC,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C,wBAAwB,EAAE,EAAE,CAAC;CAC9B,CAAC,CA+BD"}
@@ -4,14 +4,11 @@ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { FunctionSelector, getAllFunctionAbis } from '@aztec/stdlib/abi';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import { computeInitializationHash } from '@aztec/stdlib/contract';
7
- import { isNoirCallStackUnresolved } from '@aztec/stdlib/errors';
8
7
  import { siloNullifier } from '@aztec/stdlib/hash';
9
8
  import { deriveKeys } from '@aztec/stdlib/keys';
10
9
  import { makeContractClassPublic, makeContractInstanceFromClassId } from '@aztec/stdlib/testing';
11
10
  import { strict as assert } from 'assert';
12
11
  import merge from 'lodash.merge';
13
- import { resolveAssertionMessageFromRevertData, traverseCauseChain } from '../../../common/index.js';
14
- import { Field, Uint8, Uint32, Uint64 } from '../avm_memory_types.js';
15
12
  export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
16
13
  export const DEFAULT_TIMESTAMP = 99833n;
17
14
  export const DEFAULT_BLOCK_NUMBER = BlockNumber(42);
@@ -20,26 +17,6 @@ export const DEFAULT_BLOCK_NUMBER = BlockNumber(42);
20
17
  */ export function allSameExcept(original, overrides) {
21
18
  return merge({}, original, overrides);
22
19
  }
23
- export function randomMemoryBytes(length) {
24
- return [
25
- ...Array(length)
26
- ].map((_)=>new Uint8(Math.floor(Math.random() * 255)));
27
- }
28
- export function randomMemoryUint32s(length) {
29
- return [
30
- ...Array(length)
31
- ].map((_)=>new Uint32(Math.floor(Math.random() * 255)));
32
- }
33
- export function randomMemoryUint64s(length) {
34
- return [
35
- ...Array(length)
36
- ].map((_)=>new Uint64(Math.floor(Math.random() * 255)));
37
- }
38
- export function randomMemoryFields(length) {
39
- return [
40
- ...Array(length)
41
- ].map((_)=>new Field(Fr.random()));
42
- }
43
20
  export function getFunctionSelector(functionName, contractArtifact) {
44
21
  const fnArtifact = getAllFunctionAbis(contractArtifact).find((f)=>f.name === functionName);
45
22
  assert(!!fnArtifact, `Function ${functionName} not found in ${contractArtifact.name}`);
@@ -52,16 +29,6 @@ export function getContractFunctionArtifact(functionName, contractArtifact) {
52
29
  export function getContractFunctionAbi(functionName, contractArtifact) {
53
30
  return contractArtifact.functions.find((f)=>f.name === functionName) ?? contractArtifact.nonDispatchPublicFunctions.find((f)=>f.name === functionName);
54
31
  }
55
- export function resolveContractAssertionMessage(functionName, revertReason, output, contractArtifact) {
56
- traverseCauseChain(revertReason, (cause)=>{
57
- revertReason = cause;
58
- });
59
- const functionArtifact = getAllFunctionAbis(contractArtifact).find((f)=>f.name === functionName);
60
- if (!functionArtifact || !revertReason.noirCallStack || !isNoirCallStackUnresolved(revertReason.noirCallStack)) {
61
- return undefined;
62
- }
63
- return resolveAssertionMessageFromRevertData(output, functionArtifact);
64
- }
65
32
  /**
66
33
  * Create a contract class and instance given constructor args, artifact, etc.
67
34
  * NOTE: This is useful for testing real-ish contract class registration and instance deployment TXs (via logs)
@@ -77,14 +44,17 @@ export function resolveContractAssertionMessage(functionName, revertReason, outp
77
44
  const constructorAbi = getContractFunctionAbi('constructor', contractArtifact);
78
45
  const { publicKeys } = await deriveKeys(new Fr(seed));
79
46
  const initializationHash = await computeInitializationHash(constructorAbi, constructorArgs);
47
+ const immutablesHash = new Fr(seed + 1);
80
48
  const contractInstance = originalContractClassId === undefined ? await makeContractInstanceFromClassId(contractClass.id, seed, {
81
49
  deployer,
82
50
  initializationHash,
51
+ immutablesHash,
83
52
  publicKeys
84
53
  }) : await makeContractInstanceFromClassId(originalContractClassId, seed, {
85
54
  deployer,
86
55
  initializationHash,
87
56
  currentClassId: contractClass.id,
57
+ immutablesHash,
88
58
  publicKeys
89
59
  });
90
60
  const contractAddressNullifier = await siloNullifier(AztecAddress.fromNumber(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), contractInstance.address.toField());
@@ -11,6 +11,6 @@ export declare class ContractsDbCheckpoint {
11
11
  getInstance(address: AztecAddress): ContractInstanceWithAddress | undefined;
12
12
  getClass(classId: Fr): ContractClassPublic | undefined;
13
13
  getBytecodeCommitment(classId: Fr): Fr | undefined;
14
- deepCopy(): ContractsDbCheckpoint;
14
+ fork(): ContractsDbCheckpoint;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzX2RiX2NoZWNrcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvY29udHJhY3RzX2RiX2NoZWNrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRixxQkFBYSxxQkFBcUI7SUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBdUQ7SUFDeEUsT0FBTyxDQUFDLE9BQU8sQ0FBK0M7SUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUE4QjtJQUVsRCxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxDQUVyRjtJQUVNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRXJFO0lBRU0scUJBQXFCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FFOUQ7SUFFTSxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRywyQkFBMkIsR0FBRyxTQUFTLENBRWpGO0lBRU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsU0FBUyxDQUU1RDtJQUVNLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FFeEQ7SUFFTSxRQUFRLElBQUkscUJBQXFCLENBTXZDO0NBQ0YifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzX2RiX2NoZWNrcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvY29udHJhY3RzX2RiX2NoZWNrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRixxQkFBYSxxQkFBcUI7SUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBdUQ7SUFDeEUsT0FBTyxDQUFDLE9BQU8sQ0FBK0M7SUFDOUQsT0FBTyxDQUFDLG1CQUFtQixDQUE4QjtJQUVsRCxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxDQUVyRjtJQUVNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRXJFO0lBRU0scUJBQXFCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FFOUQ7SUFFTSxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRywyQkFBMkIsR0FBRyxTQUFTLENBRWpGO0lBRU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsU0FBUyxDQUU1RDtJQUVNLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FFeEQ7SUFFTSxJQUFJLElBQUkscUJBQXFCLENBTW5DO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contracts_db_checkpoint.d.ts","sourceRoot":"","sources":["../../src/public/contracts_db_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE/F,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,mBAAmB,CAA8B;IAElD,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAErF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAErE;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAE9D;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS,CAEjF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAE5D;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAExD;IAEM,QAAQ,IAAI,qBAAqB,CAMvC;CACF"}
1
+ {"version":3,"file":"contracts_db_checkpoint.d.ts","sourceRoot":"","sources":["../../src/public/contracts_db_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE/F,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,mBAAmB,CAA8B;IAElD,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAErF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAErE;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,IAAI,CAE9D;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS,CAEjF;IAEM,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAE5D;IAEM,qBAAqB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAExD;IAEM,IAAI,IAAI,qBAAqB,CAMnC;CACF"}
@@ -20,7 +20,7 @@ export class ContractsDbCheckpoint {
20
20
  getBytecodeCommitment(classId) {
21
21
  return this.bytecodeCommitments.get(classId.toString());
22
22
  }
23
- deepCopy() {
23
+ fork() {
24
24
  const copy = new ContractsDbCheckpoint();
25
25
  this.instances.forEach((value, key)=>copy.instances.set(key, value));
26
26
  this.classes.forEach((value, key)=>copy.classes.set(key, value));
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { Timer } from '@aztec/foundation/timer';
@@ -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
  }
@@ -3,4 +3,4 @@ import type { ContractArtifact } from '@aztec/stdlib/abi';
3
3
  import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
4
4
  export declare function bulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
5
5
  export declare function megaBulkTest(tester: PublicTxSimulationTester, logger: Logger, avmTestContractArtifact: ContractArtifact): Promise<import("@aztec/stdlib/avm").PublicTxResult>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsa190ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2J1bGtfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVFLHdCQUFzQixRQUFRLENBQzVCLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsdURBa0YxQztBQUVELHdCQUFzQixZQUFZLENBQ2hDLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFDZCx1QkFBdUIsRUFBRSxnQkFBZ0IsdURBc0UxQyJ9
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,uDAkF1C;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,gBAAgB,uDAsE1C"}
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"}
@@ -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
  },
@@ -203,6 +219,15 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
203
219
  9,
204
220
  10
205
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
+ ];
206
231
  const genArgs = (argsField)=>[
207
232
  argsField,
208
233
  argsU8,
@@ -210,6 +235,8 @@ export async function megaBulkTest(tester, logger, avmTestContractArtifact) {
210
235
  /*expectedDeployer=*/ expectContractInstance.deployer.toField(),
211
236
  /*expectedClassId=*/ expectContractInstance.currentContractClassId.toField(),
212
237
  /*expectedInitializationHash=*/ expectContractInstance.initializationHash.toField(),
238
+ /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash.toField(),
239
+ /*schnorrInputs=*/ schnorrInputs,
213
240
  // Must skip strictly limited side effects (logs, messages) so we can spam the bulk test several times.
214
241
  /*skip_strictly_limited_side_effects=*/ true
215
242
  ];
@@ -1,12 +1,9 @@
1
1
  export * from './public_tx_simulation_tester.js';
2
2
  export * from './utils.js';
3
3
  export * from './simple_contract_data_source.js';
4
- export { executeAvmMinimalPublicTx } from './minimal_public_tx.js';
5
4
  export { TestExecutorMetrics } from '../test_executor_metrics.js';
6
5
  export { ammTest } from './amm_test.js';
7
6
  export { bulkTest, megaBulkTest } from './bulk_test.js';
8
7
  export { tokenTest } from './token_test.js';
9
- export * from './custom_bytecode_tests.js';
10
8
  export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode, } from './custom_bytecode_tester.js';
11
- export { getSpamConfigsPerOpcode, testOpcodeSpamCase } from './opcode_spammer.js';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsOEJBQThCLEdBQy9CLE1BQU0sNkJBQTZCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC"}
@@ -1,11 +1,8 @@
1
1
  export * from './public_tx_simulation_tester.js';
2
2
  export * from './utils.js';
3
3
  export * from './simple_contract_data_source.js';
4
- export { executeAvmMinimalPublicTx } from './minimal_public_tx.js';
5
4
  export { TestExecutorMetrics } from '../test_executor_metrics.js';
6
5
  export { ammTest } from './amm_test.js';
7
6
  export { bulkTest, megaBulkTest } from './bulk_test.js';
8
7
  export { tokenTest } from './token_test.js';
9
- export * from './custom_bytecode_tests.js';
10
8
  export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode } from './custom_bytecode_tester.js';
11
- export { getSpamConfigsPerOpcode, testOpcodeSpamCase } from './opcode_spammer.js';