@aztec/end-to-end 0.0.1-commit.6d3c34e → 0.0.1-commit.6d63667d

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 (172) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +3 -2
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +21 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +12 -13
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +117 -132
  7. package/dest/bench/utils.d.ts +6 -5
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +9 -7
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +96 -112
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +6 -7
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +68 -64
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -3
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  18. package/dest/e2e_deploy_contract/deploy_test.js +18 -13
  19. package/dest/e2e_epochs/epochs_test.d.ts +7 -1
  20. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  21. package/dest/e2e_epochs/epochs_test.js +30 -8
  22. package/dest/e2e_fees/bridging_race.notest.js +3 -5
  23. package/dest/e2e_fees/fees_test.d.ts +13 -13
  24. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  25. package/dest/e2e_fees/fees_test.js +122 -140
  26. package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
  27. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  28. package/dest/e2e_l1_publisher/write_json.js +14 -13
  29. package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
  30. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  31. package/dest/e2e_nested_contract/nested_contract_test.js +31 -39
  32. package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
  33. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  34. package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
  35. package/dest/e2e_p2p/p2p_network.d.ts +7 -6
  36. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  37. package/dest/e2e_p2p/p2p_network.js +110 -103
  38. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  39. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  40. package/dest/e2e_p2p/reqresp/utils.js +153 -0
  41. package/dest/e2e_p2p/shared.d.ts +6 -6
  42. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  43. package/dest/e2e_p2p/shared.js +9 -16
  44. package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
  45. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  46. package/dest/e2e_token_contract/token_contract_test.js +89 -91
  47. package/dest/fixtures/e2e_prover_test.d.ts +8 -14
  48. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  49. package/dest/fixtures/e2e_prover_test.js +85 -93
  50. package/dest/fixtures/ha_setup.d.ts +71 -0
  51. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  52. package/dest/fixtures/ha_setup.js +114 -0
  53. package/dest/fixtures/index.d.ts +2 -1
  54. package/dest/fixtures/index.d.ts.map +1 -1
  55. package/dest/fixtures/index.js +1 -0
  56. package/dest/fixtures/setup.d.ts +218 -0
  57. package/dest/fixtures/setup.d.ts.map +1 -0
  58. package/dest/fixtures/setup.js +695 -0
  59. package/dest/fixtures/setup_p2p_test.d.ts +4 -5
  60. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  61. package/dest/fixtures/setup_p2p_test.js +24 -19
  62. package/dest/fixtures/token_utils.d.ts +1 -1
  63. package/dest/fixtures/token_utils.d.ts.map +1 -1
  64. package/dest/fixtures/token_utils.js +7 -4
  65. package/dest/fixtures/utils.d.ts +5 -191
  66. package/dest/fixtures/utils.d.ts.map +1 -1
  67. package/dest/fixtures/utils.js +4 -615
  68. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  69. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  70. package/dest/quality_of_service/prometheus_client.js +67 -0
  71. package/dest/shared/cross_chain_test_harness.d.ts +14 -4
  72. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  73. package/dest/shared/cross_chain_test_harness.js +11 -11
  74. package/dest/shared/gas_portal_test_harness.d.ts +11 -1
  75. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  76. package/dest/shared/gas_portal_test_harness.js +1 -1
  77. package/dest/shared/submit-transactions.d.ts +3 -3
  78. package/dest/shared/submit-transactions.d.ts.map +1 -1
  79. package/dest/shared/submit-transactions.js +9 -11
  80. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  81. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  82. package/dest/shared/uniswap_l1_l2.js +19 -17
  83. package/dest/simulators/lending_simulator.d.ts +5 -1
  84. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  85. package/dest/simulators/lending_simulator.js +2 -2
  86. package/dest/spartan/setup_test_wallets.d.ts +1 -1
  87. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  88. package/dest/spartan/setup_test_wallets.js +61 -34
  89. package/dest/spartan/tx_metrics.d.ts +51 -2
  90. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  91. package/dest/spartan/tx_metrics.js +333 -6
  92. package/dest/spartan/utils/bot.d.ts +27 -0
  93. package/dest/spartan/utils/bot.d.ts.map +1 -0
  94. package/dest/spartan/utils/bot.js +141 -0
  95. package/dest/spartan/utils/chaos.d.ts +79 -0
  96. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  97. package/dest/spartan/utils/chaos.js +142 -0
  98. package/dest/spartan/utils/clients.d.ts +39 -0
  99. package/dest/spartan/utils/clients.d.ts.map +1 -0
  100. package/dest/spartan/utils/clients.js +90 -0
  101. package/dest/spartan/utils/config.d.ts +39 -0
  102. package/dest/spartan/utils/config.d.ts.map +1 -0
  103. package/dest/spartan/utils/config.js +21 -0
  104. package/dest/spartan/utils/health.d.ts +63 -0
  105. package/dest/spartan/utils/health.d.ts.map +1 -0
  106. package/dest/spartan/utils/health.js +202 -0
  107. package/dest/spartan/utils/helm.d.ts +15 -0
  108. package/dest/spartan/utils/helm.d.ts.map +1 -0
  109. package/dest/spartan/utils/helm.js +47 -0
  110. package/dest/spartan/utils/index.d.ts +9 -0
  111. package/dest/spartan/utils/index.d.ts.map +1 -0
  112. package/dest/spartan/utils/index.js +18 -0
  113. package/dest/spartan/utils/k8s.d.ts +126 -0
  114. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  115. package/dest/spartan/utils/k8s.js +375 -0
  116. package/dest/spartan/utils/nodes.d.ts +41 -0
  117. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  118. package/dest/spartan/utils/nodes.js +461 -0
  119. package/dest/spartan/utils/scripts.d.ts +30 -0
  120. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  121. package/dest/spartan/utils/scripts.js +81 -0
  122. package/dest/spartan/utils.d.ts +2 -253
  123. package/dest/spartan/utils.d.ts.map +1 -1
  124. package/dest/spartan/utils.js +1 -892
  125. package/package.json +43 -39
  126. package/src/bench/client_flows/benchmark.ts +24 -2
  127. package/src/bench/client_flows/client_flows_benchmark.ts +137 -203
  128. package/src/bench/utils.ts +9 -7
  129. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
  130. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +102 -110
  131. package/src/e2e_deploy_contract/deploy_test.ts +21 -14
  132. package/src/e2e_epochs/epochs_test.ts +59 -33
  133. package/src/e2e_fees/bridging_race.notest.ts +3 -9
  134. package/src/e2e_fees/fees_test.ts +171 -217
  135. package/src/e2e_l1_publisher/write_json.ts +16 -13
  136. package/src/e2e_nested_contract/nested_contract_test.ts +33 -56
  137. package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
  138. package/src/e2e_p2p/p2p_network.ts +171 -167
  139. package/src/e2e_p2p/reqresp/utils.ts +207 -0
  140. package/src/e2e_p2p/shared.ts +20 -22
  141. package/src/e2e_token_contract/token_contract_test.ts +103 -118
  142. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  143. package/src/fixtures/e2e_prover_test.ts +99 -133
  144. package/src/fixtures/ha_setup.ts +184 -0
  145. package/src/fixtures/index.ts +1 -0
  146. package/src/fixtures/setup.ts +1017 -0
  147. package/src/fixtures/setup_p2p_test.ts +15 -20
  148. package/src/fixtures/token_utils.ts +6 -5
  149. package/src/fixtures/utils.ts +27 -901
  150. package/src/quality_of_service/prometheus_client.ts +113 -0
  151. package/src/shared/cross_chain_test_harness.ts +13 -27
  152. package/src/shared/gas_portal_test_harness.ts +1 -1
  153. package/src/shared/submit-transactions.ts +9 -15
  154. package/src/shared/uniswap_l1_l2.ts +19 -28
  155. package/src/simulators/lending_simulator.ts +2 -2
  156. package/src/spartan/setup_test_wallets.ts +72 -24
  157. package/src/spartan/tx_metrics.ts +255 -9
  158. package/src/spartan/utils/bot.ts +185 -0
  159. package/src/spartan/utils/chaos.ts +253 -0
  160. package/src/spartan/utils/clients.ts +100 -0
  161. package/src/spartan/utils/config.ts +27 -0
  162. package/src/spartan/utils/health.ts +255 -0
  163. package/src/spartan/utils/helm.ts +84 -0
  164. package/src/spartan/utils/index.ts +64 -0
  165. package/src/spartan/utils/k8s.ts +527 -0
  166. package/src/spartan/utils/nodes.ts +538 -0
  167. package/src/spartan/utils/scripts.ts +99 -0
  168. package/src/spartan/utils.ts +1 -1158
  169. package/dest/fixtures/snapshot_manager.d.ts +0 -93
  170. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  171. package/dest/fixtures/snapshot_manager.js +0 -488
  172. package/src/fixtures/snapshot_manager.ts +0 -646
@@ -10,12 +10,10 @@ import type { StatefulTestContract } from '@aztec/noir-test-contracts.js/Statefu
10
10
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
11
11
  import type { TestWallet } from '@aztec/test-wallet/server';
12
12
 
13
- import { type ISnapshotManager, createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
14
-
15
- const { E2E_DATA_PATH: dataPath } = process.env;
13
+ import { type EndToEndContext, deployAccounts, setup, teardown } from '../fixtures/setup.js';
16
14
 
17
15
  export class DeployTest {
18
- private snapshotManager: ISnapshotManager;
16
+ public context!: EndToEndContext;
19
17
  public logger: Logger;
20
18
  public wallet!: TestWallet;
21
19
  public defaultAccountAddress!: AztecAddress;
@@ -24,26 +22,35 @@ export class DeployTest {
24
22
 
25
23
  constructor(testName: string) {
26
24
  this.logger = createLogger(`e2e:e2e_deploy_contract:${testName}`);
27
- this.snapshotManager = createSnapshotManager(`e2e_deploy_contract/${testName}`, dataPath);
28
25
  }
29
26
 
30
27
  async setup() {
31
- await this.applyInitialAccountSnapshot();
32
- const context = await this.snapshotManager.setup();
33
- ({ aztecNode: this.aztecNode, wallet: this.wallet } = context);
34
- this.aztecNodeAdmin = context.aztecNode;
28
+ this.logger.info('Setting up test environment');
29
+ this.context = await setup(0, {
30
+ fundSponsoredFPC: true,
31
+ skipAccountDeployment: true,
32
+ });
33
+ this.aztecNode = this.context.aztecNodeService!;
34
+ this.wallet = this.context.wallet;
35
+ this.aztecNodeAdmin = this.context.aztecNodeService!;
36
+ await this.applyInitialAccount();
35
37
  return this;
36
38
  }
37
39
 
38
40
  async teardown() {
39
- await this.snapshotManager.teardown();
41
+ await teardown(this.context);
40
42
  }
41
43
 
42
- private async applyInitialAccountSnapshot() {
43
- await this.snapshotManager.snapshot('initial_account', deployAccounts(1, this.logger), ({ deployedAccounts }) => {
44
- this.defaultAccountAddress = deployedAccounts[0].address;
45
- return Promise.resolve();
44
+ private async applyInitialAccount() {
45
+ this.logger.info('Applying initial account setup');
46
+ const { deployedAccounts } = await deployAccounts(
47
+ 1,
48
+ this.logger,
49
+ )({
50
+ wallet: this.context.wallet,
51
+ initialFundedAccounts: this.context.initialFundedAccounts,
46
52
  });
53
+ this.defaultAccountAddress = deployedAccounts[0].address;
47
54
  }
48
55
 
49
56
  async registerContract<T extends ContractBase>(
@@ -14,13 +14,15 @@ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
14
14
  import { BlockNumber, CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
15
15
  import { SecretValue } from '@aztec/foundation/config';
16
16
  import { randomBytes } from '@aztec/foundation/crypto/random';
17
- import { withLogNameSuffix } from '@aztec/foundation/log';
17
+ import { withLoggerBindings } from '@aztec/foundation/log/server';
18
18
  import { retryUntil } from '@aztec/foundation/retry';
19
19
  import { sleep } from '@aztec/foundation/sleep';
20
20
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
21
+ import { TestContract } from '@aztec/noir-test-contracts.js/Test';
21
22
  import { getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
22
23
  import { ProverNode, type ProverNodeConfig, ProverNodePublisher } from '@aztec/prover-node';
23
24
  import type { TestProverNode } from '@aztec/prover-node/test';
25
+ import type { PXEConfig } from '@aztec/pxe/config';
24
26
  import {
25
27
  type SequencerClient,
26
28
  type SequencerEvents,
@@ -49,7 +51,11 @@ export const WORLD_STATE_BLOCK_CHECK_INTERVAL = 50;
49
51
  export const ARCHIVER_POLL_INTERVAL = 50;
50
52
  export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
51
53
 
52
- export type EpochsTestOpts = Partial<SetupOptions> & { numberOfAccounts?: number };
54
+ export type EpochsTestOpts = Partial<SetupOptions> & {
55
+ numberOfAccounts?: number;
56
+ pxeOpts?: Partial<PXEConfig>;
57
+ aztecSlotDurationInL1Slots?: number;
58
+ };
53
59
 
54
60
  export type TrackedSequencerEvent = {
55
61
  [K in keyof SequencerEvents]: Parameters<SequencerEvents[K]>[0] & {
@@ -94,7 +100,7 @@ export class EpochsTestContext {
94
100
  ? parseInt(process.env.L1_BLOCK_TIME)
95
101
  : DEFAULT_L1_BLOCK_TIME;
96
102
  const ethereumSlotDuration = opts.ethereumSlotDuration ?? envEthereumSlotDuration;
97
- const aztecSlotDuration = opts.aztecSlotDuration ?? ethereumSlotDuration * 2;
103
+ const aztecSlotDuration = opts.aztecSlotDuration ?? (opts.aztecSlotDurationInL1Slots ?? 2) * ethereumSlotDuration;
98
104
  const aztecEpochDuration = opts.aztecEpochDuration ?? 6;
99
105
  const aztecProofSubmissionEpochs = opts.aztecProofSubmissionEpochs ?? 1;
100
106
  const l1PublishingTime = opts.l1PublishingTime ?? 1;
@@ -121,30 +127,36 @@ export class EpochsTestContext {
121
127
 
122
128
  // Set up system without any account nor protocol contracts
123
129
  // and with faster block times and shorter epochs.
124
- const context = await setup(opts.numberOfAccounts ?? 0, {
125
- automineL1Setup: true,
126
- checkIntervalMs: 50,
127
- archiverPollingIntervalMS: ARCHIVER_POLL_INTERVAL,
128
- worldStateBlockCheckIntervalMS: WORLD_STATE_BLOCK_CHECK_INTERVAL,
129
- aztecEpochDuration,
130
- aztecSlotDuration,
131
- ethereumSlotDuration,
132
- aztecProofSubmissionEpochs,
133
- aztecTargetCommitteeSize: opts.initialValidators?.length ?? 0,
134
- minTxsPerBlock: 0,
135
- realProofs: false,
136
- startProverNode: true,
137
- proverTestDelayMs: opts.proverTestDelayMs ?? 0,
138
- // We use numeric incremental prover ids for simplicity, but we can switch to
139
- // using the prover's eth address if the proverId is used for something in the rollup contract
140
- // Use numeric EthAddress for deterministic prover id
141
- proverId: EthAddress.fromNumber(1),
142
- worldStateBlockHistory: WORLD_STATE_BLOCK_HISTORY,
143
- exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
144
- slasherFlavor: 'none',
145
- l1PublishingTime,
146
- ...opts,
147
- });
130
+ const context = await setup(
131
+ opts.numberOfAccounts ?? 0,
132
+ {
133
+ automineL1Setup: true,
134
+ checkIntervalMs: 50,
135
+ archiverPollingIntervalMS: ARCHIVER_POLL_INTERVAL,
136
+ worldStateBlockCheckIntervalMS: WORLD_STATE_BLOCK_CHECK_INTERVAL,
137
+ aztecEpochDuration,
138
+ aztecSlotDuration,
139
+ ethereumSlotDuration,
140
+ aztecProofSubmissionEpochs,
141
+ aztecTargetCommitteeSize: opts.initialValidators?.length ?? 0,
142
+ minTxsPerBlock: 0,
143
+ realProofs: false,
144
+ startProverNode: true,
145
+ proverTestDelayMs: opts.proverTestDelayMs ?? 0,
146
+ // We use numeric incremental prover ids for simplicity, but we can switch to
147
+ // using the prover's eth address if the proverId is used for something in the rollup contract
148
+ // Use numeric EthAddress for deterministic prover id
149
+ proverId: EthAddress.fromNumber(1),
150
+ worldStateBlockHistory: WORLD_STATE_BLOCK_HISTORY,
151
+ exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
152
+ slasherFlavor: 'none',
153
+ l1PublishingTime,
154
+ ...opts,
155
+ },
156
+ // Use checkpointed chain tip for PXE by default to avoid issues with blocks being dropped due to pruned anchor blocks.
157
+ // Can be overridden via opts.pxeOpts.
158
+ { syncChainTip: 'checkpointed', ...opts.pxeOpts },
159
+ );
148
160
 
149
161
  this.context = context;
150
162
  this.proverNodes = context.proverNode ? [context.proverNode] : [];
@@ -199,19 +211,19 @@ export class EpochsTestContext {
199
211
  public async createProverNode(opts: { dontStart?: boolean } & Partial<ProverNodeConfig> = {}) {
200
212
  this.logger.warn('Creating and syncing a simulated prover node...');
201
213
  const proverNodePrivateKey = this.getNextPrivateKey();
202
- const suffix = (this.proverNodes.length + 1).toString();
203
- const proverNode = await withLogNameSuffix(suffix, () =>
214
+ const proverIndex = this.proverNodes.length + 1;
215
+ const proverNode = await withLoggerBindings({ actor: `prover-${proverIndex}` }, () =>
204
216
  createAndSyncProverNode(
205
217
  proverNodePrivateKey,
206
218
  { ...this.context.config },
207
219
  {
208
220
  dataDirectory: join(this.context.config.dataDirectory!, randomBytes(8).toString('hex')),
209
- proverId: EthAddress.fromNumber(parseInt(suffix, 10)),
221
+ proverId: EthAddress.fromNumber(proverIndex),
210
222
  dontStart: opts.dontStart,
211
223
  ...opts,
212
224
  },
213
225
  this.context.aztecNode,
214
- undefined,
226
+ this.context.prefilledPublicData ?? [],
215
227
  { dateProvider: this.context.dateProvider },
216
228
  ),
217
229
  );
@@ -235,12 +247,13 @@ export class EpochsTestContext {
235
247
  private async createNode(
236
248
  opts: Partial<AztecNodeConfig> & { txDelayerMaxInclusionTimeIntoSlot?: number; dontStartSequencer?: boolean } = {},
237
249
  ) {
238
- const suffix = (this.nodes.length + 1).toString();
250
+ const nodeIndex = this.nodes.length + 1;
251
+ const actorPrefix = opts.disableValidator ? 'node' : 'validator';
239
252
  const { mockGossipSubNetwork } = this.context;
240
253
  const resolvedConfig = { ...this.context.config, ...opts };
241
254
  const p2pEnabled = resolvedConfig.p2pEnabled || mockGossipSubNetwork !== undefined;
242
255
  const p2pIp = resolvedConfig.p2pIp ?? (p2pEnabled ? '127.0.0.1' : undefined);
243
- const node = await withLogNameSuffix(suffix, () =>
256
+ const node = await withLoggerBindings({ actor: `${actorPrefix}-${nodeIndex}` }, () =>
244
257
  AztecNodeService.createAndSync(
245
258
  {
246
259
  ...resolvedConfig,
@@ -370,6 +383,19 @@ export class EpochsTestContext {
370
383
  return SpamContract.at(instance.address, wallet);
371
384
  }
372
385
 
386
+ /** Registers the TestContract on the given wallet. */
387
+ public async registerTestContract(wallet: Wallet, salt = Fr.ZERO) {
388
+ const instance = await getContractInstanceFromInstantiationParams(TestContract.artifact, {
389
+ constructorArgs: [],
390
+ constructorArtifact: undefined,
391
+ salt,
392
+ publicKeys: undefined,
393
+ deployer: undefined,
394
+ });
395
+ await wallet.registerContract(instance, TestContract.artifact);
396
+ return TestContract.at(instance.address, wallet);
397
+ }
398
+
373
399
  /** Creates an L1 client using a fresh account with funds from anvil, with a tx delayer already set up. */
374
400
  public async createL1Client() {
375
401
  const { client, delayer } = withDelayer(
@@ -26,11 +26,8 @@ describe('e2e_fees bridging_race', () => {
26
26
  });
27
27
 
28
28
  beforeAll(async () => {
29
- await t.applyInitialAccountsSnapshot();
30
- await t.applyPublicDeployAccountsSnapshot();
31
- await t.applySetupFeeJuiceSnapshot();
32
-
33
- ({ wallet, logger } = await t.setup());
29
+ await t.setup();
30
+ ({ wallet, logger } = t);
34
31
  });
35
32
 
36
33
  afterAll(async () => {
@@ -70,10 +67,7 @@ describe('e2e_fees bridging_race', () => {
70
67
  // Yes, we need to REFACTOR it at some point
71
68
  const claim = await t.feeJuiceBridgeTestHarness.prepareTokensOnL1(bobsAddress);
72
69
  const { claimSecret: secret, messageLeafIndex: index } = claim;
73
- await t.feeJuiceContract.methods
74
- .claim(bobsAddress, claim.claimAmount, secret, index)
75
- .send({ from: bobsAddress })
76
- .wait();
70
+ await t.feeJuiceContract.methods.claim(bobsAddress, claim.claimAmount, secret, index).send({ from: bobsAddress });
77
71
  const [balance] = await t.getGasBalanceFn(bobsAddress);
78
72
  expect(balance).toEqual(claim.claimAmount);
79
73
  });