@aztec/end-to-end 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7

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 +229 -14
  2. package/dest/automine/automine_test_context.d.ts +85 -0
  3. package/dest/automine/automine_test_context.d.ts.map +1 -0
  4. package/dest/automine/automine_test_context.js +98 -0
  5. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts +2 -0
  6. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  7. package/dest/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fixture.d.ts +1 -1
  8. package/dest/automine/contracts/fixtures/storage_proof_fixture.d.ts.map +1 -0
  9. package/dest/automine/delivery/interactive_handshake_responder.d.ts +48 -0
  10. package/dest/automine/delivery/interactive_handshake_responder.d.ts.map +1 -0
  11. package/dest/automine/delivery/interactive_handshake_responder.js +76 -0
  12. package/dest/automine/delivery/onchain_delivery_harness.d.ts +19 -0
  13. package/dest/automine/delivery/onchain_delivery_harness.d.ts.map +1 -0
  14. package/dest/automine/delivery/onchain_delivery_harness.js +141 -0
  15. package/dest/automine/token/blacklist_token_contract_test.d.ts +49 -0
  16. package/dest/automine/token/blacklist_token_contract_test.d.ts.map +1 -0
  17. package/dest/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.js +23 -36
  18. package/dest/automine/token/token_contract_test.d.ts +40 -0
  19. package/dest/automine/token/token_contract_test.d.ts.map +1 -0
  20. package/dest/{e2e_token_contract → automine/token}/token_contract_test.js +24 -39
  21. package/dest/automine/token/token_test_helpers.d.ts +73 -0
  22. package/dest/automine/token/token_test_helpers.d.ts.map +1 -0
  23. package/dest/automine/token/token_test_helpers.js +97 -0
  24. package/dest/bench/client_flows/benchmark.d.ts +15 -1
  25. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  26. package/dest/bench/client_flows/benchmark.js +19 -0
  27. package/dest/bench/client_flows/client_flows_benchmark.d.ts +6 -6
  28. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  29. package/dest/bench/client_flows/client_flows_benchmark.js +56 -58
  30. package/dest/bench/client_flows/data_extractor.js +1 -0
  31. package/dest/bench/utils.d.ts +3 -3
  32. package/dest/bench/utils.d.ts.map +1 -1
  33. package/dest/bench/utils.js +97 -6
  34. package/dest/composed/ha/ha_full_setup.d.ts +77 -0
  35. package/dest/composed/ha/ha_full_setup.d.ts.map +1 -0
  36. package/dest/composed/ha/ha_full_setup.js +383 -0
  37. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts +12 -0
  38. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts.map +1 -0
  39. package/dest/fixtures/authwit_proxy.d.ts +1 -1
  40. package/dest/fixtures/authwit_proxy.d.ts.map +1 -1
  41. package/dest/fixtures/authwit_proxy.js +4 -0
  42. package/dest/fixtures/e2e_prover_test.d.ts +12 -9
  43. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  44. package/dest/fixtures/e2e_prover_test.js +53 -35
  45. package/dest/fixtures/fixtures.d.ts +79 -1
  46. package/dest/fixtures/fixtures.d.ts.map +1 -1
  47. package/dest/fixtures/fixtures.js +80 -0
  48. package/dest/fixtures/get_acvm_config.d.ts +1 -1
  49. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  50. package/dest/fixtures/get_acvm_config.js +2 -2
  51. package/dest/fixtures/get_bb_config.d.ts +1 -1
  52. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  53. package/dest/fixtures/get_bb_config.js +2 -2
  54. package/dest/fixtures/ha_setup.d.ts +4 -4
  55. package/dest/fixtures/ha_setup.d.ts.map +1 -1
  56. package/dest/fixtures/ha_setup.js +5 -2
  57. package/dest/fixtures/index.d.ts +2 -1
  58. package/dest/fixtures/index.d.ts.map +1 -1
  59. package/dest/fixtures/index.js +1 -0
  60. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts +25 -0
  61. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts.map +1 -0
  62. package/dest/fixtures/schnorr_hardcoded_account_contract.js +37 -0
  63. package/dest/fixtures/setup.d.ts +81 -42
  64. package/dest/fixtures/setup.d.ts.map +1 -1
  65. package/dest/fixtures/setup.js +289 -198
  66. package/dest/fixtures/setup_p2p_test.d.ts +10 -6
  67. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  68. package/dest/fixtures/setup_p2p_test.js +11 -11
  69. package/dest/fixtures/standard_contracts_genesis.d.ts +16 -0
  70. package/dest/fixtures/standard_contracts_genesis.d.ts.map +1 -0
  71. package/dest/fixtures/standard_contracts_genesis.js +25 -0
  72. package/dest/fixtures/timing.d.ts +42 -0
  73. package/dest/fixtures/timing.d.ts.map +1 -0
  74. package/dest/fixtures/timing.js +72 -0
  75. package/dest/fixtures/token_utils.d.ts +22 -4
  76. package/dest/fixtures/token_utils.d.ts.map +1 -1
  77. package/dest/fixtures/token_utils.js +23 -6
  78. package/dest/fixtures/utils.d.ts +2 -2
  79. package/dest/fixtures/utils.d.ts.map +1 -1
  80. package/dest/fixtures/utils.js +1 -1
  81. package/dest/fixtures/wait_helpers.d.ts +135 -0
  82. package/dest/fixtures/wait_helpers.d.ts.map +1 -0
  83. package/dest/fixtures/wait_helpers.js +154 -0
  84. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  85. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  86. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  87. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  88. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  89. package/dest/forward-compatibility/wallet_service.js +109 -0
  90. package/dest/install_legacy_contracts.d.cts +10 -0
  91. package/dest/install_legacy_contracts.d.cts.map +1 -0
  92. package/dest/legacy-jest-resolver.d.cts +3 -0
  93. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  94. package/dest/multi-node/block-production/setup.d.ts +97 -0
  95. package/dest/multi-node/block-production/setup.d.ts.map +1 -0
  96. package/dest/multi-node/block-production/setup.js +158 -0
  97. package/dest/multi-node/governance/setup.d.ts +67 -0
  98. package/dest/multi-node/governance/setup.d.ts.map +1 -0
  99. package/dest/multi-node/governance/setup.js +126 -0
  100. package/dest/multi-node/multi_node_test_context.d.ts +212 -0
  101. package/dest/multi-node/multi_node_test_context.d.ts.map +1 -0
  102. package/dest/multi-node/multi_node_test_context.js +347 -0
  103. package/dest/multi-node/slashing/inactivity_setup.d.ts +27 -0
  104. package/dest/multi-node/slashing/inactivity_setup.d.ts.map +1 -0
  105. package/dest/multi-node/slashing/inactivity_setup.js +111 -0
  106. package/dest/multi-node/slashing/setup.d.ts +167 -0
  107. package/dest/multi-node/slashing/setup.d.ts.map +1 -0
  108. package/dest/multi-node/slashing/setup.js +275 -0
  109. package/dest/{e2e_p2p → p2p}/p2p_network.d.ts +19 -10
  110. package/dest/p2p/p2p_network.d.ts.map +1 -0
  111. package/dest/{e2e_p2p → p2p}/p2p_network.js +82 -38
  112. package/dest/p2p/reqresp/utils.d.ts +19 -0
  113. package/dest/p2p/reqresp/utils.d.ts.map +1 -0
  114. package/dest/{e2e_p2p → p2p}/reqresp/utils.js +32 -29
  115. package/dest/p2p/shared.d.ts +72 -0
  116. package/dest/p2p/shared.d.ts.map +1 -0
  117. package/dest/p2p/shared.js +212 -0
  118. package/dest/shared/cross_chain_test_harness.d.ts +6 -4
  119. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  120. package/dest/shared/cross_chain_test_harness.js +33 -21
  121. package/dest/shared/gas_portal_test_harness.d.ts +9 -6
  122. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  123. package/dest/shared/gas_portal_test_harness.js +26 -15
  124. package/dest/shared/submit-transactions.d.ts +1 -1
  125. package/dest/shared/submit-transactions.d.ts.map +1 -1
  126. package/dest/shared/submit-transactions.js +12 -5
  127. package/dest/shared/timing_env.d.js +5 -0
  128. package/dest/shared/timing_env.js +365 -0
  129. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  130. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  131. package/dest/shared/uniswap_l1_l2.js +50 -37
  132. package/dest/shared/wait_for_l1_to_l2_message.d.ts +13 -0
  133. package/dest/shared/wait_for_l1_to_l2_message.d.ts.map +1 -0
  134. package/dest/shared/wait_for_l1_to_l2_message.js +10 -0
  135. package/dest/simulators/lending_simulator.d.ts +10 -3
  136. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  137. package/dest/simulators/lending_simulator.js +24 -12
  138. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts +75 -0
  139. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts.map +1 -0
  140. package/dest/single-node/cross-chain/cross_chain_messaging_test.js +209 -0
  141. package/dest/single-node/cross-chain/message_test_helpers.d.ts +38 -0
  142. package/dest/single-node/cross-chain/message_test_helpers.d.ts.map +1 -0
  143. package/dest/single-node/cross-chain/message_test_helpers.js +70 -0
  144. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.d.ts +1 -1
  145. package/dest/single-node/fees/bridging_race.notest.d.ts.map +1 -0
  146. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.js +17 -4
  147. package/dest/single-node/fees/fees_test.d.ts +95 -0
  148. package/dest/single-node/fees/fees_test.d.ts.map +1 -0
  149. package/dest/single-node/fees/fees_test.js +344 -0
  150. package/dest/single-node/l1-reorgs/setup.d.ts +42 -0
  151. package/dest/single-node/l1-reorgs/setup.d.ts.map +1 -0
  152. package/dest/single-node/l1-reorgs/setup.js +57 -0
  153. package/dest/single-node/partial-proofs/setup.d.ts +5 -0
  154. package/dest/single-node/partial-proofs/setup.d.ts.map +1 -0
  155. package/dest/single-node/partial-proofs/setup.js +5 -0
  156. package/dest/single-node/proving/setup.d.ts +5 -0
  157. package/dest/single-node/proving/setup.d.ts.map +1 -0
  158. package/dest/single-node/proving/setup.js +5 -0
  159. package/dest/single-node/recovery/setup.d.ts +5 -0
  160. package/dest/single-node/recovery/setup.d.ts.map +1 -0
  161. package/dest/single-node/recovery/setup.js +5 -0
  162. package/dest/single-node/setup.d.ts +49 -0
  163. package/dest/single-node/setup.d.ts.map +1 -0
  164. package/dest/single-node/setup.js +56 -0
  165. package/dest/single-node/single_node_test_context.d.ts +374 -0
  166. package/dest/single-node/single_node_test_context.d.ts.map +1 -0
  167. package/dest/single-node/single_node_test_context.js +847 -0
  168. package/dest/spartan/setup_test_wallets.d.ts +1 -1
  169. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  170. package/dest/spartan/setup_test_wallets.js +84 -50
  171. package/dest/spartan/tx_metrics.d.ts +27 -4
  172. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  173. package/dest/spartan/tx_metrics.js +105 -20
  174. package/dest/spartan/utils/config.d.ts +9 -35
  175. package/dest/spartan/utils/config.d.ts.map +1 -1
  176. package/dest/spartan/utils/nodes.js +2 -2
  177. package/dest/test-wallet/test_wallet.d.ts +39 -10
  178. package/dest/test-wallet/test_wallet.d.ts.map +1 -1
  179. package/dest/test-wallet/test_wallet.js +166 -59
  180. package/dest/test-wallet/utils.d.ts +38 -3
  181. package/dest/test-wallet/utils.d.ts.map +1 -1
  182. package/dest/test-wallet/utils.js +65 -10
  183. package/dest/test-wallet/wallet_worker_script.js +12 -4
  184. package/dest/test-wallet/worker_wallet.d.ts +9 -8
  185. package/dest/test-wallet/worker_wallet.d.ts.map +1 -1
  186. package/dest/test-wallet/worker_wallet.js +10 -4
  187. package/dest/test-wallet/worker_wallet_schema.d.ts +3 -273
  188. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -1
  189. package/dest/test-wallet/worker_wallet_schema.js +15 -2
  190. package/package.json +47 -42
  191. package/src/automine/README.md +60 -0
  192. package/src/automine/automine_test_context.ts +153 -0
  193. package/src/automine/delivery/interactive_handshake_responder.ts +125 -0
  194. package/src/automine/delivery/onchain_delivery_harness.ts +213 -0
  195. package/src/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.ts +24 -47
  196. package/src/{e2e_token_contract → automine/token}/token_contract_test.ts +25 -48
  197. package/src/automine/token/token_test_helpers.ts +138 -0
  198. package/src/bench/client_flows/benchmark.ts +21 -0
  199. package/src/bench/client_flows/client_flows_benchmark.ts +106 -80
  200. package/src/bench/client_flows/data_extractor.ts +1 -0
  201. package/src/bench/utils.ts +110 -6
  202. package/src/composed/ha/ha_full_setup.ts +466 -0
  203. package/src/fixtures/authwit_proxy.ts +4 -0
  204. package/src/fixtures/e2e_prover_test.ts +68 -52
  205. package/src/fixtures/fixtures.ts +100 -0
  206. package/src/fixtures/get_acvm_config.ts +2 -8
  207. package/src/fixtures/get_bb_config.ts +1 -2
  208. package/src/fixtures/ha_setup.ts +11 -5
  209. package/src/fixtures/index.ts +1 -0
  210. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  211. package/src/fixtures/setup.ts +361 -256
  212. package/src/fixtures/setup_p2p_test.ts +15 -11
  213. package/src/fixtures/standard_contracts_genesis.ts +28 -0
  214. package/src/fixtures/timing.ts +97 -0
  215. package/src/fixtures/token_utils.ts +40 -8
  216. package/src/fixtures/utils.ts +2 -3
  217. package/src/fixtures/wait_helpers.ts +333 -0
  218. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  219. package/src/forward-compatibility/wallet_service.ts +106 -0
  220. package/src/guides/up_quick_start.sh +5 -2
  221. package/src/infra/README.md +12 -0
  222. package/src/install_legacy_contracts.cjs +75 -0
  223. package/src/legacy-jest-resolver.cjs +112 -0
  224. package/src/multi-node/README.md +96 -0
  225. package/src/multi-node/block-production/setup.ts +272 -0
  226. package/src/multi-node/governance/setup.ts +172 -0
  227. package/src/multi-node/multi_node_test_context.ts +447 -0
  228. package/src/multi-node/slashing/inactivity_setup.ts +139 -0
  229. package/src/multi-node/slashing/setup.ts +433 -0
  230. package/src/p2p/README.md +78 -0
  231. package/src/{e2e_p2p → p2p}/p2p_network.ts +95 -50
  232. package/src/{e2e_p2p → p2p}/reqresp/utils.ts +35 -28
  233. package/src/p2p/shared.ts +329 -0
  234. package/src/shared/cross_chain_test_harness.ts +36 -17
  235. package/src/shared/gas_portal_test_harness.ts +34 -17
  236. package/src/shared/submit-transactions.ts +13 -5
  237. package/src/shared/timing_env.d.mts +39 -0
  238. package/src/shared/timing_env.mjs +363 -0
  239. package/src/shared/uniswap_l1_l2.ts +80 -43
  240. package/src/shared/wait_for_l1_to_l2_message.ts +23 -0
  241. package/src/simulators/lending_simulator.ts +28 -14
  242. package/src/single-node/README.md +66 -0
  243. package/src/single-node/cross-chain/cross_chain_messaging_test.ts +302 -0
  244. package/src/single-node/cross-chain/message_test_helpers.ts +125 -0
  245. package/src/{e2e_fees → single-node/fees}/bridging_race.notest.ts +19 -5
  246. package/src/single-node/fees/fees_test.ts +434 -0
  247. package/src/single-node/l1-reorgs/setup.ts +93 -0
  248. package/src/single-node/partial-proofs/setup.ts +8 -0
  249. package/src/single-node/proving/setup.ts +15 -0
  250. package/src/single-node/recovery/setup.ts +8 -0
  251. package/src/single-node/setup.ts +63 -0
  252. package/src/single-node/single_node_test_context.ts +1058 -0
  253. package/src/spartan/setup_test_wallets.ts +87 -47
  254. package/src/spartan/tx_metrics.ts +107 -23
  255. package/src/spartan/utils/nodes.ts +2 -2
  256. package/src/test-wallet/test_wallet.ts +185 -60
  257. package/src/test-wallet/utils.ts +104 -11
  258. package/src/test-wallet/wallet_worker_script.ts +11 -5
  259. package/src/test-wallet/worker_wallet.ts +19 -16
  260. package/src/test-wallet/worker_wallet_schema.ts +4 -3
  261. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +0 -55
  262. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +0 -1
  263. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -47
  264. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +0 -1
  265. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +0 -129
  266. package/dest/e2e_deploy_contract/deploy_test.d.ts +0 -37
  267. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +0 -1
  268. package/dest/e2e_deploy_contract/deploy_test.js +0 -50
  269. package/dest/e2e_epochs/epochs_test.d.ts +0 -104
  270. package/dest/e2e_epochs/epochs_test.d.ts.map +0 -1
  271. package/dest/e2e_epochs/epochs_test.js +0 -389
  272. package/dest/e2e_fees/bridging_race.notest.d.ts.map +0 -1
  273. package/dest/e2e_fees/fees_test.d.ts +0 -88
  274. package/dest/e2e_fees/fees_test.d.ts.map +0 -1
  275. package/dest/e2e_fees/fees_test.js +0 -255
  276. package/dest/e2e_l1_publisher/write_json.d.ts +0 -11
  277. package/dest/e2e_l1_publisher/write_json.d.ts.map +0 -1
  278. package/dest/e2e_l1_publisher/write_json.js +0 -56
  279. package/dest/e2e_multi_validator/utils.d.ts +0 -12
  280. package/dest/e2e_multi_validator/utils.d.ts.map +0 -1
  281. package/dest/e2e_nested_contract/nested_contract_test.d.ts +0 -26
  282. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +0 -1
  283. package/dest/e2e_nested_contract/nested_contract_test.js +0 -54
  284. package/dest/e2e_p2p/inactivity_slash_test.d.ts +0 -31
  285. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +0 -1
  286. package/dest/e2e_p2p/inactivity_slash_test.js +0 -136
  287. package/dest/e2e_p2p/p2p_network.d.ts.map +0 -1
  288. package/dest/e2e_p2p/reqresp/utils.d.ts +0 -22
  289. package/dest/e2e_p2p/reqresp/utils.d.ts.map +0 -1
  290. package/dest/e2e_p2p/shared.d.ts +0 -66
  291. package/dest/e2e_p2p/shared.d.ts.map +0 -1
  292. package/dest/e2e_p2p/shared.js +0 -212
  293. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +0 -2
  294. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +0 -1
  295. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +0 -1
  296. package/dest/e2e_token_contract/token_contract_test.d.ts +0 -44
  297. package/dest/e2e_token_contract/token_contract_test.d.ts.map +0 -1
  298. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +0 -193
  299. package/src/e2e_deploy_contract/deploy_test.ts +0 -85
  300. package/src/e2e_epochs/epochs_test.ts +0 -499
  301. package/src/e2e_fees/fees_test.ts +0 -331
  302. package/src/e2e_l1_publisher/write_json.ts +0 -77
  303. package/src/e2e_nested_contract/nested_contract_test.ts +0 -75
  304. package/src/e2e_p2p/inactivity_slash_test.ts +0 -179
  305. package/src/e2e_p2p/shared.ts +0 -343
  306. /package/dest/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fetcher.js +0 -0
  307. /package/dest/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fixture.js +0 -0
  308. /package/dest/{e2e_multi_validator/utils.js → composed/web3signer/multi_validator_keystore_utils.js} +0 -0
  309. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof.json +0 -0
  310. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fetcher.ts +0 -0
  311. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fixture.ts +0 -0
  312. /package/src/{e2e_multi_validator/utils.ts → composed/web3signer/multi_validator_keystore_utils.ts} +0 -0
@@ -13,23 +13,24 @@ import type {
13
13
  ProfileOptions,
14
14
  SendOptions,
15
15
  SimulateOptions,
16
+ TxSimulationResultWithAppOffset,
16
17
  Wallet,
17
18
  WalletCapabilities,
18
19
  } from '@aztec/aztec.js/wallet';
19
20
  import type { ChainInfo } from '@aztec/entrypoints/interfaces';
20
- import type { Fr } from '@aztec/foundation/curves/bn254';
21
+ import type { Fq, Fr } from '@aztec/foundation/curves/bn254';
21
22
  import { jsonStringify } from '@aztec/foundation/json-rpc';
22
23
  import { createLogger } from '@aztec/foundation/log';
23
24
  import { promiseWithResolvers } from '@aztec/foundation/promise';
24
- import type { ApiSchema } from '@aztec/foundation/schemas';
25
+ import { type ApiSchema, getSchemaReturnType } from '@aztec/foundation/schemas';
25
26
  import { sleep } from '@aztec/foundation/sleep';
26
27
  import { NodeConnector, TransportClient } from '@aztec/foundation/transport';
27
28
  import type { PXEConfig } from '@aztec/pxe/config';
28
29
  import type { ContractArtifact, EventMetadataDefinition, FunctionCall } from '@aztec/stdlib/abi';
29
30
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
30
31
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
31
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
32
- import type { ExecutionPayload, TxProfileResult, TxSimulationResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
32
+ import type { ContractInstancePreimage } from '@aztec/stdlib/contract';
33
+ import type { ExecutionPayload, TxProfileResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
33
34
  import { Tx } from '@aztec/stdlib/tx';
34
35
 
35
36
  import { Worker } from 'worker_threads';
@@ -70,7 +71,7 @@ export class WorkerWallet implements Wallet {
70
71
  env: {
71
72
  ...parentEnv,
72
73
  ...(process.stderr.isTTY || process.env.FORCE_COLOR ? { FORCE_COLOR: '1' } : {}),
73
- LOG_LEVEL: process.env.WORKER_LOG_LEVEL ?? 'warn',
74
+ LOG_LEVEL: process.env.WORKER_LOG_LEVEL ?? 'info',
74
75
  },
75
76
  });
76
77
 
@@ -115,15 +116,17 @@ export class WorkerWallet implements Wallet {
115
116
  return wallet;
116
117
  }
117
118
 
118
- private async callRaw(fn: string, ...args: any[]): Promise<string> {
119
+ private async callRaw(fn: string, ...args: any[]): Promise<string | undefined> {
119
120
  const argsJson = jsonStringify(args);
120
- return (await this.client.request({ fn, args: argsJson })) as string;
121
+ return (await this.client.request({ fn, args: argsJson })) as string | undefined;
121
122
  }
122
123
 
123
124
  private async call(fn: string, ...args: any[]): Promise<any> {
124
125
  const resultJson = await this.callRaw(fn, ...args);
125
126
  const methodSchema = (WorkerWalletSchema as ApiSchema)[fn];
126
- return methodSchema.returnType().parseAsync(JSON.parse(resultJson));
127
+ // Void-returning methods (e.g. registerContract) serialize to `undefined` on the worker side, which
128
+ // JSON.parse cannot handle; hand it straight to the schema, whose `z.void()` output accepts undefined.
129
+ return getSchemaReturnType(methodSchema).parseAsync(resultJson === undefined ? undefined : JSON.parse(resultJson));
127
130
  }
128
131
 
129
132
  getChainInfo(): Promise<ChainInfo> {
@@ -157,15 +160,15 @@ export class WorkerWallet implements Wallet {
157
160
  return this.call('getAccounts');
158
161
  }
159
162
 
160
- registerContract(
161
- instance: ContractInstanceWithAddress,
162
- artifact?: ContractArtifact,
163
- secretKey?: Fr,
164
- ): Promise<ContractInstanceWithAddress> {
163
+ registerContract(instance: ContractInstancePreimage, artifact?: ContractArtifact, secretKey?: Fr): Promise<void> {
165
164
  return this.call('registerContract', instance, artifact, secretKey);
166
165
  }
167
166
 
168
- simulateTx(exec: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResult> {
167
+ registerContractClass(artifact: ContractArtifact): Promise<void> {
168
+ return this.call('registerContractClass', artifact);
169
+ }
170
+
171
+ simulateTx(exec: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResultWithAppOffset> {
169
172
  return this.call('simulateTx', exec, opts);
170
173
  }
171
174
 
@@ -189,8 +192,8 @@ export class WorkerWallet implements Wallet {
189
192
  }
190
193
 
191
194
  /** Registers an account inside the worker's TestWallet, populating its accounts map. */
192
- registerAccount(secret: Fr, salt: Fr): Promise<AztecAddress> {
193
- return this.call('registerAccount', secret, salt);
195
+ registerAccount(secret: Fr, salt: Fr, signingKey: Fq): Promise<AztecAddress> {
196
+ return this.call('registerAccount', secret, salt, signingKey);
194
197
  }
195
198
 
196
199
  createAuthWit(from: AztecAddress, messageHashOrIntent: IntentInnerHash | CallIntent): Promise<AuthWitness> {
@@ -1,4 +1,5 @@
1
1
  import { ExecutionPayloadSchema, SendOptionsSchema, WalletSchema } from '@aztec/aztec.js/wallet';
2
+ import type { ApiSchema } from '@aztec/foundation/schemas';
2
3
  import { schemas } from '@aztec/foundation/schemas';
3
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
5
  import { Tx } from '@aztec/stdlib/tx';
@@ -6,8 +7,8 @@ import { Tx } from '@aztec/stdlib/tx';
6
7
  import { z } from 'zod';
7
8
 
8
9
  /** Schema for the WorkerWallet API — extends WalletSchema with proveTx and registerAccount. */
9
- export const WorkerWalletSchema = {
10
+ export const WorkerWalletSchema: ApiSchema = {
10
11
  ...WalletSchema,
11
- proveTx: z.function().args(ExecutionPayloadSchema, SendOptionsSchema).returns(Tx.schema),
12
- registerAccount: z.function().args(schemas.Fr, schemas.Fr).returns(AztecAddress.schema),
12
+ proveTx: z.function({ input: z.tuple([ExecutionPayloadSchema, SendOptionsSchema]), output: Tx.schema }),
13
+ registerAccount: z.function({ input: z.tuple([schemas.Fr, schemas.Fr, schemas.Fq]), output: AztecAddress.schema }),
13
14
  };
@@ -1,55 +0,0 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import { type Logger } from '@aztec/aztec.js/log';
4
- import type { AztecNode } from '@aztec/aztec.js/node';
5
- import type { TxHash } from '@aztec/aztec.js/tx';
6
- import type { CheatCodes } from '@aztec/aztec/testing';
7
- import { TokenBlacklistContract } from '@aztec/noir-contracts.js/TokenBlacklist';
8
- import { GenericProxyContract } from '@aztec/noir-test-contracts.js/GenericProxy';
9
- import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
10
- import type { SequencerClient } from '@aztec/sequencer-client';
11
- import { type EndToEndContext } from '../fixtures/setup.js';
12
- import { TokenSimulator } from '../simulators/token_simulator.js';
13
- import type { TestWallet } from '../test-wallet/test_wallet.js';
14
- export declare class Role {
15
- private isAdmin;
16
- private isMinter;
17
- private isBlacklisted;
18
- withAdmin(): this;
19
- withMinter(): this;
20
- withBlacklisted(): this;
21
- toNoirStruct(): {
22
- is_admin: boolean;
23
- is_minter: boolean;
24
- is_blacklisted: boolean;
25
- };
26
- }
27
- export declare class BlacklistTokenContractTest {
28
- static CHANGE_ROLES_DELAY: number;
29
- context: EndToEndContext;
30
- logger: Logger;
31
- wallet: TestWallet;
32
- asset: TokenBlacklistContract;
33
- tokenSim: TokenSimulator;
34
- badAccount: InvalidAccountContract;
35
- authwitProxy: GenericProxyContract;
36
- cheatCodes: CheatCodes;
37
- sequencer: SequencerClient;
38
- aztecNode: AztecNode;
39
- adminAddress: AztecAddress;
40
- otherAddress: AztecAddress;
41
- blacklistedAddress: AztecAddress;
42
- constructor(testName: string);
43
- crossTimestampOfChange(): Promise<void>;
44
- /**
45
- * Applies base setup:
46
- * 1. Add 3 accounts.
47
- * 2. Publicly deploy accounts, deploy token contract and a "bad account".
48
- */
49
- applyBaseSetup(): Promise<void>;
50
- setup(): Promise<void>;
51
- teardown(): Promise<void>;
52
- addPendingShieldNoteToPXE(contract: TokenBlacklistContract, recipient: AztecAddress, amount: bigint, secretHash: Fr, txHash: TxHash): Promise<void>;
53
- applyMint(): Promise<void>;
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0L2JsYWNrbGlzdF90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSS9ELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUscUJBQWEsSUFBSTtJQUNmLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBUztJQUN6QixPQUFPLENBQUMsYUFBYSxDQUFTO0lBRTlCLFNBQVMsU0FHUjtJQUVELFVBQVUsU0FHVDtJQUVELGVBQWUsU0FHZDtJQUVELFlBQVk7Ozs7TUFJWDtDQUNGO0FBRUQscUJBQWEsMEJBQTBCO0lBRXJDLE1BQU0sQ0FBQyxrQkFBa0IsU0FBUztJQUVsQyxPQUFPLEVBQUcsZUFBZSxDQUFDO0lBQzFCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLEtBQUssRUFBRyxzQkFBc0IsQ0FBQztJQUMvQixRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFVBQVUsRUFBRyxzQkFBc0IsQ0FBQztJQUNwQyxZQUFZLEVBQUcsb0JBQW9CLENBQUM7SUFDcEMsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUN4QixTQUFTLEVBQUcsZUFBZSxDQUFDO0lBQzVCLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFFdEIsWUFBWSxFQUFHLFlBQVksQ0FBQztJQUM1QixZQUFZLEVBQUcsWUFBWSxDQUFDO0lBQzVCLGtCQUFrQixFQUFHLFlBQVksQ0FBQztJQUVsQyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBRTNCO0lBRUssc0JBQXNCLGtCQU0zQjtJQUVEOzs7O09BSUc7SUFDRyxjQUFjLGtCQTREbkI7SUFFSyxLQUFLLGtCQU9WO0lBRUssUUFBUSxrQkFFYjtJQUVLLHlCQUF5QixDQUM3QixRQUFRLEVBQUUsc0JBQXNCLEVBQ2hDLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLEVBQUUsRUFDZCxNQUFNLEVBQUUsTUFBTSxpQkFjZjtJQUVLLFNBQVMsa0JBbURkO0NBQ0YifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklist_token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,EAAE,KAAK,eAAe,EAAyD,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS,SAGR;IAED,UAAU,SAGT;IAED,eAAe,SAGd;IAED,YAAY;;;;MAIX;CACF;AAED,qBAAa,0BAA0B;IAErC,MAAM,CAAC,kBAAkB,SAAS;IAElC,OAAO,EAAG,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,KAAK,EAAG,sBAAsB,CAAC;IAC/B,QAAQ,EAAG,cAAc,CAAC;IAC1B,UAAU,EAAG,sBAAsB,CAAC;IACpC,YAAY,EAAG,oBAAoB,CAAC;IACpC,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,EAAG,eAAe,CAAC;IAC5B,SAAS,EAAG,SAAS,CAAC;IAEtB,YAAY,EAAG,YAAY,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,kBAAkB,EAAG,YAAY,CAAC;IAElC,YAAY,QAAQ,EAAE,MAAM,EAE3B;IAEK,sBAAsB,kBAM3B;IAED;;;;OAIG;IACG,cAAc,kBA4DnB;IAEK,KAAK,kBAOV;IAEK,QAAQ,kBAEb;IAEK,yBAAyB,CAC7B,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,MAAM,iBAcf;IAEK,SAAS,kBAmDd;CACF"}
@@ -1,47 +0,0 @@
1
- import type { AztecNodeConfig } from '@aztec/aztec-node';
2
- import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
3
- import { type Logger } from '@aztec/aztec.js/log';
4
- import type { AztecNode } from '@aztec/aztec.js/node';
5
- import type { TxReceipt } from '@aztec/aztec.js/tx';
6
- import { CheatCodes } from '@aztec/aztec/testing';
7
- import { InboxContract, OutboxContract, RollupContract } from '@aztec/ethereum/contracts';
8
- import type { DeployAztecL1ContractsArgs, DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
9
- import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
10
- import { EpochNumber } from '@aztec/foundation/branded-types';
11
- import { TokenContract } from '@aztec/noir-contracts.js/Token';
12
- import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
13
- import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
14
- import { type EndToEndContext, type SetupOptions } from '../fixtures/setup.js';
15
- import { CrossChainTestHarness } from '../shared/cross_chain_test_harness.js';
16
- import type { TestWallet } from '../test-wallet/test_wallet.js';
17
- export declare class CrossChainMessagingTest {
18
- private requireEpochProven;
19
- private setupOptions;
20
- private deployL1ContractsArgs;
21
- logger: Logger;
22
- context: EndToEndContext;
23
- aztecNode: AztecNode;
24
- aztecNodeConfig: AztecNodeConfig;
25
- aztecNodeAdmin: AztecNodeAdmin;
26
- l1Client: ExtendedViemWalletClient | undefined;
27
- wallet: TestWallet;
28
- ownerAddress: AztecAddress;
29
- user1Address: AztecAddress;
30
- user2Address: AztecAddress;
31
- crossChainTestHarness: CrossChainTestHarness;
32
- ethAccount: EthAddress;
33
- l2Token: TokenContract;
34
- l2Bridge: TokenBridgeContract;
35
- rollup: RollupContract;
36
- inbox: InboxContract;
37
- outbox: OutboxContract;
38
- cheatCodes: CheatCodes;
39
- deployL1ContractsValues: DeployAztecL1ContractsReturnType;
40
- constructor(testName: string, opts?: SetupOptions, deployL1ContractsArgs?: Partial<DeployAztecL1ContractsArgs>);
41
- setup(): Promise<void>;
42
- advanceToEpochProven(l2TxReceipt: TxReceipt): Promise<EpochNumber>;
43
- catchUpProvenChain(): Promise<void>;
44
- teardown(): Promise<void>;
45
- applyBaseSetup(): Promise<void>;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NfY2hhaW5fbWVzc2FnaW5nX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfY3Jvc3NfY2hhaW5fbWVzc2FnaW5nL2Nyb3NzX2NoYWluX21lc3NhZ2luZ190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFDViwwQkFBMEIsRUFDMUIsZ0NBQWdDLEVBQ2pDLE1BQU0sMkNBQTJDLENBQUM7QUFFbkQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxZQUFZLEVBS2xCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUscUJBQWEsdUJBQXVCO0lBQ2xDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBVTtJQUNwQyxPQUFPLENBQUMsWUFBWSxDQUFlO0lBQ25DLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBc0M7SUFDbkUsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE9BQU8sRUFBRyxlQUFlLENBQUM7SUFDMUIsU0FBUyxFQUFHLFNBQVMsQ0FBQztJQUN0QixlQUFlLEVBQUcsZUFBZSxDQUFDO0lBQ2xDLGNBQWMsRUFBRyxjQUFjLENBQUM7SUFFaEMsUUFBUSxFQUFHLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUVoRCxNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxZQUFZLENBQUM7SUFDNUIsWUFBWSxFQUFHLFlBQVksQ0FBQztJQUM1QixZQUFZLEVBQUcsWUFBWSxDQUFDO0lBQzVCLHFCQUFxQixFQUFHLHFCQUFxQixDQUFDO0lBQzlDLFVBQVUsRUFBRyxVQUFVLENBQUM7SUFDeEIsT0FBTyxFQUFHLGFBQWEsQ0FBQztJQUN4QixRQUFRLEVBQUcsbUJBQW1CLENBQUM7SUFFL0IsTUFBTSxFQUFHLGNBQWMsQ0FBQztJQUN4QixLQUFLLEVBQUcsYUFBYSxDQUFDO0lBQ3RCLE1BQU0sRUFBRyxjQUFjLENBQUM7SUFDeEIsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUV4Qix1QkFBdUIsRUFBRyxnQ0FBZ0MsQ0FBQztJQUUzRCxZQUNFLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLElBQUksR0FBRSxZQUFpQixFQUN2QixxQkFBcUIsR0FBRSxPQUFPLENBQUMsMEJBQTBCLENBQU0sRUFTaEU7SUFFSyxLQUFLLGtCQVNWO0lBRUssb0JBQW9CLENBQUMsV0FBVyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBU3ZFO0lBRUssa0JBQWtCLGtCQUt2QjtJQUVLLFFBQVEsa0JBRWI7SUFFSyxjQUFjLGtCQWtGbkI7Q0FDRiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross_chain_messaging_test.d.ts","sourceRoot":"","sources":["../../src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAKlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,uBAAuB;IAClC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,qBAAqB,CAAsC;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAG,eAAe,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,eAAe,EAAG,eAAe,CAAC;IAClC,cAAc,EAAG,cAAc,CAAC;IAEhC,QAAQ,EAAG,wBAAwB,GAAG,SAAS,CAAC;IAEhD,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,YAAY,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,qBAAqB,EAAG,qBAAqB,CAAC;IAC9C,UAAU,EAAG,UAAU,CAAC;IACxB,OAAO,EAAG,aAAa,CAAC;IACxB,QAAQ,EAAG,mBAAmB,CAAC;IAE/B,MAAM,EAAG,cAAc,CAAC;IACxB,KAAK,EAAG,aAAa,CAAC;IACtB,MAAM,EAAG,cAAc,CAAC;IACxB,UAAU,EAAG,UAAU,CAAC;IAExB,uBAAuB,EAAG,gCAAgC,CAAC;IAE3D,YACE,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,YAAiB,EACvB,qBAAqB,GAAE,OAAO,CAAC,0BAA0B,CAAM,EAShE;IAEK,KAAK,kBASV;IAEK,oBAAoB,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CASvE;IAEK,kBAAkB,kBAKvB;IAEK,QAAQ,kBAEb;IAEK,cAAc,kBAkFnB;CACF"}
@@ -1,129 +0,0 @@
1
- import { EthAddress } from '@aztec/aztec.js/addresses';
2
- import { waitForProven } from '@aztec/aztec.js/contracts';
3
- import { createLogger } from '@aztec/aztec.js/log';
4
- import { createExtendedL1Client } from '@aztec/ethereum/client';
5
- import { InboxContract, OutboxContract, RollupContract } from '@aztec/ethereum/contracts';
6
- import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
7
- import { EpochNumber } from '@aztec/foundation/branded-types';
8
- import { sleep } from '@aztec/foundation/sleep';
9
- import { TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
10
- import { TokenContract } from '@aztec/noir-contracts.js/Token';
11
- import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
12
- import { MNEMONIC } from '../fixtures/fixtures.js';
13
- import { deployAccounts, publicDeployAccounts, setup, teardown } from '../fixtures/setup.js';
14
- import { CrossChainTestHarness } from '../shared/cross_chain_test_harness.js';
15
- export class CrossChainMessagingTest {
16
- requireEpochProven;
17
- setupOptions;
18
- deployL1ContractsArgs;
19
- logger;
20
- context;
21
- aztecNode;
22
- aztecNodeConfig;
23
- aztecNodeAdmin;
24
- l1Client;
25
- wallet;
26
- ownerAddress;
27
- user1Address;
28
- user2Address;
29
- crossChainTestHarness;
30
- ethAccount;
31
- l2Token;
32
- l2Bridge;
33
- rollup;
34
- inbox;
35
- outbox;
36
- cheatCodes;
37
- deployL1ContractsValues;
38
- constructor(testName, opts = {}, deployL1ContractsArgs = {}){
39
- this.logger = createLogger(`e2e:e2e_cross_chain_messaging:${testName}`);
40
- this.setupOptions = opts;
41
- this.deployL1ContractsArgs = {
42
- initialValidators: [],
43
- ...deployL1ContractsArgs
44
- };
45
- this.requireEpochProven = opts.startProverNode ?? false;
46
- }
47
- async setup() {
48
- this.logger.info('Setting up cross chain messaging test');
49
- this.context = await setup(0, {
50
- ...this.setupOptions,
51
- fundSponsoredFPC: true,
52
- skipAccountDeployment: true,
53
- l1ContractsArgs: this.deployL1ContractsArgs
54
- });
55
- await this.applyBaseSetup();
56
- }
57
- async advanceToEpochProven(l2TxReceipt) {
58
- const block = await this.aztecNode.getBlock(l2TxReceipt.blockNumber);
59
- const epoch = await this.rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
60
- // Warp to the next epoch.
61
- await this.cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
62
- // Wait for the tx to be proven.
63
- await waitForProven(this.aztecNode, l2TxReceipt, {
64
- provenTimeout: 300
65
- });
66
- // Return the epoch the tx is in.
67
- return epoch;
68
- }
69
- async catchUpProvenChain() {
70
- const bn = await this.aztecNode.getBlockNumber();
71
- while(await this.aztecNode.getProvenBlockNumber() < bn){
72
- await sleep(1000);
73
- }
74
- }
75
- async teardown() {
76
- await teardown(this.context);
77
- }
78
- async applyBaseSetup() {
79
- // Set up base context fields
80
- this.aztecNode = this.context.aztecNodeService;
81
- this.wallet = this.context.wallet;
82
- this.aztecNodeConfig = this.context.config;
83
- this.cheatCodes = this.context.cheatCodes;
84
- this.deployL1ContractsValues = this.context.deployL1ContractsValues;
85
- this.aztecNodeAdmin = this.context.aztecNodeService;
86
- if (this.requireEpochProven) {
87
- // Turn off the watcher to prevent it from keep marking blocks as proven.
88
- this.context.watcher.setIsMarkingAsProven(false);
89
- }
90
- // Deploy 3 accounts
91
- this.logger.info('Applying 3_accounts setup');
92
- const { deployedAccounts } = await deployAccounts(3, this.logger)({
93
- wallet: this.context.wallet,
94
- initialFundedAccounts: this.context.initialFundedAccounts
95
- });
96
- [this.ownerAddress, this.user1Address, this.user2Address] = deployedAccounts.map((a)=>a.address);
97
- // Set up cross chain messaging
98
- this.logger.info('Applying e2e_cross_chain_messaging setup');
99
- // Create the token contract state.
100
- this.logger.verbose(`Public deploy accounts...`);
101
- await publicDeployAccounts(this.wallet, [
102
- this.ownerAddress,
103
- this.user1Address,
104
- this.user2Address
105
- ]);
106
- this.l1Client = createExtendedL1Client(this.aztecNodeConfig.l1RpcUrls, MNEMONIC);
107
- const underlyingERC20Address = await deployL1Contract(this.l1Client, TestERC20Abi, TestERC20Bytecode, [
108
- 'Underlying',
109
- 'UND',
110
- this.l1Client.account.address
111
- ]).then(({ address })=>address);
112
- this.logger.verbose(`Setting up cross chain harness...`);
113
- this.crossChainTestHarness = await CrossChainTestHarness.new(this.aztecNode, this.l1Client, this.wallet, this.ownerAddress, this.logger, underlyingERC20Address);
114
- this.logger.verbose(`L2 token deployed to: ${this.crossChainTestHarness.l2Token.address}`);
115
- const crossChainContext = this.crossChainTestHarness.toCrossChainContext();
116
- this.l2Token = TokenContract.at(crossChainContext.l2Token, this.wallet);
117
- this.l2Bridge = TokenBridgeContract.at(crossChainContext.l2Bridge, this.wallet);
118
- // There is an issue with the reviver so we are getting strings sometimes. Working around it here.
119
- this.ethAccount = EthAddress.fromString(crossChainContext.ethAccount.toString());
120
- const tokenPortalAddress = EthAddress.fromString(crossChainContext.tokenPortal.toString());
121
- const l1Client = createExtendedL1Client(this.aztecNodeConfig.l1RpcUrls, MNEMONIC);
122
- this.l1Client = l1Client;
123
- const l1Contracts = this.aztecNodeConfig.l1Contracts;
124
- this.rollup = new RollupContract(l1Client, l1Contracts.rollupAddress.toString());
125
- this.inbox = new InboxContract(l1Client, l1Contracts.inboxAddress.toString());
126
- this.outbox = new OutboxContract(l1Client, l1Contracts.outboxAddress.toString());
127
- this.crossChainTestHarness = new CrossChainTestHarness(this.aztecNode, this.logger, this.l2Token, this.l2Bridge, this.ethAccount, tokenPortalAddress, crossChainContext.underlying, l1Client, this.aztecNodeConfig.l1Contracts, this.wallet, this.ownerAddress);
128
- }
129
- }
@@ -1,37 +0,0 @@
1
- import type { ContractArtifact } from '@aztec/aztec.js/abi';
2
- import type { AztecAddress } from '@aztec/aztec.js/addresses';
3
- import { type ContractBase } from '@aztec/aztec.js/contracts';
4
- import { Fr } from '@aztec/aztec.js/fields';
5
- import type { PublicKeys } from '@aztec/aztec.js/keys';
6
- import { type Logger } from '@aztec/aztec.js/log';
7
- import type { AztecNode } from '@aztec/aztec.js/node';
8
- import type { Wallet } from '@aztec/aztec.js/wallet';
9
- import type { StatefulTestContract } from '@aztec/noir-test-contracts.js/StatefulTest';
10
- import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
11
- import { type EndToEndContext } from '../fixtures/setup.js';
12
- import type { TestWallet } from '../test-wallet/test_wallet.js';
13
- export declare class DeployTest {
14
- context: EndToEndContext;
15
- logger: Logger;
16
- wallet: TestWallet;
17
- defaultAccountAddress: AztecAddress;
18
- aztecNode: AztecNode;
19
- aztecNodeAdmin: AztecNodeAdmin;
20
- constructor(testName: string);
21
- setup(): Promise<this>;
22
- teardown(): Promise<void>;
23
- private applyInitialAccount;
24
- registerContract<T extends ContractBase>(wallet: Wallet, contractArtifact: ContractArtifactClass<T>, opts?: {
25
- salt?: Fr;
26
- publicKeys?: PublicKeys;
27
- initArgs?: any[];
28
- constructorName?: string;
29
- deployer?: AztecAddress;
30
- }): Promise<T>;
31
- }
32
- export type StatefulContractCtorArgs = Parameters<StatefulTestContract['methods']['constructor']>;
33
- export type ContractArtifactClass<T extends ContractBase> = {
34
- at(address: AztecAddress, wallet: Wallet): T;
35
- artifact: ContractArtifact;
36
- };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfZGVwbG95X2NvbnRyYWN0L2RlcGxveV90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUE4QyxNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFDN0YsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUscUJBQWEsVUFBVTtJQUNkLE9BQU8sRUFBRyxlQUFlLENBQUM7SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLE1BQU0sRUFBRyxVQUFVLENBQUM7SUFDcEIscUJBQXFCLEVBQUcsWUFBWSxDQUFDO0lBQ3JDLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFDdEIsY0FBYyxFQUFHLGNBQWMsQ0FBQztJQUV2QyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBRTNCO0lBRUssS0FBSyxrQkFXVjtJQUVLLFFBQVEsa0JBRWI7WUFFYSxtQkFBbUI7SUFZM0IsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLFlBQVksRUFDM0MsTUFBTSxFQUFFLE1BQU0sRUFDZCxnQkFBZ0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFDMUMsSUFBSSxHQUFFO1FBQ0osSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ1YsVUFBVSxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBQ3hCLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN6QixRQUFRLENBQUMsRUFBRSxZQUFZLENBQUM7S0FDcEIsR0FDTCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBV1o7Q0FDRjtBQUVELE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUVsRyxNQUFNLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxTQUFTLFlBQVksSUFBSTtJQUMxRCxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM3QyxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7Q0FDNUIsQ0FBQyJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy_test.d.ts","sourceRoot":"","sources":["../../src/e2e_deploy_contract/deploy_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,YAAY,EAA8C,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,UAAU;IACd,OAAO,EAAG,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,qBAAqB,EAAG,YAAY,CAAC;IACrC,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAEvC,YAAY,QAAQ,EAAE,MAAM,EAE3B;IAEK,KAAK,kBAWV;IAEK,QAAQ,kBAEb;YAEa,mBAAmB;IAY3B,gBAAgB,CAAC,CAAC,SAAS,YAAY,EAC3C,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAC1C,IAAI,GAAE;QACJ,IAAI,CAAC,EAAE,EAAE,CAAC;QACV,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;KACpB,GACL,OAAO,CAAC,CAAC,CAAC,CAWZ;CACF;AAED,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAElG,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,YAAY,IAAI;IAC1D,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;CAC5B,CAAC"}
@@ -1,50 +0,0 @@
1
- import { getContractInstanceFromInstantiationParams } from '@aztec/aztec.js/contracts';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import { createLogger } from '@aztec/aztec.js/log';
4
- import { deployAccounts, setup, teardown } from '../fixtures/setup.js';
5
- export class DeployTest {
6
- context;
7
- logger;
8
- wallet;
9
- defaultAccountAddress;
10
- aztecNode;
11
- aztecNodeAdmin;
12
- constructor(testName){
13
- this.logger = createLogger(`e2e:e2e_deploy_contract:${testName}`);
14
- }
15
- async setup() {
16
- this.logger.info('Setting up test environment');
17
- this.context = await setup(0, {
18
- fundSponsoredFPC: true,
19
- skipAccountDeployment: true
20
- });
21
- this.aztecNode = this.context.aztecNodeService;
22
- this.wallet = this.context.wallet;
23
- this.aztecNodeAdmin = this.context.aztecNodeService;
24
- await this.applyInitialAccount();
25
- return this;
26
- }
27
- async teardown() {
28
- await teardown(this.context);
29
- }
30
- async applyInitialAccount() {
31
- this.logger.info('Applying initial account setup');
32
- const { deployedAccounts } = await deployAccounts(1, this.logger)({
33
- wallet: this.context.wallet,
34
- initialFundedAccounts: this.context.initialFundedAccounts
35
- });
36
- this.defaultAccountAddress = deployedAccounts[0].address;
37
- }
38
- async registerContract(wallet, contractArtifact, opts = {}) {
39
- const { salt, publicKeys, initArgs, constructorName, deployer } = opts;
40
- const instance = await getContractInstanceFromInstantiationParams(contractArtifact.artifact, {
41
- constructorArgs: initArgs ?? [],
42
- constructorArtifact: constructorName,
43
- salt: salt ?? Fr.random(),
44
- publicKeys,
45
- deployer
46
- });
47
- await wallet.registerContract(instance, contractArtifact.artifact);
48
- return contractArtifact.at(instance.address, wallet);
49
- }
50
- }
@@ -1,104 +0,0 @@
1
- import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import type { Logger } from '@aztec/aztec.js/log';
4
- import type { Wallet } from '@aztec/aztec.js/wallet';
5
- import { EpochCache } from '@aztec/epoch-cache';
6
- import { RollupContract } from '@aztec/ethereum/contracts';
7
- import { Delayer } from '@aztec/ethereum/l1-tx-utils';
8
- import { ChainMonitor } from '@aztec/ethereum/test';
9
- import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
10
- import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
11
- import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
12
- import { TestContract } from '@aztec/noir-test-contracts.js/Test';
13
- import type { ProverNodeConfig } from '@aztec/prover-node';
14
- import type { PXEConfig } from '@aztec/pxe/config';
15
- import { type SequencerClient, type SequencerEvents } from '@aztec/sequencer-client';
16
- import { type BlockParameter, EthAddress } from '@aztec/stdlib/block';
17
- import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
18
- import type { SlashingProtectionDatabase } from '@aztec/validator-ha-signer/types';
19
- import { type EndToEndContext, type SetupOptions } from '../fixtures/utils.js';
20
- export declare const WORLD_STATE_CHECKPOINT_HISTORY = 2;
21
- export declare const WORLD_STATE_BLOCK_CHECK_INTERVAL = 50;
22
- export declare const ARCHIVER_POLL_INTERVAL = 50;
23
- export declare const DEFAULT_L1_BLOCK_TIME: number;
24
- export type EpochsTestOpts = Partial<SetupOptions> & {
25
- numberOfAccounts?: number;
26
- pxeOpts?: Partial<PXEConfig>;
27
- aztecSlotDurationInL1Slots?: number;
28
- };
29
- export type TrackedSequencerEvent = {
30
- [K in keyof SequencerEvents]: Parameters<SequencerEvents[K]>[0] & {
31
- type: K;
32
- sequencerIndex: number;
33
- validator: EthAddress;
34
- };
35
- }[keyof SequencerEvents];
36
- /**
37
- * Tests building of epochs using fast block times and short epochs.
38
- * Spawns an aztec node and a prover node with fake proofs.
39
- * Sequencer is allowed to build empty blocks.
40
- */
41
- export declare class EpochsTestContext {
42
- context: EndToEndContext;
43
- l1Client: ExtendedViemWalletClient;
44
- rollup: RollupContract;
45
- constants: L1RollupConstants;
46
- logger: Logger;
47
- monitor: ChainMonitor;
48
- epochCache: EpochCache;
49
- proverDelayer: Delayer;
50
- sequencerDelayer: Delayer;
51
- proverNodes: AztecNodeService[];
52
- nodes: AztecNodeService[];
53
- epochDuration: number;
54
- L1_BLOCK_TIME_IN_S: number;
55
- L2_SLOT_DURATION_IN_S: number;
56
- static setup(opts?: EpochsTestOpts): Promise<EpochsTestContext>;
57
- static getSlotDurations(opts?: EpochsTestOpts): {
58
- l1PublishingTime: number;
59
- ethereumSlotDuration: number;
60
- aztecSlotDuration: number;
61
- aztecEpochDuration: number;
62
- aztecProofSubmissionEpochs: number;
63
- };
64
- setup(opts?: EpochsTestOpts): Promise<void>;
65
- teardown(): Promise<void>;
66
- createProverNode(opts?: {
67
- dontStart?: boolean;
68
- } & Partial<ProverNodeConfig>): Promise<AztecNodeService>;
69
- createNonValidatorNode(opts?: Partial<AztecNodeConfig>): Promise<AztecNodeService>;
70
- createValidatorNode(privateKeys: `0x${string}`[], opts?: Partial<AztecNodeConfig> & {
71
- dontStartSequencer?: boolean;
72
- slashingProtectionDb?: SlashingProtectionDatabase;
73
- }): Promise<AztecNodeService>;
74
- private createNode;
75
- private getNextPrivateKey;
76
- /** Waits until the epoch begins (ie until the immediately previous L1 block is mined). */
77
- waitUntilEpochStarts(epoch: number): Promise<bigint>;
78
- /** Waits until the given checkpoint number is mined. */
79
- waitUntilCheckpointNumber(target: CheckpointNumber, timeout?: number): Promise<void>;
80
- /** Waits until the given checkpoint number is marked as proven. */
81
- waitUntilProvenCheckpointNumber(target: CheckpointNumber, timeout?: number): Promise<CheckpointNumber>;
82
- /** Waits until the last slot of the proof submission window for a given epoch. */
83
- waitUntilLastSlotOfProofSubmissionWindow(epochNumber: number | bigint): Promise<void>;
84
- /** Waits for the aztec node to sync to the target block number. */
85
- waitForNodeToSync(blockNumber: BlockNumber, type: 'proven' | 'finalized' | 'historic'): Promise<void>;
86
- /** Registers the SpamContract on the given wallet. */
87
- registerSpamContract(wallet: Wallet, salt?: Fr): Promise<SpamContract>;
88
- /** Registers the TestContract on the given wallet. */
89
- registerTestContract(wallet: Wallet, salt?: Fr): Promise<TestContract>;
90
- /** Creates an L1 client using a fresh account with funds from anvil, with a tx delayer already set up. */
91
- createL1Client(): Promise<{
92
- client: ExtendedViemWalletClient;
93
- delayer: Delayer;
94
- }>;
95
- /** Verifies whether the given block number is found on the aztec node. */
96
- verifyHistoricBlock(blockNumber: BlockParameter, expectedSuccess: boolean): Promise<void>;
97
- /** Verifies at least one checkpoint has the target number of blocks (for MBPS validation). */
98
- assertMultipleBlocksPerSlot(targetBlockCount: number): Promise<void>;
99
- watchSequencerEvents(sequencers: SequencerClient[], getMetadata?: (i: number) => Record<string, any>): {
100
- failEvents: TrackedSequencerEvent[];
101
- stateChanges: TrackedSequencerEvent[];
102
- };
103
- }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hzX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfZXBvY2hzL2Vwb2Noc190ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQThELE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBTTdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsS0FBSyxlQUFlLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFC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
@@ -1 +0,0 @@
1
- {"version":3,"file":"epochs_test.d.ts","sourceRoot":"","sources":["../../src/e2e_epochs/epochs_test.ts"],"names":[],"mappings":"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"}