@aztec/end-to-end 0.0.1-commit.4d79d1f2d → 0.0.1-commit.4d9804df

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 (343) hide show
  1. package/README.md +217 -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 +39 -52
  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 +37 -52
  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 +5 -5
  28. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  29. package/dest/bench/client_flows/client_flows_benchmark.js +62 -53
  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 +102 -8
  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 +15 -0
  40. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  41. package/dest/fixtures/authwit_proxy.js +34 -0
  42. package/dest/fixtures/e2e_prover_test.d.ts +17 -13
  43. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  44. package/dest/fixtures/e2e_prover_test.js +82 -74
  45. package/dest/fixtures/elu_monitor.d.ts +21 -0
  46. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  47. package/dest/fixtures/elu_monitor.js +102 -0
  48. package/dest/fixtures/fixtures.d.ts +83 -1
  49. package/dest/fixtures/fixtures.d.ts.map +1 -1
  50. package/dest/fixtures/fixtures.js +86 -0
  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 +5 -5
  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 +8 -3
  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 +99 -48
  64. package/dest/fixtures/setup.d.ts.map +1 -1
  65. package/dest/fixtures/setup.js +319 -262
  66. package/dest/fixtures/setup_p2p_test.d.ts +14 -7
  67. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  68. package/dest/fixtures/setup_p2p_test.js +21 -18
  69. package/dest/fixtures/timing.d.ts +42 -0
  70. package/dest/fixtures/timing.d.ts.map +1 -0
  71. package/dest/fixtures/timing.js +72 -0
  72. package/dest/fixtures/token_utils.d.ts +22 -4
  73. package/dest/fixtures/token_utils.d.ts.map +1 -1
  74. package/dest/fixtures/token_utils.js +26 -8
  75. package/dest/fixtures/utils.d.ts +2 -2
  76. package/dest/fixtures/utils.d.ts.map +1 -1
  77. package/dest/fixtures/utils.js +1 -1
  78. package/dest/fixtures/wait_helpers.d.ts +135 -0
  79. package/dest/fixtures/wait_helpers.d.ts.map +1 -0
  80. package/dest/fixtures/wait_helpers.js +154 -0
  81. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  82. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  83. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  84. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  85. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  86. package/dest/forward-compatibility/wallet_service.js +109 -0
  87. package/dest/install_legacy_contracts.d.cts +10 -0
  88. package/dest/install_legacy_contracts.d.cts.map +1 -0
  89. package/dest/legacy-jest-resolver.d.cts +3 -0
  90. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  91. package/dest/multi-node/block-production/setup.d.ts +97 -0
  92. package/dest/multi-node/block-production/setup.d.ts.map +1 -0
  93. package/dest/multi-node/block-production/setup.js +158 -0
  94. package/dest/multi-node/governance/setup.d.ts +67 -0
  95. package/dest/multi-node/governance/setup.d.ts.map +1 -0
  96. package/dest/multi-node/governance/setup.js +126 -0
  97. package/dest/multi-node/multi_node_test_context.d.ts +212 -0
  98. package/dest/multi-node/multi_node_test_context.d.ts.map +1 -0
  99. package/dest/multi-node/multi_node_test_context.js +347 -0
  100. package/dest/multi-node/slashing/inactivity_setup.d.ts +27 -0
  101. package/dest/multi-node/slashing/inactivity_setup.d.ts.map +1 -0
  102. package/dest/multi-node/slashing/inactivity_setup.js +111 -0
  103. package/dest/multi-node/slashing/setup.d.ts +167 -0
  104. package/dest/multi-node/slashing/setup.d.ts.map +1 -0
  105. package/dest/multi-node/slashing/setup.js +275 -0
  106. package/dest/{e2e_p2p → p2p}/p2p_network.d.ts +21 -11
  107. package/dest/p2p/p2p_network.d.ts.map +1 -0
  108. package/dest/{e2e_p2p → p2p}/p2p_network.js +97 -37
  109. package/dest/p2p/reqresp/utils.d.ts +19 -0
  110. package/dest/p2p/reqresp/utils.d.ts.map +1 -0
  111. package/dest/{e2e_p2p → p2p}/reqresp/utils.js +67 -27
  112. package/dest/p2p/shared.d.ts +72 -0
  113. package/dest/p2p/shared.d.ts.map +1 -0
  114. package/dest/p2p/shared.js +212 -0
  115. package/dest/shared/cross_chain_test_harness.d.ts +6 -4
  116. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  117. package/dest/shared/cross_chain_test_harness.js +36 -31
  118. package/dest/shared/gas_portal_test_harness.d.ts +8 -5
  119. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  120. package/dest/shared/gas_portal_test_harness.js +26 -14
  121. package/dest/shared/index.d.ts +2 -1
  122. package/dest/shared/index.d.ts.map +1 -1
  123. package/dest/shared/index.js +1 -0
  124. package/dest/shared/jest_setup.js +41 -1
  125. package/dest/shared/mock_state_view.d.ts +86 -0
  126. package/dest/shared/mock_state_view.d.ts.map +1 -0
  127. package/dest/shared/mock_state_view.js +186 -0
  128. package/dest/shared/submit-transactions.d.ts +1 -1
  129. package/dest/shared/submit-transactions.d.ts.map +1 -1
  130. package/dest/shared/submit-transactions.js +12 -5
  131. package/dest/shared/timing_env.d.js +5 -0
  132. package/dest/shared/timing_env.js +365 -0
  133. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  134. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  135. package/dest/shared/uniswap_l1_l2.js +55 -45
  136. package/dest/shared/wait_for_l1_to_l2_message.d.ts +13 -0
  137. package/dest/shared/wait_for_l1_to_l2_message.d.ts.map +1 -0
  138. package/dest/shared/wait_for_l1_to_l2_message.js +10 -0
  139. package/dest/simulators/lending_simulator.d.ts +10 -3
  140. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  141. package/dest/simulators/lending_simulator.js +27 -15
  142. package/dest/simulators/token_simulator.d.ts +1 -1
  143. package/dest/simulators/token_simulator.d.ts.map +1 -1
  144. package/dest/simulators/token_simulator.js +2 -2
  145. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts +75 -0
  146. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts.map +1 -0
  147. package/dest/single-node/cross-chain/cross_chain_messaging_test.js +209 -0
  148. package/dest/single-node/cross-chain/message_test_helpers.d.ts +38 -0
  149. package/dest/single-node/cross-chain/message_test_helpers.d.ts.map +1 -0
  150. package/dest/single-node/cross-chain/message_test_helpers.js +70 -0
  151. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.d.ts +1 -1
  152. package/dest/single-node/fees/bridging_race.notest.d.ts.map +1 -0
  153. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.js +17 -4
  154. package/dest/single-node/fees/fees_test.d.ts +93 -0
  155. package/dest/single-node/fees/fees_test.d.ts.map +1 -0
  156. package/dest/{e2e_fees → single-node/fees}/fees_test.js +89 -63
  157. package/dest/single-node/l1-reorgs/setup.d.ts +42 -0
  158. package/dest/single-node/l1-reorgs/setup.d.ts.map +1 -0
  159. package/dest/single-node/l1-reorgs/setup.js +57 -0
  160. package/dest/single-node/partial-proofs/setup.d.ts +5 -0
  161. package/dest/single-node/partial-proofs/setup.d.ts.map +1 -0
  162. package/dest/single-node/partial-proofs/setup.js +5 -0
  163. package/dest/single-node/proving/setup.d.ts +5 -0
  164. package/dest/single-node/proving/setup.d.ts.map +1 -0
  165. package/dest/single-node/proving/setup.js +5 -0
  166. package/dest/single-node/recovery/setup.d.ts +5 -0
  167. package/dest/single-node/recovery/setup.d.ts.map +1 -0
  168. package/dest/single-node/recovery/setup.js +5 -0
  169. package/dest/single-node/setup.d.ts +49 -0
  170. package/dest/single-node/setup.d.ts.map +1 -0
  171. package/dest/single-node/setup.js +56 -0
  172. package/dest/single-node/single_node_test_context.d.ts +360 -0
  173. package/dest/single-node/single_node_test_context.d.ts.map +1 -0
  174. package/dest/single-node/single_node_test_context.js +833 -0
  175. package/dest/spartan/setup_test_wallets.d.ts +11 -2
  176. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  177. package/dest/spartan/setup_test_wallets.js +121 -46
  178. package/dest/spartan/tx_metrics.d.ts +27 -4
  179. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  180. package/dest/spartan/tx_metrics.js +106 -21
  181. package/dest/spartan/utils/bot.d.ts +3 -2
  182. package/dest/spartan/utils/bot.d.ts.map +1 -1
  183. package/dest/spartan/utils/bot.js +2 -1
  184. package/dest/spartan/utils/config.d.ts +10 -30
  185. package/dest/spartan/utils/config.d.ts.map +1 -1
  186. package/dest/spartan/utils/config.js +3 -1
  187. package/dest/spartan/utils/index.d.ts +4 -2
  188. package/dest/spartan/utils/index.d.ts.map +1 -1
  189. package/dest/spartan/utils/index.js +5 -1
  190. package/dest/spartan/utils/k8s.d.ts +3 -1
  191. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  192. package/dest/spartan/utils/k8s.js +6 -0
  193. package/dest/spartan/utils/nodes.d.ts +4 -5
  194. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  195. package/dest/spartan/utils/nodes.js +11 -11
  196. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  197. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  198. package/dest/spartan/utils/pod_logs.js +74 -0
  199. package/dest/test-wallet/test_wallet.d.ts +48 -25
  200. package/dest/test-wallet/test_wallet.d.ts.map +1 -1
  201. package/dest/test-wallet/test_wallet.js +197 -91
  202. package/dest/test-wallet/utils.d.ts +38 -3
  203. package/dest/test-wallet/utils.d.ts.map +1 -1
  204. package/dest/test-wallet/utils.js +65 -10
  205. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  206. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  207. package/dest/test-wallet/wallet_worker_script.js +56 -0
  208. package/dest/test-wallet/worker_wallet.d.ts +53 -0
  209. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  210. package/dest/test-wallet/worker_wallet.js +157 -0
  211. package/dest/test-wallet/worker_wallet_schema.d.ts +4 -0
  212. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  213. package/dest/test-wallet/worker_wallet_schema.js +23 -0
  214. package/package.json +50 -47
  215. package/src/automine/README.md +60 -0
  216. package/src/automine/automine_test_context.ts +153 -0
  217. package/src/automine/delivery/interactive_handshake_responder.ts +125 -0
  218. package/src/automine/delivery/onchain_delivery_harness.ts +213 -0
  219. package/src/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.ts +44 -63
  220. package/src/{e2e_token_contract → automine/token}/token_contract_test.ts +43 -58
  221. package/src/automine/token/token_test_helpers.ts +138 -0
  222. package/src/bench/client_flows/benchmark.ts +21 -0
  223. package/src/bench/client_flows/client_flows_benchmark.ts +102 -64
  224. package/src/bench/client_flows/data_extractor.ts +1 -0
  225. package/src/bench/utils.ts +116 -7
  226. package/src/composed/ha/ha_full_setup.ts +466 -0
  227. package/src/fixtures/authwit_proxy.ts +54 -0
  228. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  229. package/src/fixtures/e2e_prover_test.ts +97 -93
  230. package/src/fixtures/elu_monitor.ts +126 -0
  231. package/src/fixtures/fixtures.ts +110 -0
  232. package/src/fixtures/get_bb_config.ts +7 -6
  233. package/src/fixtures/ha_setup.ts +14 -6
  234. package/src/fixtures/index.ts +1 -0
  235. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  236. package/src/fixtures/setup.ts +406 -351
  237. package/src/fixtures/setup_p2p_test.ts +23 -27
  238. package/src/fixtures/timing.ts +97 -0
  239. package/src/fixtures/token_utils.ts +42 -7
  240. package/src/fixtures/utils.ts +2 -3
  241. package/src/fixtures/wait_helpers.ts +333 -0
  242. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  243. package/src/forward-compatibility/wallet_service.ts +106 -0
  244. package/src/guides/up_quick_start.sh +5 -2
  245. package/src/infra/README.md +12 -0
  246. package/src/install_legacy_contracts.cjs +75 -0
  247. package/src/legacy-jest-resolver.cjs +112 -0
  248. package/src/multi-node/README.md +95 -0
  249. package/src/multi-node/block-production/setup.ts +272 -0
  250. package/src/multi-node/governance/setup.ts +172 -0
  251. package/src/multi-node/multi_node_test_context.ts +447 -0
  252. package/src/multi-node/slashing/inactivity_setup.ts +139 -0
  253. package/src/multi-node/slashing/setup.ts +433 -0
  254. package/src/p2p/README.md +78 -0
  255. package/src/{e2e_p2p → p2p}/p2p_network.ts +116 -47
  256. package/src/{e2e_p2p → p2p}/reqresp/utils.ts +82 -26
  257. package/src/p2p/shared.ts +329 -0
  258. package/src/shared/cross_chain_test_harness.ts +42 -17
  259. package/src/shared/gas_portal_test_harness.ts +33 -15
  260. package/src/shared/index.ts +1 -0
  261. package/src/shared/jest_setup.ts +51 -1
  262. package/src/shared/mock_state_view.ts +188 -0
  263. package/src/shared/submit-transactions.ts +13 -5
  264. package/src/shared/timing_env.d.mts +39 -0
  265. package/src/shared/timing_env.mjs +363 -0
  266. package/src/shared/uniswap_l1_l2.ts +98 -54
  267. package/src/shared/wait_for_l1_to_l2_message.ts +23 -0
  268. package/src/simulators/lending_simulator.ts +33 -15
  269. package/src/simulators/token_simulator.ts +6 -2
  270. package/src/single-node/README.md +60 -0
  271. package/src/single-node/cross-chain/cross_chain_messaging_test.ts +302 -0
  272. package/src/single-node/cross-chain/message_test_helpers.ts +125 -0
  273. package/src/{e2e_fees → single-node/fees}/bridging_race.notest.ts +19 -5
  274. package/src/{e2e_fees → single-node/fees}/fees_test.ts +114 -70
  275. package/src/single-node/l1-reorgs/setup.ts +93 -0
  276. package/src/single-node/partial-proofs/setup.ts +8 -0
  277. package/src/single-node/proving/setup.ts +15 -0
  278. package/src/single-node/recovery/setup.ts +8 -0
  279. package/src/single-node/setup.ts +63 -0
  280. package/src/single-node/single_node_test_context.ts +1041 -0
  281. package/src/spartan/setup_test_wallets.ts +165 -41
  282. package/src/spartan/tx_metrics.ts +108 -24
  283. package/src/spartan/utils/bot.ts +4 -1
  284. package/src/spartan/utils/config.ts +2 -0
  285. package/src/spartan/utils/index.ts +7 -0
  286. package/src/spartan/utils/k8s.ts +8 -0
  287. package/src/spartan/utils/nodes.ts +17 -12
  288. package/src/spartan/utils/pod_logs.ts +99 -0
  289. package/src/test-wallet/test_wallet.ts +228 -107
  290. package/src/test-wallet/utils.ts +104 -11
  291. package/src/test-wallet/wallet_worker_script.ts +66 -0
  292. package/src/test-wallet/worker_wallet.ts +216 -0
  293. package/src/test-wallet/worker_wallet_schema.ts +14 -0
  294. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +0 -55
  295. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +0 -1
  296. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -47
  297. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +0 -1
  298. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +0 -129
  299. package/dest/e2e_deploy_contract/deploy_test.d.ts +0 -37
  300. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +0 -1
  301. package/dest/e2e_deploy_contract/deploy_test.js +0 -50
  302. package/dest/e2e_epochs/epochs_test.d.ts +0 -100
  303. package/dest/e2e_epochs/epochs_test.d.ts.map +0 -1
  304. package/dest/e2e_epochs/epochs_test.js +0 -367
  305. package/dest/e2e_fees/bridging_race.notest.d.ts.map +0 -1
  306. package/dest/e2e_fees/fees_test.d.ts +0 -88
  307. package/dest/e2e_fees/fees_test.d.ts.map +0 -1
  308. package/dest/e2e_l1_publisher/write_json.d.ts +0 -11
  309. package/dest/e2e_l1_publisher/write_json.d.ts.map +0 -1
  310. package/dest/e2e_l1_publisher/write_json.js +0 -56
  311. package/dest/e2e_multi_validator/utils.d.ts +0 -12
  312. package/dest/e2e_multi_validator/utils.d.ts.map +0 -1
  313. package/dest/e2e_nested_contract/nested_contract_test.d.ts +0 -26
  314. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +0 -1
  315. package/dest/e2e_nested_contract/nested_contract_test.js +0 -56
  316. package/dest/e2e_p2p/inactivity_slash_test.d.ts +0 -31
  317. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +0 -1
  318. package/dest/e2e_p2p/inactivity_slash_test.js +0 -136
  319. package/dest/e2e_p2p/p2p_network.d.ts.map +0 -1
  320. package/dest/e2e_p2p/reqresp/utils.d.ts +0 -22
  321. package/dest/e2e_p2p/reqresp/utils.d.ts.map +0 -1
  322. package/dest/e2e_p2p/shared.d.ts +0 -46
  323. package/dest/e2e_p2p/shared.d.ts.map +0 -1
  324. package/dest/e2e_p2p/shared.js +0 -181
  325. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +0 -2
  326. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +0 -1
  327. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +0 -1
  328. package/dest/e2e_token_contract/token_contract_test.d.ts +0 -44
  329. package/dest/e2e_token_contract/token_contract_test.d.ts.map +0 -1
  330. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +0 -193
  331. package/src/e2e_deploy_contract/deploy_test.ts +0 -85
  332. package/src/e2e_epochs/epochs_test.ts +0 -487
  333. package/src/e2e_l1_publisher/write_json.ts +0 -77
  334. package/src/e2e_nested_contract/nested_contract_test.ts +0 -73
  335. package/src/e2e_p2p/inactivity_slash_test.ts +0 -179
  336. package/src/e2e_p2p/shared.ts +0 -290
  337. /package/dest/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fetcher.js +0 -0
  338. /package/dest/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fixture.js +0 -0
  339. /package/dest/{e2e_multi_validator/utils.js → composed/web3signer/multi_validator_keystore_utils.js} +0 -0
  340. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof.json +0 -0
  341. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fetcher.ts +0 -0
  342. /package/src/{e2e_storage_proof → automine/contracts}/fixtures/storage_proof_fixture.ts +0 -0
  343. /package/src/{e2e_multi_validator/utils.ts → composed/web3signer/multi_validator_keystore_utils.ts} +0 -0
@@ -1,4 +1,6 @@
1
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
1
2
  import {
3
+ BatchCall,
2
4
  ContractFunctionInteraction,
3
5
  DeployMethod,
4
6
  type DeployOptions,
@@ -9,11 +11,15 @@ import {
9
11
  toSendOptions,
10
12
  } from '@aztec/aztec.js/contracts';
11
13
  import { type AztecNode, waitForTx } from '@aztec/aztec.js/node';
14
+ import { timesAsync } from '@aztec/foundation/collection';
15
+ import type { Logger } from '@aztec/foundation/log';
16
+ import { sleep } from '@aztec/foundation/sleep';
12
17
  import { SimulationError } from '@aztec/stdlib/errors';
13
18
  import { type OffchainEffect, type ProvingStats, Tx, TxHash, type TxReceipt } from '@aztec/stdlib/tx';
14
19
 
15
20
  import { inspect } from 'util';
16
21
 
22
+ import { testSpan, withTestSpanOwner } from '../fixtures/timing.js';
17
23
  import type { TestWallet } from './test_wallet.js';
18
24
 
19
25
  export type ProvenTxSendOpts = {
@@ -34,7 +40,11 @@ export class ProvenTx extends Tx {
34
40
 
35
41
  send(options?: Omit<ProvenTxSendOpts, 'wait'>): Promise<TxReceipt>;
36
42
  send<W extends ProvenTxSendOpts['wait']>(options: ProvenTxSendOpts & { wait: W }): Promise<ProvenTxSendReturn<W>>;
37
- async send(options?: ProvenTxSendOpts): Promise<TxHash | TxReceipt> {
43
+ send(options?: ProvenTxSendOpts): Promise<TxHash | TxReceipt> {
44
+ return testSpan('tx:send', () => this.sendInner(options));
45
+ }
46
+
47
+ private async sendInner(options?: ProvenTxSendOpts): Promise<TxHash | TxReceipt> {
38
48
  const txHash = this.getTxHash();
39
49
  await this.node.sendTx(this).catch(err => {
40
50
  throw this.contextualizeError(err, inspect(this));
@@ -60,18 +70,101 @@ export class ProvenTx extends Tx {
60
70
  }
61
71
  }
62
72
 
63
- export async function proveInteraction(
73
+ export function proveInteraction(
64
74
  wallet: TestWallet,
65
- interaction: ContractFunctionInteraction | DeployMethod,
75
+ interaction: ContractFunctionInteraction | DeployMethod | BatchCall,
66
76
  options: SendInteractionOptions | DeployOptions,
67
- ) {
68
- let execPayload;
69
- if (interaction instanceof DeployMethod) {
70
- execPayload = await interaction.request(interaction.convertDeployOptionsToRequestOptions(options));
71
- } else {
72
- execPayload = await interaction.request(options);
73
- }
74
- return wallet.proveTx(execPayload, toSendOptions(options));
77
+ ): Promise<ProvenTx> {
78
+ return testSpan('tx:prove', async () => {
79
+ const execPayload = await interaction.request(options);
80
+ return wallet.proveTx(execPayload, toSendOptions(options));
81
+ });
82
+ }
83
+
84
+ /** Builds an interaction for index `i` of a batch. */
85
+ export type MakeBatchCall = (i: number) => ContractFunctionInteraction | DeployMethod | BatchCall;
86
+
87
+ /**
88
+ * Pre-proves `count` interactions built by `makeCall(i)` against `wallet`, all with the same
89
+ * `options`. Returns the proven txs so the caller can send them individually (e.g. with sleeps
90
+ * between sends, or anchored to intermediate tips). For the common "send the whole batch at once"
91
+ * case use {@link proveAndSendTxs}.
92
+ */
93
+ export function proveTxs(
94
+ wallet: TestWallet,
95
+ count: number,
96
+ makeCall: MakeBatchCall,
97
+ options: SendInteractionOptions | DeployOptions,
98
+ ): Promise<ProvenTx[]> {
99
+ return timesAsync(count, i => proveInteraction(wallet, makeCall(i), options));
100
+ }
101
+
102
+ /**
103
+ * Pre-proves `count` interactions built by `makeCall(i)` and sends each one with `NO_WAIT`, all at
104
+ * once. Returns the tx hashes in batch order. Pairs with `waitForTxs` for the "send N, wait for N"
105
+ * arc. Use {@link proveTxs} instead when the sends need bespoke sequencing.
106
+ */
107
+ export async function proveAndSendTxs(
108
+ wallet: TestWallet,
109
+ count: number,
110
+ makeCall: MakeBatchCall,
111
+ options: SendInteractionOptions | DeployOptions,
112
+ ): Promise<TxHash[]> {
113
+ const txs = await proveTxs(wallet, count, makeCall, options);
114
+ return Promise.all(txs.map(tx => tx.send({ wait: NO_WAIT })));
115
+ }
116
+
117
+ /** Options for {@link startMempoolFeeder}. */
118
+ export type MempoolFeederOpts = {
119
+ /** The account the txs are sent from. */
120
+ from: AztecAddress;
121
+ /** Keep the pending-tx count at or above this threshold; defaults to 3. */
122
+ minPending?: number;
123
+ /** Milliseconds between top-up polls; defaults to 1000. */
124
+ intervalMs?: number;
125
+ /** Logger for verbose top-up traces. */
126
+ logger?: Logger;
127
+ };
128
+
129
+ /**
130
+ * Starts a background loop that keeps `node`'s mempool topped up: whenever the pending-tx count drops
131
+ * below `opts.minPending`, it proves and sends one interaction built by `makeCall()` (NO_WAIT). Errors
132
+ * are swallowed and retried. Returns an {@link AsyncDisposable}; disposing stops the loop and awaits it.
133
+ */
134
+ export function startMempoolFeeder(
135
+ wallet: TestWallet,
136
+ node: AztecNode,
137
+ makeCall: () => ContractFunctionInteraction | DeployMethod | BatchCall,
138
+ opts: MempoolFeederOpts,
139
+ ): AsyncDisposable {
140
+ const minPending = opts.minPending ?? 3;
141
+ const intervalMs = opts.intervalMs ?? 1000;
142
+ let stopped = false;
143
+
144
+ // Pin the feeder's prove/send spans to a fixed non-test owner. It runs interleaved with arbitrary
145
+ // tests, so without this its tx:prove/tx:send spans would smear onto whichever test was current
146
+ // when each round fired; the pinned owner matches no test/suite record, excluding them cleanly.
147
+ const loop = withTestSpanOwner('other:mempool-feeder', async () => {
148
+ while (!stopped) {
149
+ try {
150
+ const pendingCount = await node.getPendingTxCount();
151
+ if (pendingCount < minPending) {
152
+ await proveAndSendTxs(wallet, 1, makeCall, { from: opts.from });
153
+ opts.logger?.verbose(`Topped up mempool (was ${pendingCount})`);
154
+ }
155
+ } catch (err) {
156
+ opts.logger?.verbose(`Mempool top-up error (will retry): ${err}`);
157
+ }
158
+ await sleep(intervalMs);
159
+ }
160
+ });
161
+
162
+ return {
163
+ async [Symbol.asyncDispose]() {
164
+ stopped = true;
165
+ await loop;
166
+ },
167
+ };
75
168
  }
76
169
 
77
170
  /**
@@ -0,0 +1,66 @@
1
+ import { DefaultWaitOpts } from '@aztec/aztec.js/contracts';
2
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
+ import type { SendOptions } from '@aztec/aztec.js/wallet';
4
+ import { BackendType, BarretenbergSync } from '@aztec/bb.js';
5
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
6
+ import { createLogger } from '@aztec/foundation/log';
7
+ import type { ApiSchema, Fq, Fr } from '@aztec/foundation/schemas';
8
+ import { getSchemaParameters, parseWithOptionals, schemaHasMethod } from '@aztec/foundation/schemas';
9
+ import { NodeListener, TransportServer } from '@aztec/foundation/transport';
10
+ import { ExecutionPayload, Tx } from '@aztec/stdlib/tx';
11
+
12
+ import { workerData } from 'worker_threads';
13
+
14
+ import { TestWallet } from './test_wallet.js';
15
+ import { WorkerWalletSchema } from './worker_wallet_schema.js';
16
+
17
+ const logger = createLogger('e2e:test-wallet:worker');
18
+
19
+ try {
20
+ const { nodeUrl, pxeConfig } = workerData as { nodeUrl: string; pxeConfig?: Record<string, unknown> };
21
+
22
+ logger.info('Initializing worker wallet', { nodeUrl });
23
+ const node = createAztecNodeClient(nodeUrl);
24
+ // Worker sync bb use is limited to crypto and proof serialization helpers.
25
+ await BarretenbergSync.initSingleton({ backend: BackendType.Wasm });
26
+ const wallet = await TestWallet.create(node, pxeConfig);
27
+ // Worker wallets are only used by spartan tests against remote JSON-RPC nodes: keep the 1s poll cadence.
28
+ wallet.setDefaultWaitInterval(DefaultWaitOpts.interval);
29
+ logger.info('Worker wallet initialized');
30
+
31
+ const customMethods = {
32
+ proveTx: async (exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>) => {
33
+ const provenTx = await wallet.proveTx(exec, opts);
34
+ return new Tx(
35
+ provenTx.getTxHash(),
36
+ provenTx.data,
37
+ provenTx.chonkProof,
38
+ provenTx.contractClassLogFields,
39
+ provenTx.publicFunctionCalldata,
40
+ );
41
+ },
42
+ registerAccount: async (secret: Fr, salt: Fr, signingKey: Fq) => {
43
+ const manager = await wallet.createSchnorrAccount(secret, salt, signingKey);
44
+ return manager.address;
45
+ },
46
+ };
47
+
48
+ const schema = WorkerWalletSchema as ApiSchema;
49
+ const listener = new NodeListener();
50
+ const server = new TransportServer<{ fn: string; args: string }>(listener, async msg => {
51
+ if (!schemaHasMethod(schema, msg.fn)) {
52
+ throw new Error(`Unknown method: ${msg.fn}`);
53
+ }
54
+ const jsonParams = JSON.parse(msg.args) as unknown[];
55
+ const args: any[] = await parseWithOptionals(jsonParams, getSchemaParameters(schema[msg.fn]));
56
+ // we have to erase the fn type in order to be able to spread ...args
57
+ const handler: ((...args: any[]) => Promise<any>) | undefined =
58
+ msg.fn in customMethods ? customMethods[msg.fn as keyof typeof customMethods] : undefined;
59
+ const result = handler ? await handler(...args) : await (wallet as any)[msg.fn](...args);
60
+ return jsonStringify(result);
61
+ });
62
+ server.start();
63
+ } catch (err: unknown) {
64
+ logger.error('Worker wallet initialization failed', { error: err instanceof Error ? err.stack : String(err) });
65
+ process.exit(1);
66
+ }
@@ -0,0 +1,216 @@
1
+ import type { CallIntent, IntentInnerHash } from '@aztec/aztec.js/authorization';
2
+ import type { InteractionWaitOptions, SendReturn } from '@aztec/aztec.js/contracts';
3
+ import type {
4
+ Aliased,
5
+ AppCapabilities,
6
+ BatchResults,
7
+ BatchedMethod,
8
+ ContractClassMetadata,
9
+ ContractMetadata,
10
+ ExecuteUtilityOptions,
11
+ PrivateEvent,
12
+ PrivateEventFilter,
13
+ ProfileOptions,
14
+ SendOptions,
15
+ SimulateOptions,
16
+ TxSimulationResultWithAppOffset,
17
+ Wallet,
18
+ WalletCapabilities,
19
+ } from '@aztec/aztec.js/wallet';
20
+ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
21
+ import type { Fq, Fr } from '@aztec/foundation/curves/bn254';
22
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
23
+ import { createLogger } from '@aztec/foundation/log';
24
+ import { promiseWithResolvers } from '@aztec/foundation/promise';
25
+ import { type ApiSchema, getSchemaReturnType } from '@aztec/foundation/schemas';
26
+ import { sleep } from '@aztec/foundation/sleep';
27
+ import { NodeConnector, TransportClient } from '@aztec/foundation/transport';
28
+ import type { PXEConfig } from '@aztec/pxe/config';
29
+ import type { ContractArtifact, EventMetadataDefinition, FunctionCall } from '@aztec/stdlib/abi';
30
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
31
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
32
+ import type { ContractInstancePreimage } from '@aztec/stdlib/contract';
33
+ import type { ExecutionPayload, TxProfileResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
34
+ import { Tx } from '@aztec/stdlib/tx';
35
+
36
+ import { Worker } from 'worker_threads';
37
+
38
+ import { WorkerWalletSchema } from './worker_wallet_schema.js';
39
+
40
+ type WorkerMsg = { fn: string; args: string };
41
+
42
+ const log = createLogger('e2e:test-wallet:worker-wallet');
43
+
44
+ const WORKER_READY_TIMEOUT_MS = 120_000;
45
+
46
+ /**
47
+ * Wallet implementation that offloads all work to a worker thread.
48
+ * Implements the Wallet interface by proxying calls over a transport layer
49
+ * using JSON serialization with Zod schema parsing on both ends.
50
+ */
51
+ export class WorkerWallet implements Wallet {
52
+ private constructor(
53
+ private worker: Worker,
54
+ private client: TransportClient<WorkerMsg>,
55
+ ) {}
56
+
57
+ /**
58
+ * Creates a WorkerWallet by spawning a worker thread that creates a TestWallet internally.
59
+ * @param nodeUrl - URL of the Aztec node to connect to.
60
+ * @param pxeConfig - Optional PXE configuration overrides.
61
+ * @returns A WorkerWallet ready to use.
62
+ */
63
+ static async create(nodeUrl: string, pxeConfig?: Partial<PXEConfig>): Promise<WorkerWallet> {
64
+ // replace stc/ with dest/ so the wallet works in Jest tests
65
+ const workerUrl = new URL('./wallet_worker_script.js', import.meta.url);
66
+ workerUrl.pathname = workerUrl.pathname.replace('/src/', '/dest/');
67
+ // remove JEST_WORKER_ID so the worker uses pino-pretty transport instead of Jest's raw output.
68
+ const { JEST_WORKER_ID: _, ...parentEnv } = process.env;
69
+ const worker = new Worker(workerUrl, {
70
+ workerData: { nodeUrl, pxeConfig },
71
+ env: {
72
+ ...parentEnv,
73
+ ...(process.stderr.isTTY || process.env.FORCE_COLOR ? { FORCE_COLOR: '1' } : {}),
74
+ LOG_LEVEL: process.env.WORKER_LOG_LEVEL ?? 'info',
75
+ },
76
+ });
77
+
78
+ const connector = new NodeConnector(worker);
79
+ const client = new TransportClient<WorkerMsg>(connector);
80
+ await client.open();
81
+
82
+ const wallet = new WorkerWallet(worker, client);
83
+
84
+ const { promise: workerDied, reject: rejectWorkerDied } = promiseWithResolvers<void>();
85
+ // reject if the worker exits or errors before the warmup completes.
86
+ const onError = (err: Error): void => {
87
+ worker.off('exit', onExit!);
88
+ rejectWorkerDied(new Error(`Worker wallet thread error: ${err.message}`));
89
+ };
90
+
91
+ const onExit = (code: number): void => {
92
+ worker.off('error', onError!);
93
+ rejectWorkerDied(new Error(`Worker wallet thread exited with code ${code} before becoming ready`));
94
+ };
95
+
96
+ worker.once('error', onError);
97
+ worker.once('exit', onExit);
98
+
99
+ const timeout = sleep(WORKER_READY_TIMEOUT_MS).then(() => {
100
+ throw new Error(`Worker wallet creation timed out after ${WORKER_READY_TIMEOUT_MS / 1000}s`);
101
+ });
102
+
103
+ try {
104
+ // wait for worker wallet to start
105
+ await Promise.race([wallet.getChainInfo(), workerDied, timeout]);
106
+ } catch (err) {
107
+ log.error('Worker wallet creation failed, cleaning up', { error: String(err) });
108
+ client.close();
109
+ await worker.terminate();
110
+ throw err;
111
+ } finally {
112
+ worker.off('error', onError);
113
+ worker.off('exit', onExit);
114
+ }
115
+
116
+ return wallet;
117
+ }
118
+
119
+ private async callRaw(fn: string, ...args: any[]): Promise<string | undefined> {
120
+ const argsJson = jsonStringify(args);
121
+ return (await this.client.request({ fn, args: argsJson })) as string | undefined;
122
+ }
123
+
124
+ private async call(fn: string, ...args: any[]): Promise<any> {
125
+ const resultJson = await this.callRaw(fn, ...args);
126
+ const methodSchema = (WorkerWalletSchema as ApiSchema)[fn];
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));
130
+ }
131
+
132
+ getChainInfo(): Promise<ChainInfo> {
133
+ return this.call('getChainInfo');
134
+ }
135
+
136
+ getContractMetadata(address: AztecAddress): Promise<ContractMetadata> {
137
+ return this.call('getContractMetadata', address);
138
+ }
139
+
140
+ getContractClassMetadata(id: Fr): Promise<ContractClassMetadata> {
141
+ return this.call('getContractClassMetadata', id);
142
+ }
143
+
144
+ getPrivateEvents<T>(
145
+ eventMetadata: EventMetadataDefinition,
146
+ eventFilter: PrivateEventFilter,
147
+ ): Promise<PrivateEvent<T>[]> {
148
+ return this.call('getPrivateEvents', eventMetadata, eventFilter);
149
+ }
150
+
151
+ registerSender(address: AztecAddress, alias?: string): Promise<AztecAddress> {
152
+ return this.call('registerSender', address, alias);
153
+ }
154
+
155
+ getAddressBook(): Promise<Aliased<AztecAddress>[]> {
156
+ return this.call('getAddressBook');
157
+ }
158
+
159
+ getAccounts(): Promise<Aliased<AztecAddress>[]> {
160
+ return this.call('getAccounts');
161
+ }
162
+
163
+ registerContract(instance: ContractInstancePreimage, artifact?: ContractArtifact, secretKey?: Fr): Promise<void> {
164
+ return this.call('registerContract', instance, artifact, secretKey);
165
+ }
166
+
167
+ registerContractClass(artifact: ContractArtifact): Promise<void> {
168
+ return this.call('registerContractClass', artifact);
169
+ }
170
+
171
+ simulateTx(exec: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResultWithAppOffset> {
172
+ return this.call('simulateTx', exec, opts);
173
+ }
174
+
175
+ executeUtility(call: FunctionCall, opts: ExecuteUtilityOptions): Promise<UtilityExecutionResult> {
176
+ return this.call('executeUtility', call, opts);
177
+ }
178
+
179
+ profileTx(exec: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult> {
180
+ return this.call('profileTx', exec, opts);
181
+ }
182
+
183
+ sendTx<W extends InteractionWaitOptions = undefined>(
184
+ exec: ExecutionPayload,
185
+ opts: SendOptions<W>,
186
+ ): Promise<SendReturn<W>> {
187
+ return this.call('sendTx', exec, opts);
188
+ }
189
+
190
+ proveTx(exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>): Promise<Tx> {
191
+ return this.call('proveTx', exec, opts);
192
+ }
193
+
194
+ /** Registers an account inside the worker's TestWallet, populating its accounts map. */
195
+ registerAccount(secret: Fr, salt: Fr, signingKey: Fq): Promise<AztecAddress> {
196
+ return this.call('registerAccount', secret, salt, signingKey);
197
+ }
198
+
199
+ createAuthWit(from: AztecAddress, messageHashOrIntent: IntentInnerHash | CallIntent): Promise<AuthWitness> {
200
+ return this.call('createAuthWit', from, messageHashOrIntent);
201
+ }
202
+
203
+ requestCapabilities(manifest: AppCapabilities): Promise<WalletCapabilities> {
204
+ return this.call('requestCapabilities', manifest);
205
+ }
206
+
207
+ batch<const T extends readonly BatchedMethod[]>(methods: T): Promise<BatchResults<T>> {
208
+ return this.call('batch', methods);
209
+ }
210
+
211
+ /** Shuts down the worker thread and closes the transport. */
212
+ async stop(): Promise<void> {
213
+ this.client.close();
214
+ await this.worker.terminate();
215
+ }
216
+ }
@@ -0,0 +1,14 @@
1
+ import { ExecutionPayloadSchema, SendOptionsSchema, WalletSchema } from '@aztec/aztec.js/wallet';
2
+ import type { ApiSchema } from '@aztec/foundation/schemas';
3
+ import { schemas } from '@aztec/foundation/schemas';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { Tx } from '@aztec/stdlib/tx';
6
+
7
+ import { z } from 'zod';
8
+
9
+ /** Schema for the WorkerWallet API — extends WalletSchema with proveTx and registerAccount. */
10
+ export const WorkerWalletSchema: ApiSchema = {
11
+ ...WalletSchema,
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 }),
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
- proxy: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0L2JsYWNrbGlzdF90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSS9ELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUscUJBQWEsSUFBSTtJQUNmLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBUztJQUN6QixPQUFPLENBQUMsYUFBYSxDQUFTO0lBRTlCLFNBQVMsU0FHUjtJQUVELFVBQVUsU0FHVDtJQUVELGVBQWUsU0FHZDtJQUVELFlBQVk7Ozs7TUFJWDtDQUNGO0FBRUQscUJBQWEsMEJBQTBCO0lBRXJDLE1BQU0sQ0FBQyxrQkFBa0IsU0FBUztJQUVsQyxPQUFPLEVBQUcsZUFBZSxDQUFDO0lBQzFCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLEtBQUssRUFBRyxzQkFBc0IsQ0FBQztJQUMvQixRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFVBQVUsRUFBRyxzQkFBc0IsQ0FBQztJQUNwQyxLQUFLLEVBQUcsb0JBQW9CLENBQUM7SUFDN0IsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUN4QixTQUFTLEVBQUcsZUFBZSxDQUFDO0lBQzVCLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFFdEIsWUFBWSxFQUFHLFlBQVksQ0FBQztJQUM1QixZQUFZLEVBQUcsWUFBWSxDQUFDO0lBQzVCLGtCQUFrQixFQUFHLFlBQVksQ0FBQztJQUVsQyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBRTNCO0lBRUssc0JBQXNCLGtCQU0zQjtJQUVEOzs7O09BSUc7SUFDRyxjQUFjLGtCQXdEbkI7SUFFSyxLQUFLLGtCQU9WO0lBRUssUUFBUSxrQkFFYjtJQUVLLHlCQUF5QixDQUM3QixRQUFRLEVBQUUsc0JBQXNCLEVBQ2hDLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLEVBQUUsRUFDZCxNQUFNLEVBQUUsTUFBTSxpQkFjZjtJQUVLLFNBQVMsa0JBbURkO0NBQ0YifQ==
@@ -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,KAAK,EAAG,oBAAoB,CAAC;IAC7B,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,kBAwDnB;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"}