@aztec/end-to-end 0.0.0-test.0 → 0.0.1-commit.023c3e5

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 (240) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +62 -0
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -0
  3. package/dest/bench/client_flows/benchmark.js +281 -0
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +79 -0
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
  6. package/dest/bench/client_flows/client_flows_benchmark.js +321 -0
  7. package/dest/bench/client_flows/config.d.ts +14 -0
  8. package/dest/bench/client_flows/config.d.ts.map +1 -0
  9. package/dest/bench/client_flows/config.js +106 -0
  10. package/dest/bench/client_flows/data_extractor.d.ts +2 -0
  11. package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
  12. package/dest/bench/client_flows/data_extractor.js +79 -0
  13. package/dest/bench/utils.d.ts +16 -41
  14. package/dest/bench/utils.d.ts.map +1 -1
  15. package/dest/bench/utils.js +41 -72
  16. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +26 -19
  17. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  18. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +114 -102
  19. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +32 -32
  20. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  21. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +104 -104
  22. package/dest/e2e_deploy_contract/deploy_test.d.ts +19 -10
  23. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  24. package/dest/e2e_deploy_contract/deploy_test.js +26 -27
  25. package/dest/e2e_epochs/epochs_test.d.ts +71 -22
  26. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  27. package/dest/e2e_epochs/epochs_test.js +260 -54
  28. package/dest/e2e_fees/bridging_race.notest.d.ts +2 -0
  29. package/dest/e2e_fees/bridging_race.notest.d.ts.map +1 -0
  30. package/dest/e2e_fees/bridging_race.notest.js +61 -0
  31. package/dest/e2e_fees/fees_test.d.ts +38 -23
  32. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  33. package/dest/e2e_fees/fees_test.js +162 -183
  34. package/dest/e2e_l1_publisher/write_json.d.ts +11 -0
  35. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -0
  36. package/dest/e2e_l1_publisher/write_json.js +56 -0
  37. package/dest/e2e_multi_validator/utils.d.ts +12 -0
  38. package/dest/e2e_multi_validator/utils.d.ts.map +1 -0
  39. package/dest/e2e_multi_validator/utils.js +214 -0
  40. package/dest/e2e_nested_contract/nested_contract_test.d.ts +15 -15
  41. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  42. package/dest/e2e_nested_contract/nested_contract_test.js +37 -41
  43. package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
  44. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
  45. package/dest/e2e_p2p/inactivity_slash_test.js +136 -0
  46. package/dest/e2e_p2p/p2p_network.d.ts +281 -27
  47. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  48. package/dest/e2e_p2p/p2p_network.js +237 -175
  49. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  50. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  51. package/dest/e2e_p2p/reqresp/utils.js +153 -0
  52. package/dest/e2e_p2p/shared.d.ts +44 -8
  53. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  54. package/dest/e2e_p2p/shared.js +165 -27
  55. package/dest/e2e_token_contract/token_contract_test.d.ts +27 -14
  56. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  57. package/dest/e2e_token_contract/token_contract_test.js +96 -74
  58. package/dest/fixtures/e2e_prover_test.d.ts +55 -0
  59. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -0
  60. package/dest/fixtures/e2e_prover_test.js +278 -0
  61. package/dest/fixtures/fixtures.d.ts +6 -8
  62. package/dest/fixtures/fixtures.d.ts.map +1 -1
  63. package/dest/fixtures/fixtures.js +5 -5
  64. package/dest/fixtures/get_acvm_config.d.ts +2 -2
  65. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  66. package/dest/fixtures/get_acvm_config.js +3 -15
  67. package/dest/fixtures/get_bb_config.d.ts +2 -2
  68. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  69. package/dest/fixtures/get_bb_config.js +10 -17
  70. package/dest/fixtures/index.d.ts +1 -1
  71. package/dest/fixtures/l1_to_l2_messaging.d.ts +11 -7
  72. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  73. package/dest/fixtures/l1_to_l2_messaging.js +45 -19
  74. package/dest/fixtures/logging.d.ts +1 -1
  75. package/dest/fixtures/setup.d.ts +218 -0
  76. package/dest/fixtures/setup.d.ts.map +1 -0
  77. package/dest/fixtures/setup.js +695 -0
  78. package/dest/fixtures/setup_p2p_test.d.ts +15 -15
  79. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  80. package/dest/fixtures/setup_p2p_test.js +96 -31
  81. package/dest/fixtures/token_utils.d.ts +10 -4
  82. package/dest/fixtures/token_utils.d.ts.map +1 -1
  83. package/dest/fixtures/token_utils.js +31 -12
  84. package/dest/fixtures/utils.d.ts +5 -153
  85. package/dest/fixtures/utils.d.ts.map +1 -1
  86. package/dest/fixtures/utils.js +4 -552
  87. package/dest/fixtures/web3signer.d.ts +5 -0
  88. package/dest/fixtures/web3signer.d.ts.map +1 -0
  89. package/dest/fixtures/web3signer.js +53 -0
  90. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  91. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  92. package/dest/fixtures/with_telemetry_utils.js +2 -2
  93. package/dest/index.d.ts +1 -1
  94. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  95. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  96. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  97. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  98. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  99. package/dest/quality_of_service/prometheus_client.js +67 -0
  100. package/dest/shared/cross_chain_test_harness.d.ts +44 -27
  101. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  102. package/dest/shared/cross_chain_test_harness.js +105 -51
  103. package/dest/shared/gas_portal_test_harness.d.ts +33 -25
  104. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  105. package/dest/shared/gas_portal_test_harness.js +51 -30
  106. package/dest/shared/index.d.ts +2 -2
  107. package/dest/shared/index.d.ts.map +1 -1
  108. package/dest/shared/jest_setup.d.ts +1 -1
  109. package/dest/shared/jest_setup.js +1 -1
  110. package/dest/shared/submit-transactions.d.ts +6 -4
  111. package/dest/shared/submit-transactions.d.ts.map +1 -1
  112. package/dest/shared/submit-transactions.js +15 -16
  113. package/dest/shared/uniswap_l1_l2.d.ts +3 -25
  114. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  115. package/dest/shared/uniswap_l1_l2.js +176 -126
  116. package/dest/simulators/index.d.ts +1 -1
  117. package/dest/simulators/lending_simulator.d.ts +7 -7
  118. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  119. package/dest/simulators/lending_simulator.js +17 -18
  120. package/dest/simulators/token_simulator.d.ts +6 -3
  121. package/dest/simulators/token_simulator.d.ts.map +1 -1
  122. package/dest/simulators/token_simulator.js +16 -13
  123. package/dest/spartan/setup_test_wallets.d.ts +27 -11
  124. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  125. package/dest/spartan/setup_test_wallets.js +233 -62
  126. package/dest/spartan/tx_metrics.d.ts +88 -0
  127. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  128. package/dest/spartan/tx_metrics.js +422 -0
  129. package/dest/spartan/utils/bot.d.ts +27 -0
  130. package/dest/spartan/utils/bot.d.ts.map +1 -0
  131. package/dest/spartan/utils/bot.js +141 -0
  132. package/dest/spartan/utils/chaos.d.ts +79 -0
  133. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  134. package/dest/spartan/utils/chaos.js +142 -0
  135. package/dest/spartan/utils/clients.d.ts +39 -0
  136. package/dest/spartan/utils/clients.d.ts.map +1 -0
  137. package/dest/spartan/utils/clients.js +90 -0
  138. package/dest/spartan/utils/config.d.ts +36 -0
  139. package/dest/spartan/utils/config.d.ts.map +1 -0
  140. package/dest/spartan/utils/config.js +20 -0
  141. package/dest/spartan/utils/health.d.ts +63 -0
  142. package/dest/spartan/utils/health.d.ts.map +1 -0
  143. package/dest/spartan/utils/health.js +202 -0
  144. package/dest/spartan/utils/helm.d.ts +15 -0
  145. package/dest/spartan/utils/helm.d.ts.map +1 -0
  146. package/dest/spartan/utils/helm.js +47 -0
  147. package/dest/spartan/utils/index.d.ts +9 -0
  148. package/dest/spartan/utils/index.d.ts.map +1 -0
  149. package/dest/spartan/utils/index.js +18 -0
  150. package/dest/spartan/utils/k8s.d.ts +126 -0
  151. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  152. package/dest/spartan/utils/k8s.js +375 -0
  153. package/dest/spartan/utils/nodes.d.ts +41 -0
  154. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  155. package/dest/spartan/utils/nodes.js +461 -0
  156. package/dest/spartan/utils/scripts.d.ts +16 -0
  157. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  158. package/dest/spartan/utils/scripts.js +66 -0
  159. package/dest/spartan/utils.d.ts +2 -415
  160. package/dest/spartan/utils.d.ts.map +1 -1
  161. package/dest/spartan/utils.js +1 -445
  162. package/package.json +66 -58
  163. package/src/bench/client_flows/benchmark.ts +363 -0
  164. package/src/bench/client_flows/client_flows_benchmark.ts +384 -0
  165. package/src/bench/client_flows/config.ts +61 -0
  166. package/src/bench/client_flows/data_extractor.ts +89 -0
  167. package/src/bench/utils.ts +41 -85
  168. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +134 -169
  169. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +156 -182
  170. package/src/e2e_deploy_contract/deploy_test.ts +40 -48
  171. package/src/e2e_epochs/epochs_test.ts +341 -81
  172. package/src/e2e_fees/bridging_race.notest.ts +74 -0
  173. package/src/e2e_fees/fees_test.ts +220 -258
  174. package/src/e2e_l1_publisher/write_json.ts +77 -0
  175. package/src/e2e_multi_validator/utils.ts +258 -0
  176. package/src/e2e_nested_contract/nested_contract_test.ts +46 -59
  177. package/src/e2e_p2p/inactivity_slash_test.ts +179 -0
  178. package/src/e2e_p2p/p2p_network.ts +341 -234
  179. package/src/e2e_p2p/reqresp/utils.ts +207 -0
  180. package/src/e2e_p2p/shared.ts +260 -39
  181. package/src/e2e_token_contract/token_contract_test.ts +115 -126
  182. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  183. package/src/fixtures/e2e_prover_test.ts +336 -0
  184. package/src/fixtures/fixtures.ts +5 -7
  185. package/src/fixtures/get_acvm_config.ts +4 -12
  186. package/src/fixtures/get_bb_config.ts +18 -13
  187. package/src/fixtures/l1_to_l2_messaging.ts +56 -24
  188. package/src/fixtures/setup.ts +1017 -0
  189. package/src/fixtures/setup_p2p_test.ts +133 -50
  190. package/src/fixtures/token_utils.ts +33 -15
  191. package/src/fixtures/utils.ts +27 -820
  192. package/src/fixtures/web3signer.ts +63 -0
  193. package/src/fixtures/with_telemetry_utils.ts +2 -2
  194. package/src/guides/up_quick_start.sh +7 -15
  195. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +2 -2
  196. package/src/quality_of_service/prometheus_client.ts +113 -0
  197. package/src/shared/cross_chain_test_harness.ts +103 -91
  198. package/src/shared/gas_portal_test_harness.ts +59 -50
  199. package/src/shared/index.ts +1 -1
  200. package/src/shared/jest_setup.ts +1 -1
  201. package/src/shared/submit-transactions.ts +18 -20
  202. package/src/shared/uniswap_l1_l2.ts +197 -221
  203. package/src/simulators/lending_simulator.ts +16 -17
  204. package/src/simulators/token_simulator.ts +21 -13
  205. package/src/spartan/DEVELOP.md +128 -0
  206. package/src/spartan/setup_test_wallets.ts +308 -95
  207. package/src/spartan/tx_metrics.ts +376 -0
  208. package/src/spartan/utils/bot.ts +185 -0
  209. package/src/spartan/utils/chaos.ts +253 -0
  210. package/src/spartan/utils/clients.ts +100 -0
  211. package/src/spartan/utils/config.ts +26 -0
  212. package/src/spartan/utils/health.ts +255 -0
  213. package/src/spartan/utils/helm.ts +84 -0
  214. package/src/spartan/utils/index.ts +64 -0
  215. package/src/spartan/utils/k8s.ts +527 -0
  216. package/src/spartan/utils/nodes.ts +538 -0
  217. package/src/spartan/utils/scripts.ts +63 -0
  218. package/src/spartan/utils.ts +1 -582
  219. package/dest/e2e_prover/e2e_prover_test.d.ts +0 -56
  220. package/dest/e2e_prover/e2e_prover_test.d.ts.map +0 -1
  221. package/dest/e2e_prover/e2e_prover_test.js +0 -291
  222. package/dest/fixtures/setup_l1_contracts.d.ts +0 -6
  223. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  224. package/dest/fixtures/setup_l1_contracts.js +0 -17
  225. package/dest/fixtures/snapshot_manager.d.ts +0 -87
  226. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  227. package/dest/fixtures/snapshot_manager.js +0 -479
  228. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  229. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  230. package/dest/sample-dapp/connect.js +0 -12
  231. package/dest/sample-dapp/contracts.js +0 -10
  232. package/dest/sample-dapp/deploy.js +0 -35
  233. package/dest/sample-dapp/index.js +0 -98
  234. package/src/e2e_prover/e2e_prover_test.ts +0 -418
  235. package/src/fixtures/setup_l1_contracts.ts +0 -27
  236. package/src/fixtures/snapshot_manager.ts +0 -617
  237. package/src/sample-dapp/connect.mjs +0 -16
  238. package/src/sample-dapp/contracts.mjs +0 -14
  239. package/src/sample-dapp/deploy.mjs +0 -40
  240. package/src/sample-dapp/index.mjs +0 -128
@@ -1,33 +1,27 @@
1
- import {
2
- type AztecAddress,
3
- type AztecNode,
4
- EthAddress,
5
- Fr,
6
- L1FeeJuicePortalManager,
7
- type L1TokenManager,
8
- type L2AmountClaim,
9
- type Logger,
10
- type PXE,
11
- type Wallet,
12
- retryUntil,
13
- } from '@aztec/aztec.js';
14
- import type { ViemPublicClient, ViemWalletClient } from '@aztec/ethereum';
1
+ import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
2
+ import { L1FeeJuicePortalManager, type L1TokenManager, type L2AmountClaim } from '@aztec/aztec.js/ethereum';
3
+ import { Fr } from '@aztec/aztec.js/fields';
4
+ import type { Logger } from '@aztec/aztec.js/log';
5
+ import type { AztecNode } from '@aztec/aztec.js/node';
6
+ import type { Wallet } from '@aztec/aztec.js/wallet';
7
+ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
8
+ import { retryUntil } from '@aztec/foundation/retry';
15
9
  import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
16
10
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
11
+ import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
17
12
 
18
13
  export interface IGasBridgingTestHarness {
19
14
  getL1FeeJuiceBalance(address: EthAddress): Promise<bigint>;
20
- prepareTokensOnL1(bridgeAmount: bigint, owner: AztecAddress): Promise<L2AmountClaim>;
21
- bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress): Promise<void>;
15
+ prepareTokensOnL1(owner: AztecAddress): Promise<L2AmountClaim>;
16
+ bridgeFromL1ToL2(owner: AztecAddress, claimer: AztecAddress): Promise<void>;
22
17
  feeJuice: FeeJuiceContract;
23
18
  l1FeeJuiceAddress: EthAddress;
24
19
  }
25
20
 
26
21
  export interface FeeJuicePortalTestingHarnessFactoryConfig {
27
22
  aztecNode: AztecNode;
28
- pxeService: PXE;
29
- publicClient: ViemPublicClient;
30
- walletClient: ViemWalletClient;
23
+ aztecNodeAdmin?: AztecNodeAdmin;
24
+ l1Client: ExtendedViemWalletClient;
31
25
  wallet: Wallet;
32
26
  logger: Logger;
33
27
  mockL1?: boolean;
@@ -37,10 +31,10 @@ export class FeeJuicePortalTestingHarnessFactory {
37
31
  private constructor(private config: FeeJuicePortalTestingHarnessFactoryConfig) {}
38
32
 
39
33
  private async createReal() {
40
- const { aztecNode, pxeService, publicClient, walletClient, wallet, logger } = this.config;
34
+ const { aztecNode, aztecNodeAdmin, l1Client, wallet, logger } = this.config;
41
35
 
42
- const ethAccount = EthAddress.fromString((await walletClient.getAddresses())[0]);
43
- const l1ContractAddresses = (await pxeService.getNodeInfo()).l1ContractAddresses;
36
+ const ethAccount = EthAddress.fromString((await l1Client.getAddresses())[0]);
37
+ const l1ContractAddresses = (await aztecNode.getNodeInfo()).l1ContractAddresses;
44
38
 
45
39
  const feeJuiceAddress = l1ContractAddresses.feeJuiceAddress;
46
40
  const feeJuicePortalAddress = l1ContractAddresses.feeJuicePortalAddress;
@@ -49,18 +43,19 @@ export class FeeJuicePortalTestingHarnessFactory {
49
43
  throw new Error('Fee Juice portal not deployed on L1');
50
44
  }
51
45
 
52
- const gasL2 = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, wallet);
46
+ const gasL2 = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, wallet);
53
47
 
54
48
  return new GasBridgingTestHarness(
55
49
  aztecNode,
56
- pxeService,
50
+ aztecNodeAdmin,
51
+ wallet,
57
52
  logger,
58
53
  gasL2,
59
54
  ethAccount,
60
55
  feeJuicePortalAddress,
61
56
  feeJuiceAddress,
62
- publicClient,
63
- walletClient,
57
+ l1ContractAddresses.feeAssetHandlerAddress!,
58
+ l1Client,
64
59
  );
65
60
  }
66
61
 
@@ -81,8 +76,10 @@ export class GasBridgingTestHarness implements IGasBridgingTestHarness {
81
76
  constructor(
82
77
  /** Aztec node */
83
78
  public aztecNode: AztecNode,
84
- /** Private eXecution Environment (PXE). */
85
- public pxeService: PXE,
79
+ /** Aztec node admin interface */
80
+ public aztecNodeAdmin: AztecNodeAdmin | undefined,
81
+ /** Wallet. */
82
+ public wallet: Wallet,
86
83
  /** Logger. */
87
84
  public logger: Logger,
88
85
 
@@ -96,44 +93,45 @@ export class GasBridgingTestHarness implements IGasBridgingTestHarness {
96
93
  public feeJuicePortalAddress: EthAddress,
97
94
  /** Underlying token for portal tests. */
98
95
  public l1FeeJuiceAddress: EthAddress,
99
- /** Viem Public client instance. */
100
- public publicClient: ViemPublicClient,
101
- /** Viem Wallet Client instance. */
102
- public walletClient: ViemWalletClient,
96
+ /** Fee asset handler address. */
97
+ public feeAssetHandlerAddress: EthAddress,
98
+ /** Viem Extended client instance. */
99
+ public l1Client: ExtendedViemWalletClient,
103
100
  ) {
104
101
  this.feeJuicePortalManager = new L1FeeJuicePortalManager(
105
102
  this.feeJuicePortalAddress,
106
103
  this.l1FeeJuiceAddress,
107
- this.publicClient,
108
- this.walletClient,
104
+ this.feeAssetHandlerAddress,
105
+ this.l1Client,
109
106
  this.logger,
110
107
  );
111
108
 
112
109
  this.l1TokenManager = this.feeJuicePortalManager.getTokenManager();
113
110
  }
114
111
 
115
- async mintTokensOnL1(amount: bigint, to: EthAddress = this.ethAccount) {
116
- const balanceBefore = await this.l1TokenManager.getL1TokenBalance(to.toString());
117
- await this.l1TokenManager.mint(amount, to.toString());
118
- expect(await this.l1TokenManager.getL1TokenBalance(to.toString())).toEqual(balanceBefore + amount);
112
+ async mintTokensOnL1(to: EthAddress = this.ethAccount) {
113
+ // const balanceBefore = await this.l1TokenManager.getL1TokenBalance(to.toString());
114
+ await this.l1TokenManager.mint(to.toString());
115
+
116
+ // expect(await this.l1TokenManager.getL1TokenBalance(to.toString())).toEqual(balanceBefore + amount);
119
117
  }
120
118
 
121
119
  async getL1FeeJuiceBalance(address: EthAddress) {
122
120
  return await this.l1TokenManager.getL1TokenBalance(address.toString());
123
121
  }
124
122
 
125
- sendTokensToPortalPublic(bridgeAmount: bigint, l2Address: AztecAddress, mint = false) {
126
- return this.feeJuicePortalManager.bridgeTokensPublic(l2Address, bridgeAmount, mint);
123
+ sendTokensToPortalPublic(bridgeAmount: bigint, l2Address: AztecAddress) {
124
+ return this.feeJuicePortalManager.bridgeTokensPublic(l2Address, bridgeAmount, false);
127
125
  }
128
126
 
129
- async consumeMessageOnAztecAndClaimPrivately(owner: AztecAddress, claim: L2AmountClaim) {
127
+ async consumeMessageOnAztecAndClaimPrivately(owner: AztecAddress, claimer: AztecAddress, claim: L2AmountClaim) {
130
128
  this.logger.info('Consuming messages on L2 Privately');
131
129
  const { claimAmount, claimSecret, messageLeafIndex } = claim;
132
- await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send().wait();
130
+ await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send({ from: claimer });
133
131
  }
134
132
 
135
133
  async getL2PublicBalanceOf(owner: AztecAddress) {
136
- return await this.feeJuice.methods.balance_of_public(owner).simulate();
134
+ return await this.feeJuice.methods.balance_of_public(owner).simulate({ from: owner });
137
135
  }
138
136
 
139
137
  async expectPublicBalanceOnL2(owner: AztecAddress, expectedBalance: bigint) {
@@ -141,8 +139,10 @@ export class GasBridgingTestHarness implements IGasBridgingTestHarness {
141
139
  expect(balance).toBe(expectedBalance);
142
140
  }
143
141
 
144
- async prepareTokensOnL1(bridgeAmount: bigint, owner: AztecAddress) {
145
- const claim = await this.sendTokensToPortalPublic(bridgeAmount, owner, true);
142
+ async prepareTokensOnL1(owner: AztecAddress) {
143
+ const bridgeAmount = await this.l1TokenManager.getMintAmount();
144
+ await this.mintTokensOnL1();
145
+ const claim = await this.sendTokensToPortalPublic(bridgeAmount, owner);
146
146
 
147
147
  const isSynced = async () => await this.aztecNode.isL1ToL2MessageSynced(Fr.fromHexString(claim.messageHash));
148
148
  await retryUntil(isSynced, `message ${claim.messageHash} sync`, 24, 1);
@@ -154,19 +154,28 @@ export class GasBridgingTestHarness implements IGasBridgingTestHarness {
154
154
  return claim;
155
155
  }
156
156
 
157
- async bridgeFromL1ToL2(bridgeAmount: bigint, owner: AztecAddress) {
157
+ async bridgeFromL1ToL2(owner: AztecAddress, claimer: AztecAddress) {
158
158
  // Prepare the tokens on the L1 side
159
- const claim = await this.prepareTokensOnL1(bridgeAmount, owner);
159
+ const claim = await this.prepareTokensOnL1(owner);
160
160
 
161
161
  // Consume L1 -> L2 message and claim tokens privately on L2
162
- await this.consumeMessageOnAztecAndClaimPrivately(owner, claim);
163
- await this.expectPublicBalanceOnL2(owner, bridgeAmount);
162
+ await this.consumeMessageOnAztecAndClaimPrivately(owner, claimer, claim);
164
163
  }
165
164
 
166
165
  private async advanceL2Block() {
167
166
  const initialBlockNumber = await this.aztecNode.getBlockNumber();
168
- await this.aztecNode.flushTxs();
167
+
168
+ let minTxsPerBlock = undefined;
169
+ if (this.aztecNodeAdmin) {
170
+ ({ minTxsPerBlock } = await this.aztecNodeAdmin.getConfig());
171
+ await this.aztecNodeAdmin.setConfig({ minTxsPerBlock: 0 }); // Set to 0 to ensure we can advance the block
172
+ }
173
+
169
174
  await retryUntil(async () => (await this.aztecNode.getBlockNumber()) >= initialBlockNumber + 1);
175
+
176
+ if (this.aztecNodeAdmin && minTxsPerBlock !== undefined) {
177
+ await this.aztecNodeAdmin.setConfig({ minTxsPerBlock });
178
+ }
170
179
  }
171
180
  }
172
181
  // docs:end:cross_chain_test_harness
@@ -1 +1 @@
1
- export { uniswapL1L2TestSuite, type UniswapSetupContext } from './uniswap_l1_l2.js';
1
+ export { uniswapL1L2TestSuite } from './uniswap_l1_l2.js';
@@ -1,4 +1,4 @@
1
- import { createLogger } from '@aztec/aztec.js';
1
+ import { createLogger } from '@aztec/aztec.js/log';
2
2
 
3
3
  import { beforeEach, expect } from '@jest/globals';
4
4
  import { basename } from 'path';
@@ -1,33 +1,31 @@
1
- import { getSchnorrAccount } from '@aztec/accounts/schnorr';
2
- import { Fr, GrumpkinScalar, type Logger, type SentTx, TxStatus, type Wallet } from '@aztec/aztec.js';
1
+ import { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import { NO_WAIT } from '@aztec/aztec.js/contracts';
3
+ import { Fr, GrumpkinScalar } from '@aztec/aztec.js/fields';
4
+ import type { Logger } from '@aztec/aztec.js/log';
5
+ import { TxHash, type TxReceipt, TxStatus } from '@aztec/aztec.js/tx';
3
6
  import { times } from '@aztec/foundation/collection';
4
- import type { PXEService } from '@aztec/pxe/server';
7
+ import type { TestWallet } from '@aztec/test-wallet/server';
5
8
 
6
- // submits a set of transactions to the provided Private eXecution Environment (PXE)
9
+ // submits a set of transactions to the provided Wallet
7
10
  export const submitTxsTo = async (
8
- pxe: PXEService,
11
+ wallet: TestWallet,
12
+ submitter: AztecAddress,
9
13
  numTxs: number,
10
- wallet: Wallet,
11
14
  logger: Logger,
12
- ): Promise<SentTx[]> => {
13
- const txs: SentTx[] = [];
15
+ ): Promise<TxHash[]> => {
16
+ const txHashes: TxHash[] = [];
14
17
  await Promise.all(
15
18
  times(numTxs, async () => {
16
- const accountManager = await getSchnorrAccount(pxe, Fr.random(), GrumpkinScalar.random(), Fr.random());
17
- const tx = accountManager.deploy({ deployWallet: wallet });
18
- const txHash = await tx.getTxHash();
19
+ const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
20
+ const deployMethod = await accountManager.getDeployMethod();
21
+ const txHash = await deployMethod.send({ from: submitter, wait: NO_WAIT });
19
22
 
20
23
  logger.info(`Tx sent with hash ${txHash}`);
21
- const receipt = await tx.getReceipt();
22
- expect(receipt).toEqual(
23
- expect.objectContaining({
24
- status: TxStatus.PENDING,
25
- error: '',
26
- }),
27
- );
24
+ const receipt: TxReceipt = await wallet.getTxReceipt(txHash);
25
+ expect(receipt.status).toBe(TxStatus.PENDING);
28
26
  logger.info(`Receipt received for ${txHash}`);
29
- txs.push(tx);
27
+ txHashes.push(txHash);
30
28
  }),
31
29
  );
32
- return txs;
30
+ return txHashes;
33
31
  };