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

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 (61) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.js +1 -1
  2. package/dest/bench/client_flows/data_extractor.js +3 -1
  3. package/dest/bench/utils.d.ts +4 -4
  4. package/dest/bench/utils.d.ts.map +1 -1
  5. package/dest/bench/utils.js +8 -5
  6. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +10 -4
  7. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  8. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +34 -18
  9. package/dest/e2e_epochs/epochs_test.js +1 -1
  10. package/dest/e2e_fees/fees_test.d.ts +1 -1
  11. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  12. package/dest/e2e_fees/fees_test.js +3 -3
  13. package/dest/e2e_l1_publisher/write_json.d.ts +1 -1
  14. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  15. package/dest/e2e_l1_publisher/write_json.js +2 -5
  16. package/dest/e2e_p2p/p2p_network.js +1 -1
  17. package/dest/e2e_p2p/shared.d.ts +1 -1
  18. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  19. package/dest/e2e_p2p/shared.js +4 -4
  20. package/dest/fixtures/e2e_prover_test.d.ts +1 -1
  21. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  22. package/dest/fixtures/e2e_prover_test.js +1 -2
  23. package/dest/fixtures/snapshot_manager.d.ts +1 -1
  24. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  25. package/dest/fixtures/snapshot_manager.js +2 -7
  26. package/dest/fixtures/utils.d.ts +1 -4
  27. package/dest/fixtures/utils.d.ts.map +1 -1
  28. package/dest/fixtures/utils.js +1 -5
  29. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  30. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  31. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  32. package/dest/shared/cross_chain_test_harness.d.ts +3 -3
  33. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  34. package/dest/shared/cross_chain_test_harness.js +2 -2
  35. package/dest/shared/index.d.ts +2 -2
  36. package/dest/shared/index.d.ts.map +1 -1
  37. package/dest/shared/uniswap_l1_l2.d.ts +3 -28
  38. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  39. package/dest/shared/uniswap_l1_l2.js +39 -21
  40. package/dest/spartan/setup_test_wallets.d.ts +4 -3
  41. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  42. package/package.json +38 -38
  43. package/src/bench/client_flows/client_flows_benchmark.ts +1 -1
  44. package/src/bench/client_flows/data_extractor.ts +1 -1
  45. package/src/bench/utils.ts +11 -7
  46. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +40 -22
  47. package/src/e2e_epochs/epochs_test.ts +1 -1
  48. package/src/e2e_fees/fees_test.ts +3 -5
  49. package/src/e2e_l1_publisher/write_json.ts +2 -5
  50. package/src/e2e_p2p/p2p_network.ts +1 -1
  51. package/src/e2e_p2p/shared.ts +6 -5
  52. package/src/fixtures/e2e_prover_test.ts +0 -1
  53. package/src/fixtures/snapshot_manager.ts +2 -7
  54. package/src/fixtures/utils.ts +2 -8
  55. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  56. package/src/shared/cross_chain_test_harness.ts +3 -9
  57. package/src/shared/index.ts +1 -1
  58. package/src/shared/uniswap_l1_l2.ts +46 -58
  59. package/src/spartan/setup_test_wallets.ts +7 -1
  60. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  61. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
@@ -22,7 +22,7 @@ async function main() {
22
22
  logger.info(`Flows in ${ivcFolder}: \n${flows.map(flowName => `\t- ${flowName}`).join('\n')}`);
23
23
  const simulator = new WASMSimulator();
24
24
  const log = proxyLogger.createLogger('bb:prover');
25
- const prover = new BBBundlePrivateKernelProver(simulator, log);
25
+ const prover = new BBBundlePrivateKernelProver(simulator, { logger: log });
26
26
 
27
27
  const userLog = createLogger('chonk_flows:data_processor');
28
28
 
@@ -3,7 +3,7 @@ import { AztecAddress } from '@aztec/aztec.js/addresses';
3
3
  import { BatchCall, type SentTx, type WaitOpts } from '@aztec/aztec.js/contracts';
4
4
  import { mean, stdDev, times } from '@aztec/foundation/collection';
5
5
  import { BenchmarkingContract } from '@aztec/noir-test-contracts.js/Benchmarking';
6
- import type { MetricsType } from '@aztec/telemetry-client';
6
+ import type { MetricDefinition } from '@aztec/telemetry-client';
7
7
  import type { BenchmarkDataPoint, BenchmarkMetricsType, BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
8
8
 
9
9
  import { mkdirSync, writeFileSync } from 'fs';
@@ -16,7 +16,7 @@ import { type EndToEndContext, type SetupOptions, setup } from '../fixtures/util
16
16
  */
17
17
  export async function benchmarkSetup(
18
18
  opts: Partial<SetupOptions> & {
19
- /** What metrics to export */ metrics: (MetricsType | MetricFilter)[];
19
+ /** What metrics to export */ metrics: (MetricDefinition | MetricFilter)[];
20
20
  /** Where to output the benchmark data (defaults to BENCH_OUTPUT or bench.json) */
21
21
  benchOutput?: string;
22
22
  },
@@ -47,7 +47,7 @@ export async function benchmarkSetup(
47
47
  }
48
48
 
49
49
  type MetricFilter = {
50
- source: MetricsType;
50
+ source: MetricDefinition;
51
51
  transform: (value: number) => number;
52
52
  name: string;
53
53
  unit?: string;
@@ -62,17 +62,21 @@ export type GithubActionBenchmarkResult = {
62
62
  extra?: string;
63
63
  };
64
64
 
65
+ function isMetricDefinition(f: MetricDefinition | MetricFilter): f is MetricDefinition {
66
+ return 'description' in f;
67
+ }
68
+
65
69
  function formatMetricsForGithubBenchmarkAction(
66
70
  data: BenchmarkMetricsType,
67
- filter: (MetricsType | MetricFilter)[],
71
+ filter: (MetricDefinition | MetricFilter)[],
68
72
  ): GithubActionBenchmarkResult[] {
69
73
  const allFilters: MetricFilter[] = filter.map(f =>
70
- typeof f === 'string' ? { name: f, source: f, transform: (x: number) => x, unit: undefined } : f,
74
+ isMetricDefinition(f) ? { name: f.name, source: f, transform: (x: number) => x, unit: f.unit } : f,
71
75
  );
72
76
  return data.flatMap(meter => {
73
77
  return meter.metrics
74
- .filter(metric => allFilters.map(f => f.source).includes(metric.name as MetricsType))
75
- .map(metric => [metric, allFilters.find(f => f.source === metric.name)!] as const)
78
+ .filter(metric => allFilters.map(f => f.source.name).includes(metric.name))
79
+ .map(metric => [metric, allFilters.find(f => f.source.name === metric.name)!] as const)
76
80
  .map(([metric, filter]) => ({
77
81
  name: `${meter.name}/${filter.name}`,
78
82
  unit: filter.unit ?? metric.unit ?? 'unknown',
@@ -1,23 +1,26 @@
1
1
  import type { AztecNodeConfig } from '@aztec/aztec-node';
2
2
  import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
3
+ import { waitForProven } from '@aztec/aztec.js/contracts';
3
4
  import { type Logger, createLogger } from '@aztec/aztec.js/log';
4
5
  import type { AztecNode } from '@aztec/aztec.js/node';
6
+ import type { TxReceipt } from '@aztec/aztec.js/tx';
5
7
  import { CheatCodes } from '@aztec/aztec/testing';
6
8
  import { createExtendedL1Client } from '@aztec/ethereum/client';
9
+ import { InboxContract, OutboxContract, RollupContract } from '@aztec/ethereum/contracts';
7
10
  import type {
8
11
  DeployAztecL1ContractsArgs,
9
12
  DeployAztecL1ContractsReturnType,
10
13
  } from '@aztec/ethereum/deploy-aztec-l1-contracts';
11
14
  import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
12
15
  import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
13
- import { InboxAbi, OutboxAbi, TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
16
+ import { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
17
+ import { sleep } from '@aztec/foundation/sleep';
18
+ import { TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
14
19
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
15
20
  import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
16
21
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
17
22
  import type { TestWallet } from '@aztec/test-wallet/server';
18
23
 
19
- import { getContract } from 'viem';
20
-
21
24
  import { MNEMONIC } from '../fixtures/fixtures.js';
22
25
  import {
23
26
  type ISnapshotManager,
@@ -33,6 +36,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
33
36
 
34
37
  export class CrossChainMessagingTest {
35
38
  private snapshotManager: ISnapshotManager;
39
+ private requireEpochProven: boolean;
36
40
  logger: Logger;
37
41
  aztecNode!: AztecNode;
38
42
  aztecNodeConfig!: AztecNodeConfig;
@@ -50,8 +54,9 @@ export class CrossChainMessagingTest {
50
54
  l2Token!: TokenContract;
51
55
  l2Bridge!: TokenBridgeContract;
52
56
 
53
- inbox!: any; // GetContractReturnType<typeof InboxAbi> | undefined;
54
- outbox!: any; // GetContractReturnType<typeof OutboxAbi> | undefined;
57
+ rollup!: RollupContract;
58
+ inbox!: InboxContract;
59
+ outbox!: OutboxContract;
55
60
  cheatCodes!: CheatCodes;
56
61
 
57
62
  deployL1ContractsValues!: DeployAztecL1ContractsReturnType;
@@ -66,10 +71,7 @@ export class CrossChainMessagingTest {
66
71
  initialValidators: [],
67
72
  ...deployL1ContractsArgs,
68
73
  });
69
- }
70
-
71
- async assumeProven() {
72
- await this.cheatCodes.rollup.markAsProven();
74
+ this.requireEpochProven = opts.startProverNode ?? false;
73
75
  }
74
76
 
75
77
  async setup() {
@@ -80,6 +82,30 @@ export class CrossChainMessagingTest {
80
82
  this.cheatCodes = this.ctx.cheatCodes;
81
83
  this.deployL1ContractsValues = this.ctx.deployL1ContractsValues;
82
84
  this.aztecNodeAdmin = this.ctx.aztecNode;
85
+
86
+ if (this.requireEpochProven) {
87
+ // Turn off the watcher to prevent it from keep marking blocks as proven.
88
+ this.ctx.watcher.setIsMarkingAsProven(false);
89
+ }
90
+ }
91
+
92
+ async advanceToEpochProven(l2TxReceipt: TxReceipt): Promise<EpochNumber> {
93
+ const epoch = await this.rollup.getEpochNumberForCheckpoint(
94
+ CheckpointNumber.fromBlockNumber(l2TxReceipt.blockNumber!),
95
+ );
96
+ // Warp to the next epoch.
97
+ await this.cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
98
+ // Wait for the tx to be proven.
99
+ await waitForProven(this.aztecNode, l2TxReceipt, { provenTimeout: 300 });
100
+ // Return the epoch the tx is in.
101
+ return epoch;
102
+ }
103
+
104
+ async catchUpProvenChain() {
105
+ const bn = await this.aztecNode.getBlockNumber();
106
+ while ((await this.aztecNode.getProvenBlockNumber()) < bn) {
107
+ await sleep(1000);
108
+ }
83
109
  }
84
110
 
85
111
  snapshot = <T>(
@@ -147,17 +173,12 @@ export class CrossChainMessagingTest {
147
173
  const tokenPortalAddress = EthAddress.fromString(crossChainContext.tokenPortal.toString());
148
174
 
149
175
  const l1Client = createExtendedL1Client(this.aztecNodeConfig.l1RpcUrls, MNEMONIC);
176
+ this.l1Client = l1Client;
150
177
 
151
- const inbox = getContract({
152
- address: this.aztecNodeConfig.l1Contracts.inboxAddress.toString(),
153
- abi: InboxAbi,
154
- client: l1Client,
155
- });
156
- const outbox = getContract({
157
- address: this.aztecNodeConfig.l1Contracts.outboxAddress.toString(),
158
- abi: OutboxAbi,
159
- client: l1Client,
160
- });
178
+ const l1Contracts = this.aztecNodeConfig.l1Contracts;
179
+ this.rollup = new RollupContract(l1Client, l1Contracts.rollupAddress.toString());
180
+ this.inbox = new InboxContract(l1Client, l1Contracts.inboxAddress.toString());
181
+ this.outbox = new OutboxContract(l1Client, l1Contracts.outboxAddress.toString());
161
182
 
162
183
  this.crossChainTestHarness = new CrossChainTestHarness(
163
184
  this.aztecNode,
@@ -173,9 +194,6 @@ export class CrossChainMessagingTest {
173
194
  this.ownerAddress,
174
195
  );
175
196
 
176
- this.l1Client = l1Client;
177
- this.inbox = inbox;
178
- this.outbox = outbox;
179
197
  return Promise.resolve();
180
198
  },
181
199
  );
@@ -348,7 +348,7 @@ export class EpochsTestContext {
348
348
  ]);
349
349
  this.logger.info(`Wait for node synch ${blockNumber} ${type}`, { blockNumber, type, syncState, tips });
350
350
  if (type === 'proven') {
351
- synched = tips.proven.number >= blockNumber && syncState.latestBlockNumber >= blockNumber;
351
+ synched = tips.proven.block.number >= blockNumber && syncState.latestBlockNumber >= blockNumber;
352
352
  } else if (type === 'finalized') {
353
353
  synched = syncState.finalizedBlockNumber >= blockNumber;
354
354
  } else {
@@ -144,9 +144,7 @@ export class FeesTest {
144
144
  const blockReward = await this.rollupContract.getCheckpointReward();
145
145
  const rewardConfig = await this.rollupContract.getRewardConfig();
146
146
 
147
- const balance = await this.feeJuiceBridgeTestHarness.getL1FeeJuiceBalance(
148
- EthAddress.fromString(rewardConfig.rewardDistributor),
149
- );
147
+ const balance = await this.feeJuiceBridgeTestHarness.getL1FeeJuiceBalance(rewardConfig.rewardDistributor);
150
148
 
151
149
  const toDistribute = balance > blockReward ? blockReward : balance;
152
150
  const sequencerBlockRewards = (toDistribute * BigInt(rewardConfig.sequencerBps)) / 10000n;
@@ -193,7 +191,7 @@ export class FeesTest {
193
191
  this.wallet = wallet;
194
192
  this.aztecNode = aztecNode;
195
193
  this.aztecNodeAdmin = aztecNode;
196
- this.gasSettings = GasSettings.default({ maxFeesPerGas: (await this.aztecNode.getCurrentBaseFees()).mul(2) });
194
+ this.gasSettings = GasSettings.default({ maxFeesPerGas: (await this.aztecNode.getCurrentMinFees()).mul(2) });
197
195
  this.cheatCodes = cheatCodes;
198
196
  this.accounts = deployedAccounts.map(a => a.address);
199
197
  this.accounts.forEach((a, i) => this.logger.verbose(`Account ${i} address: ${a}`));
@@ -325,7 +323,7 @@ export class FeesTest {
325
323
  const { baseFee } = await this.rollupContract.getL1FeesAt(block!.header.globalVariables.timestamp);
326
324
  const proverCost =
327
325
  mulDiv(
328
- mulDiv(L1_GAS_PER_EPOCH_VERIFIED, baseFee, await this.rollupContract.getEpochDuration()),
326
+ mulDiv(L1_GAS_PER_EPOCH_VERIFIED, baseFee, BigInt(await this.rollupContract.getEpochDuration())),
329
327
  1n,
330
328
  await this.rollupContract.getManaTarget(),
331
329
  ) + (await this.rollupContract.getProvingCostPerMana());
@@ -52,11 +52,8 @@ export async function writeJson(
52
52
  header: {
53
53
  lastArchiveRoot: asHex(block.header.lastArchive.root),
54
54
  blockHeadersHash: asHex(block.header.blockHeadersHash),
55
- contentCommitment: {
56
- blobsHash: asHex(block.header.contentCommitment.blobsHash),
57
- inHash: asHex(block.header.contentCommitment.inHash),
58
- outHash: asHex(block.header.contentCommitment.outHash),
59
- },
55
+ blobsHash: asHex(block.header.blobsHash),
56
+ inHash: asHex(block.header.inHash),
60
57
  slotNumber: Number(block.header.globalVariables.slotNumber),
61
58
  timestamp: Number(block.header.globalVariables.timestamp),
62
59
  coinbase: asHex(block.header.globalVariables.coinbase, 40),
@@ -451,7 +451,7 @@ export class P2PNetworkTest {
451
451
  );
452
452
 
453
453
  const slasherContract = getContract({
454
- address: getAddress(await rollup.getSlasherAddress()),
454
+ address: getAddress((await rollup.getSlasherAddress()).toString()),
455
455
  abi: SlasherAbi,
456
456
  client: this.ctx.deployL1ContractsValues.l1Client,
457
457
  });
@@ -13,6 +13,7 @@ import type {
13
13
  } from '@aztec/ethereum/contracts';
14
14
  import { EpochNumber } from '@aztec/foundation/branded-types';
15
15
  import { timesAsync, unique } from '@aztec/foundation/collection';
16
+ import { EthAddress } from '@aztec/foundation/eth-address';
16
17
  import { retryUntil } from '@aztec/foundation/retry';
17
18
  import { pluralize } from '@aztec/foundation/string';
18
19
  import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
@@ -137,7 +138,7 @@ export async function awaitCommitteeExists({
137
138
  logger: Logger;
138
139
  }): Promise<readonly `0x${string}`[]> {
139
140
  logger.info(`Waiting for committee to be set`);
140
- let committee: readonly `0x${string}`[] | undefined;
141
+ let committee: EthAddress[] | undefined;
141
142
  await retryUntil(
142
143
  async () => {
143
144
  committee = await rollup.getCurrentEpochCommittee();
@@ -146,7 +147,7 @@ export async function awaitCommitteeExists({
146
147
  'non-empty committee',
147
148
  60,
148
149
  );
149
- return committee!;
150
+ return committee!.map(c => c.toString() as `0x${string}`);
150
151
  }
151
152
 
152
153
  export async function awaitOffenseDetected({
@@ -218,9 +219,9 @@ export async function awaitCommitteeKicked({
218
219
 
219
220
  if (slashingProposer.type === 'empire') {
220
221
  // Await for the slash payload to be created if empire (no payload is created on tally until execution time)
221
- const targetEpoch = BigInt(await cheatCodes.getEpoch()) + (await rollup.getLagInEpochsForValidatorSet()) + 1n;
222
+ const targetEpoch = EpochNumber((await cheatCodes.getEpoch()) + (await rollup.getLagInEpochsForValidatorSet()) + 1);
222
223
  logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
223
- await cheatCodes.advanceToEpoch(EpochNumber.fromBigInt(targetEpoch));
224
+ await cheatCodes.advanceToEpoch(targetEpoch);
224
225
 
225
226
  const slashPayloadEvents = await retryUntil(
226
227
  async () => {
@@ -275,7 +276,7 @@ export async function awaitCommitteeKicked({
275
276
  logger.info(`Advancing to check current committee`);
276
277
  await cheatCodes.debugRollup();
277
278
  await cheatCodes.advanceToEpoch(
278
- EpochNumber.fromBigInt(BigInt(await cheatCodes.getEpoch()) + (await rollup.getLagInEpochsForValidatorSet()) + 1n),
279
+ EpochNumber((await cheatCodes.getEpoch()) + (await rollup.getLagInEpochsForValidatorSet()) + 1),
279
280
  );
280
281
  await cheatCodes.debugRollup();
281
282
 
@@ -281,7 +281,6 @@ export class FullProverTest {
281
281
  {
282
282
  aztecNodeTxProvider: this.aztecNode,
283
283
  archiver: archiver as Archiver,
284
- blobClient,
285
284
  },
286
285
  { prefilledPublicData },
287
286
  );
@@ -9,7 +9,6 @@ import type { Logger } from '@aztec/aztec.js/log';
9
9
  import type { AztecNode } from '@aztec/aztec.js/node';
10
10
  import type { Wallet } from '@aztec/aztec.js/wallet';
11
11
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
12
- import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
13
12
  import { createExtendedL1Client } from '@aztec/ethereum/client';
14
13
  import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
15
14
  import { deployMulticall3 } from '@aztec/ethereum/contracts';
@@ -410,12 +409,10 @@ async function setupFromFresh(
410
409
 
411
410
  const telemetry = await getEndToEndTestTelemetryClient(opts.metricsPort);
412
411
 
413
- const blobClient = await createBlobClientWithFileStores(aztecNodeConfig, createLogger('node:blob-client:client'));
414
-
415
412
  logger.info('Creating and synching an aztec node...');
416
413
  const aztecNode = await AztecNodeService.createAndSync(
417
414
  aztecNodeConfig,
418
- { telemetry, dateProvider, blobClient },
415
+ { telemetry, dateProvider },
419
416
  { prefilledPublicData },
420
417
  );
421
418
 
@@ -525,12 +522,10 @@ async function setupFromState(statePath: string, logger: Logger): Promise<Subsys
525
522
 
526
523
  const telemetry = await initTelemetryClient(getTelemetryConfig());
527
524
 
528
- const blobClient = await createBlobClientWithFileStores(aztecNodeConfig, createLogger('node:blob-client:client'));
529
-
530
525
  logger.verbose('Creating aztec node...');
531
526
  const aztecNode = await AztecNodeService.createAndSync(
532
527
  aztecNodeConfig,
533
- { telemetry, dateProvider, blobClient },
528
+ { telemetry, dateProvider },
534
529
  { prefilledPublicData },
535
530
  );
536
531
 
@@ -10,7 +10,7 @@ import { type Logger, createLogger } from '@aztec/aztec.js/log';
10
10
  import { type AztecNode, createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
11
11
  import type { Wallet } from '@aztec/aztec.js/wallet';
12
12
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
13
- import { type BlobClientInterface, createBlobClientWithFileStores } from '@aztec/blob-client/client';
13
+ import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
14
14
  import { SPONSORED_FPC_SALT } from '@aztec/constants';
15
15
  import { isAnvilTestChain } from '@aztec/ethereum/chain';
16
16
  import { createExtendedL1Client } from '@aztec/ethereum/client';
@@ -241,7 +241,6 @@ async function setupWithRemoteEnvironment(
241
241
  watcher: undefined,
242
242
  dateProvider: undefined,
243
243
  telemetryClient: undefined,
244
- blobClient: undefined,
245
244
  teardown,
246
245
  };
247
246
  }
@@ -326,8 +325,6 @@ export type EndToEndContext = {
326
325
  mockGossipSubNetwork: MockGossipSubNetwork | undefined;
327
326
  /** Prefilled public data used for setting up nodes. */
328
327
  prefilledPublicData: PublicDataTreeLeaf[] | undefined;
329
- /** The blob client client used for blob storage (undefined if connected to remote environment) */
330
- blobClient: BlobClientInterface | undefined;
331
328
  /** Function to stop the started services. */
332
329
  teardown: () => Promise<void>;
333
330
  };
@@ -513,8 +510,6 @@ export async function setup(
513
510
  config.bbWorkingDirectory = bbConfig.bbWorkingDirectory;
514
511
  }
515
512
 
516
- const blobClient = await createBlobClientWithFileStores(config, createLogger('node:blob-client:client'));
517
-
518
513
  let mockGossipSubNetwork: MockGossipSubNetwork | undefined;
519
514
  let p2pClientDeps: P2PClientDeps<P2PClientType.Full> | undefined = undefined;
520
515
 
@@ -553,7 +548,7 @@ export async function setup(
553
548
 
554
549
  const aztecNode = await AztecNodeService.createAndSync(
555
550
  config, // REFACTOR: createAndSync mutates this config
556
- { dateProvider, blobClient, telemetry, p2pClientDeps, logger: createLogger('node:MAIN-aztec-node') },
551
+ { dateProvider, telemetry, p2pClientDeps, logger: createLogger('node:MAIN-aztec-node') },
557
552
  { prefilledPublicData },
558
553
  );
559
554
  const sequencerClient = aztecNode.getSequencer();
@@ -666,7 +661,6 @@ export async function setup(
666
661
  wallet,
667
662
  accounts,
668
663
  watcher,
669
- blobClient,
670
664
  };
671
665
  } catch (err) {
672
666
  // TODO: Just hoisted anvil for now to ensure cleanup. Prob need to hoist the rest.
@@ -25,7 +25,7 @@ const DEFAULT_CONFIG: AlertCheckerConfig = {
25
25
  grafanaCredentials: 'admin:admin',
26
26
  };
27
27
 
28
- export class AlertChecker {
28
+ export class GrafanaClient {
29
29
  private config: AlertCheckerConfig;
30
30
  private logger: Logger;
31
31
 
@@ -16,7 +16,7 @@ import type { Wallet } from '@aztec/aztec.js/wallet';
16
16
  import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
17
17
  import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
18
18
  import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
19
- import { BlockNumber } from '@aztec/foundation/branded-types';
19
+ import { EpochNumber } from '@aztec/foundation/branded-types';
20
20
  import { retryUntil } from '@aztec/foundation/retry';
21
21
  import type { FieldsOf } from '@aztec/foundation/types';
22
22
  import { TestERC20Abi, TokenPortalAbi, TokenPortalBytecode } from '@aztec/l1-artifacts';
@@ -324,17 +324,11 @@ export class CrossChainTestHarness {
324
324
 
325
325
  withdrawFundsFromBridgeOnL1(
326
326
  amount: bigint,
327
- blockNumber: BlockNumber,
327
+ epochNumber: EpochNumber,
328
328
  messageIndex: bigint,
329
329
  siblingPath: SiblingPath<number>,
330
330
  ) {
331
- return this.l1TokenPortalManager.withdrawFunds(
332
- amount,
333
- this.ethAccount,
334
- BigInt(blockNumber),
335
- messageIndex,
336
- siblingPath,
337
- );
331
+ return this.l1TokenPortalManager.withdrawFunds(amount, this.ethAccount, epochNumber, messageIndex, siblingPath);
338
332
  }
339
333
 
340
334
  async transferToPrivateOnL2(shieldAmount: bigint) {
@@ -1 +1 @@
1
- export { uniswapL1L2TestSuite, type UniswapSetupContext } from './uniswap_l1_l2.js';
1
+ export { uniswapL1L2TestSuite } from './uniswap_l1_l2.js';